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:
Note: See TracTimeline for information about the timeline view.