Timeline



Feb 16, 2014:

10:47 PM Changeset in webkit [164208] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, 32-bit build fix.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::lshiftPtr):

10:35 PM Changeset in webkit [164207] by fpizlo@apple.com
  • 40 edits
    9 adds in trunk

FTL should inline polymorphic heap accesses
https://bugs.webkit.org/show_bug.cgi?id=128795

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

We now inline GetByIds that we know are pure but polymorphic. They manifest in DFG IR
as MultiGetByOffset, and in LLVM IR as a switch with a basic block for each kind of
read.

2% speed-up on Octane mostly due to a 18% speed-up on deltablue.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/ExitingJITType.cpp: Added.

(WTF::printInternal):

  • bytecode/ExitingJITType.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::dump):

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::numVariants):
(JSC::GetByIdStatus::variants):
(JSC::GetByIdStatus::at):
(JSC::GetByIdStatus::operator[]):

  • bytecode/GetByIdVariant.cpp: Added.

(JSC::GetByIdVariant::dump):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h: Added.

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::isSet):
(JSC::GetByIdVariant::operator!):
(JSC::GetByIdVariant::structureSet):
(JSC::GetByIdVariant::chain):
(JSC::GetByIdVariant::specificValue):
(JSC::GetByIdVariant::offset):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:

(JSC::DFG::verboseCompilationEnabled):
(JSC::DFG::logCompilationChanges):
(JSC::DFG::shouldShowDisassembly):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::convertToConstant):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasMultiGetByOffsetData):
(JSC::DFG::Node::multiGetByOffsetData):

  • dfg/DFGNodeType.h:
  • dfg/DFGPhase.h:

(JSC::DFG::Phase::graph):
(JSC::DFG::runAndLog):

  • dfg/DFGPlan.cpp:

(JSC::DFG::dumpAndVerifyGraph):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):

  • ftl/FTLState.h:

(JSC::FTL::verboseCompilationEnabled):
(JSC::FTL::showDisassembly):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionEffectful42):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::dump):
(JSC::IntendedStructureChain::dumpInContext):

  • runtime/IntendedStructureChain.h:
  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/Options.h:
  • tests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js: Added.

(foo):
(bar):

  • tests/stress/fold-multi-get-by-offset-to-get-by-offset.js: Added.

(foo):
(bar):

  • tests/stress/multi-get-by-offset-proto-and-self.js: Added.

(foo):
(Foo):

Source/WTF:

Reviewed by Oliver Hunt.

  • wtf/PrintStream.h:

(WTF::PointerDumpInContext::PointerDumpInContext):
(WTF::PointerDumpInContext::dump):
(WTF::pointerDumpInContext):

LayoutTests:

Reviewed by Oliver Hunt.

  • js/regress/polymorphic-get-by-id-expected.txt: Added.
  • js/regress/polymorphic-get-by-id.html: Added.
  • js/regress/script-tests/polymorphic-get-by-id.js: Added.

(foo):

10:26 PM Changeset in webkit [164206] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, add a useful comment for this test.

  • js/regress/script-tests/marsaglia-osr-entry.js:
10:25 PM Changeset in webkit [164205] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

DFG::prepareOSREntry should be nice to the stack
https://bugs.webkit.org/show_bug.cgi?id=128883

Reviewed by Oliver Hunt.

Previously OSR entry had some FIXME's and some really badly commented-out code for
clearing stack entries to help GC. It also did some permutations on a stack frame
above us, in such a way that it wasn't obviously that we wouldn't clobber our own
stack frame. This function also crashed in ASan.

It just seems like there was too much badness to the whole idea of prepareOSREntry
directly editing the stack. So, I changed it to create a stack frame in a scratch
buffer on the side and then have some assembly code just copy it into place. This
works fine, fixes a FIXME, possibly fixes some stack clobbering, and might help us
make more progress with ASan.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSREntry.h:
  • dfg/DFGThunks.cpp:

(JSC::DFG::osrEntryThunkGenerator):

  • dfg/DFGThunks.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOperations.cpp:
7:52 PM Changeset in webkit [164204] by akling@apple.com
  • 3 edits
    2 adds in trunk

Ensure that removing an iframe from the DOM tree disconnects its Frame.
<https://webkit.org/b/128889>
<rdar://problem/15671221>

Merged from Blink (patch by Adam Klein):
https://src.chromium.org/viewvc/blink?revision=156174&view=revision

Source/WebCore:

SubframeLoadingDisabler wasn't catching the case when an <iframe> was,
in its unload handler, removed and re-added to the same parent.
Fix this by using a count of SubframeLoadingDisablers that are on the
stack for a given root, rather than a simple boolean.

Test: fast/frames/reattach-in-unload.html

  • html/HTMLFrameOwnerElement.h:

(WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):

LayoutTests:

  • fast/frames/reattach-in-unload-expected.txt: Added.
  • fast/frames/reattach-in-unload.html: Added.
7:19 PM Changeset in webkit [164203] by benjamin@webkit.org
  • 3 edits
    4 adds in trunk

When applying style, attribute value matching should be case sensitive for SVG
https://bugs.webkit.org/show_bug.cgi?id=128882

Reviewed by Andreas Kling.

Source/WebCore:

SelectorChecker was incorrectly matching attribute values with a case insensitve comparison
in some cases.

The choice to use case sensitive matching was taking into account the document type but not
the element type. As a result, SVG (and likely MHTML) elements were incorrectly being tested
as if they were HTML element.

With the patch, WebKit also matches the behavior of Firefox, which is great.

Tests: fast/css/case-insensitive-attribute-with-svg.html

fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

LayoutTests:

  • fast/css/case-insensitive-attribute-with-svg-expected.html: Added.
  • fast/css/case-insensitive-attribute-with-svg.html: Added.
  • fast/selectors/querySelector-case-insensitive-attribute-match-with-svg-expected.txt: Added.
  • fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html: Added.
7:14 PM Changeset in webkit [164202] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Split compilation state between querySelector and CSS matching
https://bugs.webkit.org/show_bug.cgi?id=128869

Reviewed by Antti Koivisto.

Cleanup after recent changes:
-SelectorCompiler now has a SelectorContext defining if the code is compiled for QuerySelector

or for ElementRuleCollector.

-Generalize m_selectorCannotMatchAnything by making it part of the FunctionType. FunctionType now

fully represent the type of code generation and we don't rely implicitly on m_selectorFragments being
empty.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::compileSelector):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
There is no tree marking for QuerySelector, so we can generate a simple selector
for the sibling selectors.

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
The code is split to make it simpler. The classic code generation has been moved
to generateSelectorChecker().
The decision on what to generate is reduced to a simple switch-case.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
The code that was previously in compile().

(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
We should not generate tree marking on querySelector traversal. Since the constructor
now generate a SimpleChecker, it would also be incorrect to attempt to access the checkingContext
on the stack.
We can just skip the marking entierly.

  • cssjit/SelectorCompiler.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):
With the changes of SelectorContext, we can no longer generate a complex checker for querySelector.
This code may come back in the future but at the moment it is useless.

7:11 PM Changeset in webkit [164201] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

The FTP view is squished to the left
https://bugs.webkit.org/show_bug.cgi?id=128856

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

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

5:48 PM Changeset in webkit [164200] by jae.park@company100.net
  • 2 edits in trunk/Source/WebCore

[Coordinated Graphics] Make AreaAllocator fast allocated
https://bugs.webkit.org/show_bug.cgi?id=124995

Reviewed by Anders Carlsson.

AreaAllocator can be created and destroyed frequently (at least once per
frame) in case of animation with changing width or height. So, it's
better to make AreaAllocator fast allocated.

  • platform/graphics/texmap/coordinated/AreaAllocator.h:
4:50 PM Changeset in webkit [164199] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] WebKit crashes if text is copied to pasteboard with style containing text-shadow
https://bugs.webkit.org/show_bug.cgi?id=128888
<rdar://problem/16065699>

Reviewed by Anders Carlsson.

Use the correct class on iOS so that we don't crash.

  • platform/mac/HTMLConverter.mm:

(_shadowForShadowStyle):

2:59 PM Changeset in webkit [164198] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Atomicize frequently identical ResourceResponse string members.
<https://webkit.org/b/128887>

Store the mime type, text encoding and HTTP response status text in
AtomicStrings instead of Strings to deduplicate frequently occurring
values (e.g "text/html", "utf-8" and "OK".)

Reviewed by Geoffrey Garen.

  • platform/network/ResourceResponseBase.h:
  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::cfURLResponse):
(WebCore::ResourceResponse::platformLazyInit):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformLazyInit):

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

Speculative iOS build fix.

  • WebProcess/WebPage/mac/PageBannerMac.mm:
2:43 PM Changeset in webkit [164196] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative iOS build fix.

  • dom/Document.cpp:

(WebCore::Document::Document):

2:18 PM Changeset in webkit [164195] by Antti Koivisto
  • 15 edits in trunk/Source/WebCore

Move document life time management from TreeScope to Document
https://bugs.webkit.org/show_bug.cgi?id=128877

Reviewed by Andreas Kling.

Document life time is managed in confusing manner by TreeScopes which are also inherited to ShadowRoots.

This patches moves the life time management to Document. Nodes in shadow trees selfOnlyRef the Document instead
of the ShadowRoot. ShadowRoot is treated like any other node and selfOnlyRefs the Document as well (which it
also did earlier, indirectly).

TreeScope is devirtualized.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):

Author stylesheets never match in UA shadow trees.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::removedLastRef):

  • dom/Document.h:

(WebCore::Document::selfOnlyRef):
(WebCore::Document::selfOnlyDeref):

To avoid branches Document self-refs itself like all other Nodes. This is why deletion will now happen on ref count of 1.

(WebCore::Node::isDocumentNode):
(WebCore::Node::Node):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add):

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):

  • dom/Node.h:

(WebCore::Node::document):
(WebCore::Node::inDocument):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):

  • dom/ShadowRoot.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::setParentTreeScope):

  • dom/TreeScope.h:

(WebCore::TreeScope::documentScope):

Document can no longer ever be null.

(WebCore::TreeScope::rootNode):
(WebCore::TreeScope::setDocumentScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):

Manage Document selfOnlyRefs for nodes in shadow trees too.

(WebCore::TreeScopeAdopter::updateTreeScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

  • dom/TreeScopeAdopter.h:
2:00 PM Changeset in webkit [164194] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

setSelectionRange shouldn't directly instantiate VisibleSelection
https://bugs.webkit.org/show_bug.cgi?id=128881

Reviewed by Andreas Kling.

Added a new version of moveTo for setSelectionRange.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo): Added.

  • editing/FrameSelection.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Use the newly added FrameSelection::moveTo
instead of manually instantiating VisibleSelection here.

1:38 PM Changeset in webkit [164193] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Speculative iOS build fix.

  • WebProcess/WebPage/PageBanner.h:
12:38 PM Changeset in webkit [164192] by mitz@apple.com
  • 59 edits in trunk/Source

Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128885

Reviewed by Anders Carlsson.

Source/WebCore:

  • loader/FrameLoaderClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • platform/Cursor.h: Changed PLATFORM(MAC) to USE(APPKIT) around uses of NSCursor.
  • platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • platform/graphics/PlatformLayer.h: Ditto.
  • platform/graphics/cg/PDFDocumentImage.cpp: Ditto.
  • rendering/RenderLayerCompositor.cpp: Ditto.

(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Source/WebKit2:

  • Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm

from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with
!PLATFORM(IOS).

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to

PLATFORM(COCOA).
(WKBundleFrameCopyWebArchiveFilteringSubframes):

  • WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS).
  • WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):

  • WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION)

around use of NSBundle.

  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA).
(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):

  • WebProcess/Network/WebResourceLoader.cpp: Ditto.

(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto.

(WebKit::NPN_GetValue):
(WebKit::NPN_SetValue):
(WebKit::initializeBrowserFuncs):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto.

(WebKit::NetscapePlugin::NetscapePlugin):
(WebKit::NetscapePlugin::supportsSnapshotting):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto.
  • WebProcess/Plugins/Plugin.cpp: Ditto.

(WebKit::Plugin::Parameters::encode):
(WebKit::Plugin::Parameters::decode):

  • WebProcess/Plugins/Plugin.h: Ditto.
  • WebProcess/Plugins/PluginController.h: Ditto.
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to

USE(DARWIN) around use of Mach-based IPC.
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):

  • WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA).
  • WebProcess/Plugins/PluginProxy.h: Ditto.
  • WebProcess/Plugins/PluginProxy.messages.in: Ditto.
  • WebProcess/Plugins/PluginView.cpp: Ditto.

(WebKit::PluginView::destroyPluginAndReset):
(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::didInitializePlugin):
(WebKit::PluginView::invalidateRect):
(WebKit::PluginView::pluginSnapshotTimerFired):

  • WebProcess/Plugins/PluginView.h: Ditto.
  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.

(WebKit::WebChromeClient::windowRect):

  • WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebDragClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.

(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):

  • WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebKit::WebFrameLoaderClient::createPlugin):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC).

(InitWebCoreSystemInterface):

  • WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::DrawingArea::create):

  • WebProcess/WebPage/DrawingArea.h: Ditto.
  • WebProcess/WebPage/DrawingArea.messages.in: Ditto.
  • WebProcess/WebPage/EventDispatcher.cpp: Ditto.

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/LayerTreeHost.h: Ditto.
  • WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS)
  • WebProcess/WebPage/PageBanner.h: Ditto.
  • WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • WebProcess/WebPage/WebFrame.h: Ditto.
  • WebProcess/WebPage/WebInspector.cpp: Ditto.

(WebKit::WebInspector::WebInspector):

  • WebProcess/WebPage/WebInspector.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp: Ditto.

(WebKit::WebPage::WebPage):
(WebKit::isContextClick):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::sendSetWindowFrame):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::computePagesForPrinting):

  • WebProcess/WebPage/WebPage.h: Ditto.
  • WebProcess/WebPage/WebPage.messages.in: Ditto.
  • WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS).
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::WebProcess::initializeWebProcess): Ditto.
(WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN).
(WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto.
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to
PLATFORM(COCOA)

  • WebProcess/WebProcess.h: Ditto.
  • WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

9:41 AM Changeset in webkit [164191] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative iOS build fix after r164184.

  • dom/Node.cpp:

(WebCore::Node::defaultEventHandler):

1:11 AM Changeset in webkit [164190] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
https://bugs.webkit.org/show_bug.cgi?id=126875

The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
qualifier on the return type, regardless of the Iterator type and its qualifiers.

  • wtf/IteratorAdaptors.h:

(WTF::FilterIterator::operator*):
(WTF::TransformIterator::operator*):

Feb 15, 2014:

9:07 PM Changeset in webkit [164189] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Build break when disabled ACCESSIBILITY since r162986
https://bugs.webkit.org/show_bug.cgi?id=128880

Unreviewed build fix.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

Added dummy implementations for newly added methods.
(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):

7:33 PM Changeset in webkit [164188] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

DOMSelection shouldn't instantiate VisibleSelection everywhere
https://bugs.webkit.org/show_bug.cgi?id=128879

Reviewed by Antti Koivisto.

Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::addRange):

7:11 PM Changeset in webkit [164187] by ap@apple.com
  • 4 edits
    3 deletes in trunk/Source/WebKit

[Mac] Remove WebSerializedJSValue SPI
https://bugs.webkit.org/show_bug.cgi?id=128720

Reviewed by Anders Carlsson.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Removed WebSerializedJSValue files from the project.

Source/WebKit/mac:

  • WebKit.exp:
  • WebView/WebSerializedJSValue.h: Removed.
  • WebView/WebSerializedJSValue.mm: Removed.
  • WebView/WebSerializedJSValuePrivate.h: Removed.
7:07 PM Changeset in webkit [164186] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unused arguments from moveTo(Range*)
https://bugs.webkit.org/show_bug.cgi?id=128878

Reviewed by Antti Koivisto.

Cleanup.

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo):

  • editing/FrameSelection.h:
6:54 PM Changeset in webkit [164185] by fpizlo@apple.com
  • 9 edits in trunk

Vector with inline capacity should work with non-PODs
https://bugs.webkit.org/show_bug.cgi?id=128864

Source/JavaScriptCore:

Reviewed by Michael Saboff.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

  • dfg/DFGWorklist.h:

Source/WebCore:

Reviewed by Michael Saboff.

No new tests because no change behavior.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

  • page/WheelEventDeltaTracker.h:

Source/WTF:

Reviewed by Michael Saboff.

Previously, we would copy the inline storage of a vector as if it was a bag of bits.
This presumed that the element type was relocatable. In general this is only true for
PODs.

This patch changes this by introducing a swap operation over inline storage. This swap
operation requires being told about the size that is in use.

Deques would have required some cleverness to make this work, because the swap
operation needs to know which subset of elements are in-use and assumes that a size is
sufficient for this. That's not true for deques. Instead of trying to do very clever
things, I just removed the inline capacity option from Deque. I believe that this is
fine since there are only two users of Deque with inline capacity, and both of them
appear to be allocated rarely enough that inline capacity probably doesn't help much.

  • wtf/Deque.h:

(WTF::DequeIterator::DequeIterator):
(WTF::DequeConstIterator::DequeConstIterator):
(WTF::Deque<T>::checkValidity):
(WTF::Deque<T>::checkIndexValidity):
(WTF::Deque<T>::invalidateIterators):
(WTF::Deque<T>::Deque):
(WTF::=):
(WTF::Deque<T>::destroyAll):
(WTF::Deque<T>::~Deque):
(WTF::Deque<T>::swap):
(WTF::Deque<T>::clear):
(WTF::Deque<T>::expandCapacityIfNeeded):
(WTF::Deque<T>::expandCapacity):
(WTF::Deque<T>::append):
(WTF::Deque<T>::prepend):
(WTF::Deque<T>::removeFirst):
(WTF::Deque<T>::removeLast):
(WTF::Deque<T>::remove):
(WTF::DequeIteratorBase<T>::checkValidity):
(WTF::DequeIteratorBase<T>::addToIteratorsList):
(WTF::DequeIteratorBase<T>::removeFromIteratorsList):
(WTF::DequeIteratorBase<T>::DequeIteratorBase):
(WTF::DequeIteratorBase<T>::~DequeIteratorBase):
(WTF::DequeIteratorBase<T>::isEqual):
(WTF::DequeIteratorBase<T>::increment):
(WTF::DequeIteratorBase<T>::decrement):
(WTF::DequeIteratorBase<T>::after):
(WTF::DequeIteratorBase<T>::before):

  • wtf/Vector.h:

(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::swap):

Tools:

Reviewed by Michael Saboff.

This test experiences really bizarre behavior on trunk without the rest of
this fix. On my machine, it usually times out because it gets itself into an
infinite loop of some kind. With the fix, it passes.

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

6:01 PM Changeset in webkit [164184] by akling@apple.com
  • 42 edits in trunk/Source/WebCore

Add checked casts for Event.
<https://webkit.org/b/128875>

Generate casting helpers for casting from Event to various subclasses
and go on static_cast replacement spree.

Reviewed by Sam Weinig.

4:36 PM Changeset in webkit [164183] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

HTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
https://bugs.webkit.org/show_bug.cgi?id=128870

Reviewed by Darin Adler.

Extracted HTMLTextFormControlElement::didEditInnerTextValue out of HTMLTextFormControlElement::defaultEventHandler
and called it in appliedEditing, unappliedEditing, and reappliedEditing before updating selection.

  • editing/Editor.cpp:

(WebCore::notifyTextFromControls): Added.
(WebCore::Editor::appliedEditing): Update text form control's internal states before updating selection.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::subtreeHasChanged): Removed a stale assertion from the time we used to do
everything in the render tree.

4:26 PM Changeset in webkit [164182] by akling@apple.com
  • 21 edits in trunk/Source/WebCore

Add checked casts for ScriptExecutionContext.
<https://webkit.org/b/128874>

Generate casting helpers for casting from ScriptExecutionContext to
Document and WorkerGlobalScope. Apply heartily.

Reviewed by Antti Koivisto.

3:26 PM Changeset in webkit [164181] by ap@apple.com
  • 11 edits in trunk/Source

[Mac] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128852

Reviewed by Oliver Hunt.

Source/WebCore:

Install a persistent master key in Keychain on first use of WebCrypto key serialization.
The key is per application, protected with ACL.

  • English.lproj/Localizable.strings:
  • WebCore.exp.in:
  • crypto/SerializedCryptoKeyWrap.h:
  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::createAndStoreMasterKey):
(WebCore::findMasterKey):

  • platform/LocalizedStrings.cpp:

(WebCore::webCryptoMasterKeyKeychainLabel):
(WebCore::webCryptoMasterKeyKeychainComment):

  • platform/LocalizedStrings.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

2:32 PM Changeset in webkit [164180] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

computeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128806

Reviewed by Darin Adler.

Added indexForPosition to HTMLTextFormControlElement. Like r163825, this patch traverses the DOM tree
instead of the render tree to compute the index for a given position.

We traverse the DOM Tree backwards starting at the specified Position all the way back to the beginning
of the inner text element. The index is computed as the number of characters we encountered during
this backwards DOM traversal.

It's worth noting that passedPosition.computeNodeBeforePosition() returns and only returns 0 when the
position is before the first node of its parent or inside a text node. In such cases, we call
passedPosition.containerNode() to find the parent or the text node.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Use indexForPosition.
(WebCore::HTMLTextFormControlElement::computeSelectionStart): Ditto.
(WebCore::HTMLTextFormControlElement::computeSelectionEnd): Dotto.
(WebCore::finishText): Cleanup. Use newlineCharacter instead of hard-coding '\n'.
(WebCore::HTMLTextFormControlElement::indexForPosition): Added. See above for the description.

  • html/HTMLTextFormControlElement.h:
1:15 PM Changeset in webkit [164179] by rakuco@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Stop calling mktemp(3).
https://bugs.webkit.org/show_bug.cgi?id=128826

Reviewed by Gyuyoung Kim.

mktemp(3) is an insecure function and should be avoided at all costs.
Replace its usage with mkdtemp(3): instead of just getting a file name
that is supposed to be random and unused, we now create a directory
with a random name and then put whatever files we need there with fixed
names.

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_download_job.cpp:

(TEST_F):

11:45 AM Changeset in webkit [164178] by fpizlo@apple.com
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Unreviewed, roll out r164166.

This broke three unique tests:

The following JSC stress test failures have been introduced:

regress/script-tests/variadic-closure-call.js.default-ftl
regress/script-tests/variadic-closure-call.js.ftl-no-cjit-validate
regress/script-tests/variadic-closure-call.js.ftl-no-cjit-osr-validation
regress/script-tests/variadic-closure-call.js.ftl-eager
regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit
regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit-osr-validation
jsc-layout-tests.yaml/js/script-tests/unmatching-argument-count.js.layout-ftl-eager-no-cjit
regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit
regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit-osr-validation

  • bytecode/PolymorphicAccessStructureList.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • tests/stress/ftl-getbyval-arguments.js:
11:25 AM Changeset in webkit [164177] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
https://bugs.webkit.org/show_bug.cgi?id=128859

Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createPlayer): Don't assert if player exists; just return the
existing copy.
(WebCore::AVFWrapper::createPlayerItem): Ditto (but with Player Items).

10:16 AM Changeset in webkit [164176] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Remove double hashing from DatasetDOMStringMap::deleteItem
https://bugs.webkit.org/show_bug.cgi?id=128865

Reviewed by Benjamin Poulain.

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::deleteItem): Removed call to hasAttribute, using the
result from removeAttribute instead.

  • dom/Element.cpp:

(WebCore::Element::removeAttribute): Add a return value, false if nothing is removed,
and true if something is removed.
(WebCore::Element::removeAttributeNS): Ditto.

  • dom/Element.h: Ditto.
10:15 AM Changeset in webkit [164175] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Source/WTF

Remove 'static' specifier from free inline functions in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=118554

Reviewed by Darin Adler.

At first 'static' does not bring any use here, secondly static free
inline functions in headers is a bad practice in general as each instance
of function defined as inline is treated as a separate function and each
instance has its own copy of static locals and string literals.

  • wtf/text/StringImpl.h:

(WTF::codePointCompare):
(WTF::codePointCompare8):
(WTF::codePointCompare16):
(WTF::codePointCompare8To16):
(WTF::isSpaceOrNewline):

10:00 AM Changeset in webkit [164174] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Setting currentTime on HTMLMediaElement with media controller should throw exception.
https://bugs.webkit.org/show_bug.cgi?id=128867.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-15
Reviewed by Eric Carlson.

Source/WebCore:

Added implementation for setting currentTime in HTMLMediaElement. Old implementation
was left to be used internally.

Test: media/video-controller-currentTime.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/video-controller-currentTime-expected.txt: Added.
  • media/video-controller-currentTime.html: Added.
9:51 AM Changeset in webkit [164173] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Form controls are always painted in the active state
https://bugs.webkit.org/show_bug.cgi?id=128872
<rdar://problem/9422677>

Reviewed by Dan Bernstein.

AppKit will always paint form controls in the active state if the view doesn't have a
window. Fix this by adding a fake window whose key appearance we'll update based on the
control state. Also, rename WebCoreFlippedView to WebCoreThemeView since it stopped being
just about the flippedness a long time ago.

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeWindow hasKeyAppearance]):
Return themeWindowHasKeyAppearance.

(-[WebCoreThemeView window]):
Create a WebCoreThemeWindow object lazily and return it.

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):
Pass the control states to ThemeMac::ensuredView.

(WebCore::ThemeMac::ensuredView):
Set themeWindowHasKeyAppearance based on the control state.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::documentViewFor):
Pass the control states to ThemeMac::ensuredView.

9:06 AM Changeset in webkit [164172] by mitz@apple.com
  • 34 edits
    1 delete in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128868

Reviewed by Anders Carlsoon.

  • UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.

  • UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/DrawingAreaProxy.h: Ditto.
  • UIProcess/DrawingAreaProxy.messages.in: Ditto.
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach API.

  • UIProcess/Launcher/ProcessLauncher.h: Ditto.
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA)

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
(WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
around process suppression call.

  • UIProcess/Network/NetworkProcessProxy.h: Ditto.
  • UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
  • UIProcess/Plugins/PluginProcessManager.h: Ditto.
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
(WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).

  • UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
  • UIProcess/TextChecker.h: Ditto.
  • UIProcess/WebContext.cpp: Ditto.

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::setHTTPPipeliningEnabled):
(WebKit::WebContext::httpPipeliningEnabled):
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):

  • UIProcess/WebContext.h: Ditto.
  • UIProcess/WebContext.messages.in: Ditto.
  • UIProcess/WebContextUserMessageCoders.h: Ditto.

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • UIProcess/WebCookieManagerProxy.cpp: Ditto.

(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):

  • UIProcess/WebCookieManagerProxy.h: Ditto.
  • UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
  • UIProcess/WebFramePolicyListenerProxy.h: Ditto.
  • UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing

the inspector window and its view.

  • UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::recordNavigationSnapshot):
(WebKit::WebPageProxy::canShowMIMEType):
(WebKit::canCoalesce):
(WebKit::coalesce):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):

  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/WebPageProxy.messages.in: Ditto.
  • UIProcess/WebProcessProxy.cpp: Ditto.

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::pageSuppressibilityChanged):
(WebKit::WebProcessProxy::pagePreferencesChanged):

  • UIProcess/WebProcessProxy.h: Ditto.
  • UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any

configuration.

  • UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be

implemented for iOS.

  • WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.
1:28 AM Changeset in webkit [164171] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

messages.py doesn't handle parameters with more than one level of scope.
https://bugs.webkit.org/show_bug.cgi?id=128573

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Simon Fraser.

Support .messages.in header include generation for parameter types with more than 1 level of scope.

Add a test case and update expected results.

  • Scripts/webkit2/LegacyMessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveWebPageMessage):

  • Scripts/webkit2/LegacyMessages-expected.h:

(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):

  • Scripts/webkit2/MessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveMessage):

  • Scripts/webkit2/Messages-expected.h:

(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):

  • Scripts/webkit2/messages.py:

(headers_for_type):

  • Scripts/webkit2/messages_unittest.py:
  • Scripts/webkit2/test-legacy-messages.in:
  • Scripts/webkit2/test-messages.in:
12:57 AM Changeset in webkit [164170] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
https://bugs.webkit.org/show_bug.cgi?id=128810

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
doesn't contain |start|.

Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
|outerNode| only if |outerNode| contains |start| position.

Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.

Test: editing/execCommand/indent-with-uneditable-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

LayoutTests:

  • editing/execCommand/indent-with-uneditable-crash-expected.txt: Added.
  • editing/execCommand/indent-with-uneditable-crash.html: Added.
12:39 AM Changeset in webkit [164169] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164167 - [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

12:39 AM Changeset in webkit [164168] by ryuan.choi@samsung.com
  • 13 edits in trunk

[EFL][WK1] Do not include cairo header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128779

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Although ewebkit used cairo internally, it's not good for EFL developers
to use it.
Indeed, almost APIs which returns cairo_surface are duplicated with other APIs
which returns evas_object.

  • ewk/ewk_history.cpp:

Removed ewk_history_item_icon_surface_get.
ewk_history_item_icon_object_add will be used instead.

  • ewk/ewk_history.h:
  • ewk/ewk_settings.cpp:

Removed ewk_settings_icon_database_icon_surface_get.
ewk_settings_icon_database_icon_object_get will be used instead.

  • ewk/ewk_settings.h:
  • ewk/ewk_view.cpp:

(ewk_view_screenshot_contents_get):
Implemented to replace ewk_view_paint and ewk_view_paint_contents.

  • ewk/ewk_view.h:
  • tests/test_ewk_view.cpp:

(TEST_F): Added test case for ewk_view_screenshot_contents_get

Tools:

  • DumpRenderTree/PlatformEfl.cmake:
  • DumpRenderTree/efl/PixelDumpSupportEfl.cpp:

(createBitmapContextFromWebView):
Used ewk_view_screenshot_contents_get instead of ewk_view_paint.

  • EWebLauncher/main.c:

(print_history): Replaced ewk_history_item_icon_surface_get to ewk_history_item_icon_object_add
(on_key_down):

  • Scripts/webkitpy/style/checker.py:

Added -runtime/ctype_function for EWebLauncher because EWebLauncher is sample
and it does not use WTF.

12:36 AM Changeset in webkit [164167] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

12:34 AM Changeset in webkit [164166] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Added GetMyArgumentByVal to FTL
https://bugs.webkit.org/show_bug.cgi?id=128850

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):

  • tests/stress/ftl-getbyval-arguments.js: Added.

(foo):

12:33 AM Changeset in webkit [164165] by Samuel White
  • 18 edits
    2 adds in trunk

AX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
https://bugs.webkit.org/show_bug.cgi?id=128747

Reviewed by Chris Fleizach.

Source/WebCore:

Added support for 'immediate descendant only' to existing predicate based searching. This
addition allows VoiceOver to fetch each child element lazily (rather than all at once via AXChildren).

Test: platform/mac/accessibility/search-predicate-immediate-descendants-only.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):

Tools:

Updated uiElementCountForSearchPredicate and uiElementForSearchPredicate test methods to support 'immediate descendant only' searching.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(uiElementCountForSearchPredicateCallback):
(uiElementForSearchPredicateCallback):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(searchPredicateParameterizedAttributeForSearchCriteria):
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

LayoutTests:

Added test to verify that 'immediate descendant only' predicate based searching works as expected.

  • platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt: Added.
  • platform/mac/accessibility/search-predicate-immediate-descendants-only.html: Added.
12:30 AM Changeset in webkit [164164] by commit-queue@webkit.org
  • 18 edits in trunk/Source/JavaScriptCore

[Win] LLINT is not working.
https://bugs.webkit.org/show_bug.cgi?id=128115

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-15
Reviewed by Mark Lam.

This patch will generate assembly code with Intel syntax, which can be processed by the Microsoft assembler (MASM).
By creating an asm file instead of a header file with inline assembly, we can support 64-bit.
Only 32-bit compilation has been tested, not 64-bit.
The aim of this patch is to get LLINT up and running on Windows.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added new files, and generated asm file.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • LLIntAssembly/build-LLIntAssembly.sh: Generate dummy asm file in case we're using C backend.
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor): Compile fix when DFG is disabled.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor): Ditto.

  • bytecode/GetByIdStatus.h: Ditto.
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor): Ditto.

  • bytecode/PutByIdStatus.h: Ditto.
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize): Compile fix.

  • llint/LLIntSlowPaths.h: Added llint_crash function.
  • llint/LLIntSlowPaths.cpp: Ditto.
  • llint/LowLevelInterpreter.cpp: Disable code for Windows.
  • llint/LowLevelInterpreter.asm: Remove instruction which generates incorrect assembly code on Windows (MOV 0xbbadbeef, register), call llint_crash instead.

Make local labels visible to MASM on Windows.

  • llint/LowLevelInterpreter32_64.asm: Make local labels visible to MASM on Windows.
  • offlineasm/asm.rb: Generate asm file with Intel assembly syntax.
  • offlineasm/settings.rb: Ditto.
  • offlineasm/x86.rb: Ditto.
12:28 AM Changeset in webkit [164163] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: scope chain details sidebar doesn't update values modified via console
https://bugs.webkit.org/show_bug.cgi?id=126855

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-15
Reviewed by Timothy Hatcher.

Add a RuntimeManager event that the scope chain details sidebar can
listen to to trigger refresh.

Testing on this is blocked by http://webkit.org/b/128724
(Web Inspector: Issue testing breakpoints).

  • UserInterface/RuntimeManager.js:

(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):

  • UserInterface/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel):

12:27 AM Changeset in webkit [164162] by zoltan@webkit.org
  • 1 edit
    1 add in trunk/PerformanceTests

[CSS Shapes] Add performance test for raster shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128770

Reviewed by Ryosuke Niwa.

This patch introduces a new performance test for image valued shapes,
where shape-margin is applied on the shape.
The test is skipped by default.

  • Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added.
12:25 AM Changeset in webkit [164161] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

WK2 AVKit enter fullscreen doesn't work a second time.
https://bugs.webkit.org/show_bug.cgi?id=128558

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Jer Noble.

Lazily create WebAVPlayerController when needed.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::getPlayerController):
Add getPlayerController()

(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
(WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
use getPlayerController();

12:23 AM Changeset in webkit [164160] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac] 10X slower than Chrome when drawing a video into a canvas
https://bugs.webkit.org/show_bug.cgi?id=124599

Reviewed by Darin Adler.

Follow up patch to r159518 to address Darin's post-commit review.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::nativeImageForCurrentTime): Use nullptr.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime): Ditto.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the

AVPlayerItemVideoOutput's delegate callback.

(WebCore::CVPixelBufferGetBytePointerCallback): Use static_cast.
(WebCore::CVPixelBufferReleaseBytePointerCallback): Ditto.
(WebCore::CVPixelBufferReleaseInfoCallback): Ditto.
(-[WebCoreAVFPullDelegate initWithCallback:]): Space changes.
(-[WebCoreAVFPullDelegate setCallback:]): Added.
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Check the value of m_callback.

12:18 AM Changeset in webkit [164159] by rniwa@webkit.org
  • 3 edits in trunk/Tools

CQ fix after r164105.

  • DumpRenderTree/mac/EventSendingController.mm:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

Feb 14, 2014:

11:41 PM Changeset in webkit [164158] by akling@apple.com
  • 22 edits in trunk/Source/WebCore

CTTE: WorkerGlobalScope is always owned by a WorkerThread.
<https://webkit.org/b/128834>

Codify this by storing the owner thread as a WorkerThread& and making
thread() return a reference.

This exposed a couple of unnecessary assertions.

Reviewed by Anders Carlsson.

  • Modules/notifications/WorkerGlobalScopeNotifications.cpp:

(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):

  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromCache):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
(WebCore::DedicatedWorkerGlobalScope::postMessage):
(WebCore::DedicatedWorkerGlobalScope::importScripts):
(WebCore::DedicatedWorkerGlobalScope::thread):

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::create):
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
(WebCore::SharedWorkerGlobalScope::thread):

  • workers/SharedWorkerGlobalScope.h:
  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::createWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::CloseWorkerGlobalScopeTask::performTask):
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::isContextThread):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::thread):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):

9:45 PM Changeset in webkit [164157] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

Improve the appearance of DYEBench
https://bugs.webkit.org/show_bug.cgi?id=128866

Reviewed by Antti Koivisto.

Add a div that shows progress during the test. Also show 95th percentile,
and use a table instead of pre to show results.

  • DoYouEvenBench/Full.html:

(.addResult): Added. Shows results in a table.
(benchmarkClient.willRunTest): Added to show the progress bar.
(benchmarkClient.didRunTest):
(benchmarkClient.didRunSuites):
(benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js

  • DoYouEvenBench/resources/benchmark-runner.js:

(BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop
weren't correctly parsed. We were treating top as left and bottom as top somehow.
(BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo.

8:52 PM Changeset in webkit [164156] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

setSelectionRange shouldn't trigger a synchronous layout to check focusability when text field is already focused
https://bugs.webkit.org/show_bug.cgi?id=128804

Reviewed by Enrica Casucci.

Don't trigger a synchronous layout at the beginning of setSelectionRange if the element is already focused
since we don't have to check the size of render box in that case.

We should be able to get rid of this synchronous layout entirely once we fix https://webkit.org/b/128797
but that's somewhat risky behavioral change so we'll do that in a separate patch.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectAll): Fixed the bug where selectAll selects the entire document even if the text
form contol is focused if the selection is none (i.e. not anchored to any node).

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Only update the layout if the element is not focused
already. Also pass in DoNotSetFocus option to setSelection since we already have the focus in that case.

8:33 PM Changeset in webkit [164155] by rniwa@webkit.org
  • 1 edit
    2 copies in trunk/LayoutTests

Add back pre-r164154 results to platform/mac-mountainlion.

  • platform/mac-mountainlion/fast/forms/search-styled-expected.png: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.png.
  • platform/mac-mountainlion/fast/forms/search-styled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.txt.
8:28 PM Changeset in webkit [164154] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Mac rebaseline after r164145.

  • platform/mac/fast/forms/search-styled-expected.png:
  • platform/mac/fast/forms/search-styled-expected.txt:
7:56 PM Changeset in webkit [164153] by rniwa@webkit.org
  • 7 edits in trunk/LayoutTests

Windows rebaselines after dependency updates.

  • platform/win/fast/css/first-letter-block-form-controls-crash-expected.txt:
  • platform/win/fast/css/relative-position-replaced-in-table-display-crash-expected.txt:
  • platform/win/fast/forms/access-key-for-all-elements-expected.txt:
  • platform/win/fast/forms/form-associated-element-crash3-expected.txt:
  • platform/win/fast/forms/search-styled-expected.txt:
  • platform/win/fast/multicol/renderer-positioned-assert-crash-expected.txt:
7:45 PM Changeset in webkit [164152] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Control tints don't update inside WebViews
https://bugs.webkit.org/show_bug.cgi?id=128862

Reviewed by Ryosuke Niwa.

  • WebView/WebView.mm:

(-[WebView _windowChangedKeyState]):
Call [super _windowChangedKeyState].

7:06 PM Changeset in webkit [164151] by Joseph Pecoraro
  • 9 edits in trunk/Source/JavaScriptCore

Web Inspector: CRASH when debugger closes while paused and remote inspecting a JSContext
https://bugs.webkit.org/show_bug.cgi?id=127757

Reviewed by Timothy Hatcher.

The problem was that the lifetime of the InspectorController and all agents
was tied to the remote inspector session. So, if a remote inspector was
disconnected while in the nested run loop, everything would get torn
down and when execution continued out of the nested runloop we would be
back in the original call stack of destroyed objects.

This patch changes the lifetime of the InspectorController and agents to
the JSGlobalObject. This way the agents are always alive, just the
frontend and backend channels are destroyed and recreated each remote
inspector session. This matches the agent lifetime for WebCore agents.
We can also later take advantage of the agents being alive before
and between inspector debug sessions to stash exception messages to
pass on to a debugger if a debugger is connected later.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Cleaner initialization of agents. Easier to follow.

(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
Move InjectedScript disconnection only once the global object is destroyed.
This way if a developer has attached once and included an injected script,
we will keep it around with any state it might want to remember until
the global object is destroyed.

(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
Disconnect agents and injected scripts when the global object is destroyed.

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::disconnect):
Now that the injected script manager is reused between remote
inspector sessions, don't clear the pointer on disconnect calls.
We now only call this once when the global object is getting
destroyed anyways so it doesn't matter. But if we wanted to call
disconnect multiple times, e.g. once per session, we could.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchFunctionToListeners):
If the only listener was removed during the nested runloop, then when
we dispatch an event after the nested runloop the listener list will
be empty. Instead of asserting, just pass by an empty list.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::inspectorController):
Tie the inspector controller lifetime to the JSGlobalObject.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):
Create the inspector controller, and eagerly signal teardown
in destruction.

  • runtime/JSGlobalObjectDebuggable.h:
  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
Simplify by using the inspector controller on JSGlobalObject.

6:52 PM Changeset in webkit [164150] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Another build fix after r164149.

  • Scripts/webkitpy/port/port_testcase.py:

(test_apache_config_file_name_for_platform):

6:50 PM Changeset in webkit [164149] by rniwa@webkit.org
  • 3 edits
    1 move in trunk

Build fix after r164148.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

  • http/conf/apache2-httpd.conf: Removed.
  • http/conf/apache2.2-httpd.conf: Copied from LayoutTests/http/conf/apache2-httpd.conf.
6:33 PM Changeset in webkit [164148] by rniwa@webkit.org
  • 3 edits
    1 add in trunk

run-webkit-tests doesn't work with Apache 2.4
https://bugs.webkit.org/show_bug.cgi?id=128861

Reviewed by Andreas Kling.

Tools:

Use apache<version>-httpd.conf like we do on Fedora and Debian.

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

  • http/conf/apache2.4-httpd.conf: Added.
5:27 PM Changeset in webkit [164147] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

-[JSManagedValue value] needs to be protected by the API lock
https://bugs.webkit.org/show_bug.cgi?id=128857

Reviewed by Mark Lam.

  • API/APICast.h:

(toRef): Added an ASSERT so that we can detect these sorts of errors earlier. On 32-bit, toRef
can allocate objects so we need to be holding the lock.

  • API/APIShims.h: Removed outdated comments.
  • API/JSManagedValue.mm: Added RefPtr<JSLock> to JSManagedValue.

(-[JSManagedValue initWithValue:]): Initialize the m_lock field.
(-[JSManagedValue value]): Lock the JSLock, check the VM*, return nil if invalid, take the APIEntryShim otherwise.

  • runtime/JSLock.cpp: Bug fix in JSLock. We were assuming that the VM was always non-null in JSLock::lock.

(JSC::JSLock::lock):

5:06 PM Changeset in webkit [164146] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add SPI for monitoring web process crashes
https://bugs.webkit.org/show_bug.cgi?id=128851

Reviewed by Beth Dakin.

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::processDidCrash):

4:59 PM Changeset in webkit [164145] by mitz@apple.com
  • 4 edits
    3 deletes in trunk

REGRESSION (r157443): Search fields with a non-white background don’t have a round bezel
https://bugs.webkit.org/show_bug.cgi?id=126295

Reviewed by Ryosuke Niwa.

Source/WebCore:

Reverted r157443 and improved comment.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isControlStyled):

LayoutTests:

Reverted r157443.

  • fast/forms/search/search-field-background-color-expected.txt: Removed.
  • fast/forms/search/search-field-background-color.html: Removed.
  • platform/efl/fast/forms/search: Removed.
  • platform/efl/fast/forms/search/search-field-background-color-expected.png: Removed.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Removed.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
  • platform/mac/fast/forms/search-styled-expected.txt:
4:54 PM Changeset in webkit [164144] by BJ Burg
  • 5 edits
    2 adds in trunk/Source

Web Replay: AtomicString replay input names should be stored in a thread-local table
https://bugs.webkit.org/show_bug.cgi?id=128829

Reviewed by Andreas Kling.

Similar to how DOM event names are frequently-used AtomicStrings, replay input
names are also checked in many places as a "type tag". This patch puts all known
input names into a class held by ThreadGlobalData and adds the shortcut inputTypes()
so that replay input types can be referenced with inputTypes.InputName().

  • WebCore.xcodeproj/project.pbxproj:
  • platform/ThreadGlobalData.cpp: Add inputTypes() shortcut.

(WebCore::ThreadGlobalData::ThreadGlobalData):

  • platform/ThreadGlobalData.h: Add inputTypes() shortcut.

(WebCore::ThreadGlobalData::inputTypes):

  • replay/ReplayInputTypes.cpp: Added.

(WebCore::ReplayInputTypes::ReplayInputTypes):

  • replay/ReplayInputTypes.h: Added.

(WebCore::inputTypes): The input names are provided by per-framework macros that
are generated by the replay inputs code generator.

4:51 PM Changeset in webkit [164143] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Activate CSS Region Tests on Windows
https://bugs.webkit.org/show_bug.cgi?id=128854

Reviewed by Simon Fraser.

  • platform/win/TestExpectations: Activate CSS Region tests, turning off a

few failures.

4:48 PM Changeset in webkit [164142] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

Add support for specced event handlers to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=128292

Reviewed by Andreas Kling.

Source/WebCore:

Test: media/media-event-listeners.html

Add explicit event listener IDL attributes to HTMLMediaElement.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/media-event-listeners-expected.txt: Added.
  • media/media-event-listeners.html: Added.
4:04 PM Changeset in webkit [164141] by Brent Fulgham
  • 9 edits in trunk

[Win] Make tests more consistent with Mac platform
https://bugs.webkit.org/show_bug.cgi?id=128848

Reviewed by Simon Fraser.

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl: Add access to the

mock scrollbar and screen font substitution features.

  • WebPreferenceKeysPrivate.h: Ditto
  • WebPreferences.cpp: Ditto

(WebPreferences::mockScrollbarsEnabled):
(WebPreferences::setMockScrollbarsEnabled):
(WebPreferences::screenFontSubstitutionEnabled):
(WebPreferences::setScreenFontSubstitutionEnabled):

  • WebPreferences.h: Ditto
  • WebView.cpp:

(WebView::notifyPreferencesChanged): Ditto

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Turn CSS regions on,
turn mock scrollbars on, and allow screen font
substitution.

4:01 PM Changeset in webkit [164140] by rniwa@webkit.org
  • 7 edits in trunk/LayoutTests

Mac rebaseline after r164127.

  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-styling-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
3:29 PM Changeset in webkit [164139] by oliver@apple.com
  • 23 edits
    12 adds in trunk

Implement a few more Array prototype functions in JS
https://bugs.webkit.org/show_bug.cgi?id=128788

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Remove a pile of awful C++, and rewrite in simple JS.

Needed to make a few other changes to get fully builtins
behavior to more accurately match a host function's.

  • builtins/Array.prototype.js:

(every):
(forEach):
(filter):
(map):
(some):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPutByVal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitExpressionInfo):

  • interpreter/Interpreter.cpp:

(JSC::GetStackTraceFunctor::operator()):

  • parser/Nodes.h:

(JSC::FunctionBodyNode::overrideName):

  • profiler/LegacyProfiler.cpp:

(JSC::createCallIdentifierFromFunctionImp):

  • runtime/ArrayPrototype.cpp:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::deleteProperty):

  • runtime/JSFunction.h:

Source/WebCore:

Minor change to ensure that the inspector is treating builtins
as host functions.

Tests: js/regress/array-prototype-filter.html

js/regress/array-prototype-forEach.html
js/regress/array-prototype-map.html
js/regress/array-prototype-some.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForEventListener):

Make sure we treat builtins as regular host functions

LayoutTests:

Add performance tests, and update a couple of profiler tests as
we unavoidably show the call out to some of the builtin methods.

  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • js/dom/array-foreach-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/dom/array-some-expected.txt:
  • js/regress/array-prototype-filter-expected.txt: Added.
  • js/regress/array-prototype-filter.html: Added.
  • js/regress/array-prototype-forEach-expected.txt: Added.
  • js/regress/array-prototype-forEach.html: Added.
  • js/regress/array-prototype-map-expected.txt: Added.
  • js/regress/array-prototype-map.html: Added.
  • js/regress/array-prototype-some-expected.txt: Added.
  • js/regress/array-prototype-some.html: Added.
  • js/regress/script-tests/array-prototype-filter.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-forEach.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-map.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-some.js: Added.

(test1):
(test2):
(test3):

3:15 PM Changeset in webkit [164138] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add SPI for authentication
https://bugs.webkit.org/show_bug.cgi?id=128847

Reviewed by Dan Bernstein.

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

3:09 PM Changeset in webkit [164137] by mhahnenberg@apple.com
  • 2 edits in trunk/Tools

Save ARGV in a local to avoid repeated lookups

Rubber stamped by Joseph Pecoraro.

  • jsc-cli/jsc-cli/CLIInstance.m:

(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

2:44 PM Changeset in webkit [164136] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

ASSERT(isValidAllocation(bytes)) when ObjC API creates custom errors
https://bugs.webkit.org/show_bug.cgi?id=128840

Reviewed by Joseph Pecoraro.

We need to add APIEntryShims around places where we allocate errors in JSC.
Also converted some of the createTypeError call sites to use ASCIILiteral.

  • API/JSValue.mm:

(valueToArray):
(valueToDictionary):

  • API/ObjCCallbackFunction.mm:

(JSC::objCCallbackFunctionCallAsConstructor):
(JSC::ObjCCallbackFunctionImpl::call):

  • API/tests/testapi.mm:
2:30 PM Changeset in webkit [164135] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Margin tiles are not created for the top and left sides when there is a < 1.0
scale factor
https://bugs.webkit.org/show_bug.cgi?id=128842

Reviewed by Simon Fraser.

floor the result of the computation whenever we have a negative origin, to ensure
that we are rounding 'up' to a larger number of tiles.

  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::getTileIndexRangeForRect):

2:28 PM Changeset in webkit [164134] by mhahnenberg@apple.com
  • 7 edits in trunk/Tools

jsc-cli should allow scripts to access argv
https://bugs.webkit.org/show_bug.cgi?id=127486

Reviewed by Oliver Hunt.

  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
  • jsc-cli/jsc-cli/CLIInstance.h:
  • jsc-cli/jsc-cli/CLIInstance.m:

(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

  • jsc-cli/jsc-cli/JSRunLoopThread.h:
  • jsc-cli/jsc-cli/JSRunLoopThread.m:

(-[JSRunLoopThread initWithContext:]):
(-[JSRunLoopThread loadFile:]):
(-[JSRunLoopThread start]):

  • jsc-cli/jsc-cli/main.m:

(printUsage):
(main):

2:27 PM Changeset in webkit [164133] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

setSelection should not synchronously trigger layout
https://bugs.webkit.org/show_bug.cgi?id=128797

Reviewed by Antti Koivisto.

Only update the appearance and reveal selection when the style and the layout is already up to date.
Otherwise, do so in performPostLayoutTasks.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelection): Set m_pendingSelectionUpdate and synchronously update caret rect
if we don't need to update style or layout.
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Added. Used by FrameSelection member functions to
trigger layout or style recalc whichever is needed.
(WebCore::FrameSelection::updateAndRevealSelection): Extracted from setSelection.
(WebCore::FrameSelection::absoluteCaretBounds): Call updateSelectionByUpdatingLayoutOrStyle since caret rect
is no longer updated synchronously in setSelection.
(WebCore::FrameSelection::recomputeCaretRect): Don't assert that visibleStart().absoluteCaretBounds() is
equal to m_absCaretBounds since selection may no longer be caret at this point.
(WebCore::FrameSelection::setCaretVisibility): Call updateSelectionByUpdatingLayoutOrStyle since we're
synchronously calling into updateAppearance here. In the future, we should make this asynchronous as well.
(WebCore::FrameSelection::selectionBounds): Call updateSelectionByUpdatingLayoutOrStyle since selection bounds
could be outdated. This code only triggering style recalc was presumably a bug.

  • editing/FrameSelection.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks): Update selection's appearance and scroll to reveal selection
as needed.

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

Add WKBackForwardListDidChangeNotification
https://bugs.webkit.org/show_bug.cgi?id=128839

Reviewed by Dan Bernstein.

Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems
instead of a pointer to a Vector of API::Objects.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didChangeBackForwardList):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

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

(WebKit::NavigationState::LoaderClient::didChangeBackForwardList):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::clear):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):

  • UIProcess/WebPageProxy.h:
1:29 PM Changeset in webkit [164131] by akling@apple.com
  • 63 edits
    3 deletes in trunk

Purge remaining ENABLE(SHADOW_DOM) cruft.
<https://webkit.org/b/128827>

Source/WebCore:

Remove the remaining 8.8 million lines of Shadow DOM code to align
with goals for intent to ship 60fps on mobile in 2014.

Reviewed by Antti Koivisto.

Tools:

Reviewed by Antti Koivisto.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • Scripts/webkitperl/FeatureList.pm:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

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

[MediaControls][iOS] Embedded YouTube does not show a 'paused' button state after starting
https://bugs.webkit.org/show_bug.cgi?id=128755

Reviewed by Eric Carlson.

Don't rely on "canPlay()", instead, take the information directly from the event itself. I.e., when
handling the 'play' event, switch mode to playing, and vice versa for the 'pause' event.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handlePlay):
(Controller.prototype.handlePause):
(Controller.prototype.updatePlaying):
(Controller.prototype.setPlaying):

1:19 PM Changeset in webkit [164129] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MediaControls][iOS] Start playback button is visible when playing embedded YouTube
https://bugs.webkit.org/show_bug.cgi?id=128754

Reviewed by Eric Carlson.

Update shouldHaveStartPlaybackButton to match the behavior of the plugin proxy.

Add a accessor to determine whether playback has been requested:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::userGestureRequired):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:

Update the logic of shouldHaveStartPlaybackButton.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton):

1:17 PM Changeset in webkit [164128] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Baseline JIT should have a fast path to bypass the write barrier on op_enter
https://bugs.webkit.org/show_bug.cgi?id=128832

Reviewed by Filip Pizlo.

  • jit/JIT.h: Removed some random commented out functions.h
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_enter):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

1:15 PM Changeset in webkit [164127] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[MediaControls] Add support for a loading progress meter
https://bugs.webkit.org/show_bug.cgi?id=128651

Reviewed by Eric Carlson.

Draw the loaded ranges underneath the timeline slider. Use a -webkit-canvas()
CSS function to allow the track of the slider to reflect the current state of
the video's loadedTimeRanges property.

Since -webkit-canvas() will share a backing store with all other CSS images using
the same identifier, use a monotonically increasing identifier to uniquely identify the timeline on a per-document basis.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-timeline):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller): Call updateProgress().
(Controller.prototype.createControls): Set up the canvas style and identifier.
(Controller.prototype.handleLoadStart): Call updateProgress().
(Controller.prototype.handleStalled): Ditto.
(Controller.prototype.handleReadyStateChange): Ditto.
(Controller.prototype.handleDurationChange): Ditto.
(Controller.prototype.handleProgress): Ditto.
(Controller.prototype.progressFillStyle): Added an easily overridable method

to determine the fill color of the progress bar.

(Controller.prototype.updateProgress): Draw the loadedTimeRanges into the timeline slider.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.progressFillStyle): Override.

1:13 PM Changeset in webkit [164126] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Always enable AVKit in WK2
https://bugs.webkit.org/show_bug.cgi?id=128686

Reviewed by Simon Fraser.

Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

1:00 PM Changeset in webkit [164125] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Clean up JSDOMStringMap::deleteProperty
https://bugs.webkit.org/show_bug.cgi?id=128801

Reviewed by Geoffrey Garen.

Follow up on my cleaning of JSDOMStringMapCustom, this time for deletion.

Previously, we would query for the name, then call deleteItem() if the name was
found. Instead, everything is moved to deleteItem which then return if the deletion
is successful or not.

By using convertPropertyNameToAttributeName, we can use Element::hasAttribute() directly
to find if the attribute exists or not. If it exists, we remove it.

Theoretically we could have a single pass over the attributes to find->delete but this
code is not hot enough to justify anything fancy at this point.

Finally, we no longer check for isValidPropertyName() on deletion. JSDOMStringMapCustom
was the last client of DatasetDOMStringMap::deleteItem() and it could not call deleteItem()
with invalid name since the name would have failed DatasetDOMStringMap::contains().
The spec does not specify any name checking either for deletion so we are safe just ignoring
invalid input.

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::deleteProperty):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::deleteItem):

  • dom/DatasetDOMStringMap.h:
12:59 PM Changeset in webkit [164124] by benjamin@webkit.org
  • 4 edits in trunk/Source

Improve the performance on mobile of FTPDirectoryDocument
https://bugs.webkit.org/show_bug.cgi?id=128778

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Antti Koivisto.

Source/WebCore:

Little cleanup.

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::processFilesizeString):
(WebCore::wasLastDayOfMonth):
(WebCore::processFileDateString):
(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

Source/WTF:

  • wtf/text/WTFString.h:

(WTF::String::endsWith): add a missing overload.

12:58 PM Changeset in webkit [164123] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Do not attempt to synchronize attributes when no Simple Selector could match an animatable attribute
https://bugs.webkit.org/show_bug.cgi?id=128728

Reviewed by Andreas Kling.

In most cases, we don't even need to test for the flag animatedSVGAttributesNotDirty.
If the selector filter could never match an animatable attribute, there is no point in testing for one.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::canMatchStyleAttribute):
Skip the second test when the local name is equal to canonicalLocalName. That is the common case.

(WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):

  • svg/SVGElement.cpp:

(WebCore::addQualifiedName):
(WebCore::SVGElement::animatableAttributeForName):
(WebCore::SVGElement::isAnimatableAttribute):
(WebCore::SVGElement::filterOutAnimatableAttribute):

  • svg/SVGElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::filterOutAnimatableAttribute):

  • svg/SVGScriptElement.h:

Move the list of animatable attribute to a static function available in Release.
Selector matching is a lot more flexible than normal name matching. Since the local name must
always match, it is used as a key to get the full QualifiedName to compare to the selector.

Separating the list of animatable attributes between Selectors and SVGElement::isAnimatableAttribute
would be error prone. Instead, SVGElement::isAnimatableAttribute() is modified to use
SVGElement::animatableAttributeForName so that the two never get out of sync.

Since SVGScriptElement has one additional restriction to isAnimatableAttribute(), the function
filterOutAnimatableAttribute() is added to remove a qualified name from the complete list of animatable attributes.
This ensure SVGElement::animatableAttributeForName() always has the complete list, and subclasses of SVGElement
can only remove QualifiedNames, not add them.

12:57 PM Changeset in webkit [164122] by Lucas Forschler
  • 3 edits
    3 copies in tags/Safari-538.16.6

Merged r164119.

12:56 PM Changeset in webkit [164121] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
https://bugs.webkit.org/show_bug.cgi?id=128715

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Darin Adler.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleTap):

12:53 PM Changeset in webkit [164120] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebKit2

<rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen
https://bugs.webkit.org/show_bug.cgi?id=128710

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Enrica Casucci.

WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKWebView _keyboardWillChangeFrame:]):
(-[WKWebView _keyboardDidChangeFrame:]):
(-[WKWebView _keyboardWillShow:]):
(-[WKWebView _keyboardWillHide:]):

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView isAssistingNode]):

  • UIProcess/API/ios/WKInteractionView.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView dealloc]):
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
(-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKView _keyboardWillChangeFrame:]):
(-[WKView _keyboardDidChangeFrame:]):
(-[WKView _keyboardWillShow:]):
(-[WKView _keyboardWillHide:]):

12:51 PM Changeset in webkit [164119] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

Don't optimize variadic closure calls
https://bugs.webkit.org/show_bug.cgi?id=128835

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Read the check that had been in JITStubs.cpp, back in the day. This code came
from the DFG and the DFG didn't need these checks.

  • jit/JITOperations.cpp:

LayoutTests:

Reviewed by Gavin Barraclough.

Add a test that covers both the performance and correctness of this case.

  • js/regress/script-tests/variadic-closure-call.js: Added.

(foo.bar):
(foo):

  • js/regress/variadic-closure-call-expected.txt: Added.
  • js/regress/variadic-closure-call.html: Added.
12:47 PM Changeset in webkit [164118] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Make code generation of the unoptimized pseudo classes separate
https://bugs.webkit.org/show_bug.cgi?id=128704

Reviewed by Andreas Kling.

Mapping the unoptimized selectors when generating the code was useful for debugging
but those cases are so common that looping over unoptimizedPseudoCheckers was more
costly than anticipated.

This patch moves the unoptimized pseudo selector in their own array to simplify code generation.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

12:34 PM Changeset in webkit [164117] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color wheel should support Retina displays
https://bugs.webkit.org/show_bug.cgi?id=124355

Reviewed by Timothy Hatcher.

Take into account the devicePixelRatio in order to draw the color wheel
with as many colors as we can draw with the current DPI and to correctly
convert from page coordinates to canvas coordinates when dealing with
mouse events.

12:28 PM Changeset in webkit [164116] by Lucas Forschler
  • 3 edits in tags/Safari-538.16.6/Source/JavaScriptCore

Merged r164063.

12:08 PM Changeset in webkit [164115] by mmaxfield@apple.com
  • 10 edits
    2 adds in trunk

Implement text-decoration-skip: auto
https://bugs.webkit.org/show_bug.cgi?id=128786

Reviewed by Dean Jackson.

http://lists.w3.org/Archives/Public/www-style/2014Feb/0485.html
We are updating the initial value of text-decoration-skip to a new value, "auto".
On Mac + iOS, this will have the same behavior as "skip".

Source/WebCore:

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipFlagsToCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTextDecorationSkip):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::valueToDecorationSkip):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default-expected.txt: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
12:04 PM QtWebKitBuildBots edited by kadam@inf.u-szeged.hu
(diff)
11:49 AM Changeset in webkit [164114] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.6/Source

Versioning.

11:47 AM Changeset in webkit [164113] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.6

New Tag.

11:38 AM Changeset in webkit [164112] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128802

Reviewed by Darin Adler.

  • PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::paint):

  • PluginProcess/PluginControllerProxy.h: Ditto.
  • PluginProcess/PluginControllerProxy.messages.in: Ditto.
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess): Ditto.
(WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific
quirk.
(WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach-based IPC.

  • PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to

USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit.

  • PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

  • PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::WebProcessConnection::createPluginInternal):
(WebKit::WebProcessConnection::createPlugin):

11:26 AM Changeset in webkit [164111] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add -[WKWebView estimatedProgress]
https://bugs.webkit.org/show_bug.cgi?id=128830

Reviewed by Dan Bernstein.

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

(-[WKWebView estimatedProgress]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeEstimatedProgress):
(WebKit::NavigationState::didChangeEstimatedProgress):

11:13 AM Changeset in webkit [164110] by Simon Fraser
  • 14 edits in trunk/Source

Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
https://bugs.webkit.org/show_bug.cgi?id=128790

Reviewed by Beth Dakin.

Have scrolling tree nodes and state nodes track another layer, the
"scrolled contents layer", for accelerated overflow:scroll.

When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
layer will point to the composited element's primary layer, and its
scrolledContentsLayer to the layer that gets moved around by scrolling.

Do some other cleanup on AsyncScrollingCoordinator, removing
functions that just called through to nodes.

Source/WebCore:

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):

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

(WebCore::ScrollingCoordinator::updateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):

Source/WebKit2:

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

10:59 AM Changeset in webkit [164109] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView _handle]
https://bugs.webkit.org/show_bug.cgi?id=128828

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _handle]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:31 AM Changeset in webkit [164108] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test correction to get bots green.

  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Don't

snapshot final pixel location, since these seems to be somewhat dependent
on the test machine.

  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Ditto
9:52 AM Changeset in webkit [164107] by Chris Fleizach
  • 5 edits
    2 adds in trunk

AX: WebKit needs heuristics to differentiate lists used for layout from semantic data lists, similar to the heuristics for layout tables versus data tables.
https://bugs.webkit.org/show_bug.cgi?id=122320

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Many authors use lists for layout, rather than presenting data. Exposing these kinds of lists to accessibility users
makes the web harder to process and listen, while degrading the importance of real lists.

This introduces heuristics to filter out layout lists with the following:

  1. If it's a named list, like ol or aria=list, then it's a list. 1a. Unless the list has no children, then it's not a list.
  2. If it displays visible list markers, it's a list.
  3. If it does not display list markers and has only one child, it's not a list.
  4. If it does not have any listitem children, it's not a list.
  5. Otherwise it's a list (for now).

Test: accessibility/list-detection.html

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::determineAccessibilityRole):
(WebCore::AccessibilityList::roleValue):

  • accessibility/AccessibilityList.h:

LayoutTests:

  • accessibility/aria-roles.html:
  • accessibility/list-detection-expected.txt: Added.
  • accessibility/list-detection.html: Added.
9:51 AM Changeset in webkit [164106] by b.long@cablelabs.com
  • 8 edits in trunk/Source/WebCore

Use AtomicString arguments in TrackPrivateBaseClient callbacks
https://bugs.webkit.org/show_bug.cgi?id=128765

Reviewed by Eric Carlson.

No new tests because this doesn't change functionality.

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::idChanged):
(WebCore::AudioTrack::labelChanged):
(WebCore::AudioTrack::languageChanged):

  • html/track/AudioTrack.h:
  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::InbandTextTrack):
(WebCore::InbandTextTrack::idChanged):
(WebCore::InbandTextTrack::labelChanged):
(WebCore::InbandTextTrack::languageChanged):

  • html/track/InbandTextTrack.h:
  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::idChanged):
(WebCore::VideoTrack::labelChanged):
(WebCore::VideoTrack::languageChanged):

  • html/track/VideoTrack.h:
  • platform/graphics/TrackPrivateBase.h:
9:48 AM Changeset in webkit [164105] by Brent Fulgham
  • 12 edits
    37 adds in trunk

Create some latched scrolling tests.
https://bugs.webkit.org/show_bug.cgi?id=127606
<rdar://problem/15911348>

Reviewed by Simon Fraser.

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]): Update to recognize
the new "mouseScrollByX:andY:withWheel:andMomentumPhases:" selector.
(+[EventSendingController webScriptNameForSelector:]): Ditto.
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Implement
the new wheel event sender.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Add declaration

of new mouseScrollByWithWheelAndMomentumPhases method.

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Added

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Add stub for iOS.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle): Handle the new
mouseScrollByWithWheelAndMomentumPhases message.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Handle the
new mouseScrollByWithWheelAndMomentumPhases.

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide stub that
relays to the standard mouse wheel handler.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Ditto.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide implementation
of mouse wheel gesture method.

LayoutTests:

Add a series of tests to cover desired behavior with wheel events (including momentum).
This behavior is specific to the Mac platform, so is limited to the platform/mac and
platform/mac-wk2 directories.

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

ASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleCommand::updateStartEnd
https://bugs.webkit.org/show_bug.cgi?id=121791

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-14
Reviewed by Darin Adler.

Source/WebCore:

If WebCore::ApplyStyleCommand::applyBlockStyle() creates a TextIterator for a range
that has an element with ReplacedElement rendering object, then a ',' is emitted in the
constructor of TextIterator. Due to this comma the end of the run range can be at the
wrong position, what makes the assertion fire. This situation can be handled the same
way in TextIterator::rangeFromLocationAndLength() as we do in case of the emitted '\n's.

Test: editing/execCommand/remove-formatting-from-iframe-in-button.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::rangeFromLocationAndLength):

LayoutTests:

  • editing/execCommand/remove-formatting-from-iframe-in-button-expected.txt: Added.
  • editing/execCommand/remove-formatting-from-iframe-in-button.html: Added.
9:35 AM Changeset in webkit [164103] by abucur@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] visibility: hidden on a region should hide its content
https://bugs.webkit.org/show_bug.cgi?id=128814

Reviewed by Mihnea Ovidenie.

Source/WebCore:

The patch properly checks that the content of a region layer should be painted before actually
calling the paint function (for example, when visibility: hidden is specified on a region, its
content should be hidden).

Test: fast/regions/visibility-hidden.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

Add a test that verifies visibility: hidden on a region hides the content of
the flow thread.

  • fast/regions/visibility-hidden-expected.html: Added.
  • fast/regions/visibility-hidden.html: Added.
9:11 AM Changeset in webkit [164102] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[ASan] Disable JSStack::sanitizeStack() to avoid false-positive stack-buffer-overflow errors
<http://webkit.org/b/128819>

Reviewed by Filip Pizlo.

  • interpreter/JSStack.cpp:

(JSC::JSStack::sanitizeStack): When building with the clang
address sanitizer, don't sanitize the stack since it will
trigger false-positive stack-buffer-overflow errors. Disabling
this only results in a performance penalty, not a correctness
penalty.

6:02 AM WebKitGTK/SpeedUpBuild edited by Andres Gomez
More details for icecc compilation (diff)
5:58 AM WebKitGTK/SpeedUpBuild edited by Andres Gomez
Added more details about icecc compilation (diff)
5:57 AM Changeset in webkit [164101] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

Refactoring design-mode-spellcheck-off.html to use asynchronous spellchecking
https://bugs.webkit.org/show_bug.cgi?id=127770

Reviewed by Ryosuke Niwa.

Enable asynchronous spellchecking in design-mode-spellcheck-off.html.

Due to js-test-pre.js adds some HTML elements inside the BODY, the misspelled
phrase was moved into separated div element. It allows to check spelling marker
on desired element instead of whole body.

It turned out that the test does not underline "asdf" as misspelled although
spellcheck attribute is on. To force spellchecking, the caret needs to be moved
out of the misspelled word. To be more reliable, the test now contains two test
cases in 'desingMode=on' when spellcheck attribute is off and on.

  • editing/spelling/design-mode-spellcheck-off-expected.txt:
  • editing/spelling/design-mode-spellcheck-off.html:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:

Skip the test for GTK.

  • platform/win/TestExpectations:

Add failing test expectation.

4:26 AM Changeset in webkit [164100] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

Use asynchronous spellchecking in spelling-hasspellingmarker.js
https://bugs.webkit.org/show_bug.cgi?id=128526

Reviewed by Ryosuke Niwa.

Refactoring spelling-hasspellingmarker.js to use asynchronous spellchecking.
In addition, adds some bits for non-DumpRenderTree users.

  • editing/spelling/script-tests/spelling-hasspellingmarker.js:

(addContainer): creates a new div element based on given markup.
(typeMisspelling): types 'zz' to the element.
(verifySpellingMarkers): calls shouldBecomeEqual to verify spelling markers.
(tests): contains test cases.
(done): invokes next test cases if any, otherwise calls finishJSTest().

  • editing/spelling/spelling-hasspellingmarker-expected.txt:

Update baseline.

  • editing/spelling/spelling-hasspellingmarker.html:

Include editing.js due to the test started using typeCharacterCommand().

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

Skip spelling-hasspellingmarker.html for GTK (wk1 and wk2).

3:52 AM Changeset in webkit [164099] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Follow-up fix after r164036.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-14
Reviewed by Csaba Osztrogonác.

  • dom/Document.cpp:

(WebCore::Document::create):

3:38 AM Changeset in webkit [164098] by commit-queue@webkit.org
  • 3 edits in trunk

Unreviewed, rolling out r164090.
http://trac.webkit.org/changeset/164090
https://bugs.webkit.org/show_bug.cgi?id=128807

It broke the EFL build (Requested by Ossy on #webkit).

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsEfl.cmake:
3:14 AM Changeset in webkit [164097] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

(try)append and insert operations don't need new operator for PODs
https://bugs.webkit.org/show_bug.cgi?id=128185

Patch by Wojciech Bielawski <w.bielawski@samsung.com> on 2014-02-14
Reviewed by Darin Adler.

Vector's methods use VectorCopier to copy data.
VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied.

  • wtf/Vector.h:

(WTF::OverflowHandler>::append): use VectorCopier to copy data.
(WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
(WTF::OverflowHandler>::insert): use VectorCopier to copy data.

3:10 AM Changeset in webkit [164096] by mario.prada@samsung.com
  • 2 edits
    2 deletes in trunk/Source/JavaScriptCore

Cleaning the JSStaticScopeObject files left behind after renaming their objects to JSNameScope
https://bugs.webkit.org/show_bug.cgi?id=127595

Patch by Andres Gomez <Andres Gomez> on 2014-02-14
Reviewed by Mario Sanchez Prada.

JSStaticScopeObject was renamed to JSNameScope and removed long
ago but the files were left behind empty and the CMake compilation
in need of its existance. Now, we are definitely getting rid of
them.

  • CMakeLists.txt:
  • runtime/JSStaticScopeObject.cpp: Removed.
  • runtime/JSStaticScopeObject.h: Removed.
1:47 AM Changeset in webkit [164095] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update Windows test expectations.

js/regress/emscripten-memops.html is timing out, not failing.

  • platform/win/TestExpectations:

Feb 13, 2014:

10:04 PM Changeset in webkit [164094] by mitz@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

[Cocoa] Expose the bundle form client
https://bugs.webkit.org/show_bug.cgi?id=128792

Reviewed by Anders Carlsson.

  • WebKit2.xcodeproj/project.pbxproj: Added new file.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form
delegate.
(setUpFormClient): Added. Initializes the form client with the above function.
(-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter.
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or
clears the form client.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

Declared _formDelegate property.

10:03 PM Changeset in webkit [164093] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Add a way to get the page from a frame in the injected bundle
https://bugs.webkit.org/show_bug.cgi?id=128791

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:

(-[WKWebProcessPlugInFrame _browserContextController]): Added.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared

_browserContextController property.

9:37 PM Changeset in webkit [164092] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Kill some of the last vestiges of the C++ interpreter's PICs
https://bugs.webkit.org/show_bug.cgi?id=128796

Reviewed by Michael Saboff.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/PolymorphicAccessStructureList.h:

(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::PolymorphicStubInfo):
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
(JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
(JSC::PolymorphicAccessStructureList::visitWeak):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:

(JSC::isGetByIdAccess):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/Repatch.cpp:

(JSC::getPolymorphicStructureList):
(JSC::tryBuildGetByIDList):

  • llint/LowLevelInterpreter.asm:
8:03 PM Changeset in webkit [164091] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public URLs won't leak.
https://bugs.webkit.org/show_bug.cgi?id=128532

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-02-13
Reviewed by Jer Noble.

This fixes a leak of DOM objects by breaking the circular reference
between Document, PublicURLManager, and MediaSource.
Instead of clearing PublicURLManager at destruction-time,
which is delayed indefinitely because of the circular reference,
clear the PublicURLManager during ActiveDOMObject::stop().

Frome Blink r151890 by <acolwell@chromium.org>
<https://src.chromium.org/viewvc/blink?view=rev&revision=151890>

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::publicURLManager):

  • html/DOMURL.h:
  • html/PublicURLManager.cpp:

(WebCore::PublicURLManager::create):
(WebCore::PublicURLManager::PublicURLManager):
(WebCore::PublicURLManager::registerURL):
(WebCore::PublicURLManager::stop):

  • html/PublicURLManager.h:
7:35 PM Changeset in webkit [164090] by Martin Robinson
  • 3 edits in trunk

[GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Extend a fix for EFL to all ports that use GCC. Also include further fixes
that were applied only to the autotools build.

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsCommon.cmake: Add -fno-omit-frame-pointer to all ports as well

as -fno-tree-dce, which is necessary for GTK+.

  • Source/cmake/OptionsEfl.cmake: The GCC flag additions are now in the common options file.
6:42 PM Changeset in webkit [164089] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs. Part 2.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

toJS() is the wrong cast function to use. We need to use toJSForGC() instead.
Also we need to acquire the JSLock to prevent concurrent accesses to the
Strong handle list.

  • API/JSValue.mm:

(JSContainerConvertor::add):
(containerValueToObject):
(ObjcContainerConvertor::add):
(objectToValue):

6:36 PM Changeset in webkit [164088] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

JSManagedValue::dealloc modifies NSMapTable while iterating it
https://bugs.webkit.org/show_bug.cgi?id=128713

Reviewed by Geoffrey Garen.

Having to write a test for this revealed a bug in how addManagedReference:withOwner:
actually notifies JSManagedValues of new owners.

  • API/JSManagedValue.mm:

(-[JSManagedValue dealloc]):

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):

  • API/tests/testapi.mm:

(testObjectiveCAPI):

6:32 PM Changeset in webkit [164087] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

6:25 PM Changeset in webkit [164086] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed gardening of some timing out tests.
https://bugs.webkit.org/show_bug.cgi?id=128789.

  • platform/win/TestExpectations:
6:04 PM Changeset in webkit [164085] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Speculative Release build fix after r164077.

  • API/JSValue.mm:
5:59 PM Changeset in webkit [164084] by mmaxfield@apple.com
  • 7 edits in trunk/Source/WebCore

Remove position:sticky runtime flag
https://bugs.webkit.org/show_bug.cgi?id=128774

Reviewed by Simon Fraser.

Rollout of r128663

No new tests are necessary because there is no behavior change.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSParserMode.h:
  • dom/Document.cpp:
  • dom/Document.h:
  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:
5:53 PM Changeset in webkit [164083] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView stopLoading:]
https://bugs.webkit.org/show_bug.cgi?id=128784

Reviewed by Dan Bernstein.

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

(-[WKWebView stopLoading:]):

5:49 PM Changeset in webkit [164082] by dfarler@apple.com
  • 2 edits in trunk/Tools

DumpRenderTree fails to build: Perl support module building for OS X but linking for the simulator
https://bugs.webkit.org/show_bug.cgi?id=128780

Reviewed by Simon Fraser.

  • DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL:

Use xcrun -find clang instead of `xcrun --sdk $ENV{SDKROOT} -find clang,
which will pick up SDKROOT=iphonesimulator from building the Xcode aggregate target.

5:44 PM Changeset in webkit [164081] by rniwa@webkit.org
  • 12 edits
    25 deletes in trunk

Unreviewed, rolling out r164073 and r164080.
http://trac.webkit.org/changeset/164073
http://trac.webkit.org/changeset/164080
https://bugs.webkit.org/show_bug.cgi?id=128781

Broke Mac builds (Requested by rniwa on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2014-02-13

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

LayoutTests:

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-div.html: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-select.html: Removed.
5:30 PM Changeset in webkit [164080] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix for Mountain Lion.

  • DumpRenderTree/mac/EventSendingController.mm: Provide definition

for kCGScrollWheelEventScrollPhase if it isn't found in the
system headers.

5:24 PM Changeset in webkit [164079] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add -[WKWebView activeURL]
https://bugs.webkit.org/show_bug.cgi?id=128777

Reviewed by Dan Bernstein.

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

(-[WKWebView activeURL]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeActiveURL):
(WebKit::NavigationState::didChangeActiveURL):

5:17 PM Changeset in webkit [164078] by zoltan@webkit.org
  • 6 edits
    1 add in trunk/PerformanceTests

[CSS Shapes] Add performance test for complex polygon with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128769

Reviewed by Ryosuke Niwa.

This patch modifies the logic of createShapeOutsideTest to accept multiple
CSS properties from the test. The patch adds performance test for complex
polygon shape (self intersecting at multiple places) case, moreover we
apply shape-margin on the polygon also.

  • Layout/Shapes/ShapeOutsideContentBox.html:
  • Layout/Shapes/ShapeOutsideInset.html:
  • Layout/Shapes/ShapeOutsidePolygonWithMargin.html: Added.
  • Layout/Shapes/ShapeOutsideRaster.html:
  • Layout/Shapes/ShapeOutsideSimplePolygon.html:
  • Layout/Shapes/resources/shapes.js:
5:06 PM Changeset in webkit [164077] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

Added a vector of Strong<Unknown> references in the 2 containers, and append
the newly created JSValues to those vectors. This will keep all those JS objects
alive for the duration of the conversion.

  • API/JSValue.mm:

(JSContainerConvertor::add):
(ObjcContainerConvertor::add):

4:35 PM Changeset in webkit [164076] by Gustavo Noronha Silva
  • 7 edits
    1 add in trunk

[GTK][CMake] Generate GObject DOM bindings .symbols files
https://bugs.webkit.org/show_bug.cgi?id=126210

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: add checking DOM bindings API as a dependency

for documentation generation.

Source/WebCore:

No new tests. Build change only.

  • CMakeLists.txt: list Quota module files and IDLs even if the feature

is disabled, for GTK, since we rely on that for our DOM bindings.

  • PlatformGTK.cmake: add a new target to check for DOM symbols API by

running the new python script.

  • bindings/gobject/GNUmakefile.am: call the new python script instead

of using a custom rule.

Tools:

  • gtk/check-gdom-symbols: Added. Checks symbols compatibility.

(should_update_symbols_file):

4:30 PM Changeset in webkit [164075] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

text-decoration-skip: ink skips randomly when using SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=128709

Reviewed by Simon Fraser.

Source/WebCore:

This patch simply disables skipping underlines being used with SVG fonts.
It's a stopgap until we can support skipping properly with SVG fonts.

Test: svg/custom/svg-fonts-skip-ink.html

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::ctFont):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

LayoutTests:

This text checks that some text without descenders in an SVG font renders the same with and
without text-decoration-skip: ink.

  • svg/custom/svg-fonts-skip-ink-expected.html: Added.
  • svg/custom/svg-fonts-skip-ink.html: Added.
4:22 PM Changeset in webkit [164074] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Added GetMyArgumentsLength to FTL
https://bugs.webkit.org/show_bug.cgi?id=128758

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

  • tests/stress/ftl-getmyargumentslength.js: Added.

(foo):

4:22 PM Changeset in webkit [164073] by Brent Fulgham
  • 12 edits
    37 adds in trunk

Create some latched scrolling tests.
https://bugs.webkit.org/show_bug.cgi?id=127606
<rdar://problem/15911348>

Reviewed by Simon Fraser.

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]): Update to recognize
the new "mouseScrollByX:andY:withWheel:andMomentumPhases:" selector.
(+[EventSendingController webScriptNameForSelector:]): Ditto.
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Implement
the new wheel event sender.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Add declaration

of new mouseScrollByWithWheelAndMomentumPhases method.

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Added

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Add stub for iOS.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle): Handle the new
mouseScrollByWithWheelAndMomentumPhases message.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Handle the
new mouseScrollByWithWheelAndMomentumPhases.

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide stub that
relays to the standard mouse wheel handler.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Ditto.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide implementation
of mouse wheel gesture method.

LayoutTests:

Add a series of tests to cover desired behavior with wheel events (including momentum).
This behavior is specific to the Mac platform, so is limited to the platform/mac and
platform/mac-wk2 directories.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Added.
  • platform/mac/fast/scrolling: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div.html: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select.html: Added.
4:22 PM Changeset in webkit [164072] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

Fix the iOS build after <http://trac.webkit.org/changeset/164064

  • wtf/Platform.h:
3:57 PM Changeset in webkit [164071] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/164066.

It broke tests and it was just plain wrong.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):

  • runtime/Structure.h:

(JSC::Structure::takesSlowPathInDFGForImpureProperty):

3:41 PM Changeset in webkit [164070] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix.

Fixed typo.

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::run):

3:35 PM Changeset in webkit [164069] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Change FTL stack check to use VM's stackLimit
https://bugs.webkit.org/show_bug.cgi?id=128561

Reviewed by Filip Pizlo.

Changes FTL function entry to check the call frame register against the FTL
specific stack limit (VM::m_ftlStackLimit) and throw an exception if the
stack limit has been exceeded. Updated the exception handling code to have
a second entry that will unroll the current frame to the caller, since that
is where the exception should be processed.

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):

  • ftl/FTLState.h:
  • runtime/VM.h:

(JSC::VM::addressOfFTLStackLimit):

3:34 PM Changeset in webkit [164068] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the ARM build when HAVE_ARM_NEON_INTRINSICS is enabled

Add !HAVE(ARM_NEON_INTRINSICS)-guard around file-level inline function arithmeticSoftware to
avoid an unused function compiler warning when building with ARM Neon intrinsics.

  • platform/graphics/filters/FEComposite.cpp:
3:33 PM Changeset in webkit [164067] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView goToBackForwardListItem:]
https://bugs.webkit.org/show_bug.cgi?id=128773

Reviewed by Andreas Kling.

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

(-[WKWebView goToBackForwardListItem:]):

3:31 PM Changeset in webkit [164066] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

GetByIdStatus shouldn't call takesSlowPathInDFGForImpureProperty() for self accesses, and calling that method should never assert about anything
https://bugs.webkit.org/show_bug.cgi?id=128772

Reviewed by Mark Hahnenberg.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):

  • runtime/Structure.h:

(JSC::Structure::takesSlowPathInDFGForImpureProperty):

3:28 PM Changeset in webkit [164065] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/PerformanceTests

[CSS Shapes] Add performance test for raster shape
https://bugs.webkit.org/show_bug.cgi?id=128746

Reviewed by Ryosuke Niwa.

This patch adds performance testing for image valued shape-outside.
The test is skipped by default for now.

  • Layout/Shapes/ShapeOutsideRaster.html: Added.
  • Layout/Shapes/resources/shape.gif: Added.
3:17 PM Changeset in webkit [164064] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Disable HAVE_ARM_NEON_INTRINSICS

For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
to audit the applicable code before we enable this define.

  • wtf/Platform.h:
3:07 PM Changeset in webkit [164063] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add some RELEASE_ASSERTs to catch JSLock bugs earlier
https://bugs.webkit.org/show_bug.cgi?id=128762

Reviewed by Mark Lam.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • runtime/JSLock.cpp:

(JSC::JSLock::DropAllLocks::DropAllLocks):

3:04 PM Changeset in webkit [164062] by beidson@apple.com
  • 5 edits in trunk

IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=128763

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests (Covered by three existing tests)

  • platform/KeyedCoding.h:

(WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.

LayoutTests:

  • platform/mac-wk2/TestExpectations: One test passes, one passes with expectation changes, and the third is now a text failure.
  • storage/indexeddb/key-type-array-expected.txt:
3:02 PM Changeset in webkit [164061] by commit-queue@webkit.org
  • 11 edits in trunk

[css3-text] Support -webkit-text-decoration-skip: objects
https://bugs.webkit.org/show_bug.cgi?id=128723

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-02-13
Reviewed by Dean Jackson.

Source/WebCore:

Implemented 'objects' value of text-decoration-skip.
http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip

This is initial value and same behavior without
ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
added parser code and constant for 'objects'.

Changed the initial value of text-decoration-skip.

The current implementation parses 'none', but the rendering code is
not match the spec, so this patch added FIXME to the rendering code.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipFlagsToCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTextDecorationSkip):

  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::valueToDecorationSkip):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Added 'objects' value to the current test case.
Added getComputedStyle() test to test renderTextDecorationSkipFlagsToCSSValue() code.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
2:59 PM Changeset in webkit [164060] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix ARM NEON build following <http://trac.webkit.org/changeset/164058>
(https://bugs.webkit.org/show_bug.cgi?id=128767)

I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
2:46 PM Changeset in webkit [164059] by fpizlo@apple.com
  • 38 edits
    11 adds in trunk/Source

Hoist and combine array bounds checks
https://bugs.webkit.org/show_bug.cgi?id=125433

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

This adds a phase for reasoning about overflow checks and array bounds checks. It's
block-local, and removes both overflow checks and bounds checks in one go.

This also improves reasoning about commutative operations, and CSE between
CheckOverflow and Unchecked arithmetic.

This strangely uncovered a DFG backend bug where we were trying to extract an int32
from a constant even when that constant was just simply a number. I fixed that bug.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::set):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

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

  • dfg/DFGArithMode.h:

(JSC::DFG::subsumes):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::int32ToDoubleCSE):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGEdge.cpp:

(JSC::DFG::Edge::dump):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::sanitized):
(JSC::DFG::Edge::hash):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueOfInt32Constant):

  • dfg/DFGInsertionSet.h:

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

  • dfg/DFGIntegerCheckCombiningPhase.cpp: Added.

(JSC::DFG::IntegerCheckCombiningPhase::IntegerCheckCombiningPhase):
(JSC::DFG::IntegerCheckCombiningPhase::run):
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
(JSC::DFG::IntegerCheckCombiningPhase::rangeKeyAndAddend):
(JSC::DFG::IntegerCheckCombiningPhase::isValid):
(JSC::DFG::IntegerCheckCombiningPhase::insertAdd):
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd):
(JSC::DFG::performIntegerCheckCombining):

  • dfg/DFGIntegerCheckCombiningPhase.h: Added.
  • dfg/DFGNode.h:

(JSC::DFG::Node::willHaveCodeGenOrOSR):

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

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAdd):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFalse):

  • runtime/Identifier.h:
  • runtime/Intrinsic.h:
  • runtime/JSObject.h:
  • tests/stress/get-by-id-untyped.js: Added.

(foo):

  • tests/stress/inverted-additive-subsumption.js: Added.

(foo):

  • tests/stress/redundant-add-overflow-checks.js: Added.

(foo):

  • tests/stress/redundant-array-bounds-checks-addition-skip-first.js: Added.

(foo):
(arraycmp):

  • tests/stress/redundant-array-bounds-checks-addition.js: Added.

(foo):
(arraycmp):

  • tests/stress/redundant-array-bounds-checks-unchecked-addition.js: Added.

(foo):
(arraycmp):

  • tests/stress/redundant-array-bounds-checks.js: Added.

(foo):
(arraycmp):

  • tests/stress/tricky-array-bounds-checks.js: Added.

(foo):
(arraycmp):

Source/WTF:

Reviewed by Mark Hahnenberg.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/HashMethod.h: Added.

(WTF::HashMethod::operator()):

2:45 PM Changeset in webkit [164058] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
https://bugs.webkit.org/show_bug.cgi?id=128767

Reviewed by Dean Jackson.

This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.

Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
an uninitialized variable compiler warning in the existing code.

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:

(WebCore::FEComposite::computeArithmeticPixelsNeon):

2:34 PM Changeset in webkit [164057] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL should be OK with compact_unwind in a data section
https://bugs.webkit.org/show_bug.cgi?id=128756

Reviewed by Mark Hahnenberg.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):

2:18 PM Changeset in webkit [164056] by graouts@webkit.org
  • 3 edits in trunk/Tools

Unreviewed. changing my email address.

2:13 PM Changeset in webkit [164055] by timothy@apple.com
  • 1 edit in trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp

Attempt to fix LevelDB builds.

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

Make WKWebViewConfigurationPrivate.h private
https://bugs.webkit.org/show_bug.cgi?id=128761

Reviewed by Tim Horton.

  • WebKit2.xcodeproj/project.pbxproj:
1:55 PM Changeset in webkit [164053] by mmaxfield@apple.com
  • 19 edits
    2 adds in trunk

During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
https://bugs.webkit.org/show_bug.cgi?id=128688

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adds a field, m_needsPositionStyleConversion, to StyledMarkupAccumulator.

Also, renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

Test: editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createMarkupInternal):

  • page/Settings.in:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebKit/mac:

Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences shouldConvertPositionStyleOnCopy]):
(-[WebPreferences setShouldConvertPositionStyleOnCopy:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetShouldConvertPositionStyleOnCopy):
(WKPreferencesGetShouldConvertPositionStyleOnCopy):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

Performs a copy of the contents of a particular div, rather than the entire body. Makes sure that
no position:fixed -> position:absolute conversion occurs.

  • editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt:
  • editing/pasteboard/copy-paste-converts-sticky-and-fixed.html:
  • editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy-expected.txt: Added.
  • editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html: Added.
1:38 PM Changeset in webkit [164052] by BJ Burg
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: DataGrid should support editing tables with arbitrary columns
https://bugs.webkit.org/show_bug.cgi?id=128619

Reviewed by Timothy Hatcher.

The data grid editing code should work with any columns, but was previously
hardcoded with the column identifiers used by DOMStorageView. This patch
makes the editing code work with any column identifiers. It also fixes some
bugs in previous/next navigation during data entry.

  • UserInterface/DOMStorageContentView.css: Highlight missing keys and values.

(.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
(.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):

  • UserInterface/DOMStorageContentView.js: Don't blow away the entire table

whenever the backend notifies us of an update to the storage object. This
caused the editing state to be destroyed when values were entered interactively.

(WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
passed to DOMStorageObject.getEntries().
(WebInspector.DOMStorageContentView.prototype.itemsCleared):
(WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
of the table rows after backend tells us about item additions or updates.

(WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
of the table rows after backend tells us about item additions or updates.

(WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
built-in sorting function.

(WebInspector.DOMStorageContentView.prototype._deleteCallback):
(WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force
recreation of the entire table whenever editing finishes. Perform most
of the error checking and editing logic here, including when to insert a
new placeholder row, and when to commit the entered values to DOM storage.

  • UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries

in the model so we can detect duplicate entries. Remove unused id arguments.

(WebInspector.DOMStorageObject):
(WebInspector.DOMStorageObject.prototype.get entries):
(WebInspector.DOMStorageObject.prototype.itemsCleared):
(WebInspector.DOMStorageObject.prototype.itemRemoved):
(WebInspector.DOMStorageObject.prototype.set this):
(WebInspector.DOMStorageObject.prototype.itemAdded):
(WebInspector.DOMStorageObject.prototype.set var):
(WebInspector.DOMStorageObject.prototype.itemUpdated):

  • UserInterface/DataGrid.js:

(.sortDataGrid):
(WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid
sortNodes() implementation.
(WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed
from _startEditingColumnOfDataGridNode. It's easier to understand the navigation
code when presented in terms of adjusting column indexes rather than identifiers.

(WebInspector.DataGrid.prototype._startEditing):
(WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which
column and row to edit next and whether the table can be sorted before the
next cell edit begins.

(WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for
the above which handles sorting and beginning the next cell edit.

(WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods.
(WebInspector.DataGrid.prototype._editingCancelled): Add an assert.
(WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten.
(WebInspector.DataGrid.prototype.addPlaceholderNode):
(WebInspector.DataGrid.prototype.removeChild):
(WebInspector.DataGrid.prototype.):
(WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying
of all nodes into a separate array. Defer sorting if the user is in the
middle of editing a cell. Make placeholder nodes always sort to the bottom
regardless of the sort column identifier and sort direction.

(WebInspector.DataGridNode.prototype._attach):
(WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode.
(WebInspector.PlaceholderDataGridNode.prototype.makeNormal):

  • UserInterface/StorageManager.js: Don't pass unused id argument.

(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):

1:37 PM Changeset in webkit [164051] by timothy@apple.com
  • 11 edits in trunk/Source

Enable inspection of recently used IndexedDB databases.

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

Reviewed by Brady Eidson & Joseph Pecoraro.

Source/WebCore:

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::getDatabaseNames):

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:

(WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):

  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Fix up the arguments passed to getDatabaseNames.

  • WebCore.xcodeproj/project.pbxproj:

Make DOMStringList.h private so WebKit2 can use it.

  • inspector/InspectorIndexedDBAgent.cpp:

Modernize the loops and remove some PLATFORM(COCOA) ifdefs to
compile the code.

  • inspector/protocol/IndexedDB.json: Use number for version to

allow larger values instead of clamping to int.

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::sharedRecentDatabaseNameMap):
(WebKit::combinedSecurityOriginIdentifier):
(WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
(WebKit::WebIDBFactoryBackend::getDatabaseNames):
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):
Keep track of recently used database names per security-origin pair.
Implement getDatabaseNames to return the recently used names.

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

Fix up the arguments passed to getDatabaseNames.

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

Fix build.

  • UIProcess/API/Cocoa/WKWebView.mm:

(layoutMilestones):

1:14 PM Changeset in webkit [164049] by andersca@apple.com
  • 6 edits
    1 copy in trunk/Source/WebKit2

Add rendering progress events SPI
https://bugs.webkit.org/show_bug.cgi?id=128752

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _observedRenderingProgressEvents]):
(layoutMilestones):
(-[WKWebView _setObservedRenderingProgressEvents:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(NS_OPTIONS):

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::renderingProgressEvents):
(WebKit::NavigationState::LoaderClient::didLayout):

  • WebKit2.xcodeproj/project.pbxproj:
12:46 PM Changeset in webkit [164048] by BJ Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar
https://bugs.webkit.org/show_bug.cgi?id=128550

Reviewed by Timothy Hatcher.

Make the link element 'display: block', place it after the floated icons,
and set the appropriate CSS overflow properties.

  • UserInterface/ProbeDetailsSidebarPanel.css:

(.details-section.probe-set .options > a.go-to-link):

  • UserInterface/ProbeSetDetailsSection.js:

(WebInspector.ProbeSetDetailsSection):

12:45 PM Changeset in webkit [164047] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Copying (createMarkup) wrapping text results in space between wrapped lines stripped.
https://bugs.webkit.org/show_bug.cgi?id=63233

Source/WebCore:

The problem is StyledMarkupAccumulator uses renderedText and the space at
the end of the text has been stripped when the tag after the text was wrapped.

Patch by Chang Shu <cshu@webkit.org> on 2014-02-13
Reviewed by Ryosuke Niwa.

Test: editing/pasteboard/copy-text-with-wrapped-tag.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::handleTextBox):

  • editing/TextIterator.h:

Check the special case when the iterator runs over a range that is followed by a non-text box.
In this case, the possible last space has been collapsed and needs to be restored.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::renderedText):
Check if the range is followed by more nodes and pass this information to the constructed TextIterator.

LayoutTests:

Patch by Chang Shu <cshu@webkit.org> on 2014-02-13
Reviewed by Ryosuke Niwa.

The problem is StyledMarkupAccumulator uses renderedText and the space at
the end of the text has been stripped when the tag after the text was wrapped.

  • editing/pasteboard/copy-text-with-wrapped-tag-expected.txt: Added.
  • editing/pasteboard/copy-text-with-wrapped-tag.html: Added.
12:31 PM Changeset in webkit [164046] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Gaps for text-decoration-skip: ink are calculated assuming the glyph orientation is the same as the run orientation
https://bugs.webkit.org/show_bug.cgi?id=128718

Reviewed by Darin Adler.

Source/WebCore:

This is a stop-gap patch to make underlines in CJK text not look terrible. A long-term fix is to refactor
showGlyphsWithAdvances to move rotation logic into a common place that the text-decoration-skip: ink code
can use.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws text that has descenders that would be skipped over if the glyph orientation was the same
as the run orientation. However, it uses text-orientation: upright to make those two orientations not equal.
It then compares this to no skipping at all.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html: Added.
12:04 PM Changeset in webkit [164045] by Lucas Forschler
  • 2 edits in tags/Safari-538.16.5/Source/WebKit2

Merged r164031.

11:50 AM Changeset in webkit [164044] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.5/Source

Versioning.

11:47 AM Changeset in webkit [164043] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.5

New Tag.

11:32 AM Changeset in webkit [164042] by ap@apple.com
  • 5 edits in trunk

[Mac] Add a WebKit1 SPI to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128725

Reviewed by Anders Carlsson.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

  • WebView/WebUIDelegatePrivate.h:

Looks like UIDelegate is the closest we have to a reasonable place.

Tools:

  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webCryptoMasterKeyForWebView:]):

Use the SPI to specify a key.

10:56 AM Changeset in webkit [164041] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

IDB: TestExpectations cleanup

Unreviewed.

  • platform/mac-wk2/TestExpectations: More tests pass than fail, so only list failures.
10:52 AM Changeset in webkit [164040] by beidson@apple.com
  • 5 edits in trunk/LayoutTests

IDB: TestExpectations batch - HTTP tests

Unreviewed.

  • http/tests/security/cross-origin-indexeddb-allowed-expected.txt:
  • http/tests/security/cross-origin-indexeddb-expected.txt:
  • http/tests/security/resources/cross-origin-iframe-for-indexeddb.html:
  • platform/mac-wk2/TestExpectations: Two of the http tests are worker tests. They remain skipped. The other three pass with test updates.
10:45 AM Changeset in webkit [164039] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CStack Branch: VM::currentReturnThunkPC appears to be unused and should be removed
https://bugs.webkit.org/show_bug.cgi?id=127205

Reviewed by Geoffrey Garen.

Removed ununsed references to VM::currentReturnThunkPC.

  • jit/ThunkGenerators.cpp:

(JSC::arityFixup):

  • runtime/VM.h:
10:39 AM Changeset in webkit [164038] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

InsertIntoTextNodeCommand should get Settings from the Frame.
<https://webkit.org/b/128678>

EditCommands have a frame() accessor that returns a reference,
so there's no need to go through Document.

Reviewed by Anders Carlsson.

  • editing/InsertIntoTextNodeCommand.cpp:

(WebCore::InsertIntoTextNodeCommand::doApply):

10:36 AM Changeset in webkit [164037] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

iOS build fix.

  • WebView/WebView.mm:

(+[WebView registerForMemoryNotifications]):

10:31 AM Changeset in webkit [164036] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Document should be constructable
https://bugs.webkit.org/show_bug.cgi?id=115643

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-13
Reviewed by Darin Adler.

Source/WebCore:

http://www.w3.org/TR/2014/WD-dom-20140204/#interface-document
Make Document constructable so that one can do "new Document"
instead of "document.implementation.createHTMLDocument()".

Test: fast/dom/Document/document-constructor.html

  • dom/Document.cpp:

(WebCore::Document::create):
(WebCore::Document::origin):

  • dom/Document.h:
  • dom/Document.idl:

LayoutTests:

  • fast/dom/Document/document-constructor-expected.txt: Added.
  • fast/dom/Document/document-constructor.html: Added.
  • fast/dom/dom-constructors-expected.txt:
  • fast/dom/dom-constructors.html:
10:07 AM Changeset in webkit [164035] by commit-queue@webkit.org
  • 24 edits
    2 moves in trunk

[CSS Grid Layout] Rename named areas property
https://bugs.webkit.org/show_bug.cgi?id=127990

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-02-13
Reviewed by Sergio Villar Senin.

From Blink r165891 by <Manuel Rego Casasnovas>

The property 'grid-template' has been renamed to 'grid-template-areas'
in the last two versions of the spec.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSGridTemplateAreasValue.cpp: Renamed from Source/WebCore/css/CSSGridTemplateValue.cpp.

(WebCore::CSSGridTemplateAreasValue::CSSGridTemplateAreasValue):
(WebCore::stringForPosition):
(WebCore::CSSGridTemplateAreasValue::customCSSText):

  • css/CSSGridTemplateAreasValue.h: Renamed from Source/WebCore/css/CSSGridTemplateValue.h.

(WebCore::CSSGridTemplateAreasValue::create):
(WebCore::CSSGridTemplateAreasValue::~CSSGridTemplateAreasValue):
(WebCore::CSSGridTemplateAreasValue::gridAreaMap):
(WebCore::CSSGridTemplateAreasValue::rowCount):
(WebCore::CSSGridTemplateAreasValue::columnCount):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateAreas):

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isGridTemplateAreasValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

Source/WebInspectorUI:

  • Tools/PrettyPrinting/css.js:
  • UserInterface/External/CodeMirror/css.js:

LayoutTests:

  • fast/css-grid-layout/grid-item-area-get-set.html:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
  • fast/css-grid-layout/grid-template-get-set-expected.txt:
  • fast/css-grid-layout/grid-template-get-set.html:
10:06 AM Changeset in webkit [164034] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the last remnants of Maemo support
https://bugs.webkit.org/show_bug.cgi?id=85238

Patch by Adrian Bunk <bunk@stusta.de> on 2014-02-13
Reviewed by Ryosuke Niwa.

  • plugins/npapi.h:
10:05 AM Changeset in webkit [164033] by beidson@apple.com
  • 8 edits in trunk/LayoutTests

IDB: TestExpectations batch - "transaction-abort.html to versionchangerequest-activedomobject.html”

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-exclusive-expected.txt:
10:00 AM Changeset in webkit [164032] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Code cleanup: remove gcc<4.7 guards.
https://bugs.webkit.org/show_bug.cgi?id=128729

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-13
Reviewed by Anders Carlsson.

Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
as WK does not compile with earlier gcc versions.

Source/JavaScriptCore:

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::cacheFlush):

  • interpreter/StackVisitor.cpp:

(JSC::printif):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/Platform.h:
9:30 AM Changeset in webkit [164031] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Disable XPC for plug-ins that need executable heap
https://bugs.webkit.org/show_bug.cgi?id=128744
<rdar://problem/15962958>

Reviewed by Dan Bernstein.

When switching to XPC for plug-ins, we accidentally broke the "feature"
where plug-ins can ask for the heap to be executable.

This breaks Silverlight, so just disable XPC for any plug-ins that need this.
<rdar://problem/16059483> tracks fixing this in the XPC service.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins
that require this feature.

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Set launchOptions.useXPC to false if launchOptions.executableHeap is true.

9:24 AM Changeset in webkit [164030] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: fast/workers/use-machine-stack.html hits Heap::isMarked(cell) assertion
https://bugs.webkit.org/show_bug.cgi?id=128745

8:22 AM Changeset in webkit [164029] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Add or remove expectations for some media layout tests
https://bugs.webkit.org/show_bug.cgi?id=128535

Unreviewed EFL layout tests gardening

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-02-13

  • platform/efl/TestExpectations:
  • platform/efl-wk1/TestExpectations:
5:25 AM Changeset in webkit [164028] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit/efl

[EFL][WK1] Do not include libsoup header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128701

Reviewed by Gyuyoung Kim.

Although ewebkit used libsoup internally, it's not good for EFL developers
to use it.
Instead, we should provide some wrapper APIs like ewk_network_proxy_uri_set
for future changes.

  • ewk/ewk_network.cpp: Removed soup related header,APIs and comments.

(ewk_network_tls_ca_certificates_path_set):

  • ewk/ewk_network.h: Ditto.
  • ewk/ewk_view.cpp: Ditto.
  • ewk/ewk_view.h: Ditto.
5:20 AM Changeset in webkit [164027] by ChangSeok Oh
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Removed unexpected pass tests from TextExpections

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
4:58 AM Changeset in webkit [164026] by ChangSeok Oh
  • 9 edits in trunk/Source/WebCore

Support ANGLE_instanced_arrays for GLES backend.
https://bugs.webkit.org/show_bug.cgi?id=128579

Reviewed by Dean Jackson.

Add some APIs to Extensions3D to support ANGLE_instanced_arrays for GLES backend.
At the same time, drawArraysInstanced, drawElementsInstanced and vertexAttribDivisor
are moved from GC3DOpenGL.cpp to GC3DOpenGLCommon.cpp since they could be shareable
through Extensions3D.

Covered by fast/canvas/webgl/angle-instanced-arrays.html

  • platform/graphics/Extensions3D.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::drawArraysInstanced):
(WebCore::Extensions3DOpenGLES::drawElementsInstanced):
(WebCore::Extensions3DOpenGLES::vertexAttribDivisor):
(WebCore::Extensions3DOpenGLES::supportsExtension):

  • platform/graphics/opengl/Extensions3DOpenGLES.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::drawArraysInstanced):
(WebCore::GraphicsContext3D::drawElementsInstanced):
(WebCore::GraphicsContext3D::vertexAttribDivisor):

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
4:35 AM Changeset in webkit [164025] by Michał Pakuła vel Rutka
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/mathml/presentation/mspace-children-expected.txt: Added EFL expectation after r163626.
3:28 AM Changeset in webkit [164024] by calvaris@igalia.com
  • 51 edits
    2 adds in trunk

[GTK] MEDIA_CONTROLS_SCRIPT support
https://bugs.webkit.org/show_bug.cgi?id=123097

Reviewed by Jer Noble.

.:

Part of the Autotools and CMake structure to build the media
controls script.

  • Source/autotools/SetupWebKitFeatures.m4: Activated the media

controls script by default.

  • Source/cmake/OptionsGTK.cmake: Activated the media controls

script by default.

  • Source/cmake/WebKitFeatures.cmake: Created the option to

activate the controls script.

  • Source/cmakeconfig.h.cmake: Created the define template the the

media controls script.

Source/WebCore:

WebKitGTK+ multimedia controls are now managed from Javascript
code. Apple controls are kept as common code and GTK+ ones are
subclassed for the specific behavior.

Both CMake and Autotools build support is provided.

  • CMakeLists.txt: Added support to build the media controls

script and their associated files.

  • GNUmakefile.am: Added support to generate the C++ code from the

Javascript.

  • GNUmakefile.list.am: Added the media controls script associated

files.

  • Modules/mediacontrols/MediaControlsHost.cpp:
  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:

(WebCore::MediaControlsHost::supportsFullscreen): Added attribute
to know if the element supports fullscreen.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleWrapperMouseOut):
(Controller.prototype.updatePlaying): Use clear and
resetHideControlsTimer.
(Controller.prototype.clearHideControlsTimer): Added.
(Controller.prototype.resetHideControlsTimer): Added.

  • Modules/mediacontrols/mediaControlsGtk.js: Added.

(createControls): Calls ControllerGtk.
(ControllerGtk): Calls the superclass.
(contains): Defines a function to know if an object is contained
in an array.
(ControllerGtk.prototype.inheritFrom): Copies the method of the
superclass that are not reimplemented in the subclass.
(ControllerGtk.prototype.createControls): Calls the superclass and
create the remaining needed elements.
(ControllerGtk.prototype.configureInlineControls): Configures the
controls.
(ControllerGtk.prototype.setStatusHidden): Redefined empty.
(ControllerGtk.prototype.updateTime): Writes the duration and
current position. As it was so far, current time also includes
duration. If current time is bigger than 0 we show that.
(ControllerGtk.prototype.showCurrentTime): Shows current time and
hides duration label (that is included in current time).
(ControllerGtk.prototype.handlePlay): Calls the superclass and
force showing the current time.
(ControllerGtk.prototype.handleTimeUpdate): Always update the
time.
(ControllerGtk.prototype.handleMuteButtonMouseOver): Shows the
volume slider.
(ControllerGtk.prototype.handleVolumeBoxMouseOut): Hides the
volume slider.
(ControllerGtk.prototype.addControls): Adds the enclosure instead
of the panel directly. Panel is, of course, part of the enclosure.
(ControllerGtk.prototype.updateReadyState): Shows the fullscreen
button only if fullscreen is supported. Sets the volume in up or
down mode depending on its position in the document. Updates the
volume.
(ControllerGtk.prototype.setControlsType): Creates the controls it
they were not created before. Unlike Apple ones, WebKitGTK+
fullscreen and inline controls are the same.
(ControllerGtk.prototype.updatePlaying): Calls the superclass and
shows the controls if not playing.
(ControllerGtk.prototype.handleCaptionButtonClicked): Redefined
empty. To be coherent with volume, that also shows a popup, this
is handled with mouseover instead of click.
(ControllerGtk.prototype.buildCaptionMenu): Calls the superclass
to build the menu, sets some listeners, centers the popup with the
captions button, keeps the current height and sets the style to 0,
which is needed to animate it.
(ControllerGtk.prototype.destroyCaptionMenu): Hides the caption menu.
(ControllerGtk.prototype.showCaptionMenu): Resets the height to
its original. We don't animate it with CSS because we would need
to specify a height in the style and we don't know it in advance.
(ControllerGtk.prototype.hideCaptionMenu): Sets height to 0.
(ControllerGtk.prototype.captionMenuTransitionEnd): When the
captions menu transtition ends, it is destroyed.
(ControllerGtk.prototype.handleCaptionButtonMouseOver): Creates
the caption menu and shows it.
(ControllerGtk.prototype.handleCaptionButtonMouseOut): Hides the
captions menu.
(ControllerGtk.prototype.handleCaptionMouseOut): Hides the
captions menu.

  • PlatformGTK.cmake: Added WebCore to the target link libraries

and initialized the variables needed at CMakelists.txt

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-panel)
(video::-webkit-media-controls-panel): Added transtion based on opacity.
(video::-webkit-media-controls-panel): Set video opacity to 0.
(video::-webkit-media-controls-panel.paused): Set video opacity to 1.
(audio::-webkit-media-controls-panel div.mute-box): Set the same
style as the mute button to preserve the layout.
(audio::-webkit-media-controls-panel div.mute-box.hidden): Sets
the display to none.
(audio::-webkit-media-controls-mute-button)
(video::-webkit-media-controls-mute-button): Removed the outline
and the margin that is managed by the mute box now.
(audio::-webkit-media-controls-play-button)
(video::-webkit-media-controls-play-button): Removed the outline.
(audio::-webkit-media-controls-time-remaining-display)
(video::-webkit-media-controls-time-remaining-display): Removed
the display.
(audio::-webkit-media-controls-current-time-display)
(video::-webkit-media-controls-current-time-display): Added the
display block.
(video::-webkit-media-controls-time-remaining-display): Set
display none.
(video::-webkit-media-controls-time-remaining-display.show): Set
display block.
(video::-webkit-media-controls-time-remaining-display.hidden): Set
display none.
(audio::-webkit-media-controls-timeline)
(video::-webkit-media-controls-timeline): Removed outline.
(audio::-webkit-media-controls-volume-slider-container)
(video::-webkit-media-controls-volume-slider-container): Set
overflow hidden and set a transition by height.
(video::-webkit-media-controls-volume-slider-container.hidden):
Set height 0.
(video::-webkit-media-controls-volume-slider-container.down): Set
bottom to be below the panel. Changed the border radius and
transition accordingly.
(video::-webkit-media-controls-panel .hidden.down): Sets default
bottom as 0.
(audio::-webkit-media-controls-volume-slider)
(video::-webkit-media-controls-volume-slider): Removed the outline.
(audio::-webkit-media-controls-toggle-closed-captions-button)
(video::-webkit-media-controls-toggle-closed-captions-button):
Removed the background that is painted from C++ and removed the
outline.
(video::-webkit-media-controls-closed-captions-container):
(video::-webkit-media-controls-closed-captions-container h3):
(video::-webkit-media-controls-closed-captions-container ul):
(video::-webkit-media-controls-closed-captions-container li):
(video::-webkit-media-controls-closed-captions-container li.selected): Changed
the style to make it more coherent with the rest of the controls.
(audio::-webkit-media-controls-fullscreen-button)
(video::-webkit-media-controls-fullscreen-button): Removed the outline.
(audio::-webkit-media-controls-panel button.hidden): Sets the
display to none.

  • html/HTMLMediaElement.cpp: UserAgentScripts.h is not needed here

and build cmake build would need for changes to get this compiled.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::nodeHasPseudo): Added. Checks if a node has a certain
pseudo.
(WebCore::nodeHasClass): Added. Checks if a node has a certain
class.
(WebCore::supportsFocus): Removed some element types as outline is
now handled in CSS.
(WebCore::RenderThemeGtk::paintMediaPlayButton): Checks if the
play button has the class paused to show the play icon instead of
the pause one.
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
Added. Paints the captions icon.
(WebCore::RenderThemeGtk::mediaControlsScript): Added. Loads the
bundled scripts.

  • platform/gtk/RenderThemeGtk.h: Added the mediaControlsScript

method and declared the redefinition of the method to play the
captions icon.

LayoutTests:

Tests infrastructure for the media controls script.

  • media/click-volume-bar-not-pausing.html:
  • media/media-volume-slider-rendered-normal.html:
  • media/video-controls-captions-trackmenu-hide-on-click-outside.html:
  • media/video-volume-slider.html: Fixed.
  • platform/gtk-wk2/TestExpectations: Tests flagged.
  • platform/gtk/TestExpectations: Changed tests flags.
  • platform/gtk/accessibility/media-element-expected.txt:
  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt: Rebaseline.
  • platform/gtk/fullscreen/video-controls-override-expected.txt: Added.
  • platform/gtk/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
  • platform/gtk/media/audio-controls-rendering-expected.png:
  • platform/gtk/media/audio-controls-rendering-expected.txt:
  • platform/gtk/media/audio-repaint-expected.txt:
  • platform/gtk/media/controls-after-reload-expected.png:
  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-strict-expected.png:
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.png:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/controls-without-preload-expected.png:
  • platform/gtk/media/controls-without-preload-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.png:
  • platform/gtk/media/video-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.png:
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-empty-source-expected.txt:
  • platform/gtk/media/video-no-audio-expected.png:
  • platform/gtk/media/video-no-audio-expected.txt:
  • platform/gtk/media/video-volume-slider-expected.png:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/gtk/media/video-zoom-controls-expected.png:
  • platform/gtk/media/video-zoom-controls-expected.txt:

Rebaseline.

12:42 AM Changeset in webkit [164023] by svillar@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Moved myself to the list of reviewers.

  • Scripts/webkitpy/common/config/contributors.json:
12:39 AM Changeset in webkit [164022] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

12:36 AM Changeset in webkit [164021] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Speculative build fix after r163998.

  • DumpRenderTree/ios/PerlSupport/Makefile:
12:36 AM Changeset in webkit [164020] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.18

New tag.

Feb 12, 2014:

10:52 PM Changeset in webkit [164019] by beidson@apple.com
  • 5 edits in trunk/LayoutTests

IDB: TestExpectations batch - "odd-strings.html to structured-clone.html”

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/request-result-cache-expected.txt:
10:50 PM Changeset in webkit [164018] by mark.lam@apple.com
  • 9 edits in trunk/Source

No need to save reservedZoneSize when dropping the JSLock.
<https://webkit.org/b/128719>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The reservedZoneSize does not change due to the VM being run on a different
thread. Hence, there is no need to save and restore its value. Instead of
calling updateReservedZoneSize() to update the stack limit, we now call
setStackPointerAtVMEntry() to do the job. setStackPointerAtVMEntry()
will update the stackPointerAtVMEntry and delegate to updateStackLimit() to
update the stack limit based on the new stackPointerAtVMEntry.

  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • Previously, we initialize stackPointerAtVMEntry in VMEntryScope. This means that the stackPointerAtVMEntry may not be initialize when we instantiate the ErrorHandlingScope. And so, we needed to initialize the stackPointerAtVMEntry in the ErrorHandlingScope constructor if it's not already initialized.

Now that we initialize the stackPointerAtVMEntry when we lock the VM JSLock,
we are guaranteed that it will be initialized by the time we instantiate
the ErrorHandlingScope. Hence, we can change the ErrorHandlingScope code
to just assert that the stackPointerAtVMEntry is initialized instead.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • We no longer need to save the reservedZoneSize. Remove the related code.
  • runtime/JSLock.cpp:

(JSC::JSLock::lock):

  • When we grab the JSLock mutex for the first time, there is no reason why the stackPointerAtVMEntry should be initialized. By definition, grabbing the lock for the first time equates to entering the VM for the first time. Hence, we can just assert that stackPointerAtVMEntry is uninitialized, and initialize it unconditionally.

The only exception to this is if we're locking to regrab the JSLock in
grabAllLocks(), but grabAllLocks() will take care of restoring the
stackPointerAtVMEntry in that case after lock() returns. stackPointerAtVMEntry
should still be 0 when we've just locked the JSLock. So, the above assertion
always holds true.

Note: VM::setStackPointerAtVMEntry() will take care of calling
VM::updateStackLimit() based on the new stackPointerAtVMEntry.

  • There is no need to save the reservedZoneSize. The reservedZoneSize is set to Options::reservedZoneSize() when the VM is initialized. Thereafter, the ErrorHandlingScope will change it to Options::errorModeReservedZoneSize() when we're handling an error, and it will restore it afterwards. There is no other reason we should be changing the reservedZoneSize. Hence, we can remove the unnecessary code to save it here.

(JSC::JSLock::unlock):

  • Similarly, when the lockCount reaches 0 in unlock(), it is synonymous with exiting the VM. Hence, we should just clear the stackPointerAtVMEntry and update the stackLimit. Exiting the VM should have no effect on the VM reservedZoneSize. Hence, we can remove the unnecessary code to "restore" it.

(JSC::JSLock::dropAllLocks):

  • When dropping locks, we do not need to save the reservedZoneSize because the reservedZoneSize should remain the same regardless of which thread we are executing JS on. Hence, we can remove the unnecessary code to save the reservedZoneSize here.

(JSC::JSLock::grabAllLocks):

  • When re-grabbing locks, restoring the stackPointerAtVMEntry via VM::setStackPointerAtVMEntry() will take care of updating the stack limit. As explained above, there's no need to save the reservedZoneSize. Hence, there's no need to "restore" it here.
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::setStackPointerAtVMEntry):

  • Sets the stackPointerAtVMEntry and delegates to updateStackLimit() to update the stack limit based on the new stackPointerAtVMEntry.

(JSC::VM::updateStackLimit):

  • runtime/VM.h:

(JSC::VM::stackPointerAtVMEntry):

  • Renamed stackPointerAtVMEntry to m_stackPointerAtVMEntry and made it private. Added a stackPointerAtVMEntry() function to read the value.

Source/WTF:

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:
  • removed unnneeded m_savedReservedZoneSize.
10:40 PM Changeset in webkit [164017] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Another Windows test expectations update.

  • platform/win/TestExpectations:
10:31 PM Changeset in webkit [164016] by beidson@apple.com
  • 11 edits in trunk/LayoutTests

IDB: TestExpectations batch - "key-generator.html to objectStore-required-arguments.html"

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-cursor-expected.txt:
10:04 PM Changeset in webkit [164015] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Return immediately from DestroyPlugin IPC call
https://bugs.webkit.org/show_bug.cgi?id=128712

Reviewed by Anders Carlsson.

In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
starting.

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::destroyPlugin):

  • PluginProcess/WebProcessConnection.h:
  • PluginProcess/WebProcessConnection.messages.in:
9:52 PM Changeset in webkit [164014] by beidson@apple.com
  • 9 edits in trunk/LayoutTests

IDB: TestExpectations batch - "error-causes-abort-by-default.html to invalid-keys.html"

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/invalid-keys-expected.txt:
9:39 PM Changeset in webkit [164013] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

Update test expectations for Windows.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
9:29 PM Changeset in webkit [164012] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

IDB: TestExpectations batch - "data-corruption.html to duplicates.html"
https://bugs.webkit.org/show_bug.cgi?id=128711

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
8:47 PM Changeset in webkit [164011] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

IDB: TestExpectations batch - "cursor-added-bug.html to cursor-value.html"
https://bugs.webkit.org/show_bug.cgi?id=128706

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
8:43 PM Changeset in webkit [164010] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Pass the related page in the WebPageConfiguration struct
https://bugs.webkit.org/show_bug.cgi?id=128714

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):

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

DelayedReleaseScope in MarkedAllocator::tryAllocateHelper is wrong
https://bugs.webkit.org/show_bug.cgi?id=128641

Reviewed by Michael Saboff.

We were improperly handling the case where the DelayedReleaseScope
in tryAllocateHelper would cause us to drop the API lock, allowing
another thread to sneak in and allocate a new block after we had already
concluded that there were no more blocks to allocate out of.

The fix is to call tryAllocateHelper in a loop until we know for sure
that this did not happen.

There was also a race condition with the DelayedReleaseScope in addBlock.
We would add the block to the MarkedBlock's list, sweep it, and then return,
causing us to drop the API lock momentarily. Another thread could then
grab the lock, and allocate out of the new block to the point where the
free list was empty. Then we would return to the original thread, who thinks
it's impossible to not allocate successfully at this point.
Instead we should just let tryAllocate do all the hard work with correctly
sweeping and getting a valid result.

There was another race condition in didFinishIterating. We would call resumeAllocating,
which would create a DelayedReleaseScope. The DelayedReleaseScope would then release
API lock before we set m_isIterating back to false, which would potentially confuse
other threads.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryPopFreeList):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::addBlock):

  • heap/MarkedAllocator.h:
8:05 PM Changeset in webkit [164008] by ap@apple.com
  • 7 edits in trunk

Don't crash when SerializedScriptValue deserialization fails
https://bugs.webkit.org/show_bug.cgi?id=128657

Reviewed by Oliver Hunt.

Source/WebCore:

Test: crypto/subtle/postMessage-worker.html

  • bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneBase::fail): Don't assert on failure.
(WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
are not allowed.

LayoutTests:

  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/resources/postMessage-worker.js:
  • platform/mac/TestExpectations:

Unskip the test, and land (unimportant) failure results.

7:34 PM Changeset in webkit [164007] by BJ Burg
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

Web Replay: capture and replay nondeterminism of Date.now() and Math.random()
https://bugs.webkit.org/show_bug.cgi?id=128633

Reviewed by Filip Pizlo.

Upstream the only two sources of script-visible nondeterminism in JavaScriptCore.

The random seed for WeakRandom is memoized when the owning JSGlobalObject is
constructed. It is deterministically initialized during replay before any
scripts execute with the global object.

The implementations of Date.now() and new Date() eventually obtain the
current time from jsCurrentTime(). When capturing, we save return values of
jsCurrentTime() into the recording. When replaying, we use memoized values from
the recording instead of obtaining values from the platform-specific currentTime()
implementation. No other code calls jsCurrentTime().

  • DerivedSources.make: Add rules to make JSReplayInputs.h from JSInputs.json.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • replay/JSInputs.json: Added. Includes specifications for replay inputs

"GetCurrentTime" and "SetRandomSeed". Tests will be added for both input
cases once sufficient replay machinery has been added.

  • replay/NondeterministicInput.h: NondeterministicInput should not have

been marked 'final'.

  • runtime/DateConstructor.cpp:

(JSC::deterministicCurrentTime): Added. Load or store the current time depending
on what kind of InputCursor is attached to the JSGlobalObject.

(JSC::constructDate): Use deterministicCurrentTime().
(JSC::dateNow): Use deterministicCurrentTime().

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::setInputCursor): When setting a non-empty input cursor,
immediately store or load the "SetRandomSeed" input and initialize WeakRandom's
random seed with it. The input cursor (and thus random seed) must be set before
any scripts are evaluated with this JSGlobalObject.

  • runtime/WeakRandom.h:

(JSC::WeakRandom::WeakRandom): Add JSGlobalObject as a friend class.
(JSC::WeakRandom::initializeSeed): Extract the seed initialization into a
separate method so it can be called outside of the JSGlobalObject constructor.

7:02 PM Changeset in webkit [164006] by Bem Jones-Bey
  • 11 edits in trunk/Source/WebCore

[CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
https://bugs.webkit.org/show_bug.cgi?id=128685

Reviewed by Alexandru Chiculita.

The ShapeInfo hierarchy has grown organically as the spec has changed,
and the naming has become very stale and confusing. The spec is now in
Last Call, so it seems like a good time to take a stab towards better
naming that matches the spec terminology and is also more consistent
in general.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::imageChanged): Use new names.
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
(WebCore::shapeInfoRequiresRelayout): Ditto.
(WebCore::RenderBlock::computeShapeSize): Ditto.
(WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::logicalSizeForChild): This method makes it much

cleaner to set the reference box size.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionNewFloats): Use new names.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
(WebCore::RenderBox::imageChanged): Ditto.

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::getShapeImageMarginRect): Rename variables.
(WebCore::ShapeInfo<RenderType>::computedShape): More renames.

  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from

setShapeSize.

(WebCore::ShapeInfo::logicalLineTop): Use new names.
(WebCore::ShapeInfo::logicalLineBottom): Ditto.
(WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
(WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
(WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
(WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
(WebCore::ShapeInfo::logicalTopOffset): Use new names.
(WebCore::ShapeInfo::logicalLeftOffset): Ditto.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
(WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
(WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.

  • rendering/shapes/ShapeInsideInfo.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.

  • rendering/shapes/ShapeOutsideInfo.h:
6:03 PM Changeset in webkit [164005] by matthew_hanson@apple.com
  • 6 edits
    6 copies in branches/safari-537.75-branch

Merge r163579.

5:54 PM Changeset in webkit [164004] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add relatedWebView property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=128707

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration relatedWebView]):
(-[WKWebViewConfiguration setRelatedWebView:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
  • WebKit2.xcodeproj/project.pbxproj:
5:40 PM Changeset in webkit [164003] by matthew_hanson@apple.com
  • 15 edits
    2 copies in branches/safari-537.75-branch

Merge r162679 and r162820

5:32 PM Changeset in webkit [164002] by matthew_hanson@apple.com
  • 10 edits in branches/safari-537.75-branch/Source/WebKit2

Merge r162904

5:27 PM Changeset in webkit [164001] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
https://bugs.webkit.org/show_bug.cgi?id=128698

Reviewed by Tim Horton.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::advance): Make 16-bit copy when needed.
(WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
for word boundaries.

5:06 PM Changeset in webkit [164000] by beidson@apple.com
  • 7 edits in trunk/LayoutTests

IDB: TestExpectations batch - "aborted-versionchange-closes.html to createObjectStore-null-name.html"
https://bugs.webkit.org/show_bug.cgi?id=128703

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
4:39 PM Changeset in webkit [163999] by ap@apple.com
  • 8 edits in trunk

[WK2] Add a C API to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128702

Reviewed by Anders Carlsson.

Source/WebKit2:

Added a new version of WKContextClient, with a function that returns the key.

  • UIProcess/API/C/WKContext.h:
  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::copyWebCryptoMasterKey):

  • UIProcess/WebContextClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::copyWebCryptoMasterKey):
(WTR::TestController::initialize):
Return a hardcoded key.

4:38 PM Changeset in webkit [163998] by dfarler@apple.com
  • 5 edits in trunk/Tools

Upstream iOS old-run-webkit-tests for use with DumpRenderTree in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=127694

Reviewed by Simon Fraser.

This is a short-term effort to get layout tests working in the iOS simulator again.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Pass PLATFORM_NAME to the makefile.

  • DumpRenderTree/ios/PerlSupport/Makefile:

Cleanup.

  • Scripts/old-run-webkit-tests:

Added functions and some exceptions for the simulator.
(installAndLaunchDumpRenderTreeAppUsingNotification):
(openIPhoneSimulator):
(quitDumpRenderTreeAppUsingNotification):
(quitIPhoneSimulator):
(simulatorSessionUUID):
(openDiffTool):
(buildDumpTool):
(openDumpTool):
(closeDumpTool):
(dumpToolDidCrash):
(expectedDirectoryForTest):
(buildPlatformResultHierarchy):

  • Scripts/webkitdirs.pm:

Support functions for old-run-webkit-tests.
(determineIPhoneSimulatorVersion):
(iPhoneSimulatorVersion):

4:17 PM Changeset in webkit [163997] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add destinationFrame property to WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128700

Reviewed by Tim Horton.

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

(-[WKNavigationAction destinationFrame]):
(-[WKNavigationAction setDestinationFrame:]):

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

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

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

Forward declare WKNavigation in WKNavigationDelegate.h
https://bugs.webkit.org/show_bug.cgi?id=128699

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
3:14 PM Changeset in webkit [163995] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::childrenChanged does not necessarily have a page

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Rubber stamped by Enrica Casucci.

  • dom/Document.cpp:

(WebCore::Document::childrenChanged):

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

Expose scrollView on the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128697

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.h:
3:09 PM Changeset in webkit [163993] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Add a missing ": " between the URL and exception in STDOUT logs.

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

Reviewed by Joseph Pecoraro.

  • page/PageConsole.cpp:

(WebCore::PageConsole::addMessage): Print ": " after calling
printSourceURLAndPosition now that it does not print it for us.

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

Better iOS build fix.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Make these functions cross platform.

  • UIProcess/mac/WebPageProxyMac.mm:
2:54 PM Changeset in webkit [163991] by mhahnenberg@apple.com
  • 2 edits
    17 adds in trunk/Tools

Basic framework for a modern jsc CLI
https://bugs.webkit.org/show_bug.cgi?id=127435

Rubber stamped by Geoffrey Garen.

  • Scripts/build-jsc:
  • jsc-cli: Added.
  • jsc-cli/jsc-cli: Added.
  • jsc-cli/jsc-cli.xcodeproj: Added.
  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj: Added.
  • jsc-cli/jsc-cli/CLIInstance.h: Added.
  • jsc-cli/jsc-cli/CLIInstance.m: Added.

(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance run]):

  • jsc-cli/jsc-cli/JSModule.h: Added.
  • jsc-cli/jsc-cli/JSModule.m: Added.

(coreModules):
(isCoreModule):
(classForModule):
(coreModuleFullPath):
(resolveModuleAsFile):
(resolveModuleAsDirectory):
(nodeModulePaths):
(resolveAsNodeModule):
(+[JSModule resolve:atPath:]):
(globalModuleCache):
(isCached):
(cachedModule):
(cacheModule):
(+[JSModule require:atPath:]):
(+[JSModule require:atPath:inContext:]):
(-[JSModule platformObjectInContext:]):
(-[JSModule initWithId:filename:context:]):
(-[JSModule dealloc]):
(-[JSModule didStartLoading]):
(-[JSModule didFinishLoading]):
(-[JSModule require:]):
(-[JSModule exports]):

  • jsc-cli/jsc-cli/JSRunLoopThread.h: Added.
  • jsc-cli/jsc-cli/JSRunLoopThread.m: Added.

(jsThreadMain):
(+[JSRunLoopThread threadMain]):
(-[JSRunLoopThread initWithFiles:andContext:]):
(-[JSRunLoopThread startRunLoop]):
(-[JSRunLoopThread start]):
(-[JSRunLoopThread join]):
(-[JSRunLoopThread didReceiveInput:]):
(-[JSRunLoopThread performCallback:withError:]):
(-[JSRunLoopThread performCallback:withArguments:]):
(-[JSRunLoopThread didFinishRunLoopInitialization]):

  • jsc-cli/jsc-cli/ReadEvalPrintLoop.h: Added.
  • jsc-cli/jsc-cli/ReadEvalPrintLoop.m: Added.

(-[ReadEvalPrintLoop initWithJSThread:]):
(prompt):
(escapeStringForOutput):
(-[ReadEvalPrintLoop processNextInput]):
(-[ReadEvalPrintLoop run]):

  • jsc-cli/jsc-cli/RunLoopThread.h: Added.
  • jsc-cli/jsc-cli/RunLoopThread.m: Added.

(+[RunLoopThread threadMain]):
(-[RunLoopThread init]):
(-[RunLoopThread dealloc]):
(-[RunLoopThread didFinishRunLoopInitialization]):
(-[RunLoopThread start]):
(-[RunLoopThread join]):

  • jsc-cli/jsc-cli/ScriptInputSource.h: Added.
  • jsc-cli/jsc-cli/ScriptInputSource.m: Added.

(scriptInputSourceScheduleRoutine):
(scriptInputSourcePerformRoutine):
(scriptInputSourceCancelRoutine):
(-[ScriptInputSource initWithContext:]):
(-[ScriptInputSource dealloc]):
(-[ScriptInputSource addToCurrentRunLoop]):
(-[ScriptInputSource removeFromRemoteRunLoop]):
(-[ScriptInputSource didReceiveScript:]):
(-[ScriptInputSource didReceiveSignal]):
(-[ScriptInputSource runScriptRemotely:]):
(-[ScriptInputSource finishAsyncCallback:withResult:]):

  • jsc-cli/jsc-cli/main.m: Added.

(main):

2:44 PM Changeset in webkit [163990] by rniwa@webkit.org
  • 2 edits in trunk/Tools

One more build fix after r163979.

  • Scripts/webkitpy/port/mac_unittest.py:

(test_baseline_search_path):

2:37 PM Changeset in webkit [163989] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

WK2: coordinate mapping for frames does not work when the page is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=128690
<rdar://problem/16042925>

Reviewed by Simon Fraser.

We should not apply the scroll offset when using delegate scrolling.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):

2:36 PM Changeset in webkit [163988] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Web Inspector: Cleanup JavaScriptCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128662

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Timothy Hatcher.

Now that the code has settled, do a cleanup pass.

  • inspector/ContentSearchUtilities.cpp:
  • inspector/InspectorValues.cpp:

(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::get):

  • inspector/ScriptCallStackFactory.cpp:
  • inspector/ScriptDebugServer.cpp:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
2:36 PM Changeset in webkit [163987] by commit-queue@webkit.org
  • 22 edits
    4 moves in trunk/Source/WebCore

Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
https://bugs.webkit.org/show_bug.cgi?id=128660

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Timothy Hatcher.

Rename the files update build systems and users.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIModule.cpp:

(WebCore::CommandLineAPIModule::host):

  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorController.h:
  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):

  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):

  • inspector/InspectorProfilerAgent.h:
  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::addInspectedNode):

  • inspector/PageConsoleAgent.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::addInspectedHeapObject):

  • inspector/WebConsoleAgent.h:
  • inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.

(WebCore::WebInjectedScriptHost::type):
(WebCore::WebInjectedScriptHost::isHTMLAllCollection):

  • inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
  • inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.

(WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
(WebCore::WebInjectedScriptManager::disconnect):
(WebCore::WebInjectedScriptManager::didCreateInjectedScript):
(WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):

  • inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
  • inspector/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):

  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerInspectorController.h:
2:32 PM Changeset in webkit [163986] by aestes@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Fix the iOS build after r163976

Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
both Mac and iOS.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
2:16 PM Changeset in webkit [163985] by stavila@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Fix layout of floated nested region
https://bugs.webkit.org/show_bug.cgi?id=128367

Reviewed by Mihnea Ovidenie.

Added test for the correct layout of nested, floating regions.

  • fast/regions/nested-floated-region-expected.html: Added.
  • fast/regions/nested-floated-region.html: Added.
2:07 PM Changeset in webkit [163984] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS Build fix after r163975.

page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC)
PLATFORM(IOS).
1:56 PM Changeset in webkit [163983] by barraclough@apple.com
  • 10 edits in trunk/Source/WebCore

Clean up PageThrottler interface
https://bugs.webkit.org/show_bug.cgi?id=128677

Reviewed by Benjamin Poulain.

Currently, responsibility for throttling DOM timers & suspending animations is split
between the Page & the PageThrottler. Clarify by making Page responsible for suspending
animations (PageThrottler is now purely related to aspects of timer throttling), and
move all timer throttling policy to the PageThrottler, with a single function on Page to
enable (Page::setTimerThrottlingEnabled).

Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
and distinguish between media & page-load activity.

  • WebCore.exp.in:
    • removed setDOMTimerAlignmentInterval.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • createActivityToken -> mediaActivityToken
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::started):

  • createActivityToken -> pageLoadActivityToken
  • page/Page.cpp:

(WebCore::Page::Page):

  • added m_timerThrottlingEnabled, made PageThrottler a member

(WebCore::Page::setIsVisuallyIdleInternal):

  • update animiation suspension.

(WebCore::Page::setTimerThrottlingEnabled):

  • setTimerAlignmentInterval -> setTimerThrottlingEnabled

(WebCore::Page::setViewState):

  • pass viewState to PageThrottler.

(WebCore::Page::setIsVisibleInternal):

  • don't update timer throttling.
  • page/Page.h:

(WebCore::Page::pageThrottler):

  • made PageThrottler a member.

(WebCore::Page::timerAlignmentInterval):

  • inlined.
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • initialize ViewState.

(WebCore::PageThrottler::~PageThrottler):

  • clean up by calling setTimerThrottlingEnabled directly.

(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):

  • moved from Page.

(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):

  • from Page::createActivityToken

(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):

  • don't throttle animations here.

(WebCore::PageThrottler::setViewState):
(WebCore::PageThrottler::setIsVisible):

  • added, throttle Dom timers.
  • page/PageThrottler.h:
  • page/Settings.cpp:

(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):

  • removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
  • page/Settings.h:
    • removed setDOMTimerAlignmentInterval.
1:38 PM Changeset in webkit [163982] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/Cocoa/WKProcessClass.h:
1:37 PM Changeset in webkit [163981] by beidson@apple.com
  • 4 edits in trunk/LayoutTests

Cleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
https://bugs.webkit.org/show_bug.cgi?id=128679

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk1/TestExpectations: mac-wk1 specific disables should go here.
  • platform/mac-wk2/TestExpectations: Remove unnecessary re-enabling, and simplify indexeddb/mozilla.
  • platform/mac/TestExpectations: Move some tests from here to mac-wk1.
1:37 PM Changeset in webkit [163980] by benjamin@webkit.org
  • 16 edits in trunk/Source

[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
https://bugs.webkit.org/show_bug.cgi?id=128639

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

Source/WebCore:

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::childrenChanged):
Document::setDocType() has been removed and the doctype update code with it.
Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::didReceiveDocType):

  • page/ChromeClient.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::xhtmlMobileParameters):

  • page/ViewportConfiguration.h:

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::didReceiveMobileDocType):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::didReceiveMobileDocType):

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

(WebKit::WebPage::didReceiveMobileDocType):

1:27 PM Changeset in webkit [163979] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Build fix. Put mac-wk1 between mac-mountainlion and mac.

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):

1:22 PM Changeset in webkit [163978] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Mountain Lion build fix.

  • WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO

is not enabled on 10.8.

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

WKProcessClass.h and WKNavigationResponse.h should be public headers
https://bugs.webkit.org/show_bug.cgi?id=128683

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
1:08 PM Changeset in webkit [163976] by ap@apple.com
  • 15 edits
    4 adds in trunk

Wrap WebCrypto keys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128680

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb.html

Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
because more custom formats would be crazy (even the custom format in SerializedScriptValue
makes me nervous, we'll certainly need to change CryptoKey in the future).

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • crypto/CommonCryptoUtilities.h:
  • crypto/SerializedCryptoKeyWrap.h: Added.
  • crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.

(WebCore::vectorFromNSData):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):

Source/WebKit/mac:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

Source/WebKit2:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

LayoutTests:

  • crypto/subtle/rsa-indexeddb-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
12:40 PM Changeset in webkit [163975] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

Wheel events don't latch to inner scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=128225
<rdar://problem/12183688>

Reviewed by Simon Fraser

  • WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::findScrollableContainer): New helper function to locate first node
in enclosing region of document that is capable of handling mouse wheel events.
(WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
area is at the limit we will hit based on scroll direction.
(WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
is just starting, treat end-of-scroll as unhandled so the parent element can
handle things.

  • page/EventHandler.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
on the PlatformWheelEvent class.
(WebCore::ScrollingTree::setOrClearLatchedNode): Ditto

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
(WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrolledToTop): Added
(WebCore::ScrollableArea::scrolledToBottom):Added
(WebCore::ScrollableArea::scrolledToLeft): Added
(WebCore::ScrollableArea::scrolledToRight): Added

  • platform/ScrollableArea.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::scrolledToTop): Added
(WebCore::RenderListBox::scrolledToBottom): Added
(WebCore::RenderListBox::scrolledToLeft): Added
(WebCore::RenderListBox::scrolledToRight): Added

  • rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to

allow generic use of this type in scroll wheel logic.

12:39 PM Changeset in webkit [163974] by b.long@cablelabs.com
  • 23 edits
    3 copies
    2 adds in trunk

Implement DataCue for metadata cues
https://bugs.webkit.org/show_bug.cgi?id=128402

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-datacue.html

  • CMakeLists.txt: Add DataCue.
  • DerivedSources.cpp: Add JSDataCue.
  • DerivedSources.make: Same.
  • GNUmakefile.list.am: Add DataCue and JSDataCue.
  • WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Same.
  • WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS): Add DataCue wrapper.

  • html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().

  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".

  • html/track/TextTrack.h: Add exception code parameter to addCue().
  • html/track/TextTrack.idl: Add [RaisesException] to addCue().
  • html/track/TextTrackCue.h: Add Data CueType.

LayoutTests:

  • js/dom/global-constructors-attributes-expected.txt: Add DataCue.
  • media/track/track-datacue-expected.txt: Added.
  • media/track/track-datacue.html: Added.
  • platform/efl/js/dom/global-constructors-attributes-expected.txt: Add DataCue.
  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/win/js/dom/global-constructors-attributes-expected.txt: Same.
12:34 PM Changeset in webkit [163973] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

Subpixel layout: Clean up LayoutPoint class.
https://bugs.webkit.org/show_bug.cgi?id=128515

Reviewed by Simon Fraser.

Remove redundant functions (keep the more explicit ones).

No change in functionality.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedVisibleContentRect):

  • platform/graphics/LayoutPoint.h:

(WebCore::toLayoutPoint):
(WebCore::toLayoutSize):
(WebCore::roundedIntPoint):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsRects):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::offsetFromContainer):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addFocusRingRects):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

12:32 PM Changeset in webkit [163972] by zandobersek@gmail.com
  • 6 edits in trunk/Source

[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
https://bugs.webkit.org/show_bug.cgi?id=128473

Reviewed by Anders Carlsson.

Source/WebCore:

Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
refcount-protected.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::syncRemoteContent):
(WebCore::CoordinatedGraphicsScene::purgeGLResources):
(WebCore::CoordinatedGraphicsScene::commitScrollOffset):
(WebCore::CoordinatedGraphicsScene::appendUpdate):
(WebCore::CoordinatedGraphicsScene::setActive):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

Source/WebKit2:

Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
throughout the lifetime of the function wrapper.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
12:29 PM Changeset in webkit [163971] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.

Not reviewed.

  • html/HTMLMediaSession.cpp:

(WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.

  • platform/audio/MediaSession.cpp:

(WebCore::stateName): Ditto.

  • platform/audio/ios/MediaSessionManagerIOS.mm:
12:28 PM Changeset in webkit [163970] by zandobersek@gmail.com
  • 2 edits in trunk

[GDB] Add .gdbinit to the list of files ignored by Git
https://bugs.webkit.org/show_bug.cgi?id=128455

Reviewed by Anders Carlsson.

  • .gitignore: Ignore the .gdbinit file which can be used to perform WebKit-specific GDB initialization

when the debugger is launched in the repository's root directory. Also remove a Chromium-specific comment
that covers already removed entries.

12:15 PM Changeset in webkit [163969] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderNamedFlowThread should only support RenderElement children.
<https://webkit.org/b/128675>

Tighten up flow-thread rendering so that it only supports element
children directly. This means we don't have to worry about text
renderers on this code path.

Reviewed by Antti Koivisto.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):

  • style/StyleResolveTree.cpp:

(WebCore::Style::createRendererIfNeeded):

11:29 AM Changeset in webkit [163968] by beidson@apple.com
  • 5 edits
    2 adds in trunk

Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Reviewed by Alexey Proskuryakov.

Tools:

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path): When running WK1 tests on Mac,

make mac-wk1 be the frontmost search path.

LayoutTests:

  • platform/mac-wk1/TestExpectations: Added. Skip IndexedDB here.
  • platform/mac-wk2/TestExpectations: Manage all mac-wk2 IndexedDB expectations here instead of building off the default mac expectations.
  • platform/mac/TestExpectations: Don’t skip IndexedDB here.
10:57 AM Changeset in webkit [163967] by rniwa@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Windows build fix attempt after r163960.

10:50 AM Changeset in webkit [163966] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.4/Source

Versioning.

10:45 AM Changeset in webkit [163965] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.4

New Tag.

10:40 AM Changeset in webkit [163964] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Adjust VM::stackLimit based on the size of the largest FTL stack produced
https://bugs.webkit.org/show_bug.cgi?id=128562

Reviewed by Mark Lam.

Added VM::m_largestFTLStackSize to track the largest stack size of an FTL compiled
function. Added VM::m_ftlStackLimit for FTL functions stack limit. Renamed
VM::updateStackLimitWithReservedZoneSize to VM::updateReservedZoneSize. Renamed
VM::setStackLimit to VM::updateStackLimit and changed it to do the updating of the
stack limits, including taking into account m_largestFTLStackSize.

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::grabAllLocks):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateFTLLargestStackSize):

  • runtime/VM.h:
10:17 AM Changeset in webkit [163963] by beidson@apple.com
  • 484 edits
    2 copies
    44 adds in trunk/LayoutTests

IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Rubberstamped by Jer Noble.

Take two.

When I did this last night in r163923 the Mozilla tests outputted different results
because one of the logging functions they made had become more verbose.

This time we include the new test expectations for those tests, and update them to
reflect the different exception message outputted in WebKit vs Blink.

  • resources/js-test.js: Added.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Added.
  • storage/indexeddb/closed-cursor.html: Added.
  • storage/indexeddb/connection-leak-expected.txt: Added.
  • storage/indexeddb/connection-leak.html: Added.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Added.
  • storage/indexeddb/cursor-basics.html: Added.
  • storage/indexeddb/cursor-cast-expected.txt: Added.
  • storage/indexeddb/cursor-cast.html: Added.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
  • storage/indexeddb/cursor-continueprimarykey.html: Added.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt:
  • storage/indexeddb/cursor-leak.html: Added.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Added.
  • storage/indexeddb/cursor-request-cycle.html: Added.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Added.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Added.
  • storage/indexeddb/key-type-binary.html: Added.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Added.
  • storage/indexeddb/metadata-race.html: Added.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mozilla/add-twice-failure.html:
  • storage/indexeddb/mozilla/autoincrement-indexes.html:
  • storage/indexeddb/mozilla/bad-keypath-expected.txt:
  • storage/indexeddb/mozilla/bad-keypath.html:
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/clear.html:
  • storage/indexeddb/mozilla/create-index-unique.html:
  • storage/indexeddb/mozilla/create-index-with-integer-keys.html:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics.html:
  • storage/indexeddb/mozilla/create-objectstore-null-name.html:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html:
  • storage/indexeddb/mozilla/cursor-mutation.html:
  • storage/indexeddb/mozilla/cursor-update-updates-indexes.html:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/cursors.html:
  • storage/indexeddb/mozilla/delete-result.html:
  • storage/indexeddb/mozilla/event-source.html:
  • storage/indexeddb/mozilla/global-data.html:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes.html:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key.html:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed.html:
  • storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-no-key.html:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key.html:
  • storage/indexeddb/mozilla/key-requirements.html:
  • storage/indexeddb/mozilla/object-cursors.html:
  • storage/indexeddb/mozilla/object-identity.html:
  • storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html:
  • storage/indexeddb/mozilla/object-store-remove-values.html:
  • storage/indexeddb/mozilla/objectstorenames.html:
  • storage/indexeddb/mozilla/odd-result-order.html:
  • storage/indexeddb/mozilla/open-database-null-name.html:
  • storage/indexeddb/mozilla/put-get-values.html:
  • storage/indexeddb/mozilla/readonly-transactions-expected.txt:
  • storage/indexeddb/mozilla/readonly-transactions.html:
  • storage/indexeddb/mozilla/readwrite-transactions.html:
  • storage/indexeddb/mozilla/readyState.html:
  • storage/indexeddb/mozilla/remove-index.html:
  • storage/indexeddb/mozilla/remove-objectstore.html:
  • storage/indexeddb/mozilla/resources/add-twice-failure.js:
  • storage/indexeddb/mozilla/resources/autoincrement-indexes.js:
  • storage/indexeddb/mozilla/resources/bad-keypath.js:
  • storage/indexeddb/mozilla/resources/clear.js:
  • storage/indexeddb/mozilla/resources/create-index-unique.js:
  • storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js:
  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:
  • storage/indexeddb/mozilla/resources/create-objectstore-null-name.js:
  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:
  • storage/indexeddb/mozilla/resources/cursor-mutation.js:
  • storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/delete-result.js:
  • storage/indexeddb/mozilla/resources/event-source.js:
  • storage/indexeddb/mozilla/resources/global-data.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js:
  • storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements.js:
  • storage/indexeddb/mozilla/resources/object-cursors.js:
  • storage/indexeddb/mozilla/resources/object-identity.js:
  • storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js:
  • storage/indexeddb/mozilla/resources/object-store-remove-values.js:
  • storage/indexeddb/mozilla/resources/objectstorenames.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:
  • storage/indexeddb/mozilla/resources/open-database-null-name.js:
  • storage/indexeddb/mozilla/resources/put-get-values.js:
  • storage/indexeddb/mozilla/resources/readonly-transactions.js:
  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:
  • storage/indexeddb/mozilla/resources/readyState.js:
  • storage/indexeddb/mozilla/resources/remove-index.js:
  • storage/indexeddb/mozilla/resources/remove-objectstore.js:
  • storage/indexeddb/mozilla/resources/versionchange-abort.js:
  • storage/indexeddb/mozilla/versionchange-abort.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Added.
  • storage/indexeddb/objectstore-keycursor.html: Added.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Added.
  • storage/indexeddb/optional-arguments.html: Added.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Added.
  • storage/indexeddb/prefetch-invalidation.html: Added.
  • storage/indexeddb/prefetch-race-expected.txt: Added.
  • storage/indexeddb/prefetch-race.html: Added.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Added.
  • storage/indexeddb/request-leak.html: Added.
  • storage/indexeddb/request-result-cache-expected.txt: Added.
  • storage/indexeddb/request-result-cache.html: Added.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:
  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Added.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:
  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:
  • storage/indexeddb/resources/database-wrapper.js:
  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:
  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:
  • storage/indexeddb/resources/exception-in-event-aborts.js:
  • storage/indexeddb/resources/exceptions.js:
  • storage/indexeddb/resources/factory-basics.js:
  • storage/indexeddb/resources/factory-cmp.js:
  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:
  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:
  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:
  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Added.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:
  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:
  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Added.
  • storage/indexeddb/transaction-ordering.html: Added.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
10:15 AM Changeset in webkit [163962] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Modernize missed inspector files
https://bugs.webkit.org/show_bug.cgi?id=128661

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Anders Carlsson.

Add final, override, and use nullptr where appropriate.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::discardAgent):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

  • inspector/InspectorFrontendClientLocal.h:
9:57 AM Changeset in webkit [163961] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128659

Reviewed by Anders Carlsson.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN) around use of Mach-based IPC.
Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.

  • NetworkProcess/NetworkProcess.cpp: Ditto.

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

  • NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)

(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.
9:14 AM Changeset in webkit [163960] by oliver@apple.com
  • 62 edits
    2 copies
    6 adds in trunk

Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

  • GNUmakefile.am:
  • Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory. This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:

  • Each function is compiled independently of the others, and those implementations cannot currently capture all global properties (as that could be potentially unsafe). If a function does capture a global we will deliberately crash.
  • For those "global" properties that we do want access to, we use the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers are private names, and behave just like regular properties, only without the risk of adulteration. Again, in the @Object case, we explicitly duplicate the ObjectConstructor reference on the GlobalObject so that we have guaranteed access to the original version of the constructor.
  • call, apply, eval, and Function are all rejected identifiers, again to prevent anything from accidentally using an adulterated object. Instead @call and @apply are available, and happily they completely drop the neq_ptr instruction as they're defined as always being the original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

(every):

  • builtins/BuiltinExecutables.cpp: Added.

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • builtins/BuiltinExecutables.h:

(JSC::BuiltinExecutables::create):

  • builtins/BuiltinNames.h: Added.

(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::getPrivateName):
(JSC::BuiltinNames::getPublicName):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • create_hash_table:
  • generate-js-builtins: Added.

(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeFunctionCallNode):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::Lexer):
(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:

(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):

  • parser/Nodes.cpp:

(JSC::ProgramNode::setClosedVariables):

  • parser/Nodes.h:

(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):

  • parser/ParserModes.h:
  • parser/ParserTokens.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::~CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):

  • runtime/CommonIdentifiers.h:

(JSC::CommonIdentifiers::builtinNames):

  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):

  • runtime/Executable.h:

(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):
(JSC::isHostFunction):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):

  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):

  • runtime/JSObject.h:
  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NativeErrorConstructor.h:
  • runtime/PropertySlot.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::builtinExecutables):

Tools:

CMake updates

  • DumpRenderTree/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

  • js/array-every-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/regress/array-prototype-every-expected.txt: Added.
  • js/regress/array-prototype-every.html: Added.
  • js/regress/script-tests/array-prototype-every.js: Added.

(test1):
(test2):
(test3):

9:10 AM Changeset in webkit [163959] by Brent Fulgham
  • 18 edits in trunk/Source

Remove some unintended copies in ranged for loops
https://bugs.webkit.org/show_bug.cgi?id=128644

Reviewed by Anders Carlsson.

../JavaScriptCore:

  • inspector/InjectedScriptHost.cpp:

(Inspector::InjectedScriptHost::clearAllWrappers): Avoid creating/destroying
a std::pair<> and pointer each loop iteration.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser): Avoid copying object containing a string
each loop iteration.

../WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
RefPtrs in loop.

../WebKit2:

  • Shared/WebCrossThreadCopier.cpp:

(WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
vectors,

  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
on each iteration.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
a LayerProperty object each iteration.

  • UIProcess/GeolocationPermissionRequestManagerProxy.cpp:

(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
copying a pair<int64_t, pointer> each iteration.

  • UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:

(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
RefPtr each loop iteration.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
object each cycle.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.

  • UIProcess/mac/WindowServerConnection.mm:

(WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
of occlusionNotificationHandlers each iteration.

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
iteration.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
RefPtr each loop iteration.

6:58 AM Changeset in webkit [163958] by rakuco@webkit.org
  • 17 edits in trunk

Update the HTML Media Capture implementation.
https://bugs.webkit.org/show_bug.cgi?id=118465

Reviewed by Darin Adler.

Make the implementation in WebKit compatible with the 2013-05-09
version of the spec, which makes the "capture" attribute a boolean
instead of an enum.

Source/WebCore:

Covered by fast/forms/file/file-input-capture.html.

  • html/FileInputType.cpp:

(WebCore::FileInputType::handleDOMActivateEvent):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
(WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl: Turn the `capture' attribute into a

reflective boolean instead of a DOMString.

  • platform/FileChooser.h:

Source/WebKit/efl:

  • ewk/ewk_file_chooser.cpp:

(ewk_file_chooser_capture_get): Return an Eina_Bool now.

  • ewk/ewk_file_chooser.h: Get rid of Ewk_File_Chooser_Capture_Type.

Source/WebKit2:

  • Shared/WebOpenPanelParameters.cpp:

(WebKit::WebOpenPanelParameters::capture): Return a bool.

  • Shared/WebOpenPanelParameters.h: Ditto.
  • UIProcess/API/C/WKOpenPanelParameters.cpp:

(WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
incompatible with the current version of the spec.
(WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.

  • UIProcess/API/C/WKOpenPanelParameters.h:

LayoutTests:

  • fast/forms/file/file-input-capture-expected.txt:
  • fast/forms/file/file-input-capture.html:
5:31 AM Changeset in webkit [163957] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Remove unused method in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=128373

Reviewed by Mihnea Ovidenie.

After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
RenderFlowThread::computeRegionClippingRect method is obsolete.

No new tests needed, this patch only removes an unused method.

  • rendering/RenderFlowThread.cpp:
  • rendering/RenderFlowThread.h:
5:21 AM Changeset in webkit [163956] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Fails to build if configure is run with its absolute path
https://bugs.webkit.org/show_bug.cgi?id=126693

Reviewed by Gustavo Noronha Silva.

When creating links to the WebKit2 headers in the source tree
don't expect $(WebKit2) to be a relative path.

  • GNUmakefile.am:
4:40 AM Changeset in webkit [163955] by commit-queue@webkit.org
  • 15 edits
    1 copy
    2 moves
    7 adds
    2 deletes in trunk

[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
https://bugs.webkit.org/show_bug.cgi?id=99119

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-12
Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for -webkit-blend-mode with Core Graphics.
The layer promotion code that forced compositing when blending was detected has been removed.
Remaining work for the software path is to detect and implement isolation of the blending operation:
as stated in the spec, blending should be limited to the parent stacking context.

Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html

css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
css3/compositing/blend-mode-simple-composited.html
css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.

  • rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
  • rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.

(WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.

  • rendering/RenderLayerCompositor.h:
  • Remove the requiresCompositingForBlending method
  • Remove the CompositingReasonBlending from the CompositingReasons enum.

LayoutTests:

  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt: Copied from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html: Test if having an overlapping composited sibling forces compositing of a blended element.
  • css3/compositing/blend-mode-layers.html: Update to test both the software and the hardware path.
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt: Renamed from LayoutTests/css3/compositing/should-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html: Test if the parent of an accelerated element with -webkit-blend-mode is promoted.
  • css3/compositing/blend-mode-reflection.html: Update to test both the software and the hardware path.
  • css3/compositing/blend-mode-should-not-have-compositing-layer.html: Removed.
  • css3/compositing/blend-mode-simple-composited.html: Test all the blend modes for the hardware path.
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt: Renamed from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html: Test to ensure that an element with -webkit-blend-mode and a composited descendant is also accelerated.
  • css3/compositing/should-have-compositing-layer.html: Removed.
  • platform/mac/css3/compositing/blend-mode-layers-expected.png:
  • platform/mac/css3/compositing/blend-mode-layers-expected.txt:
  • platform/mac/css3/compositing/blend-mode-overflow-expected.png:
  • platform/mac/css3/compositing/blend-mode-overflow-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-reflection-expected.png:
  • platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-simple-expected.png:
4:17 AM Changeset in webkit [163954] by berto@igalia.com
  • 2 edits in trunk

'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
4:13 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:13 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:40 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
3:40 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:27 AM Changeset in webkit [163953] by Michał Pakuła vel Rutka
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gatdening

Add test expectations for failing tests.

  • platform/efl/TestExpectations:
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.png: Rebaseline after r163475.
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.txt: Ditto.
Note: See TracTimeline for information about the timeline view.