Timeline



Jun 10, 2014:

10:44 PM Changeset in webkit [169796] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Actually only generate tables for History and Location.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

9:52 PM Changeset in webkit [169795] by fpizlo@apple.com
  • 54 edits
    4 adds in branches/ftlopt/Source/JavaScriptCore

[ftlopt] DFG should use its own notion of JSValue, which we should call FrozenValue, that will carry around a copy of its structure
https://bugs.webkit.org/show_bug.cgi?id=133426

Reviewed by Geoffrey Garen.

The impetus for this was to provide some sense and reason to race conditions arising from
cell constants having their structure changed on the main thread - this is harmess because
we defend against it, but when it goes wrong, it can be difficult to reproduce because it
requires a race. Giving the DFG the ability to "freeze" a cell's structure fixes this.

But this patch goes quite a bit further, and completely rationalizes how the DFG reasons
about constants. It no longer relies on the CodeBlock constant pool at all, which allows
for a more object-oriented approach: for example a Node that has a constant can tell you
what constant it has without needing a CodeBlock.

(JSC::CallLinkStatus::computeExitSiteData):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):
(JSC::exitKindIsCountable):

  • bytecode/ExitKind.h:

(JSC::isWatchpoint): Deleted.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::hasExitSite):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::hasExitSite):

  • dfg/DFGAbstractInterpreter.h:

(JSC::DFG::AbstractInterpreter::filterByValue):
(JSC::DFG::AbstractInterpreter::setBuiltInConstant):
(JSC::DFG::AbstractInterpreter::setConstant):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::filterByValue):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::setOSREntryValue):
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::filterByValue):
(JSC::DFG::AbstractValue::setMostSpecific): Deleted.

  • dfg/DFGAbstractValue.h:
  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::isNotNegZero):
(JSC::DFG::BackwardsPropagationPhase::isNotPosZero):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::getDirect):
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::jsConstant):
(JSC::DFG::ByteCodeParser::weakJSConstant):
(JSC::DFG::ByteCodeParser::cellConstantWithStructureCheck):
(JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleMinMax):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::prepareToParseBlock):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::buildOperandMapsIfNecessary):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::addConstant): Deleted.
(JSC::DFG::ByteCodeParser::getJSConstantForValue): Deleted.
(JSC::DFG::ByteCodeParser::getJSConstant): Deleted.
(JSC::DFG::ByteCodeParser::isJSConstant): Deleted.
(JSC::DFG::ByteCodeParser::isInt32Constant): Deleted.
(JSC::DFG::ByteCodeParser::valueOfJSConstant): Deleted.
(JSC::DFG::ByteCodeParser::valueOfInt32Constant): Deleted.
(JSC::DFG::ByteCodeParser::constantUndefined): Deleted.
(JSC::DFG::ByteCodeParser::constantNull): Deleted.
(JSC::DFG::ByteCodeParser::one): Deleted.
(JSC::DFG::ByteCodeParser::constantNaN): Deleted.
(JSC::DFG::ByteCodeParser::cellConstant): Deleted.
(JSC::DFG::ByteCodeParser::inferredConstant): Deleted.
(JSC::DFG::ByteCodeParser::ConstantRecord::ConstantRecord): Deleted.

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::constantCSE):
(JSC::DFG::CSEPhase::checkFunctionElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::weakConstantCSE): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupMakeRope):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):

  • dfg/DFGFrozenValue.cpp: Added.

(JSC::DFG::FrozenValue::emptySingleton):
(JSC::DFG::FrozenValue::dumpInContext):
(JSC::DFG::FrozenValue::dump):

  • dfg/DFGFrozenValue.h: Added.

(JSC::DFG::FrozenValue::FrozenValue):
(JSC::DFG::FrozenValue::operator!):
(JSC::DFG::FrozenValue::value):
(JSC::DFG::FrozenValue::structure):
(JSC::DFG::FrozenValue::strengthenTo):
(JSC::DFG::FrozenValue::strength):
(JSC::DFG::FrozenValue::freeze):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::tryGetActivation):
(JSC::DFG::Graph::tryGetFoldableView):
(JSC::DFG::Graph::registerFrozenValues):
(JSC::DFG::Graph::visitChildren):
(JSC::DFG::Graph::freezeFragile):
(JSC::DFG::Graph::freeze):
(JSC::DFG::Graph::freezeStrong):
(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::convertToStrongConstant):
(JSC::DFG::Graph::assertIsWatched):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):
(JSC::DFG::Graph::convertToConstant): Deleted.
(JSC::DFG::Graph::constantRegisterForConstant): Deleted.
(JSC::DFG::Graph::getJSConstantSpeculation): Deleted.
(JSC::DFG::Graph::isConstant): Deleted.
(JSC::DFG::Graph::isJSConstant): Deleted.
(JSC::DFG::Graph::isInt32Constant): Deleted.
(JSC::DFG::Graph::isDoubleConstant): Deleted.
(JSC::DFG::Graph::isNumberConstant): Deleted.
(JSC::DFG::Graph::isBooleanConstant): Deleted.
(JSC::DFG::Graph::isCellConstant): Deleted.
(JSC::DFG::Graph::isFunctionConstant): Deleted.
(JSC::DFG::Graph::isInternalFunctionConstant): Deleted.
(JSC::DFG::Graph::valueOfJSConstant): Deleted.
(JSC::DFG::Graph::valueOfInt32Constant): Deleted.
(JSC::DFG::Graph::valueOfNumberConstant): Deleted.
(JSC::DFG::Graph::valueOfBooleanConstant): Deleted.
(JSC::DFG::Graph::valueOfFunctionConstant): Deleted.
(JSC::DFG::Graph::mulImmediateShouldSpeculateInt32): Deleted.

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertConstant):
(JSC::DFG::InsertionSet::insertConstantForUse):

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::rangeKeyAndAddend):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::getValue):
(JSC::DFG::LazyJSValue::strictEqual):
(JSC::DFG::LazyJSValue::dumpInContext):

  • dfg/DFGLazyJSValue.h:

(JSC::DFG::LazyJSValue::LazyJSValue):
(JSC::DFG::LazyJSValue::tryGetValue):
(JSC::DFG::LazyJSValue::value):
(JSC::DFG::LazyJSValue::switchLookupValue):

  • dfg/DFGMinifiedNode.cpp:

(JSC::DFG::MinifiedNode::fromNode):

  • dfg/DFGMinifiedNode.h:

(JSC::DFG::belongsInMinifiedGraph):
(JSC::DFG::MinifiedNode::hasConstant):
(JSC::DFG::MinifiedNode::constant):
(JSC::DFG::MinifiedNode::hasConstantNumber): Deleted.
(JSC::DFG::MinifiedNode::constantNumber): Deleted.
(JSC::DFG::MinifiedNode::hasWeakConstant): Deleted.
(JSC::DFG::MinifiedNode::weakConstant): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasConstant):
(JSC::DFG::Node::constant):
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::asJSValue):
(JSC::DFG::Node::isInt32Constant):
(JSC::DFG::Node::asInt32):
(JSC::DFG::Node::asUInt32):
(JSC::DFG::Node::isDoubleConstant):
(JSC::DFG::Node::isNumberConstant):
(JSC::DFG::Node::asNumber):
(JSC::DFG::Node::isMachineIntConstant):
(JSC::DFG::Node::asMachineInt):
(JSC::DFG::Node::isBooleanConstant):
(JSC::DFG::Node::asBoolean):
(JSC::DFG::Node::isCellConstant):
(JSC::DFG::Node::asCell):
(JSC::DFG::Node::dynamicCastConstant):
(JSC::DFG::Node::function):
(JSC::DFG::Node::isWeakConstant): Deleted.
(JSC::DFG::Node::constantNumber): Deleted.
(JSC::DFG::Node::convertToWeakConstant): Deleted.
(JSC::DFG::Node::weakConstant): Deleted.
(JSC::DFG::Node::valueOfJSConstant): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::silentSavePlanForFPR):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBooleanBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleInt32Branch):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileDoubleRep):
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithMod):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::valueOfJSConstantAsImm64):
(JSC::DFG::SpeculativeJIT::initConstantInfo):
(JSC::DFG::SpeculativeJIT::isConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isJSConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isInt32Constant): Deleted.
(JSC::DFG::SpeculativeJIT::isDoubleConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isNumberConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isBooleanConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isFunctionConstant): Deleted.
(JSC::DFG::SpeculativeJIT::valueOfInt32Constant): Deleted.
(JSC::DFG::SpeculativeJIT::valueOfNumberConstant): Deleted.
(JSC::DFG::SpeculativeJIT::addressOfDoubleConstant): Deleted.
(JSC::DFG::SpeculativeJIT::valueOfJSConstant): Deleted.
(JSC::DFG::SpeculativeJIT::valueOfBooleanConstant): Deleted.
(JSC::DFG::SpeculativeJIT::valueOfFunctionConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isNullConstant): Deleted.
(JSC::DFG::SpeculativeJIT::isInteger): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • dfg/DFGValueStrength.cpp: Added.

(WTF::printInternal):

  • dfg/DFGValueStrength.h: Added.

(JSC::DFG::merge):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::tryToSetConstantRecovery):
(JSC::DFG::VariableEventStream::reconstruct):

  • dfg/DFGVariableEventStream.h:
  • dfg/DFGWatchableStructureWatchingPhase.cpp:

(JSC::DFG::WatchableStructureWatchingPhase::run):
(JSC::DFG::WatchableStructureWatchingPhase::tryWatch):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileDoubleConstant):
(JSC::FTL::LowerDFGToLLVM::compileInt52Constant):
(JSC::FTL::LowerDFGToLLVM::compileCheckStructure):
(JSC::FTL::LowerDFGToLLVM::compileCheckFunction):
(JSC::FTL::LowerDFGToLLVM::compileCompareEqConstant):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEqConstant):
(JSC::FTL::LowerDFGToLLVM::lowInt32):
(JSC::FTL::LowerDFGToLLVM::lowCell):
(JSC::FTL::LowerDFGToLLVM::lowBoolean):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::tryToSetConstantExitArgument):
(JSC::FTL::LowerDFGToLLVM::compileWeakJSConstant): Deleted.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpInContext):
(JSC::JSValue::dumpInContextAssumingStructure):

  • runtime/JSCJSValue.h:
9:32 PM Changeset in webkit [169794] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, update my list of email addresses in contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
9:31 PM Changeset in webkit [169793] by fpizlo@apple.com
  • 15 edits in branches/ftlopt/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/169786.
It broke a lot of tests on 32-bit.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::canBeKnownFunction):
(JSC::DFG::Node::hasKnownFunction):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::possiblyCompileInlineableNativeCall):
(JSC::FTL::LowerDFGToLLVM::didOverflowStack):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct): Deleted.

  • runtime/JSCJSValue.h:
9:19 PM Changeset in webkit [169792] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Attempt to fix the tests.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Keep generating HashTables for History and Location, since they use them in
their custom getOwnPropertySlot delegates.

8:52 PM Changeset in webkit [169791] by benjamin@webkit.org
  • 17 edits in trunk/Source

[iOS][WK2] ScrollingTreeOverflowScrollingNode does not use asynchronous touch dispatch
https://bugs.webkit.org/show_bug.cgi?id=133702

Source/WebCore:

Reviewed by Simon Fraser.

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::scrollingTreeNodeWillStartPanGesture):

Source/WebKit2:
<rdar://problem/17259261>

Reviewed by Simon Fraser.

Notify the WKWebView and the TouchGestureRecognizer when on of the internal UIScrollView
starts scrolling in response to a gesture.

  • UIProcess/PageClient.h:
  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::scrollingTreeNodeWillStartPanGesture):

  • UIProcess/Scrolling/RemoteScrollingTree.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewWillStartPanGesture):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::scrollViewWillStartPanGesture):

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::scrollViewWillStartPanGesture):

8:35 PM Changeset in webkit [169790] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Reduce the overhead of updating the animatable style on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=133618

Reviewed by Simon Fraser.

While updating the style for animations, most of the time spent was pure calling overhead.

This patch should reduce this a bit on ARMv7:
1) Get the frame directly from the document instead of document->view->framview->frame.
2) Inline RenderObject::animation(). This is just 3 loads, setting up the registers on the call

site is more expensive than loading the values directly.

3) Inline RenderElement::setAnimatableStyle(). It has only one call site and the call is mostly

overhead.

  • css/CSSComputedStyleDeclaration.cpp:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setAnimatableStyle): Deleted.

  • rendering/RenderElement.h:

(WebCore::RenderElement::setAnimatableStyle):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::adjustRectForOutlineAndShadow):
(WebCore::RenderObject::animation): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::animation):

  • rendering/RenderView.h:

(WebCore::RenderObject::frame):

8:09 PM Changeset in webkit [169789] by weinig@apple.com
  • 21 edits in trunk/Source

Don't create a HashTable for JSObjects that use eager reification
https://bugs.webkit.org/show_bug.cgi?id=133705

Reviewed by Geoffrey Garen.

../JavaScriptCore:

  • runtime/Lookup.h:

(JSC::reifyStaticProperties):
Add a version of reifyStaticProperties that takes an array of HashTableValues
rather than a HashTable.

../WebCore:
It is unnecessary to create the CompactHashIndex or HashTable for JSObjects
that use eager reification, since we will never look up properties directly.
Instead, we can iterate the HashTableValue array directly during reification.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Only generate the value array for prototypes that use eager reification.

(GenerateHashTableValueArray):
Extract out into a helper.

(GenerateHashTable):
Add a parameter, $justGenerateValueArray, that if true, means we only
should generate the value array.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSreadonly.cpp:
7:28 PM Changeset in webkit [169788] by Simon Fraser
  • 3 edits in trunk/Tools

Always switch to an sRGB screen color profile when running tests
https://bugs.webkit.org/show_bug.cgi?id=133712

Reviewed by Tim Horton.

Switch the screen color profile to sRGB when running tests, because even ref
tests need the screen to use the correct color profile.

  • DumpRenderTree/mac/LayoutTestHelper.m:

(installLayoutTestColorProfile):

  • Scripts/webkitpy/port/mac.py:

(MacPort.start_helper):

6:53 PM Changeset in webkit [169787] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Prediction propagator should make sure everyone knows that a variable that is in an argument position where other versions of that variable are not MachineInts cannot possibly be flushed as Int52
https://bugs.webkit.org/show_bug.cgi?id=133698

Reviewed by Geoffrey Garen and Mark Hahnenberg.

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate): Use the new utility to figure out if a variable could ever represent an Int52.

  • dfg/DFGVariableAccessData.cpp:

(JSC::DFG::VariableAccessData::couldRepresentInt52): Add a new utility to detect early on if a variable could possibly be Int52.
(JSC::DFG::VariableAccessData::couldRepresentInt52Impl):
(JSC::DFG::VariableAccessData::flushFormat):

  • dfg/DFGVariableAccessData.h:
  • tests/stress/int52-inlined-call-argument.js: Added.

(foo):
(bar):

6:51 PM Changeset in webkit [169786] by fpizlo@apple.com
  • 15 edits in branches/ftlopt/Source/JavaScriptCore

Added native calling to the FTL and Split the DFG nodes
Call and Construct into NativeCall and NativeConstruct
to better represent their semantics.
https://bugs.webkit.org/show_bug.cgi?id=133660

Patch by Matthew Mirman <mmirman@apple.com> on 2014-06-09
Reviewed by Filip Pizlo.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Added NativeCall and NativeConstruct case

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCall): added NativeCall case.
(JSC::DFG::ByteCodeParser::handleCall):
set to return NativeCall or NativeConstruct instead of Call or Construct
in the presence of a native function.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize): added NativeCall and NativeConstruct case.

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC): added NativeCall and NativeConstruct case.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): added NativeCall and NativeConstruct case.

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction): added NativeCall and NativeConstruct case.
(JSC::DFG::Node::canBeKnownFunction): changed to NativeCall and NativeConstruct.
(JSC::DFG::Node::hasKnownFunction): changed to NativeCall and NativeConstruct.

  • dfg/DFGNodeType.h: added NativeCall and NativeConstruct.
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate): added NativeCall and NativeConstruct case.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute): added NativeCall and NativeConstruct case.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall): ditto
(JSC::DFG::SpeculativeJIT::compile): ditto

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall): ditto
(JSC::DFG::SpeculativeJIT::compile): ditto

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): ditto

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower): ditto
(JSC::FTL::LowerDFGToLLVM::compileNode): ditto.
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct): Added.
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct): removed NativeCall and NativeConstruct functionality.
(JSC::FTL::LowerDFGToLLVM::didOverflowStack): added NativeCall and NativeConstruct case.

  • runtime/JSCJSValue.h: added JS_EXPORT_PRIVATE to toInteger as it is apparently needed.
6:38 PM Changeset in webkit [169785] by ryuan.choi@samsung.com
  • 6 edits in trunk/Tools

[EFL] Bump EFL libraries to 1.9
https://bugs.webkit.org/show_bug.cgi?id=125479

Patch by Martin Hodovan <mhodovan@partner.samsung.com> on 2014-06-10
Reviewed by Gyuyoung Kim.

Based on the work of Ryuan Choi <ryuan.choi@samsung.com>
and László Langó <llango.u-szeged@partner.samsung.com>.

  • ImageDiff/CMakeLists.txt:
  • MiniBrowser/efl/CMakeLists.txt:
  • efl/install-dependencies:
  • efl/jhbuild.modules:
  • efl/jhbuildrc:
6:04 PM Changeset in webkit [169784] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: iOS: Return the language for attributed text marker queries
https://bugs.webkit.org/show_bug.cgi?id=133682

Reviewed by Mario Sanchez Prada.

Add language to the list of objects being returned for attributed text.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributeStringSetLanguage):
(AXAttributedStringAppendText):

5:06 PM Changeset in webkit [169783] by dfarler@apple.com
  • 3 edits in trunk/Tools

old-run-webkit-tests: Create CoreSimulator device on demand and find it by name
https://bugs.webkit.org/show_bug.cgi?id=133663

Reviewed by David Kilzer.

  • Scripts/old-run-webkit-tests:

(installAndLaunchDumpToolAppUsingNotification):

  • Remove obsolete notification keys
  • Key off of mandatory device UDID (a UUID)
  • Create a device on demand via CoreSimulator if necessary

-- Grab the UDID from the created device plist.

  • Scripts/webkitdirs.pm:

(iOSSimulatorDevicesPath): Added
(iOSSimulatorDevices): Added
(createiOSSimulatorDevice): Added
(deleteiOSSimulatorDevice): Added

5:01 PM Changeset in webkit [169782] by mitz@apple.com
  • 33 edits in trunk/Source

Source/WebCore: WebCore part of [Cocoa] Handling authentication challenges should not require multiple delegate methods
https://bugs.webkit.org/show_bug.cgi?id=133697

Reviewed by Anders Carlsson.

  • platform/network/AuthenticationClient.h: Declared new virtual member functions for

requesting default handling of a challenge and rejecting a challenge.

  • platform/network/ResourceHandle.h: Override new AuthenticationClient functions.
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::receivedRequestToPerformDefaultHandling): Added. Calls
CFURLConnectionPerformDefaultHandlingForChallenge.
(WebCore::ResourceHandle::receivedChallengeRejection): Added. Calls
CFURLConnectionRejectChallenge.

  • platform/network/cf/SocketStreamHandle.h: Override new AuthenticationClient functions.
  • platform/network/cf/SocketStreamHandleCFNet.cpp:

(WebCore::SocketStreamHandle::receivedRequestToPerformDefaultHandling): Added empty
override.
(WebCore::SocketStreamHandle::receivedChallengeRejection): Ditto.

Source/WebKit2: WebKit2 part of [Cocoa] Handling authentication challenges should not require multiple delegate methods
https://bugs.webkit.org/show_bug.cgi?id=133697

Reviewed by Anders Carlsson.

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::performDefaultHandling): Added. Calls the new
AuthenticationClient function receivedRequestToPerformDefaultHandling.
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue): Added. Calls the new
AuthenticationClient function receivedChallengeRejection.

  • Shared/Authentication/AuthenticationManager.h:
  • Shared/Authentication/AuthenticationManager.messages.in: Added new messages

PerformDefaultHandling and RejectProtectionSpaceAndContinue.

  • Shared/Downloads/DownloadAuthenticationClient.h: Override new AuthenticationClient member

functions.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::receivedRequestToPerformDefaultHandling): Added empty implementation.
(WebKit::Download::receivedChallengeRejection): Ditto.

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::receivedRequestToPerformDefaultHandling): Added. Forwards to the sender.
(WebKit::Download::receivedChallengeRejection): Ditto.

  • UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:

(checkChallenge): Factored out a bit of code into this helper function.
(-[WKNSURLAuthenticationChallengeSender cancelAuthenticationChallenge:]): Use new helper.
(-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):
Ditto.
(-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Ditto.
(-[WKNSURLAuthenticationChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
Implemented this optional NSURLAuthenticationChallengeSender protocol method by forwarding
to the decision listener.
(-[WKNSURLAuthenticationChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
Ditto.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::performDefaultHandling): Added. Sends a message to
the authentication manager.
(WebKit::AuthenticationChallengeProxy::rejectProtectionSpaceAndContinue): Ditto.

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:
  • UIProcess/Authentication/AuthenticationDecisionListener.cpp:

(WebKit::AuthenticationDecisionListener::performDefaultHandling): Added. Forwards to the
authentication challenge proxy.
(WebKit::AuthenticationDecisionListener::rejectProtectionSpaceAndContinue): Ditto.

  • UIProcess/Authentication/AuthenticationDecisionListener.h:
  • UIProcess/Cocoa/NavigationState.h: Added flag in m_navigationDelegateMethods struct.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate): Initialize
webViewWillSendRequestForAuthenticationChallenge flag in the delegate methods struct.
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): If
the delegate implements -_webView:willSendRequestForAuthenticationChallenge:, return true
here; the delegate will respond with -rejectProtectionSpaceAndContinueWithChallenge: if
it cannot authenticate.
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): If the
delegate implements -_webView:willSendRequestForAuthenticationChallenge:, send that message.

4:30 PM Changeset in webkit [169781] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

REGRESSION (r167962): Out of bounds read in JSC::StructureIDTable::get()
https://bugs.webkit.org/show_bug.cgi?id=133463
<rdar://problem/17098100>

Reviewed by Geoffrey Garen.

Revise MediaControllerHost implementation so that instead of holding its
own pointer to the JS Controller object, it uses new properties added to
the internal media controls DOM hierarchy. This allows the GC to see the
needed lifecycle of the various media control objects and avoids the
premature deallocation that caused this bug.

  • Modules/mediacontrols/MediaControlsHost.h:

(WebCore::MediaControlsHost::controllerJSValue): Deleted.
(WebCore::MediaControlsHost::setControllerJSValue): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::controllerJSValue): Added convenience function
to share logic for retrieving the controller object.
(WebCore::HTMLMediaElement::updateCaptionContainer): Revise to use new method
for accessing the controller.
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Connect the media
elements JS wrapper object to the MediaControlsHost JS wrapper. Then connect
the MediaControlsHost JS wrapper to the Controller JS object.
(WebCore::HTMLMediaElement::pageScaleFactorChanged): Revise to use new method
for accessing the controller.

4:23 PM Changeset in webkit [169780] by mmaxfield@apple.com
  • 7 edits
    2 deletes in trunk

Japanese text in Google search is rendered too low and clipped
https://bugs.webkit.org/show_bug.cgi?id=133595

Reviewed by Simon Fraser.

This is a revert of r155324.

Source/WebCore:
By forcing line-height to be normal, r155324 was forcing WebKit to inspect font metrics
to determine the height of a line. This means that if a fallback font was required to
draw a line of text, and the fallback font had a higher ascent than the primary font,
the entire line of text would be pushed down. If we don't force line-height to be normal,
then we use the line-height value instead, which short circuits this mechanism, thereby
not pushing text down.

No new tests (because this is simply a revert)

  • css/html.css:

(input): Deleted.

LayoutTests:

  • fast/dom/HTMLInputElement/input-line-height-expected.txt: Removed.
  • fast/dom/HTMLInputElement/input-line-height.html: Removed.
  • fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.png:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac-mountainlion/fast/forms/placeholder-position-expected.txt:
4:13 PM Changeset in webkit [169779] by Alan Bujtas
  • 9 edits
    2 adds in trunk

REGRESSION (r167937): Do not use effective zoom factor while resolving media query's min-, max-(device)width/height values.
https://bugs.webkit.org/show_bug.cgi?id=133681

Reviewed by Simon Fraser.

We lost the default multiplier(zoom) value of 1 with r167937 at template<typename T> T computeLength().
Now MediaQueryEvaluator takes the current page zoom factor into account while resolving min-, max- width values.

This patch explicitly sets the multiplier value to 1 to ensure zoom independent media query value resolving.

Source/WebCore:
Test: fast/media/media-query-with-scaled-content.html

  • css/CSSToLengthConversionData.cpp:

(WebCore::CSSToLengthConversionData::viewportWidthFactor):
(WebCore::CSSToLengthConversionData::viewportHeightFactor):

  • css/CSSToLengthConversionData.h:
  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::eval):

  • testing/Internals.cpp:

(WebCore::Internals::setPageZoomFactor):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • fast/media/media-query-with-scaled-content-expected.html: Added.
  • fast/media/media-query-with-scaled-content.html: Added.
3:50 PM Changeset in webkit [169778] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.39.40/Source/WebCore

Merge r169681. <rdar://problem/16850492>

3:47 PM Changeset in webkit [169777] by Simon Fraser
  • 4 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=133694

Revert the part of r169733 that caused this test to start failing.

Source/WebCore:

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):

LayoutTests:

  • platform/mac/TestExpectations:
3:39 PM Changeset in webkit [169776] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.39.40/Source/WebCore

Merge r169685. <rdar://problem/16478676>

3:30 PM Changeset in webkit [169775] by timothy_horton@apple.com
  • 10 edits
    2 adds in trunk/Source

Factor repeated CFRunLoopObserver code out
https://bugs.webkit.org/show_bug.cgi?id=133690

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/cf/RunLoopObserver.cpp: Added.

(WebCore::RunLoopObserver::create):
(WebCore::RunLoopObserver::~RunLoopObserver):
(WebCore::RunLoopObserver::runLoopObserverFired):
(WebCore::RunLoopObserver::schedule):
(WebCore::RunLoopObserver::invalidate):

  • platform/cf/RunLoopObserver.h: Added.

(WebCore::RunLoopObserver::isScheduled):
(WebCore::RunLoopObserver::RunLoopObserver):
Factor CFRunLoopObserver management code out of LayerFlushScheduler and WebKit2.

  • platform/graphics/ca/LayerFlushScheduler.h:
  • platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:

(WebCore::LayerFlushScheduler::LayerFlushScheduler):
(WebCore::LayerFlushScheduler::~LayerFlushScheduler):
(WebCore::LayerFlushScheduler::layerFlushCallback):
(WebCore::LayerFlushScheduler::schedule):
(WebCore::LayerFlushScheduler::invalidate):
(WebCore::LayerFlushScheduler::runLoopObserverCallback): Deleted.
Make use of WebCore::RunLoopObserver.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
(WebKit::coreAnimationDidCommitLayersCallback): Deleted.
(WebKit::RemoteLayerTreeDrawingAreaProxy::scheduleCoreAnimationLayerCommitObserver): Deleted.
(WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers): Deleted.
Make use of WebCore::RunLoopObserver.

  • WebView/WebViewData.h:
3:25 PM Changeset in webkit [169774] by matthew_hanson@apple.com
  • 1 edit in tags/Safari-538.39.40/Source/WebCore/ChangeLog

Merge r167907. <rdar://problem/16478676>

3:14 PM Changeset in webkit [169773] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Modernize loop code in scrolling tree code
https://bugs.webkit.org/show_bug.cgi?id=133688

Reviewed by Anders Carlsson.

Use new loop syntax for walking children.

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::cloneAndResetChildren):
(WebCore::ScrollingStateNode::removeChild):
(WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
(WebCore::ScrollingStateNode::dump):

  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::removeChild):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

3:10 PM Changeset in webkit [169772] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.39.40/Source

Versioning.

2:56 PM Changeset in webkit [169771] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

Use [ Pass Failure ] instead of [ Skip ] for the tests skipped in r169767.

  • platform/mac/TestExpectations:
2:53 PM Changeset in webkit [169770] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.39.40

New Tag.

2:41 PM Changeset in webkit [169769] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix availability declaration.

  • UIProcess/API/Cocoa/WKError.h:
2:40 PM Changeset in webkit [169768] by vjaquez@igalia.com
  • 2 edits in trunk/Tools

[GTK][gtkdoc] remove -Wcast-align
https://bugs.webkit.org/show_bug.cgi?id=133640

Apparently gcc warns that GParamSpec is not castable to
GParamSpecInt64/GParamSpecUInt64/GParamSpecDouble due they are 64bit, even
though ARM hackers claim that those only need 4byte alignment. As long as gcc
behaves that way, this warning is not very useful, also they break the Debian
packaging.

This patch appends the compiler flag -Wno-align-cast for the gtkdoc
scanner compilation, thus the compiler ignores the previous
-Waling-cast flag.

Reviewed by Martin Robinson.

  • gtk/generate-gtkdoc:

(get_generator_for_config):

2:36 PM Changeset in webkit [169767] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (6/9/2014): Several TextTrackCue tests became very flaky
https://bugs.webkit.org/show_bug.cgi?id=133686

  • platform/mac/TestExpectations: Skipped the flaky tests
2:36 PM Changeset in webkit [169766] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Address a comment about a comment.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):

2:25 PM Changeset in webkit [169765] by andersca@apple.com
  • 10 edits
    1 copy in trunk/Source

Add -[WKWebView evaluateJavaScript:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=133689
<rdar://problem/17152685>

Reviewed by Geoffrey Garen.

Source/WebCore:

  • English.lproj/Localizable.strings:

Add new localizable strings.

Source/WebKit2:

  • Shared/API/c/WKErrorRef.h:

Remove WKErrorCode typedef from here.

  • UIProcess/API/C/WKPageLoaderClient.h:

Use uint32_t instead of WKErrorCode.

  • UIProcess/API/Cocoa/WKError.h:

(NS_ENUM):
Add a WKErrorDomain and a WKErrorCode enum.

  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):
Helper that returns the localized description given an error code.

(createNSError):
Helper that creates an NSError with the correct localized description given an error code.

  • UIProcess/API/Cocoa/WKErrorInternal.h:

Add helpers.

  • UIProcess/API/Cocoa/WKWebView.h:

Add evaluateJavaScript:completionHandler: method.

  • UIProcess/API/Cocoa/WKWebView.mm:

(callbackErrorCode):
Helper that returns a WKErrorCode from a WebKit::CallbackBase::Error enum.

(-[WKWebView evaluateJavaScript:completionHandler:]):
Run the JavaScript code and handle all the error cases.

(-[WKWebView _runJavaScriptInMainFrame:]):
Reimplement this using the API method.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

2:20 PM Changeset in webkit [169764] by ap@apple.com
  • 2 edits in trunk/LayoutTests

[WK2] http/tests/navigation/new-window-redirect-history.html crashes
https://bugs.webkit.org/show_bug.cgi?id=127683

  • platform/wk2/TestExpectations: Changed expectation from Crash to Skip, because

it crashes every time, and generating more crash logs only makes other tests more
flaky without providing useful information.

1:56 PM Changeset in webkit [169763] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't call Connection::terminateSoon if the connection is null
https://bugs.webkit.org/show_bug.cgi?id=133695
<rdar://problem/17069024>

Reviewed by Tim Horton.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

1:54 PM Changeset in webkit [169762] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip some more flaky tests.
https://bugs.webkit.org/show_bug.cgi?id=133696
<rdar://problem/17257097>

  • platform/wk2/TestExpectations:
1:47 PM Changeset in webkit [169761] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r169733): compositing/iframes/become-composited-nested-iframes.html fails on WebKit1 bots
https://bugs.webkit.org/show_bug.cgi?id=133694

  • platform/mac/TestExpectations: Marked the test as failing
1:41 PM Changeset in webkit [169760] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/dom/beforeload/remove-frame-in-beforeload-listener.html and related tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=133685

  • platform/wk2/TestExpectations: Skipped more affected tests.
1:33 PM Changeset in webkit [169759] by oliver@apple.com
  • 6 edits
    1 copy in trunk/Source/WebKit2

Add process entitlements
https://bugs.webkit.org/show_bug.cgi?id=133693

Reviewed by Alexey Proskuryakov.

Add entitlements description for Database process, and
ensure that we reference the correct seatbelt profiles.

  • Configurations/DatabaseService.Development.xcconfig:
  • Configurations/DatabaseService.xcconfig:
  • Configurations/Databases-iOS.entitlements:
  • Configurations/Network-iOS.entitlements:
  • Configurations/WebContent-iOS.entitlements:
  • WebKit2.xcodeproj/project.pbxproj:
1:29 PM Changeset in webkit [169758] by mark.lam@apple.com
  • 4 edits in trunk

Assertion failure at JSC::Structure::checkOffsetConsistency() const + 234.
<https://webkit.org/b/133356>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:
The root cause of this issue is that a nonPropertyTransition can transition
a pinned dictionary structure to an unpinned dictionary structure. The new
structure will get a copy of the property table from the original structure.
However, when a GC occurs, the property table in the new structure will be
cleared because it is unpinned. This leads to complications in subsequent
derivative structures when flattening occurs, which eventually leads to the
assertion failure in this bug.

The fix is to ensure that the new dictionary structure generated by the
nonPropertyTransition will have a copy of its predecessor's property table
and is pinned.

  • runtime/Structure.cpp:

(JSC::Structure::nonPropertyTransition):

LayoutTests:

  • TestExpectations:
  • Undoing expectation for js/primitive-property-access-edge-cases.html now that the bug is fixed.
1:00 PM Changeset in webkit [169757] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix crashes on some plug-in tests.
https://bugs.webkit.org/show_bug.cgi?id=133691
<rdar://problem/17255836>

Reviewed by Anders Carlsson.

  • PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::initialize):

Cannot use TemporaryChange here, because the object may go away before stack unwinds.

12:56 PM Changeset in webkit [169756] by ap@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac-wk2/plugins/destroy-during-async-npp-new.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=133692

  • platform/mac-wk2/TestExpectations: Skipped the test.
12:07 PM Changeset in webkit [169755] by Antti Koivisto
  • 5 edits in trunk/Source

Serialize ResourceRequests without platform request
https://bugs.webkit.org/show_bug.cgi?id=133679

Reviewed by Alexey Proskuryakov.

Source/WebCore:
We create platform requests in the web process just so we can serialize them. This is unnecessary work.

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::encodingRequiresPlatformData):
(WebCore::ResourceRequestBase::encodeWithoutPlatformData):
(WebCore::ResourceRequestBase::decodeWithoutPlatformData):

Add encoding and decoding functions here to avoid exposing internals.

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::encodingRequiresPlatformData):

Allow encoding without platform data if it hasn't been created yet and there is no request body.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceRequest>::encode):
(IPC::ArgumentCoder<ResourceRequest>::decode):

Encode ResourceRequest directly if possible.

11:47 AM Changeset in webkit [169754] by Brian Burg
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: recording is overused as both noun and verb in TimelineManager
https://bugs.webkit.org/show_bug.cgi?id=132878

Reviewed by Joseph Pecoraro.

Rename most uses of the verb 'recording' to the verb 'capturing' for timelines.
Rename getter for the recording to activeRecording, and recordingEnabled to isCapturing().

When the timeline manager can handle multiple timeline data sets (i.e., 'recordings'),
it will be very confusing to have 'recording' as a plural noun and verb in the model.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.get activeRecording):
(WebInspector.TimelineManager.prototype.isCapturing):
(WebInspector.TimelineManager.prototype.startCapturing):
(WebInspector.TimelineManager.prototype.stopCapturing):
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype._addRecord):
(WebInspector.TimelineManager.prototype._startAutoCapturing):
(WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
(WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
(WebInspector.TimelineManager.prototype._mainResourceDidChange):
(WebInspector.TimelineManager.prototype._resourceWasAdded):
(WebInspector.TimelineManager.prototype.get recording): Deleted.
(WebInspector.TimelineManager.prototype.get recordingEnabled): Deleted.
(WebInspector.TimelineManager.prototype.startRecording): Deleted.
(WebInspector.TimelineManager.prototype.stopRecording): Deleted.
(WebInspector.TimelineManager.prototype._startAutoRecording): Deleted.

  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard):
(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
(WebInspector.DefaultDashboard.prototype._capturingStopped):
(WebInspector.DefaultDashboard.prototype._recordingStopped): Deleted.

  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.isTimelineProfilingEnabled):
(InspectorFrontendAPI.setTimelineProfilingEnabled):

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._capturingStarted):
(WebInspector.TimelineContentView.prototype._capturingStopped):
(WebInspector.TimelineContentView.prototype._recordingStarted): Deleted.
(WebInspector.TimelineContentView.prototype._recordingStopped): Deleted.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.initialize):
(WebInspector.TimelineSidebarPanel.prototype._capturingStarted):
(WebInspector.TimelineSidebarPanel.prototype._capturingStopped):
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._recordingStarted): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._recordingStopped): Deleted.

11:33 AM Changeset in webkit [169753] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Structure::dfgShouldWatchIfPossible() is unsound
https://bugs.webkit.org/show_bug.cgi?id=133624

Reviewed by Mark Hahnenberg.

  • runtime/Structure.h:

(JSC::Structure::dfgShouldWatchIfPossible): Make it sound and add some verbiage.

11:03 AM Changeset in webkit [169752] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/dom/beforeload/remove-frame-in-beforeload-listener.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=133685

  • platform/wk2/TestExpectations: Skipped the test.
10:58 AM Changeset in webkit [169751] by msaboff@apple.com
  • 4 edits
    3 adds in trunk

In a certain app state, Array.prototype.filter() returns incorrect results
https://bugs.webkit.org/show_bug.cgi?id=133577

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
Fixed the LLInt processing of op_put_by_val_direct to have the same hole check as op_put_by_val.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

LayoutTests:
New test to check that the llint handles writing to an array hole from a built-in
function.

  • js/regress/put-by-val-direct-expected.txt: Added.
  • js/regress/put-by-val-direct.html: Added.
  • js/regress/script-tests/put-by-val-direct.js: Added.

(test):

10:52 AM Changeset in webkit [169750] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Send more context about text selection to telephone number scanner
<rdar://problem/16874385> and https://bugs.webkit.org/show_bug.cgi?id=133684

Reviewed by Enrica Casucci.

  • dom/Range.cpp:

(WebCore::rangesOverlap):Add a utility to check if two ranges overlap.

  • dom/Range.h:
  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers): Create a range that is wider than the

actual selection to search for phone numbers that are not completely selected yet.

10:42 AM Changeset in webkit [169749] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Another unreviewed build fix after r169746.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

Prevent another unused value error.

10:37 AM Changeset in webkit [169748] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Unreviewed build fix after r169746.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::respondToMemoryPressure):
Protect startTime with !PLATFORM(IOS) to prevent a unused variable build error.

10:19 AM Changeset in webkit [169747] by Chris Fleizach
  • 4 edits in trunk/Source/WebCore

AX: WK2: iOS: text editing does not work
https://bugs.webkit.org/show_bug.cgi?id=133666

Reviewed by Mario Sanchez Prada.

In WK2, all the text editing is handled by the WebProcess, so selectedTextRange and setSelectedTextRange
need to be implemented, as well as posting the right value change notification.

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper postValueChangedNotification]):
(-[WebAccessibilityObjectWrapper _accessibilitySelectedTextRange]):
(-[WebAccessibilityObjectWrapper _accessibilitySetSelectedTextRange:]):

9:02 AM Changeset in webkit [169746] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS WebKit2] Stay in "memory pressure" mode until told otherwise.
<https://webkit.org/b/133671>

When we receive the first memory pressure signal, flip the flag in
MemoryPressureHandler so that isUnderMemoryPressure() returns true
from then on, until the system tells us pressure levels are back
to normal.

The hold-off mechanism is disabled for iOS, that wasn't actually
needed in the first place, since the system is not going to spam
you with tons of notifications.

Also propagate the "critical" flag all the way from the system
to the pressure handler. Note that we don't actually do anything
differently based on the flag yet.

Reviewed by Sam Weinig.

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::respondToMemoryPressure):

  • platform/MemoryPressureHandler.h:

(WebCore::MemoryPressureHandler::setUnderMemoryPressure):

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):

8:46 AM Changeset in webkit [169745] by Simon Fraser
  • 8 edits in trunk

Fix logging of sticky scrolling tree nodes
https://bugs.webkit.org/show_bug.cgi?id=133670

Reviewed by Sam Weinig.

Source/WebCore:

ScrollingStateStickyNode::dumpProperties() dumped stickyBoxRect() twice and
didn't dump constrainingRectAtLastLayout(), so fix that.

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::dumpProperties):

LayoutTests:

Rebaselined.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:
3:23 AM Changeset in webkit [169744] by svillar@igalia.com
  • 6 edits
    2 adds in trunk

[CSS Grid Layout] Simplify the named grid lines resolution algorithm
https://bugs.webkit.org/show_bug.cgi?id=133543

Reviewed by Darin Adler.

Source/WebCore:
Named grid lines resolution algorithm can be heavily simplified by
inserting the implicit named grid lines generated by each grid
area (<area-name>-{start|end} for rows and columns), into the list
of user defined named grid lines. This way we would only have to
deal with named grid lines and forget about the named grid areas
(as described in the specs
http://dev.w3.org/csswg/css-grid/#grid-placement-slot).

As a nice side effect, we'll get for free the implementation of the
use case described in section 5.2.2 Implicit Named Areas.

Test: fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html

  • css/StyleResolver.cpp:

(WebCore::createImplicitNamedGridLinesFromGridArea):
(WebCore::StyleResolver::applyProperty):

  • rendering/RenderGrid.cpp:

(WebCore::isStartSide):
(WebCore::gridLinesForSide):
(WebCore::implicitNamedGridLineForSide):
(WebCore::isNonExistentNamedLineOrArea):
(WebCore::RenderGrid::adjustGridPositionsFromStyle):
(WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle):
(WebCore::RenderGrid::resolveGridPositionFromStyle):
(WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::gridLineDefinedBeforeGridArea): Deleted.
(WebCore::setNamedLinePositionIfDefinedBeforeArea): Deleted.
(WebCore::RenderGrid::adjustNamedGridItemPosition): Deleted.

LayoutTests:
Added a new test that checks that named grid lines and areas are
correctly set after dynamically changing them with JS. It also
verifies that we properly recompute the resolution of named grid
lines/areas when the positioning properties change.

Also appended a new test case to verify that explicitly adding
named lines of the form <foo-start>/<foo-end> effectively creates
implicit named grid areas so that we could use them in grid
placement properties (for example -webkit-grid-column: foo).

No need to add more tests for named grid lines/areas resolution as
we already have a quite good coverage (the feature was already
there, we're simplifying/improving the implementation).

  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set-expected.txt: Added.
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html: Added.
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution-expected.txt:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
3:17 AM Changeset in webkit [169743] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[MediaStream] Add getTracks() support to MediaStream.
https://bugs.webkit.org/show_bug.cgi?id=133641

Patch by Kiran <kiran.guduru@samsung.com> on 2014-06-10
Reviewed by Eric Carlson.

Source/WebCore:
A new method named getTracks is proposed to retrieve all the tracks
of a MediaStream irrespective of the type. This method has been implementd.

Test: fast/mediastream/MediaStream-getTracks.html

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::getTracks):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStream.idl:

LayoutTests:

  • fast/mediastream/MediaStream-getTracks-expected.txt: Added.
  • fast/mediastream/MediaStream-getTracks.html: Added.

Jun 9, 2014:

10:49 PM Changeset in webkit [169742] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Remove use of view() in RenderView code
https://bugs.webkit.org/show_bug.cgi?id=133669

Reviewed by Andreas Kling.

view() in RenderView just returns *this, so no need to use it.

  • rendering/RenderView.cpp:

(WebCore::RenderView::setSelection):

10:23 PM Changeset in webkit [169741] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Wireless route picker control should use touch event handlers
https://bugs.webkit.org/show_bug.cgi?id=133672

Reviewed by Brent Fulgham.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Listen for touch events.
(ControllerIOS.prototype.handleWirelessPickerButtonTouchStart): New, handle touch start.
(ControllerIOS.prototype.handleWirelessPickerButtonTouchEnd): New, handle touch end.
(ControllerIOS.prototype.handleWirelessPickerButtonTouchCancel): New, handle touch cancel.
(ControllerIOS.prototype.handleWirelessPickerButtonClicked): Deleted.

8:01 PM Changeset in webkit [169740] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Global HashTables contain references to atomic StringImpls
https://bugs.webkit.org/show_bug.cgi?id=133661

Reviewed by Geoffrey Garen.

This was a long-standing bug revealed by bug 133558. The issue is that the global static HashTables
cache their set of keys as StringImpls that are associated with a particular VM. This is obviously
incompatible with using multiple VMs on multiple threads (e.g. when using workers). The fix is to
change the "keys" field of the static HashTables to be char instead of StringImpl.

  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):

  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):
(JSC::HashTable::deleteTable):

  • runtime/Lookup.h:

(JSC::HashTable::ConstIterator::key):
(JSC::HashTable::entry):

7:31 PM Changeset in webkit [169739] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Do not use a mask when matching the return value of a function call on ARM
https://bugs.webkit.org/show_bug.cgi?id=133614

Reviewed by Andreas Kling.

On ARM, we cannot have garbage on the top bits of booleans. It is faster to check the whole
register for nullity.

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::callAndBranchOnBooleanReturnValue):
(WebCore::FunctionCall::callAndBranchOnCondition):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):

6:14 PM Changeset in webkit [169738] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the bogus assertion that didn't even build.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):

5:54 PM Changeset in webkit [169737] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):

5:49 PM Changeset in webkit [169736] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Commit the right fix.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):

5:46 PM Changeset in webkit [169735] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: Exception showing the DOM tree for a node with too many children
https://bugs.webkit.org/show_bug.cgi?id=129696

Fix issue where sometimes inspecting an element will try to attach the "show all nodes" button
before the expand function is called in TreeElement before _childrenListNode has been set.

Patch by Jono Wells <jonowells@apple.com> on 2014-06-09
Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.appendChild):
(TreeOutline.prototype.insertChild):
Added check for existance of this._childrenListNode.

5:46 PM Changeset in webkit [169734] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Debug build fix after r169731.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):

5:37 PM Changeset in webkit [169733] by Simon Fraser
  • 20 edits
    7 adds in trunk

Work towards having frames in the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=133665

Reviewed by Tim Horton.

Source/WebCore:
Optionally (based on Setting) create nodes in the scrolling tree for frames which
contain async-scrollable content. This will be used on iOS/WK2 to support accelerated
overflow-scroll in iframes. The setting allows for testing on OS X.

The change breaks an assumption in ScrollingCoordinator/AsyncScrollingCoordinator
that we're always dealing with the main frame, and changes logic in RenderLayerCompositor
so that we can connect the scrolling tree across frame boundaries. RenderLayerCompositor
maintains a m_subframeScrollLayersNeedReattach flag that gets set whenever we add or remove
scroll-coordinated layers in the current frame. When set, after updating compositing
layers we walk child frames, and, if they have scrolling nodes, re-attach them to the
scrolling tree (which will find the new ancestor node).

Tests: platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed.html

platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame.html

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollLayerID): Use the new "for role" way of getting the node ID.

  • page/Settings.cpp:
  • page/Settings.in: Add scrollingTreeIncludesFrames.
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged): Only set
the region for the main frame.
(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode): updateScrollPositionAfterAsyncScroll()
needs to know which FrameView a given nodeID is hosted in; doing a walk of the frame tree for
non-main frames seems to be the safest way.
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::syncChildPositions):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView): Consult the new setting.
(WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinator::synchronousScrollingReasons):
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
(WebCore::ScrollingCoordinator::setForceSynchronousScrollLayerPositionUpdates):
(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
(WebCore::ScrollingCoordinator::replaySessionStateDidChange):
(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously): Deleted.

  • rendering/RenderLayerBacking.h: Rather than separate functions to get the two scrolling

node IDs, having one scrollingNodeIDForRole() makes calling code cleaner.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers): call reattachSubframeScrollLayers()
after a compositing tree update.
(WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer): Deals with the various configurations
in which we can do async scrolling of sticky elements.
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer):
(WebCore::useCoordinatedScrollingForLayer):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Moved.
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): This is a bug fix;
we only need to notify child frames, not all descendant frames.
(WebCore::RenderLayerCompositor::updateScrollCoordinatedStatus):
(WebCore::RenderLayerCompositor::removeFromScrollCoordinatedLayers):
(WebCore::enclosingScrollingNodeID):
(WebCore::scrollCoordinatedAncestorInParentOfFrame):
(WebCore::RenderLayerCompositor::reattachSubframeScrollLayers):
(WebCore::RenderLayerCompositor::attachScrollingNode):
(WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
(WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::willRemoveScrollingLayer):
(WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Deleted.
(WebCore::isViewportConstrainedFixedOrStickyLayer): Deleted.
(WebCore::isMainFrameScrollingOrOverflowScrolling): Deleted.
(WebCore::nearestScrollCoordinatedAncestor): Deleted.

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::setSelection): Added comment.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setScrollingTreeIncludesFrames):

  • testing/InternalSettings.h: Removed some useless parameter names.
  • testing/InternalSettings.idl: Added setScrollingTreeIncludesFrames() setting.

Source/WebKit2:
Override coordinatesScrollingForFrameView() to always return true for composited
frames, for iOS WK2 (eventually this class will have to be specialized for iOS and OS X).

  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

(WebKit::RemoteScrollingCoordinator::coordinatesScrollingForFrameView):

LayoutTests:
Tests that dump the scrolling tree with subframes.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/resources/doc-with-sticky.html: Added.
5:26 PM Changeset in webkit [169732] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Give callbacks real status codes
https://bugs.webkit.org/show_bug.cgi?id=133668

Reviewed by Dan Bernstein.

This makes it possible to know whether a callback was invalidated due to the webpage being closed,
or whether it was due the a web process crash.

  • UIProcess/GenericCallback.h:

(WebKit::GenericCallback::create):
(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::GenericCallback::invalidate):
(WebKit::invalidateCallbackMap):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:
5:22 PM Changeset in webkit [169731] by benjamin@webkit.org
  • 6 edits in trunk/Source

Improve CSSPrimitiveValue::customCSSText for ARMv7
https://bugs.webkit.org/show_bug.cgi?id=133597

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-09
Reviewed by Andreas Kling.

Source/WebCore:
On imgur, some script is updating some layout on timers and on scroll.

It looks like CSSPrimitiveValue::customCSSText() is a little constrained
by the instruction cache on ARMv7. This patch improve the situation a bit.

First, the creation of the string itself is changed to go from two allocation to one.
Previously, we would allocate a StringBuffer and adopt it. Now we allocate a StringImpl
directly with the inline buffer.

The second issue is that the compiler was generating a real copy constructor for every
assignment of the "text" variable (likely because the variable span is so large).
This was solved by moving the string creating into a separate function (to fix the span)
and being careful with passing PassRef<StringImpl> around.

Then there was the problem that the compiler was a little too aggressive with inlining
which caused each "case" to repeat the same prologue and epilogue before formatValue().
This was solved by adding formatNumberValue() with NEVER_INLINE to have the prologue/epilogue
in a single place.

On older device, that's about 3% improvement on style access. On modern ARM64/x86_64
there is no noticeable difference.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):
(WebCore::CSSPrimitiveValue::formatNumberForcustomCSSText):
(WebCore::CSSPrimitiveValue::customCSSText):
(WebCore::formatNumber): Deleted.

  • css/CSSPrimitiveValue.h:

Source/WTF:

  • wtf/RefPtr.h:

(WTF::RefPtr<T>::RefPtr):

  • wtf/text/WTFString.h:

(WTF::String::String):

4:32 PM Changeset in webkit [169730] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS WebGL] Fix EXT_shader_texture_lod.
https://bugs.webkit.org/show_bug.cgi?id=133633

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-09
Reviewed by Brady Eidson.

Covered by the Khronos test (and in LayoutTests):
conformance/extensions/ext-shader-texture-lod.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
Added shader texture lod name to match value from glGetString(GL_EXTENSIONS) on iOS.

4:29 PM Changeset in webkit [169729] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::updateStyleIfNeededForNode can get very expensive
https://bugs.webkit.org/show_bug.cgi?id=133599

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-09
Reviewed by Andreas Kling.

When pages are querying their style, we first run through
Document::updateStyleIfNeededForNode() to find if that particular node needs style recalc.

The problem was that updateStyleIfNeededForNode() could get really expensive. For each node,
it needs to check the whole parent chain to find if any needs style recalc.
When web pages get a bunch of nodes and querying their style, we ended up going over a lot
of nodes just to find there is nothing to do.

This patch adds two tweaks to reduce the problem:
First, before querying nodeOrItsAncestorNeedsStyleRecalc() we check if the Document is dirty at all.
The other part is making nodeOrItsAncestorNeedsStyleRecalc() faster by removing useless elements check.

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):
(WebCore::Document::updateStyleIfNeededForNode):

4:20 PM Changeset in webkit [169728] by enrica@apple.com
  • 4 edits in trunk/Source

iOS WebKit: Crash in charactersAroundPosition.
https://bugs.webkit.org/show_bug.cgi?id=133659
<rdar://problem/17220870>

Reviewed by Benjamin Poulain.

Source/WebCore:
Ensure that we stay within the vector boundaries
when returning the characters around the position.

  • editing/VisibleUnits.cpp:

(WebCore::charactersAroundPosition):

Source/WebKit2:
We only need to compute charactersAroundPosition when we are in
editable content.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

4:12 PM Changeset in webkit [169727] by aestes@apple.com
  • 8 edits
    2 moves in trunk/Source/WebKit2

[iOS] Expose _WKWebViewPrintFormatter and -_webView:printFrame: as SPI
https://bugs.webkit.org/show_bug.cgi?id=133600

Reviewed by David Kilzer.

Expose -_webView:printFrame: in WKUIDelegatePrivate so that clients can implement support for window.print().
Since window.print() can be called from a subframe, expose _WKWebViewPrintFormatter (renamed from
WKWebViewPrintFormatter to reflect its new SPI status) as SPI and add a frameToPrint property.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Forward-declared _WKFrameHandle and declared -_webView:printFrame:.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _webViewPrintFormatter]): Added to get a _WKWebViewPrintFormatter.
(-[WKWebView _printFormatterClass]): Updated the class name to _WKWebViewPrintFormatter.
(-[WKWebView _computePageCountAndStartDrawingToPDFForFrame:printInfo:WebKit::firstPage:computedTotalScaleFactor:]):
Added a frame argument. If frame is nil, print the main frame.
(-[WKWebView _computePageCountAndStartDrawingToPDFWithPrintInfo:WebKit::firstPage:computedTotalScaleFactor:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h: Forward-declared _WKFrameHandle; removed an unneccessary

forward-declaration of WKWebViewPrintFormatter.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Added a _webViewPrintFormatter property.
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::printFrame): Called -_webView:printFrame:.

  • UIProcess/_WKWebViewPrintFormatter.h: Renamed from Source/WebKit2/UIProcess/WKWebViewPrintFormatter.h.
  • UIProcess/_WKWebViewPrintFormatter.mm: Renamed from Source/WebKit2/UIProcess/WKWebViewPrintFormatter.mm.
  • WebKit2.xcodeproj/project.pbxproj:
3:59 PM Changeset in webkit [169726] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Properly reset UStringSearch object in SearchBuffer constructor.
https://bugs.webkit.org/show_bug.cgi?id=133662
<rdar://problem/17240136>

Reviewed by Tim Horton.

  • editing/TextIterator.cpp: (WebCore::SearchBuffer::~SearchBuffer):
3:56 PM Changeset in webkit [169725] by eric.carlson@apple.com
  • 5 edits
    2 adds in trunk

Automatic text track selection can select more than one track
https://bugs.webkit.org/show_bug.cgi?id=133590

Reviewed by Brent Fulgham.

Source/WebCore:
Test: media/video-trackmenu-selection.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::configureTextTrack): Consider the currently selected

track, if any.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Drive-by change

to make sure no non-visible text tracks are included in the track menu.

LayoutTests:

  • media/video-trackmenu-selection-expected.txt: Added.
  • media/video-trackmenu-selection.html: Added.
  • platform/efl/TestExpectations: New test skipped.
3:30 PM Changeset in webkit [169724] by Beth Dakin
  • 4 edits in trunk/Source/WebKit2

Flash video controls hit-test incorrectly after changing topContentInset
https://bugs.webkit.org/show_bug.cgi?id=133658
-and corresponding-
<rdar://problem/16978590>

Reviewed by Anders Carlsson.

When the topContent changes, the PluginView needs to be informed.

New function PluginView::topContentInsetDidChange() calls viewGeometryDidChange().

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::topContentInsetDidChange):

  • WebProcess/Plugins/PluginView.h:

Call topContentInsetDidChange() after setting an inset only if it is a new inset.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setTopContentInset):

3:27 PM Changeset in webkit [169723] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.39.2/Source/WebKit2

Merged r169663.

3:21 PM Changeset in webkit [169722] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.39.2/Source

Versioning.

3:19 PM Changeset in webkit [169721] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.39.2

New tag.

2:48 PM Changeset in webkit [169720] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Hang when painting media before compositing mode activated
https://bugs.webkit.org/show_bug.cgi?id=133655

Reviewed by Eric Carlson.

When asked to paint(), MediaPlayerPrivateAVFoundationObjC should not create an image generator
or a video output. These operations are synchronous, and will block the drawing thread and cause
a spin. paint() as opposed to paintImageInContext() is only called when painting the layer tree
and MediaPlayerPrivateAVFoundationObjC will paint by creating a AVPlayerLayer, not by painting
frames directly into the tree.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paint):

2:45 PM Changeset in webkit [169719] by dbates@webkit.org
  • 4 edits in trunk/Source/WebKit2

Another attempt to fix the EFL and GTK builds after <http://trac.webkit.org/changeset/169711>
(https://bugs.webkit.org/show_bug.cgi?id=133657)

Substitute WKErrorRef.h for WKError.h.

  • UIProcess/API/efl/ewk_error.cpp:
  • WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
  • WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
2:32 PM Changeset in webkit [169718] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac][MSE] Exception thrown from ~MediaPlayerPrivateMediaSourceAVFObjC().
https://bugs.webkit.org/show_bug.cgi?id=133656

Reviewed by Eric Carlson.

AVSampleBufferRenderSynchronizer can't handle being passed a NULL observer, so only attempt
to remove the time jumped or duration observer if one was actually created.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):

2:23 PM Changeset in webkit [169717] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

Attempt to fix the EFL and GTK builds after <http://trac.webkit.org/changeset/169711>
(https://bugs.webkit.org/show_bug.cgi?id=133657)

Rename Shared/API/c/WKError.cpp to Shared/API/c/WKErrorRef.cpp.

  • CMakeLists.txt:
2:19 PM Changeset in webkit [169716] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering: Pixelsnapping empty rounded rect results in NaN radii width/height.
https://bugs.webkit.org/show_bug.cgi?id=133654

Reviewed by Simon Fraser.

Empty rounded rects don't need snapping.

Not testable.

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):

2:18 PM Changeset in webkit [169715] by mmaxfield@apple.com
  • 13 edits
    2 adds in trunk

REGRESSION: missing underline under CJK text
https://bugs.webkit.org/show_bug.cgi?id=128145

Reviewed by Darin Adler.

Source/WebCore:
This patch refactors the GlyphToPathTranslator which is used to find intersections of
glyphs and underlines. It was modified to allow for querying these pieces of
information:
1) The extents of the glyph. This can be used to make the underlines skip an entire
glyph, wholesale
2) What kind of skipping behavior should be used
3) The Path which represents the glyph
There are three skipping behaviors:
1) (SkipDescenders) The previous behavior
2) (SkipGlyph) Make the underline skip over the entire glyph, using the extents() function
3) (DrawOverGlyph) Make the underline plow through the glyph, ignoring any descenders

Calculating which underlining behavior to use depends on what the base codepoint that
originated that glyph is. This means that we have to map from glyphs to characters,
something which is nontrivial to do. In order to solve this problem, this patch adds
an optional vector to GlyphBuffer which represents the location in the original string
from which a particular glyph originated. Then, when our WidthIterator code adds
glyphs to the GlyphBuffer, we can include the extra information about where we are
in the input string. Once this data is available, the GlyphPathTranslator can look up
the base codepoint from which this glyph originates, and can run ICU functions on that
codepoint.

We can use the ICU ublock_getCode() function to find which Unicode block a particular
codepoint comes from. If the codepoint comes from a CJK block, we will use
DrawOverGlyph; otherwise, we will use SkipDescenders.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk.html

  • platform/graphics/Font.cpp:

(WebCore::sharedUnderlineType): Look up the base codepoint from which this glyph
originates, call ublock_getCode to get its Unicode block, then return
a GlyphUnderlineType accordingly. This code is shared between SVG and non-SVG.

  • platform/graphics/Font.h: New virtual functions in GlyphToPathTranslator, as well as

function signatures for the above two functions.

  • platform/graphics/GlyphBuffer.h: Add an optional instance member for the location

from within the original string from which a particular glyph originates.
(WebCore::GlyphBuffer::clear): Updated for new member.
(WebCore::GlyphBuffer::add): Ditto.
(WebCore::GlyphBuffer::saveOffsetsInString): Opt-in to using the new variable
(WebCore::GlyphBuffer::offsetInString): New variable accessor.

  • platform/graphics/TextRun.h: SVG needs the TextRun to use sharedUnderlineType.
  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal): Use GlyphBuffer's new variable (if present).

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::advance): Use GlyphBuffer's new variable (if present).

  • platform/graphics/mac/FontMac.mm: Implement new GlyphToPathTranslator functions.

(WebCore::MacGlyphToPathTranslator::path):
(WebCore::MacGlyphToPathTranslator::extents):
(WebCore::MacGlyphToPathTranslator::underlineType): Calls sharedUnderlineType().
(WebCore::MacGlyphToPathTranslator::moveToNextValidGlyph):
(WebCore::MacGlyphToPathTranslator::increment):
(WebCore::Font::dashesForIntersectionsWithRect): Ask the translator what kind of underline
behavior should be used. React accordingly.
(WebCore::MacGlyphToPathTranslator::nextPath): Deleted.
(WebCore::MacGlyphToPathTranslator::incrementIndex): Deleted.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::shapeAndPlaceItem): Update to new signature of GlyphBuffer::add()

  • rendering/svg/SVGTextRunRenderingContext.cpp: Implement new GlyphToPathTranslator functions.

(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGGlyphToPathTranslator::getCurrentTransform):
(WebCore::SVGGlyphToPathTranslator::path):
(WebCore::SVGGlyphToPathTranslator::extents):
(WebCore::MacGlyphToPathTranslator::underlineType): Calls sharedUnderlineType().
(WebCore::SVGGlyphToPathTranslator::moveToNextValidGlyph):
(WebCore::SVGGlyphToPathTranslator::increment):
(WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
(WebCore::SVGGlyphToPathTranslator::nextPath): Deleted.
(WebCore::SVGGlyphToPathTranslator::incrementIndex): Deleted.

  • rendering/svg/SVGTextRunRenderingContext.h: SVG needs the TextRun to use sharedUnderlineType.

LayoutTests:
This test makes sure that underlines under CJK text don't skip over descenders.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk.html: Added.
2:09 PM Changeset in webkit [169714] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[iOS WebGL] Implement OES_vertex_array_object for iOS.
https://bugs.webkit.org/show_bug.cgi?id=133629

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-09
Reviewed by Brady Eidson.

Covered by the Khronos test (and in LayoutTests):
conformance/extensions/oes-vertex-array-object.html

  • platform/graphics/ios/GraphicsContext3DIOS.h:

Added OpenGL vertex array function renaming for iOS adding the OES suffix.

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::createVertexArrayOES):
(WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGL::isVertexArrayOES):
(WebCore::Extensions3DOpenGL::bindVertexArrayOES):
Added isVertexArrayObjectSupported and support for iOS.
(WebCore::Extensions3DOpenGL::supportsExtension):
Added iOS name for GL_OES_vertex_array_object extension.

  • platform/graphics/opengl/Extensions3DOpenGL.h:

Added isVertexArrayObjectSupported for iOS.

2:03 PM Changeset in webkit [169713] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac] caption size is not update immediately when system preferences change
https://bugs.webkit.org/show_bug.cgi?id=133598

Reviewed by Brent Fulgham.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::updateCaptionDisplaySizes): New.

  • Modules/mediacontrols/MediaControlsHost.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::captionPreferencesChanged): Tell the controls host to update sizes.

1:58 PM Changeset in webkit [169712] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Address review feedback.

  • UIProcess/API/Cocoa/WKWebView.h:
1:53 PM Changeset in webkit [169711] by andersca@apple.com
  • 8 edits
    2 copies
    2 moves
    1 add in trunk/Source/WebKit2

Add a WKError.h header and rename the existing WKError.h to WKErrorRef.h
https://bugs.webkit.org/show_bug.cgi?id=133657

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WebKit.h:
  • Shared/API/c/WKErrorRef.cpp: Renamed from Source/WebKit2/Shared/API/c/WKError.cpp.

(WKErrorGetTypeID):
(WKErrorCopyWKErrorDomain):
(WKErrorCopyDomain):
(WKErrorGetErrorCode):
(WKErrorCopyFailingURL):
(WKErrorCopyLocalizedDescription):

  • Shared/API/c/WKErrorRef.h: Renamed from Source/WebKit2/Shared/API/c/WKError.h.
  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKPageLoaderClient.h:
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/WKError.h: Copied from Source/WebKit2/Shared/API/Cocoa/WebKit.h.
  • UIProcess/API/Cocoa/WKError.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WebKit.h.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
1:39 PM Changeset in webkit [169710] by dbates@webkit.org
  • 3 edits
    3 adds in trunk

[iOS] Amazon app: Cannot interact with product page after tapping on product image
https://bugs.webkit.org/show_bug.cgi?id=133559
<rdar://problem/16332749>

Reviewed by Oliver Hunt.

Source/WebCore:
As a workaround for issues in the Amazon app, mark the attribute navigator.geolocation as
replaceable so that we don't throw a JavaScript type error when assigning to an instance
attribute that shadows it. At the time of writing the first such assignment to is ignored.
See <https://bugs.webkit.org/show_bug.cgi?id=133648> for more details.

When loading a product page in the Amazon app it overwrites the readonly property geolocation
on an object that extends the Navigator object. In strict mode, this operation is not honored
and is treated as a JavaScript type error, which stops JavaScript execution. Therefore, the
product page does not behave as intended. In contrast, this operation would not be honored in
non-strict mode and would not be treated as a JavaScript type error.

Test: js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw.html

  • Modules/geolocation/NavigatorGeolocation.idl:

LayoutTests:
Add a test to ensure that assigning to an instance attribute in strict mode that shadows
navigator.geolocation doesn't cause a JavaScript type error.

  • js/dom/script-tests/shadow-navigator-geolocation-in-strict-mode-does-not-throw.js: Added.

(createObjectWithPrototype.F):
(createObjectWithPrototype):

  • js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt: Added.
  • js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw.html: Added.
1:18 PM Changeset in webkit [169709] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

HTML*ListElement wrappers have custom getOwnPropertySlot()s for no good reason.
<https://webkit.org/b/133653>

The JavaScript bindings generator was a bit overzealous in forcing every
interface with "List" in the name to have its attributes on the instance.
This caused some elements (HTMLUListElement, etc.) to automatically opt out
of eager prototype attribute reification.

Reviewed by Mark Hahnenberg.

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstance):

1:10 PM Changeset in webkit [169708] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT(!m_inRemovedLastRefFunction) in Element::addShadowRoot while destroying a document
https://bugs.webkit.org/show_bug.cgi?id=133450

Reviewed by Eric Carlson.

ensureUserAgentShadowRoot() is being called when a media element is removed from its document
in HTMLMediaElement::removedFrom() because Node::removedFrom() has not yet run and removed the
InDocument flag from the node. Rather than calling configureMediaControls() at this point
just expilictly remove the media controls if present.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

12:30 PM Changeset in webkit [169707] by mhahnenberg@apple.com
  • 35 edits in trunk/Source/WebCore

Rebaseline bindings tests after r169703

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectPrototype::finishCreation):
(WebCore::JSTestActiveDOMObjectPrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterPrototype::finishCreation):
(WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorPrototype::finishCreation):
(WebCore::JSTestEventConstructorPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestEventConstructor::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetPrototype::finishCreation):
(WebCore::JSTestEventTargetPrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionPrototype::finishCreation):
(WebCore::JSTestExceptionPrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachablePrototype::finishCreation):
(WebCore::JSTestGenerateIsReachablePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestGenerateIsReachable::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfacePrototype::finishCreation):
(WebCore::JSTestInterfacePrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerPrototype::finishCreation):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorPrototype::finishCreation):
(WebCore::JSTestNamedConstructorPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestNamedConstructor::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodePrototype::finishCreation):
(WebCore::JSTestNodePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestNode::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::JSTestNondeterministicPrototype::finishCreation):
(WebCore::JSTestNondeterministicPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestNondeterministic::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::JSTestObjPrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsPrototype::finishCreation):
(WebCore::JSTestOverloadedConstructorsPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestOverloadedConstructors::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfacePrototype::finishCreation):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsPrototype::finishCreation):
(WebCore::JSTestTypedefsPrototype::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattributePrototype::finishCreation):
(WebCore::JSattributePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSattribute::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyPrototype::finishCreation):
(WebCore::JSreadonlyPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSreadonly::getOwnPropertySlot): Deleted.

  • bindings/scripts/test/JS/JSreadonly.h:
12:06 PM Changeset in webkit [169706] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Group the methods in InternalSettings.idl
https://bugs.webkit.org/show_bug.cgi?id=133652

Reviewed by Tim Horton.

Group methods by topic.

  • testing/InternalSettings.idl:
12:02 PM Changeset in webkit [169705] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix after r169703

11:57 AM Changeset in webkit [169704] by ap@apple.com
  • 2 edits in trunk/Tools

Disable button animations in regression tests
https://bugs.webkit.org/show_bug.cgi?id=133647
<rdar://problem/16677530>

Reviewed by Tim Horton.

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

11:53 AM Changeset in webkit [169703] by mhahnenberg@apple.com
  • 36 edits
    2 adds in trunk

Eagerly reify DOM prototype attributes
https://bugs.webkit.org/show_bug.cgi?id=133558

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
This allows us to get rid of a lot of the additional overhead of pushing DOM attributes up into the prototype.
By eagerly reifying the custom getters and setters into the actual JSObject we avoid having to override
getOwnPropertySlot for all of the DOM prototypes, which is a lot of the overhead of doing property lookups on
DOM wrappers.

(JSC::LLInt::Data::performAssertions):

  • llint/LowLevelInterpreter.asm:
  • runtime/BatchedTransitionOptimizer.h:

(JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):

  • runtime/CustomGetterSetter.cpp: Added.

(JSC::callCustomSetter):

  • runtime/CustomGetterSetter.h: Added.

(JSC::CustomGetterSetter::create):
(JSC::CustomGetterSetter::getter):
(JSC::CustomGetterSetter::setter):
(JSC::CustomGetterSetter::createStructure):
(JSC::CustomGetterSetter::CustomGetterSetter):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isCustomGetterSetter):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::isCustomGetterSetter):
(JSC::JSCell::canUseFastGetOwnProperty):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::isHostOrBuiltinFunction): Deleted.
(JSC::JSFunction::isBuiltinFunction): Deleted.

  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h: Inlined some random functions that appeared hot during profiling.

(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::isHostOrBuiltinFunction):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::fillGetterPropertySlot):
(JSC::JSObject::fillCustomGetterPropertySlot):
(JSC::JSObject::getOwnPropertySlotSlow): Deleted.

  • runtime/JSObject.h:

(JSC::JSObject::hasCustomGetterSetterProperties):
(JSC::JSObject::convertToDictionary):
(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::getOwnPropertySlotSlow): Inlined because it looked hot during profiling.
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectWithoutTransition):

  • runtime/JSType.h:
  • runtime/Lookup.h:

(JSC::reifyStaticProperties):

  • runtime/PropertyDescriptor.h:

(JSC::PropertyDescriptor::PropertyDescriptor):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::nextOutOfLineStorageCapacity): Deleted.
(JSC::Structure::suggestedNewOutOfLineStorageCapacity): Deleted.
(JSC::Structure::get): Deleted.

  • runtime/Structure.h:

(JSC::Structure::hasCustomGetterSetterProperties):
(JSC::Structure::setHasCustomGetterSetterProperties):

  • runtime/StructureInlines.h:

(JSC::Structure::get): Inlined due to hotness.
(JSC::nextOutOfLineStorageCapacity): Inlined due to hotness.
(JSC::Structure::suggestedNewOutOfLineStorageCapacity): Inlined due to hotness.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/WriteBarrier.h:

(JSC::WriteBarrierBase<Unknown>::isCustomGetterSetter):

Source/WebCore:
No new tests.

This allows us to get rid of a lot of the additional overhead of pushing DOM attributes up into the prototype.
By eagerly reifying the custom getters and setters into the actual JSObject we avoid having to override
getOwnPropertySlot for all of the DOM prototypes, which is a lot of the overhead of doing property lookups on
DOM wrappers.

  • bindings/scripts/CodeGeneratorJS.pm:

(prototypeHashTableAccessor): Changed to pass along the VM.
(AttributeShouldBeOnInstanceForCompatibility): We were being overly conservative in regard to touch events.
This caused us to store the touch event handler getters and setters on the JSElement instance, which caused
us to override getOwnPropertySlot for every JSElement subclass.
(InstanceOverridesGetOwnPropertySlot): This was being overly paranoid about generate a getOwnPropertySlot if
there was going to be a "constructor" property, even though we handled this in another place already.
(GenerateHeader): Generate a finishCreation for prototypes unless it's the JSDOMWindow. We can't correctly
handle the DOMWindow in this version of the patch because reifying the static properties requires a global object,
which hasn't been created yet when the prototype for the window object is being created.
(GenerateImplementation): Generate the finishCreation calls to reifyStaticProperties.

LayoutTests:
Updating a test expectation after this fix.

  • js/dom/constructor-attributes-expected.txt:
11:49 AM Changeset in webkit [169702] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

Unreviewed, rolling out r169693.
https://bugs.webkit.org/show_bug.cgi?id=133651

This was wrong, just wrong (Requested by ap on #webkit).

Reverted changeset:

"Rebaseline some tests after r169681."
http://trac.webkit.org/changeset/169693

11:43 AM Changeset in webkit [169701] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Use different AppKit API for all services menus
<rdar://problem/16874403> and https://bugs.webkit.org/show_bug.cgi?id=133649

Reviewed by Tim Horton.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu):

11:43 AM Changeset in webkit [169700] by Simon Fraser
  • 4 edits
    102 moves
    4 adds in trunk

Move scrolling-related tests to tiled-drawing/scrolling subdirectory, and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=133650

Reviewed by Tim Horton.

Tools:
No point checking for a Windows-style path in Cocoa code.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::shouldUseThreadedScrolling):

LayoutTests:
Moved files, fixed up relative paths to js-test-pre.js/js-test-post.js and unskipped a couple of fixed/sticky tests.

  • platform/mac-wk2/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html-expected.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed-expected.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-no-image.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/nested-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/nested-fixed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/percentage-inside-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed.html.
  • platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/null-parent-back-crash-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/null-parent-back-crash.html.
  • platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-after-scroll.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll.html.
  • platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-slow-scrolling.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling.html.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle.html.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle.html.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling.html.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset.html.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal.html.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-layers.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical.html.
  • platform/mac/TestExpectations:
11:43 AM Changeset in webkit [169699] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r169681): Three tests are broken
https://bugs.webkit.org/show_bug.cgi?id=133646

Reviewed by Tim Horton.

r169681 removed platformFocusRingMaxWidth() override, which returned either 0 or 9
on Mac. But the cross-platform default is 3, so this changed Mac behavior.

I'm not entirely sure why the cross-platform default is 3 (it was also added in r168397),
but restoring the override to return 0 fixes test cases.

While at it, also added final/override, and removed some functions that were only
needed by subclasses, which we now have none.

  • rendering/RenderThemeMac.h:

(WebCore::RenderThemeMac::supportsControlTints): Deleted.
(WebCore::RenderThemeMac::scrollbarControlSizeForPart): Deleted.
(WebCore::RenderThemeMac::supportsSelectionForegroundColors): Deleted.
(WebCore::RenderThemeMac::supportsClosedCaptioning): Deleted.
(WebCore::RenderThemeMac::updateActiveState): Deleted.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::platformFocusRingMaxWidth):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):

11:17 AM Changeset in webkit [169698] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add WKWindowFeatures.h to the umbrella header.

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WebKit.h:
11:16 AM Changeset in webkit [169697] by Bem Jones-Bey
  • 2 edits in trunk/Source/WebCore

[CSS Shapes] Bound RasterShapeInterval size to int
https://bugs.webkit.org/show_bug.cgi?id=133576

Reviewed by Simon Fraser.

Everything in the code assumes that the interval size will always fit
in an int. However, to make sure there are no negatives, the
RasterShapeInterval constructor takes an unsigned. This clamps that
value to make sure we can't overflow an int later.

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShapeIntervals::RasterShapeIntervals):

11:09 AM Changeset in webkit [169696] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Add -[WKWebView loadHTMLString:baseURL:]
https://bugs.webkit.org/show_bug.cgi?id=133645
<rdar://problem/17170649>

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadHTMLString:baseURL:]):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::createLoadDataNavigation):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadHTMLString):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadString):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
11:07 AM Changeset in webkit [169695] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Structure should initialize its previousID in its constructor.
<https://webkit.org/b/133606>

Reviewed by Mark Hahnenberg.

Currently, the Structure constructor that takes a previous structure will
initialize its previousID to point to the previous structure's previousID.
This is incorrect. However, the caller of the Structure::create() factory
method (which instantiated the Structure) will later call setPreviousID()
to set the previousID to the correct previous structure. This makes the
code confusing to read and more error prone in that the structure relies
on client code to fix its invalid previousID.

This patch fixes this by making the Structure constructor initialize
previousID correctly.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::nonPropertyTransition):

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::create):

11:07 AM Changeset in webkit [169694] by Simon Fraser
  • 1 edit
    3 adds in trunk/LayoutTests

Add results for MathML tests added by https://bugs.webkit.org/show_bug.cgi?id=72828.

  • platform/mac/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
  • platform/mac/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
11:04 AM Changeset in webkit [169693] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline some tests after r169681.

  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
  • platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
10:49 AM Changeset in webkit [169692] by Simon Fraser
  • 22 edits in trunk

Fix more latched scrolling test flakiness and slowness
https://bugs.webkit.org/show_bug.cgi?id=133601

Reviewed by Brent Fulgham.

Source/WebKit2:

Latched scrolling tests were flakey for two reasons. First, the EventSender
wheel events were async from the web to the UI process, and the resulting
synthetic events also async from the UI to the web process. Make them sync
for testing.

Secondly, the timer-based scrolling tree commit could result in the scrolling
tree (specifically the frame node's notion of the scrollable area and content
size) not being updated before the scrolling thread starts getting wheel events.
Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.

Finally remove all the now-unnecessary timeouts from the tests.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::wheelEventSyncForTesting):

Tools:

Latched scrolling tests were flakey for two reasons. First, the EventSender
wheel events were async from the web to the UI process, and the resulting
synthetic events also async from the UI to the web process. Make them sync
for testing.

Secondly, the timer-based scrolling tree commit could result in the scrolling
tree (specifically the frame node's notion of the scrollable area and content
size) not being updated before the scrolling thread starts getting wheel events.
Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.

Finally remove all the now-unnecessary timeouts from the tests.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

LayoutTests:

Latched scrolling tests were flakey for two reasons. First, the EventSender
wheel events were async from the web to the UI process, and the resulting
synthetic events also async from the UI to the web process. Make them sync
for testing.

Secondly, the timer-based scrolling tree commit could result in the scrolling
tree (specifically the frame node's notion of the scrollable area and content
size) not being updated before the scrolling thread starts getting wheel events.
Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.

Finally remove all the now-unnecessary timeouts from the tests.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:
10:01 AM Changeset in webkit [169691] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/LayoutTests

[EFL] Change expectations for four layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133643

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-09

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fullscreen/video-controls-override-expected.txt: Added.
  • platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
9:04 AM Changeset in webkit [169690] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[iOS] Gaps below and to the right of the video controls on devour.com
https://bugs.webkit.org/show_bug.cgi?id=133607

Reviewed by Simon Fraser.

Non-toplevel compositing layers are device pixel aligned. In order to render the content
to the same position as if the layer was not aligned, the graphics layer needs to be translated.
CALayer::bounds is set to compensate for the shifted layer. However, we should not change the layer's
size as that stretches the content and results in overlaps/gaps/extra fuzziness.

Source/WebCore:
Test: compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment): remove old epsilon adjustment code.

  • platform/graphics/ca/GraphicsLayerCA.h:

LayoutTests:

  • compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context-expected.html: Added.
  • compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context.html: Added.
9:01 AM Changeset in webkit [169689] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[SVG] Subpixel rendering: Mask with transformed text does not render.
https://bugs.webkit.org/show_bug.cgi?id=133626
<rdar://problem/17123070>

Reviewed by Simon Fraser.

Replace IntRect::infiniteRect() with Layout::infiniteRect(). A transformed IntRect::infiniteRect()
overflows and produces invalid repaint rect. -also remove IntRect::infiniteRect() as no one calls
it anymore.

Source/WebCore:
Tests: svg/masking/mask-transformed-text-missing-expected.svg

svg/masking/mask-transformed-text-missing.svg

  • platform/graphics/IntRect.h:

(WebCore::IntRect::infiniteRect): Deleted.

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):

LayoutTests:

  • svg/masking/mask-transformed-text-missing-expected.svg: Added.
  • svg/masking/mask-transformed-text-missing.svg: Added.
6:13 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
3:29 AM Changeset in webkit [169688] by commit-queue@webkit.org
  • 6 edits in trunk

[EFL] Add parameter to MiniBrowser to disable web security
https://bugs.webkit.org/show_bug.cgi?id=121095

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-09
Reviewed by Gyuyoung Kim.

-w (--web-security) commandline allows to disable/enable web security (enabled by default).
The reason for this is to test and debug (using, for example, MiniBrowser) scripts accessing
resources from other domains (cross-domain requests) such as access map location on another server.
Another possibility is to launch in a webkit browser local file tests that will refer to the links
in the http website loaded in an iframe. It will not be possible without deactivation of web security.

Source/WebKit2:

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_web_security_enabled_set):
(ewk_settings_web_security_enabled_get):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/tests/test_ewk2_settings.cpp:

(TEST_F):

Tools:

  • MiniBrowser/efl/main.c:

(window_create):
(elm_main):

Jun 8, 2014:

11:58 PM Changeset in webkit [169687] by g.czajkowski@samsung.com
  • 4 edits
    2 adds
    2 deletes in trunk/LayoutTests

Share mac/editing/spelling/editing-word-with-marker-2.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=133544

Reviewed by Darin Adler.

Move mac/editing/spelling/editing-word-with-marker-2.html into
common editing/spelling to be available for other platforms.

Additionally, verify spelling markers asynchronously as the sync
path it's likely to be removed.

Add test case which tests spelling markers without any
selection change.

  • editing/spelling/editing-word-with-marker-2-expected.txt:

Renamed from platform/mac/editing/spelling/editing-word-with-marker-2-expected.txt.

  • editing/spelling/editing-word-with-marker-2.html:

Renamed from platform/mac/editing/spelling/editing-word-with-marker-2.html.

  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Mark editing/spelling/editing-word-with-marker-2.html as failing since those
platforms didn't turn on asynchronous spellchecking.

11:26 PM Changeset in webkit [169686] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Skip a test which generates "No bad fd found." error.

  • platform/efl-wk1/TestExpectations:
  • platform/efl/http/tests/misc/slow-loading-mask-expected.txt:
5:02 PM Changeset in webkit [169685] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] checkboxes and radio buttons animate incorrectly
https://bugs.webkit.org/show_bug.cgi?id=133619
<rdar://problem/16478676>

Reviewed by Sam Weinig.

As many people have noticed, the new checkboxes and radio
buttons jump around during their animation. To fix this
I've added yet another magic set of numbers to our
native form positioning - this time the placement
of the controls when rendering on the animated path.
This is quite annoying, since there doesn't appear
to be any pattern to the offsets (or margins) given
a control size, and this case also needed a sub-pixel
offset to display correctly on retina machines.

  • platform/mac/ThemeMac.mm:

(WebCore::checkboxMargins): Add comment so I know what the values mean.
(WebCore::checkboxOffsets): Add the magic translation values for animated states.
(WebCore::radioMargins): Ditto.
(WebCore::radioOffsets):
(WebCore::paintToggleButton): Paint with these new offsets.

4:21 PM Changeset in webkit [169684] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

[Cocoa] WKScriptMessage should include the frame the message is from
<rdar://problem/17210226>
https://bugs.webkit.org/show_bug.cgi?id=133623

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKScriptMessage.h:

Add WKFrameInfo property.

  • UIProcess/API/Cocoa/WKScriptMessage.mm:

(-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
Add WKFrameInfo to the initializer.

(-[WKScriptMessage frameInfo]):
Implement frameInfo accessor.

  • UIProcess/API/Cocoa/WKScriptMessageInternal.h:

Add WKFrameInfo to the initializer.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

Pass the WKFrameInfo to the WKScriptMessage initializer.

3:58 PM Changeset in webkit [169683] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cococa] WKWindowFeatures.h is missing from WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=133622

Reviewed by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj: Promoted WKWindowFeatures.h to Public.
12:28 PM Changeset in webkit [169682] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

<rdar://problem/17208234> [Mac] Client-certificate authentication isn’t working when using the modern API
https://bugs.webkit.org/show_bug.cgi?id=133617

Reviewed by Sam Weinig.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Credential>::encode): Encode certificate credentials on Mac as well.
(IPC::ArgumentCoder<Credential>::decode): Decode certificate credentials on Mac as well.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::encode): Use OS X API for getting a persistent reference to a key.
(IPC::decode): Use OS X API for getting a key from a persistent reference.

  • Shared/cf/ArgumentCodersCF.h: Make identity coding available on Mac as well.

Jun 7, 2014:

4:25 PM Changeset in webkit [169681] by dino@apple.com
  • 5 edits in trunk/Source/WebCore

Regression r168397 - Form layout is incorrect on OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=133612
<rdar://problem/16850492>
<rdar://problem/17016914>

Reviewed by Anders Carlson.

Revision 168397 introduced a new animated style of form controls. Part of
it included extending the margins for the controls to take into account the
focus ring that animates in from a large radius to a small radius. This
caused two problems:

  • the incorrect margins broke many layouts
  • despite increased margins, there were still some areas that did not repaint correctly.

Restore the old margins and (temporarily) turn off focus ring animation.
Bad layout is much worse than a missing animation. Another benefit
of this is that we will use less memory.

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::drawFocusRingToContextAtTime): Pass in a time far far far in the future to
get the static rendering.

  • platform/mac/ThemeMac.mm:

(WebCore::checkboxMargins): Restore correct margins.
(WebCore::radioMargins): Ditto.
(WebCore::drawCellFocusRing): New method that calls WKSI with a future time.
(WebCore::paintToggleButton): Call the new wrapper.
(WebCore::buttonMargins): Restore correct margins.
(WebCore::paintButton): Call the new wrapper.

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuList): Use a future time.
(WebCore::RenderThemeMac::platformFocusRingMaxWidth): Deleted. Use old outline value.

1:32 PM Changeset in webkit [169680] by andersca@apple.com
  • 3 edits
    2 deletes in trunk/Source/WebKit2

Get rid of _WKScriptWorld
https://bugs.webkit.org/show_bug.cgi?id=133610

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WebKitPrivate.h:
  • UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
  • UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
1:17 PM Changeset in webkit [169679] by andersca@apple.com
  • 16 edits in trunk/Source

HTTPHeaderMap should not derive from HashMap
https://bugs.webkit.org/show_bug.cgi?id=133392

Reviewed by Darin Adler.

Source/WebCore:
Use a HashMap member variable instead.

  • WebCore.exp.in:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::copyData):
(WebCore::HTTPHeaderMap::adopt):
(WebCore::HTTPHeaderMap::get):
(WebCore::HTTPHeaderMap::set):
(WebCore::HTTPHeaderMap::add):
(WebCore::HTTPHeaderMap::contains):
(WebCore::HTTPHeaderMap::find):
(WebCore::HTTPHeaderMap::remove):
(WebCore::HTTPHeaderMap::keys):

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::isEmpty):
(WebCore::HTTPHeaderMap::size):
(WebCore::HTTPHeaderMap::clear):
(WebCore::HTTPHeaderMap::begin):
(WebCore::HTTPHeaderMap::end):
(WebCore::HTTPHeaderMap::operator==):
(WebCore::HTTPHeaderMap::operator!=):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::adopt):

  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::adopt):

  • platform/network/ResourceResponseBase.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode):
(IPC::ArgumentCoder<HTTPHeaderMap>::decode):

12:56 PM Changeset in webkit [169678] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.39.1/Source/WebKit2

Merged r169672.

12:51 PM Changeset in webkit [169677] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.39.1/Source

Versioning.

12:49 PM Changeset in webkit [169676] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.39.1

New tag.

6:29 AM Changeset in webkit [169675] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Use C++11 lambdas to construct FileThread::Task objects
https://bugs.webkit.org/show_bug.cgi?id=133079

Reviewed by Darin Adler.

Have FileThread::Task constructor take in a std::function<void ()>-like object
as the second parameter. Much like with ScriptExecutionContext::Task, the idea here
is to use inlined C++11 lambdas in FileThread::postTask() calls. Because FileThread::Task
also requires an instance pointer, a brace-init list is passed to these calls, passing
in the instance pointer as the first parameter and the C++11 lambda as the second.

FileThread::postTask() now takes in a FileThread::Task rvalue and moves it onto the heap
and into the queue.

In AsyncFileStream.cpp, calls to FileThread::postTask() are updated to use C++11 lambdas.
Uses of MainThreadTask are also replaced by C++11 lambdas. This modernizes the code and
removes a lot of helper functions.

FileThread::Task doesn't use CrossThreadCopier anymore. Instead, we manually produce
thread-safe copies as necessary. At the moment this approach produces another copy when
passing the freshly-copied object into the lambda, but this will be avoidable once we
make C++14 and the lambda capture expression support mandatory.

  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::create):
(WebCore::AsyncFileStream::stop):
(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):
(WebCore::AsyncFileStream::close):
(WebCore::AsyncFileStream::read):
(WebCore::AsyncFileStream::write):
(WebCore::AsyncFileStream::truncate):
(WebCore::didStart): Deleted.
(WebCore::AsyncFileStream::startOnFileThread): Deleted.
(WebCore::derefProxyOnMainThread): Deleted.
(WebCore::AsyncFileStream::stopOnFileThread): Deleted.
(WebCore::didGetSize): Deleted.
(WebCore::AsyncFileStream::getSizeOnFileThread): Deleted.
(WebCore::didOpen): Deleted.
(WebCore::AsyncFileStream::openForReadOnFileThread): Deleted.
(WebCore::AsyncFileStream::openForWriteOnFileThread): Deleted.
(WebCore::AsyncFileStream::closeOnFileThread): Deleted.
(WebCore::didRead): Deleted.
(WebCore::AsyncFileStream::readOnFileThread): Deleted.
(WebCore::didWrite): Deleted.
(WebCore::AsyncFileStream::writeOnFileThread): Deleted.
(WebCore::didTruncate): Deleted.
(WebCore::AsyncFileStream::truncateOnFileThread): Deleted.

  • fileapi/AsyncFileStream.h:
  • fileapi/FileThread.cpp:

(WebCore::FileThread::postTask):

  • fileapi/FileThread.h:

(WebCore::FileThread::Task::Task):

6:10 AM Changeset in webkit [169674] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Pass C++11 lambdas to callOnMainThread() calls in IconDatabase
https://bugs.webkit.org/show_bug.cgi?id=133374

Reviewed by Darin Adler.

Use C++11 lambads to inline the main thread tasks into the calling code,
modernizing the look of the code and removing a few static methods and
classes that were used as helpers.

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::scheduleOrDeferSyncTimer):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread):
(WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread):
(WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread):
(WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread):
(WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread): Deleted.
(WebCore::IconDatabase::performScheduleOrDeferSyncTimer): Deleted.
(WebCore::IconDatabase::performScheduleOrDeferSyncTimerOnMainThread): Deleted.
(WebCore::ClientWorkItem::ClientWorkItem): Deleted.
(WebCore::ClientWorkItem::~ClientWorkItem): Deleted.
(WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem): Deleted.
(WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem): Deleted.
(WebCore::ImportedIconURLForPageURLWorkItem::performWork): Deleted.
(WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem): Deleted.
(WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem): Deleted.
(WebCore::ImportedIconDataForPageURLWorkItem::performWork): Deleted.
(WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem): Deleted.
(WebCore::RemovedAllIconsWorkItem::performWork): Deleted.
(WebCore::FinishedURLImport::FinishedURLImport): Deleted.
(WebCore::FinishedURLImport::performWork): Deleted.
(WebCore::performWorkItem): Deleted.

  • loader/icon/IconDatabase.h:
6:06 AM Changeset in webkit [169673] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

Replace uses of CrossThreadTask in DefaultSharedWorkerRepository, WorkerMessagingProxy with C++11 lambdas
https://bugs.webkit.org/show_bug.cgi?id=133375

Reviewed by Darin Adler.

Uses of CrossThreadTask in the two classes are replaced with C++11 lambdas.
The necessary cross-thread copies are created manually and passed into the
lambdas by value, removing the need for CrossThreadTask and its use of CrossThreadCopier.

Remove the explicit use of this pointer in some lambdas -- it is captured automatically when
capturing by value, so enforcing its capturing through explicit use is not necessary.

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
(WebCore::postExceptionTask): Deleted.
(WebCore::postConsoleMessageTask): Deleted.

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
(WebCore::postConsoleMessageTask): Deleted.
(WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal): Deleted.
(WebCore::connectToWorkerGlobalScopeInspectorTask): Deleted.
(WebCore::disconnectFromWorkerGlobalScopeInspectorTask): Deleted.
(WebCore::dispatchOnInspectorBackendTask): Deleted.

  • workers/WorkerMessagingProxy.h:
2:21 AM Changeset in webkit [169672] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Fix a path used for sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=133602
<rdar://problem/17212011>

Reviewed by David Kilzer.

  • WebKit2.xcodeproj/project.pbxproj:
1:10 AM Changeset in webkit [169671] by fred.wang@free.fr
  • 2 edits
    4 adds in trunk/LayoutTests

Add tests for dynamic changes in msqrt/mroot
https://bugs.webkit.org/show_bug.cgi?id=133557

Reviewed by Chris Fleizach.

This patch adds some tests to verify that a MathML msqrt/mroot element to which we applied dynamic additions and removals of children renders the same as its static equivalent and that no crashes happen.
Unfortunately, the existing code does not handle them very well so they are skipped until we do the refactoring of bug 119038.

  • TestExpectations: skip the tests.
  • mathml/roots-addChild-expected.html: Added.
  • mathml/roots-addChild.html: Added.
  • mathml/roots-removeChild-expected.html: Added.
  • mathml/roots-removeChild.html: Added.

Jun 6, 2014:

6:29 PM Changeset in webkit [169670] by gyuyoung.kim@samsung.com
  • 9 edits in trunk

Scheme of content utils should be compared in an ASCII case-insensitive manner
https://bugs.webkit.org/show_bug.cgi?id=133502

Reviewed by Darin Adler.

Source/WebCore:
According to spec, scheme must be compared in an ASCII case-insensitive manner by user agents.

Covered by existing tests.

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::isProtocolWhitelisted):

LayoutTests:
Tests are updated to compare protocol in ASCII case-insensitive manner.

  • fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
  • fast/dom/NavigatorContentUtils/register-protocol-handler.html:
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler.html:
  • platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
  • platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
5:30 PM Changeset in webkit [169669] by enrica@apple.com
  • 7 edits in trunk/Source/WebKit2

REGRESSION (iOS WebKit2): backspace key does not repeat beyond a single word.
https://bugs.webkit.org/show_bug.cgi?id=133593
<rdar://problem/16352228>

Reviewed by Benjamin Poulain.

We need to provide a way for the keyboard layer to select from
the current position to the beginning of the word moving backwards
and implement the method to know when we have reached the beginning of the document.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView selectWordBackward]):
(-[WKContentView _selectionAtDocumentStart]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::selectWordBackward):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWordBackward):

4:56 PM Changeset in webkit [169668] by akling@apple.com
  • 11 edits in trunk/Source

Indexed getters should return values directly on the PropertySlot.
<https://webkit.org/b/133586>

Source/JavaScriptCore:
Remove PropertySlot's custom index mode.

Reviewed by Darin Adler.

  • runtime/JSObject.h:

(JSC::PropertySlot::getValue):

  • runtime/PropertySlot.h:

(JSC::PropertySlot::setCustomIndex): Deleted.

Source/WebCore:
Make indexed getters more efficient by using PropertySlot::setValue()
to pass the value directly back through the slot, instead of giving it
a function pointer that JSC would then immediately call back through
to retrieve the value.

The function pointer approach would make sense if we did inline caching
of indexed getters but since we currently don't, this is pure overhead.

Reviewed by Darin Adler.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback): Deleted.
(WebCore::cssPropertyGetterCallback): Deleted.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::indexGetter): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateHeader):
(GetIndexedGetterExpression):
(GenerateImplementation):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
(JSC::RuntimeArray::indexGetter): Deleted.

  • bridge/runtime_array.h:
4:32 PM Changeset in webkit [169667] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.39/Source/WebCore

Merge r169665. <rdar://problem/15840022>

4:18 PM Changeset in webkit [169666] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

GenericCueData elements prematurely removed
https://bugs.webkit.org/show_bug.cgi?id=133588

Reviewed by Eric Carlson.

Add a 'removeCompletedCues' method instead of using the 'resetCueValues' method
after processing new cues. We do not want to reset cue state if we have pending
cues that are being extended by future updates (such as paint-on cues).

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue): Call new 'removeCompletedCues' method.
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Added.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
4:07 PM Changeset in webkit [169665] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Initialize a char* that needs to be initialized.
<rdar://problem/15840022> and https://bugs.webkit.org/show_bug.cgi?id=133585

Reviewed by Mark Rowe.

r152134 (erroneously) removed this initialization.

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare): tail should start out initialized to 0.

3:06 PM Changeset in webkit [169664] by enrica@apple.com
  • 8 edits in trunk/Source/WebKit2

Adopt the new UIAlertController API to replace UIActionSheet.
https://bugs.webkit.org/show_bug.cgi?id=133582
<rdar://problem/16845223>

Reviewed by Joseph Pecoraro.

UIActionSheet is deprecated. We need to move out action sheets
implementation to UIAlertView.

  • UIProcess/API/Cocoa/_WKElementAction.h:
  • UIProcess/API/Cocoa/_WKElementAction.mm:
  • UIProcess/ios/WKActionSheet.h:
  • UIProcess/ios/WKActionSheet.mm:

(-[WKActionSheet presentSheetFromRect:]):
(-[WKActionSheet doneWithSheet]):
(-[WKActionSheet willRotate]):
(-[WKActionSheet updateSheetPosition]):
(-[WKActionSheet _didRotateAndLayout]):
(-[WKActionSheet didRotate]):

  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant cleanupSheet]):
(-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]): Deleted.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _longPressRecognized:]):

2:43 PM Changeset in webkit [169663] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

Should boost ChildProcesses on iOS
https://bugs.webkit.org/show_bug.cgi?id=133583

Reviewed by Sam Weinig.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):

  • boost all child processes on iOS.
2:08 PM Changeset in webkit [169662] by Simon Fraser
  • 2 edits in trunk/Tools

32-bit build fix.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

2:07 PM Changeset in webkit [169661] by matthew_hanson@apple.com
  • 7 edits in tags/Safari-538.39/Source

Rollout r169656. <rdar://problem/17095692>

2:04 PM Changeset in webkit [169660] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Support pasting HTML
https://bugs.webkit.org/show_bug.cgi?id=133581
<rdar://problem/17070305>

Reviewed by Enrica Casucci.

We can probably share a lot of code between Mac and iOS here, but for now, just
implement the unimplemented functions.

  • editing/ios/EditorIOS.mm: (WebCore::Editor::WebContentReader::readHTML):

Implemented based on WebArchive reading code above, and on Mac version of readHTML.
Unlike on Mac, we don't need to support Microsoft CF_HTML format, as nothing
generates it.

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::read):
(WebCore::Pasteboard::supportedPasteboardTypes):
Added HTML support, as the second preferred format after WebArchive.

1:59 PM Changeset in webkit [169659] by Simon Fraser
  • 4 edits in trunk/Tools

Fix builds on 10.8; -firstObject isn't declared on NSArray there.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow):

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

1:34 PM Changeset in webkit [169658] by ap@apple.com
  • 5 edits in trunk/Source/WebKit2

Build fix after <http://trac.webkit.org/changeset/169655>.

The SPIs used do not exist on Mac, limit the code to iOS.

  • Shared/Authentication/mac/AuthenticationManager.mac.mm:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Credential>::encode):
(IPC::ArgumentCoder<Credential>::decode):

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::typeFromCFTypeRef):
(IPC::encode):
(IPC::decode):

  • Shared/cf/ArgumentCodersCF.h:
1:07 PM Changeset in webkit [169657] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build after http://trac.webkit.org/changeset/169655

Unfortunately, the fix is very fragile, and will likely not work for some SDKs
or possibly local headers - all OS versions have multiple SecBase.h headers with
different definitions for SecIdentityRef.

We'll see.

  • WebCore.exp.in:
12:57 PM Changeset in webkit [169656] by matthew_hanson@apple.com
  • 7 edits in tags/Safari-538.39/Source

Merge r169655. <rdar://problem/17095692>

12:04 PM Changeset in webkit [169655] by mitz@apple.com
  • 7 edits in trunk/Source

Source/WebCore: WebCore part of <rdar://problem/17095692> [iOS] Client-certificate authentication isn’t working
https://bugs.webkit.org/show_bug.cgi?id=133527

Reviewed by Darin Adler.

  • WebCore.exp.in: Exported some Credential member functions.

Source/WebKit2: <rdar://problem/17095692> [iOS] Client-certificate authentication isn’t working
https://bugs.webkit.org/show_bug.cgi?id=133527

Reviewed by Darin Adler.

  • Configurations/Network-iOS.entitlements: Enabled the Network process to access the keys

needed to create identities to authenticate with.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Credential>::encode): Encode the credential type, and if it is a client
certificate, encode the identity and the certificates.
(IPC::ArgumentCoder<Credential>::decode): Decode the credential type. If it is a client
certificate, decode the identity and the certificates and use the proper Credential
constructor.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::typeFromCFTypeRef): Handle SecIdentityRef.
(IPC::encode): Encode an identity by encoding its certificate and a persistent reference to
its key.
(IPC::decode): Decode a certificate and a persistent reference to a key, find the key, and
create an identity.

  • Shared/cf/ArgumentCodersCF.h:
11:37 AM Changeset in webkit [169654] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS WebGL] Float texture extension has a slightly different name
https://bugs.webkit.org/show_bug.cgi?id=133580
<rdar://problem/17113451>

Reviewed by Brady Eidson.

Floating point textures were not available on iOS, because we were
looking for the wrong extension.

Covered by the Khronos test (and in LayoutTests):
conformance/extensions/oes-texture-float.html

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension): Look for GL_OES_texture_float
as well as GL_ARB_texture_float.

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::texImage2D): Increase the set of things skipped
on PLATFORM(IOS) since they are supported natively there.

11:00 AM Changeset in webkit [169653] by matthew_hanson@apple.com
  • 5 edits in trunk/Source

Versioning.

10:59 AM Changeset in webkit [169652] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.39/Source/WebCore

Add UNUSED_PARAM when GRID is off.

10:57 AM Changeset in webkit [169651] by hyatt@apple.com
  • 7 edits in trunk

REGRESSION: Hit testing of composited elements is broken in new multicolumn layout.
https://bugs.webkit.org/show_bug.cgi?id=133522 (<rdar://problem/17060556>)

Reviewed by Simon Fraser.

Source/WebCore:
Hit testing for the new columns doesn't care about compositing but does still
need a pagination layer set to work. The old column code didn't care about this
because it was top down (and wrong). The new code lets each layer paint and hit
test its own fragments, so having a pagination layer set suddenly becomes relevant
for composited layers.

The solution is to cache whether or not the pagination layer crosses a compositing
boundary, and then to force call sites of enclosingPaginationLayer to pass an argument
indicating whether compositing layers should be included. Typically painting wants to
exclude them but hit testing wants to include them.

  • page/FrameView.cpp:

(WebCore::updateLayerPositionFlags):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

LayoutTests:

  • compositing/columns/hittest-composited-in-paginated-expected.txt:
10:41 AM Changeset in webkit [169650] by Simon Fraser
  • 18 edits in trunk

Latched scrolling tests are flakey on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=133578
<rdar://problem/17180591>

Reviewed by Brent Fulgham.

Tools:
The latched scrolling tests rely on synthetic mousewheel events whose coordinates can
be wrong on machines with more than one screen. This is because we use
[NSScreen mainScreen] when computing the global coordinates of the events, but
[NSScreen mainScreen] returns the screen with the key window, not the first screen.

So replace calls to [NSScreen mainScreen] with [[NSScreen screens] firstObject]. Also
add comments clarifying why the coordinate math works (which is not obvious given
the events have no target window).

Some scrolling tests also dispatched events outside the 800x600 test window, so
fix those tests, and add logging that will appear in test output when this happens.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow):

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

LayoutTests:
Fix these tests to not dispatch events outside the window, and correct some of the wording
in the tests.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:
9:54 AM Changeset in webkit [169649] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Run passing WebGL tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=133563

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-06
Reviewed by Brent Fulgham.

  • platform/win/TestExpectations:

Replaced all WebGL tests with lists of failing and crashing tests to fix.

9:33 AM Changeset in webkit [169648] by commit-queue@webkit.org
  • 7 edits in trunk

[MediaStream] 'get' prefix is missing for capabilities and constraints.
https://bugs.webkit.org/show_bug.cgi?id=133573

Patch by Kiran <kiran.guduru@samsung.com> on 2014-06-06
Reviewed by Eric Carlson.

Source/WebCore:
Modified the existing MediaStreamTrack.html to test the changes.

As per the Media Capture and Streams spec method names constreaints and
capabilities should be prefixed by 'get'. So updated the method names.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::getConstraints):
(WebCore::MediaStreamTrack::getCapabilities):
(WebCore::MediaStreamTrack::constraints): Deleted.
(WebCore::MediaStreamTrack::capabilities): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrack.idl:

LayoutTests:

  • fast/mediastream/MediaStreamTrack-expected.txt:
  • fast/mediastream/MediaStreamTrack.html:
9:20 AM Changeset in webkit [169647] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

REGRESSION(169440): Repro crash when playing a video with captions
https://bugs.webkit.org/show_bug.cgi?id=133459
<rdar://problem/17079081>

Reviewed by Eric Carlson.

The change I made in r169440 introduced a crash for paint-on captions. This
resolves the problem as follows:

  1. No longer attempt to modify the start/endTime in the TextTrack implementation.
  2. Check for extensions to existing cues when we are about to add new arriving cues. If they extend a current pending cue, don't set an end-time for the pending cue, and throw away the new duplicate. Otherwise set the end time as previously and continue.
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::hasCue): Remove 'doesExtendCue' case since this is
no longer possible.

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::GenericCueData::doesExtendCueData): Added.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue): Check for cues extending
other cues and handle appropriately.

9:19 AM Changeset in webkit [169646] by mario.prada@samsung.com
  • 4 edits
    1 copy in trunk/LayoutTests

[GTK] Layout Test accessibility/table-fallback-roles-expose-element-attributes.html is failing
https://bugs.webkit.org/show_bug.cgi?id=133519

Reviewed by Chris Fleizach.

Adapted test to play nicely with the different types of
accessibility hierarchies exposed for Mac and ATK.

  • accessibility/table-fallback-roles-expose-element-attributes.html:

Updated text to print information of cells from every platform but
only print information of their children in the Mac.

  • accessibility/table-fallback-roles-expose-element-attributes-expected.txt:

Updated expectation to match ATK platforms (GTK & EFL).

  • platform/mac/accessibility/table-fallback-roles-expose-element-attributes-expected.txt:

Copied from LayoutTests/accessibility/table-fallback-roles-expose-element-attributes-expected.txt.

  • platform/gtk/TestExpectations: Removed expected failure.
8:49 AM Changeset in webkit [169645] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

ROLLOUT: r169630: Caused a retain cycle.
https://bugs.webkit.org/show_bug.cgi?id=133463
<rdar://problem/17098100>

Rolling out this change as it introduced a retain cycle.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::setControllerJSObject): Deleted.

  • Modules/mediacontrols/MediaControlsHost.h:

(WebCore::MediaControlsHost::controllerJSValue):
(WebCore::MediaControlsHost::setControllerJSValue):
(WebCore::MediaControlsHost::controllerJSObject): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

12:37 AM Changeset in webkit [169644] by fred.wang@free.fr
  • 1 edit
    7 adds in trunk/LayoutTests

Add test references for horizontal stretchy operators.
https://bugs.webkit.org/show_bug.cgi?id=72828

Unreviewed Win and EFL gardening.

  • platform/efl/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
  • platform/efl/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
  • platform/efl/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
  • platform/win/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
  • platform/win/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
  • platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
12:26 AM Changeset in webkit [169643] by fred.wang@free.fr
  • 1 edit
    3 adds in trunk/LayoutTests

Add test references for horizontal stretchy operators.
https://bugs.webkit.org/show_bug.cgi?id=72828

Unreviewed Mac gardening.

  • platform/mac/mathml/horizontal-LatinModern-expected.txt: Added.
  • platform/mac/mathml/horizontal-LatinModern-munderover-expected.txt: Added.
  • platform/mac/mathml/opentype-stretchy-horizontal-expected.txt: Added.
12:19 AM Changeset in webkit [169642] by matthew_hanson@apple.com
  • 8 edits in tags/Safari-538.39/Source

Custom patch for <rdar://problem/16650338>.

12:08 AM Changeset in webkit [169641] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.2

Merge r154727 - [Soup] WebTiming information not shown in the inspector
https://bugs.webkit.org/show_bug.cgi?id=118395

Reviewed by Martin Robinson.

Source/WebCore:

WebTiming information was not correctly provided to WebCore
because the gotHeadersCallback was incorrectly resetting the
original ResourceResponse (which had the ResourceLoadTiming
object) instead of simply updating their contents using the
SoupMessage.

No new test required as this feature is already covered by the
existing webtiming tests. In any case this change includes a fix
for the http/tests/misc/webtiming-ssl.php test which was not
failing even if it should because it was not correct.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::gotHeadersCallback):
(WebCore::restartedCallback): restartedCallback should be
available only if WEB_TIMING is defined.
(WebCore::createSoupMessageForHandleAndRequest): Ditto.

LayoutTests:

Fixed the webiming-ssl.php test that was incorrectly considering a
FAIL as the expected result. It was probably just a legacy
decision which came from the times where DRT was responsible of
reporting WebTiming information.

Also added a new test that fails due to wkb.ug/103927. It was not
detected before because there were no timing information in the
response.

  • http/tests/misc/resources/webtiming-ssl.html:
  • http/tests/misc/webtiming-ssl-expected.txt:
  • platform/gtk/TestExpectations: added

http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_attribute_order.html.

Note: See TracTimeline for information about the timeline view.