Timeline



Mar 25, 2014:

10:37 PM Changeset in webkit [166284] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix. Add missing semicolon.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_addAttachmentForElement):

9:22 PM Changeset in webkit [166283] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative iOS build fix.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_addAttachmentForElement):

9:16 PM Changeset in webkit [166282] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

[MSE] Duplicate 'seeked' events.
https://bugs.webkit.org/show_bug.cgi?id=130754

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-duplicate-seeked.html

During certain seek operations, HTMLMediaElement::finishSeek() can be called re-entrantly due to
the ready state changing as a result of MediaSource::monitorSourceBuffers(). Move this call to the
end of finishSeek() after m_seeking has been cleared.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

LayoutTests:

  • media/media-source/media-source-duplicate-seeked-expected.txt: Added.
  • media/media-source/media-source-duplicate-seeked.html: Added.
9:08 PM Changeset in webkit [166281] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Arguments simplification phase should be fine with marking the arguments local itself as an arguments alias
https://bugs.webkit.org/show_bug.cgi?id=130764
<rdar://problem/16304788>

Reviewed by Sam Weinig.

Being an arguments alias just means that your OSR exit recovery should attempt arguments
creation. This is true of arguments locals. We had special cases that tried to make it not
true of arguments locals. The only consequence of those special cases was to cause crashes
in case of arguments that are also captured variables (i.e. we have SlowArguments). This
change just removes those special cases.

This change means that the FTL will now see SetLocals with a FlushedArguments format.
Previously you wouldn't see them because previously only non-captured variable would be
arguments aliases, and non-captured variables get completely SSAified - i.e. no SetLocals
left. Adding handling for FlushedArguments is a benign and simple change since its
behavior is identical to FlushedJSValue for that code's purposes.

  • dfg/DFGArgumentsSimplificationPhase.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileSetLocal):

  • tests/stress/captured-arguments-variable.js: Added.

(foo):
(noInline):

8:35 PM Changeset in webkit [166280] by benjamin@webkit.org
  • 1 edit
    8 adds in trunk/Websites/webkit.org

Add illustrations for a potential blog post

First version, let see how that works out.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-25

  • blog-files/css-jit-introduction: Added.
  • blog-files/css-jit-introduction/clicktostart.js: Added.
  • blog-files/css-jit-introduction/css-jit-illustration.html: Added.
  • blog-files/css-jit-introduction/html5-single-page-microbenchmark.html: Added.
  • blog-files/css-jit-introduction/old-selectorchecker-illustration.html: Added.
  • blog-files/css-jit-introduction/timing-illustration-eight-run.svg: Added.
  • blog-files/css-jit-introduction/timing-illustration-five-run.svg: Added.
  • blog-files/css-jit-introduction/timing-illustration-one-run.svg: Added.
8:03 PM Changeset in webkit [166279] by commit-queue@webkit.org
  • 10 edits in trunk

Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
https://bugs.webkit.org/show_bug.cgi?id=130712

Patch by James Craig <jcraig@apple.com> on 2014-03-25
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
7:37 PM Changeset in webkit [166278] by mhahnenberg@apple.com
  • 10 edits
    1 add in trunk/Source/JavaScriptCore

Add HeapInlines
https://bugs.webkit.org/show_bug.cgi?id=130759

Reviewed by Filip Pizlo.

(JSC::MarkedBlockSnapshotFunctor::MarkedBlockSnapshotFunctor):
(JSC::MarkedBlockSnapshotFunctor::operator()):

  • heap/Heap.h: Also reindented while we're here.

(JSC::Heap::writeBarrierBuffer):
(JSC::Heap::vm):
(JSC::Heap::objectSpace):
(JSC::Heap::machineThreads):
(JSC::Heap::operationInProgress):
(JSC::Heap::allocatorForObjectWithoutDestructor):
(JSC::Heap::allocatorForObjectWithNormalDestructor):
(JSC::Heap::allocatorForObjectWithImmortalStructureDestructor):
(JSC::Heap::storageAllocator):
(JSC::Heap::notifyIsSafeToCollect):
(JSC::Heap::isSafeToCollect):
(JSC::Heap::handleSet):
(JSC::Heap::handleStack):
(JSC::Heap::lastFullGCLength):
(JSC::Heap::lastEdenGCLength):
(JSC::Heap::increaseLastFullGCLength):
(JSC::Heap::sizeBeforeLastEdenCollection):
(JSC::Heap::sizeAfterLastEdenCollection):
(JSC::Heap::sizeBeforeLastFullCollection):
(JSC::Heap::sizeAfterLastFullCollection):
(JSC::Heap::jitStubRoutines):
(JSC::Heap::isDeferred):
(JSC::Heap::structureIDTable):
(JSC::Heap::removeCodeBlock):

  • heap/HeapInlines.h: Added.

(JSC::Heap::shouldCollect):
(JSC::Heap::isBusy):
(JSC::Heap::isCollecting):
(JSC::Heap::heap):
(JSC::Heap::isLive):
(JSC::Heap::isInRememberedSet):
(JSC::Heap::isMarked):
(JSC::Heap::testAndSetMarked):
(JSC::Heap::setMarked):
(JSC::Heap::isWriteBarrierEnabled):
(JSC::Heap::writeBarrier):
(JSC::Heap::reportExtraMemoryCost):
(JSC::Heap::forEachProtectedCell):
(JSC::Heap::forEachCodeBlock):
(JSC::Heap::allocateWithNormalDestructor):
(JSC::Heap::allocateWithImmortalStructureDestructor):
(JSC::Heap::allocateWithoutDestructor):
(JSC::Heap::tryAllocateStorage):
(JSC::Heap::tryReallocateStorage):
(JSC::Heap::ascribeOwner):
(JSC::Heap::blockAllocator):
(JSC::Heap::releaseSoon):
(JSC::Heap::incrementDeferralDepth):
(JSC::Heap::decrementDeferralDepth):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
(JSC::Heap::markListSet):

  • runtime/JSCInlines.h:
7:30 PM Changeset in webkit [166277] by commit-queue@webkit.org
  • 5 edits in trunk

When the mouse is upped after dragged out of shadowDOM, it should lose :active.
https://bugs.webkit.org/show_bug.cgi?id=130660

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-03-25
Reviewed by Darin Adler.

Source/WebCore:

This caused a regression after r165037.
When we have to clear :active style of shadow DOM, we should clear host's style.
This patch replaces parentElement() by parentOrShadowHostElement().

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

LayoutTests:

  • fast/css/hover-active-drag-expected.txt: Added a test for textarea.
  • fast/css/hover-active-drag.html: Updated.
7:14 PM Changeset in webkit [166276] by fpizlo@apple.com
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

DFG::ByteCodeParser::SetMode should distinguish between setting immediately without a flush and setting immediately with a flush
https://bugs.webkit.org/show_bug.cgi?id=130760

Reviewed by Mark Hahnenberg.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):

  • tests/stress/assign-argument-in-inlined-call.js: Added.

(f1):
(getF2Arguments):
(f2):
(f3):

  • tests/stress/assign-captured-argument-in-inlined-call.js: Added.

(f1):
(f2):
(f3):

6:47 PM Changeset in webkit [166275] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix a failing API test on Mountain Lion and remove temporary debug logging.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _download:didReceiveData:]):
(-[DownloadDelegate _downloadDidFinish:]):

5:57 PM Changeset in webkit [166274] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Always retry a failed MediaDocument as a PluginDocument
https://bugs.webkit.org/show_bug.cgi?id=130742

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaLoadingFailedFatally): If the element is in a media document,

tell it that loading failed so it can retry as a plug-in.

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

Replace HTMLConverter::_stringForNode by propertyValueForNode
https://bugs.webkit.org/show_bug.cgi?id=130711

Reviewed by Sam Weinig.

Replaced all calls to HTMLConverter::_stringForNode by that to propertyValueForNode.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_computedAttributesForElement):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableForElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_exitElement):
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverter::_stringForNode): Deleted.

5:39 PM Changeset in webkit [166272] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Attempt to fix iOS build after r166261.

  • WebCore.xcodeproj/project.pbxproj: Make SystemSleepListener.h a private header.
5:31 PM Changeset in webkit [166271] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove PLATFORM(IOS) from NetworkProcessMac.mm
https://bugs.webkit.org/show_bug.cgi?id=130751

Reviewed by Alexey Proskuryakov.

Code in NetworkProcessMac.mm is guarded by PLATFORM(MAC) and so is not compiled on iOS.
Having PLATFORM(IOS) code in this file is unnecessary and confusing.

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeProcessName):
(WebKit::overrideSystemProxies):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):

5:01 PM Changeset in webkit [166270] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add a UI delegate callback for handling window.open
https://bugs.webkit.org/show_bug.cgi?id=130757

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/Cocoa/UIClient.h:
  • UIProcess/Cocoa/UIClient.mm:

(WebKit::UIClient::setDelegate):
(WebKit::UIClient::createNewPage):

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

Move stopLoading: back for now.

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

(-[WKWebView stopLoading:]):

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

[iOS] Enable caption support in full screen.
https://bugs.webkit.org/show_bug.cgi?id=130603

Reviewed by Eric Carlson.

Add TextTrackRepresentation support to MediaPlayerPrivateAVFoundationObjC.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Add the m_textTrackRepresenationLayer if present.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::requiresTextTrackRepresentation): True, if a m_videoFullscreenLayer is present.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setTextTrackRepresentation): Remove the old, and add the new m_textTrackRepresenationLayer.

Make the text track container a stacking context for painting purposes.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-text-track-container):

4:37 PM Changeset in webkit [166267] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Change toolbarVisibility back to toolbarsVisibility
https://bugs.webkit.org/show_bug.cgi?id=130749

Reviewed by Tim Horton.

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

(-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):

4:28 PM Changeset in webkit [166266] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix 32-bit getter call alignment.

Reviewed by Mark Hahnenberg.

  • jit/Repatch.cpp:

(JSC::generateGetByIdStub):

4:20 PM Changeset in webkit [166265] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Pass the source frame to the CreateNewPage message
https://bugs.webkit.org/show_bug.cgi?id=130752

Reviewed by Tim Horton.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::createNewPage):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::createNewPage):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow):

3:56 PM Changeset in webkit [166264] by BJ Burg
  • 5 edits in trunk

Source/WebCore: Web Replay: resource unique identifiers should be unique-per-frame, not globally
https://bugs.webkit.org/show_bug.cgi?id=130632

Reviewed by Timothy Hatcher.

For replay purposes, we want to deterministically assign resource load identifiers
to resource loaders, provided that the resource loaders are created in the same
order.

To do this, we convert unique identifiers from being globally-unique to being
frame-unique. When a new frame is being loaded, unique identifiers for
subresources of that frame begin counting from 1.

No new tests. Identifier invariants are exercised by existing assertions and tests.

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::ProgressTracker):
(WebCore::ProgressTracker::reset):
(WebCore::ProgressTracker::createUniqueIdentifier):

  • loader/ProgressTracker.h:

Tools: Web Replay: resource unique identifiers should be unique-per-frame, not globally
https://bugs.webkit.org/show_bug.cgi?id=130623

Reviewed by Timothy Hatcher.

The resource loader callback dumping routines assumed that resource identifiers
were globally unique. Its map of resource identifiers to URLs must also track the
frame associated with the resource.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::dumpResourceURL): Additionally take a WKBundleFrameRef argument, and use the
opaque pointer as part of the key for assignedUrlsCache. The frame pointer is
stable as long as the frame is valid.
(WTR::InjectedBundlePage::didInitiateLoadForResource):
(WTR::InjectedBundlePage::willSendRequestForFrame):
(WTR::InjectedBundlePage::didReceiveResponseForResource):
(WTR::InjectedBundlePage::didFinishLoadForResource):
(WTR::InjectedBundlePage::didFailLoadForResource):

3:38 PM Changeset in webkit [166263] by fpizlo@apple.com
  • 10 edits
    8 adds in trunk

Repatch should plant calls to getters directly rather than through a C helper
https://bugs.webkit.org/show_bug.cgi?id=129589

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

As the title says. All of the superstructure for this was already in place, so now it
was just a matter of actually emitting the call.

8x speed-up for getter microbenchmarks.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/PolymorphicGetByIdList.h:

(JSC::GetByIdAccess::doesCalls):

  • jit/AccessorCallJITStubRoutine.cpp: Added.

(JSC::AccessorCallJITStubRoutine::AccessorCallJITStubRoutine):
(JSC::AccessorCallJITStubRoutine::~AccessorCallJITStubRoutine):
(JSC::AccessorCallJITStubRoutine::visitWeak):

  • jit/AccessorCallJITStubRoutine.h: Added.
  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeCell):

  • jit/GCAwareJITStubRoutine.h:
  • jit/Repatch.cpp:

(JSC::generateGetByIdStub):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::offsetOfGetter):
(JSC::GetterSetter::offsetOfSetter):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • js/regress/getter-expected.txt: Added.
  • js/regress/getter.html: Added.
  • js/regress/script-tests/getter.js: Added.
  • js/regress/script-tests/string-char-code-at.js: Added.

(foo):

  • js/regress/string-char-code-at-expected.txt: Added.
  • js/regress/string-char-code-at.html: Added.
3:34 PM Changeset in webkit [166262] by andersca@apple.com
  • 12 edits in trunk/Source/WebKit2

Add a WebFrame::fromCoreFrame static member function and use it where possible
https://bugs.webkit.org/show_bug.cgi?id=130744

Reviewed by Tim Horton.

  • WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:

(WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:

(WebKit::InjectedBundleDOMWindowExtension::frame):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::frame):
(WebKit::InjectedBundleHitTestResult::targetFrame):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::webPage):
(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::focusedElementChanged):
(WebKit::WebChromeClient::focusedFrameChanged):
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::runOpenPanel):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::fromCoreFrame):
(WebKit::WebFrame::contentsAsString):
(WebKit::WebFrame::parentFrame):
(WebKit::WebFrame::childFrames):
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrame::webArchiveData):

  • WebProcess/WebPage/WebFrame.h:
3:26 PM Changeset in webkit [166261] by jer.noble@apple.com
  • 12 edits
    6 adds in trunk

[Mac] Pause the media element during system sleep.
https://bugs.webkit.org/show_bug.cgi?id=130718

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-system-sleep.html

Relying on the platform media system to pause and restart playback during
system sleep can cause problems on some platforms, especially where hardware
decoders are concerned. Rather than implicitly pausing the media during
system sleep, explicitly pause the media before sleeping and resume (if
appropriate) upon waking.

Add a new class to be used for system sleep notifications:

  • platform/SystemSleepListener.cpp: Added.

(WebCore::SystemSleepListener::create):
(WebCore::SystemSleepListener::SystemSleepListener):

  • platform/SystemSleepListener.h: Added.

(WebCore::SystemSleepListener::Client::~Client):
(WebCore::SystemSleepListener::~SystemSleepListener):
(WebCore::SystemSleepListener::client):

Add a Mac-specific implementation:

  • platform/mac/SystemSleepListenerMac.h: Added.
  • platform/mac/SystemSleepListenerMac.mm: Added.

(WebCore::SystemSleepListener::create):
(WebCore::SystemSleepListenerMac::SystemSleepListenerMac):
(WebCore::SystemSleepListenerMac::~SystemSleepListenerMac):

Listen for system sleep notifications in MediaSessionManager:

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::MediaSessionManager):
(WebCore::MediaSessionManager::systemWillSleep):
(WebCore::MediaSessionManager::systemDidWake):

  • platform/audio/MediaSessionManager.h:

Drive-by fix; notify the MediaSession that playback will begin
due to autoplay, but do not begin autoplaying if the session
is already interrupted:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

Add new files to project:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • GNUmakefile.list.am:

LayoutTests:

  • media/video-system-sleep-expected.txt: Added.
  • media/video-system-sleep.html: Added.
3:20 PM Changeset in webkit [166260] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix one API test expectation failure on Mountain Lion, and add additional logging to help diagnose another.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _download:didReceiveResponse:]):
(-[DownloadDelegate _download:didReceiveData:]):

3:01 PM Changeset in webkit [166259] by stavila@adobe.com
  • 3 edits
    4 adds in trunk

[CSS Regions] The background of children of scrollable elements flowed into regions is not properly scrolled
https://bugs.webkit.org/show_bug.cgi?id=130574

Reviewed by David Hyatt.

Source/WebCore:

When computing the clip rect for painting the box decorations, the scrolled content offset
must be computed by going up the containing block tree, up to the region.

Tests: fast/regions/scrollable-region-scrollable-absolute-content-background.html

fast/regions/scrollable-region-scrollable-content-background.html

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):

LayoutTests:

Added tests for properly painting background of children of scrollable elements flowed into regions.

  • fast/regions/scrollable-region-scrollable-absolute-content-background-expected.html: Added.
  • fast/regions/scrollable-region-scrollable-absolute-content-background.html: Added.
  • fast/regions/scrollable-region-scrollable-content-background-expected.html: Added.
  • fast/regions/scrollable-region-scrollable-content-background.html: Added.
2:53 PM Changeset in webkit [166258] by jpfau@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Schemes registered as cache partitioned are not properly registered in new web processes
https://bugs.webkit.org/show_bug.cgi?id=130739

Reviewed by Anders Carlsson.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

2:52 PM Changeset in webkit [166257] by Joseph Pecoraro
  • 25 edits in trunk/Source

[iOS] Inspector View Indication Support
https://bugs.webkit.org/show_bug.cgi?id=130709

Reviewed by Simon Fraser.

Source/WebCore:

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::showInspectorIndication):
(WebCore::InspectorClient::hideInspectorIndication):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::setIndicating):
Rename indicate/hideIndication to show/hide names.

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorClient::showInspectorIndication):
(WebInspectorClient::hideInspectorIndication):
Renamed methods.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::didSetSearchingForNode): Deleted.
(WebInspectorClient::releaseFrontend): Deleted.

  • WebView/WebView.mm:

(-[WebView setShowingInspectorIndication:]):

  • WebView/WebViewPrivate.h:

Renamed methods.

Source/WebKit2:

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

(-[WKInspectorIndicationView initWithFrame:]):
(-[WKContentView isShowingInspectorIndication]):
(-[WKContentView setShowingInspectorIndication:]):
(-[WKContentView _didCommitLayerTree:WebKit::]):
When indicating include a simple tinted UIView over the content.

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

(-[WKWebView _showInspectorIndication]):
(-[WKWebView _hideInspectorIndication]):
Have the content view show or hide an indication.

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

(WebKit::PageClientImpl::showInspectorIndication):
(WebKit::PageClientImpl::hideInspectorIndication):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::showInspectorIndication):
(WebKit::WebPageProxy::hideInspectorIndication):
Pass WebProcess indication message up to the WKWebView.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::indicate):
(WebKit::WebInspectorClient::hideIndication):

  • WebProcess/WebCoreSupport/WebInspectorClient.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::indicate):
(WebKit::WebPage::hideIndication):
Pass WebCore / remote inspector indication message up to UIProcess.

2:34 PM Changeset in webkit [166256] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix. Typo on checkin.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Left an unmatched open bracket.

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

Even further unreviewed build fix after r166247. Unprotect the implementation of HTMLMediaElement::shouldDisableSleep().

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

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

Further unreviewed build fix after r166247. Add DisplaySleepDisabler to the windows project file and
move the definition of DisplaySleepDisabler's constructor and destructor into the cpp file.

  • WebCore.vcxproj/WebCore.vcxproj:
  • platform/DisplaySleepDisabler.cpp:

(WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
(WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):

  • platform/DisplaySleepDisabler.h:
2:18 PM Changeset in webkit [166253] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add more properties to WKWindowFeatures
https://bugs.webkit.org/show_bug.cgi?id=130738

Reviewed by Tim Horton.

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

(-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
(-[WKWindowFeatures menuBarVisibility]):
(-[WKWindowFeatures statusBarVisibility]):
(-[WKWindowFeatures toolbarsVisibility]):
(-[WKWindowFeatures allowsResizing]):

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

Unreviewed build fix after r166247. Un-platform-protect the declaration of HTMLMediaElement::shouldDisableSleep()
and make WebVideoFullscreenController's _displaySleepDisabler a std::unique_ptr.

  • html/HTMLMediaElement.h:
  • platform/mac/WebVideoFullscreenController.h:
2:03 PM Changeset in webkit [166251] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix iOS build.

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

Make WKIBActions OS X only for now.

2:00 PM Changeset in webkit [166250] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

[iOS] Pass additional options to AVFoundation during playback.
https://bugs.webkit.org/show_bug.cgi?id=130624

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::doesHaveAttribute): Return attribute value if the user
passes a pointer to fill in.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::doesHaveAttribute):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::doesHaveAttribute):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Pass additional
option if supplied by user.

1:43 PM Changeset in webkit [166249] by msaboff@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r166070.

Rollout r166070 due to 2% performance loss in page load times

Reverted changeset:

"Change CodeGeneratorJS.pm special cases for "DOMWindow" to be
general purpose"
https://bugs.webkit.org/show_bug.cgi?id=130553
http://trac.webkit.org/changeset/166070

1:40 PM Changeset in webkit [166248] by msaboff@apple.com
  • 13 edits
    3 deletes in trunk

Unreviewed, rolling out r166126.

Rollout r166126 in prepartion to roll out prerequisite r166070

Reverted changeset:

"toThis() on a JSWorkerGlobalScope should return a JSProxy and
not undefined"
https://bugs.webkit.org/show_bug.cgi?id=130554
http://trac.webkit.org/changeset/166126

1:25 PM Changeset in webkit [166247] by jer.noble@apple.com
  • 6 edits
    2 moves
    2 adds in trunk/Source/WebCore

[iOS] Playing video does not disable display sleep.
https://bugs.webkit.org/show_bug.cgi?id=130729

Reviewed by Eric Carlson.

DisplaySleepDisabler was broken by r161589, which replaced the iOS implementation with
an empty one. Make a platform independent version with a Cocoa-platform subclass. Update
the APIs to non-deprecated ones.

  • platform/DisplaySleepDisabler.cpp: Added.

(WebCore::DisplaySleepDisabler::create):

  • platform/DisplaySleepDisabler.h: Added.

(WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
(WebCore::DisplaySleepDisabler::DisplaySleepDisabler):

  • platform/cocoa/DisplaySleepDisablerCocoa.cpp: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.

(WebCore::DisplaySleepDisabler::create):
(WebCore::DisplaySleepDisablerCocoa::DisplaySleepDisablerCocoa):
(WebCore::DisplaySleepDisablerCocoa::~DisplaySleepDisablerCocoa):

  • platform/cocoa/DisplaySleepDisablerCocoa.h: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.h.

Update m_sleepDisabler to be a std::unique_ptr, and unprotect the definition of methods which use it.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateSleepDisabling):
(WebCore::HTMLMediaElement::shouldDisableSleep):

  • html/HTMLMediaElement.h:

Add the new and renamed files to the project:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
1:24 PM Changeset in webkit [166246] by krit@webkit.org
  • 7 edits
    3 adds
    2 deletes in trunk

Implement ImageData constructors and WebWorkers exposure
https://bugs.webkit.org/show_bug.cgi?id=130668

Reviewed by Dean Jackson.

Source/WebCore:

Add new constructors for ImageData.

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation

Test: fast/canvas/canvas-imageData.html

  • html/ImageData.cpp:

(WebCore::ImageData::create):

  • html/ImageData.h:
  • html/ImageData.idl:

LayoutTests:

Tests for ImageData constructors. Remove a false tests for constructors
from Philip's test suite.

  • fast/canvas/canvas-imageData-expected.txt: Added.
  • fast/canvas/canvas-imageData.html: Added.
  • fast/canvas/script-tests/canvas-imageData.js: Added.

(testTransparentBlack):

  • LayoutTests/canvas/philip/tests/2d.imageData.object.ctor.html: Removed.
  • LayoutTests/canvas/philip/tests/2d.imageData.object.ctor-expected.txt: Removed.
  • LayoutTests/js/dom/global-constructors-attributes-dedicated-worker-expected.txt
  • LayoutTests/js/dom/global-constructors-attributes-shared-worker-expected.txt
1:15 PM Changeset in webkit [166245] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

InlineIterator position (unsigned int) variable can wrap around
https://bugs.webkit.org/show_bug.cgi?id=130540

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-03-25
Reviewed by Simon Fraser.

Source/WebCore:

We trigger an ASSERT that occurs when we are ignoring spaces (to collapse them
into a single whitespace mark) but then encounter a line break. Because we don't ignore
the first space (but do ignore subsequent spaces), when we hit a newline in an RTL context
we want to ignore that first space as well (so as not to push the text away from the right
edge). We do this by decrementing the InlineIterator pointing to this first space, so all
the spaces get ignored. However, if that space is the first character in a Text node, the
decrement will try to go past the beginning of the node, and trigger an ASSERT.

This design is not great. At some point we should rework it to more elegantly handle
collapsing whitespace in both RTL and LTR writing modes.

This patch adds an ASSERT earlier in this codepath to catch potential problems earlier.
It also pulls our sentinel value out into a separate boolean to make it more clear what is
going on.

Test: fast/text/whitespace-only-text-in-rtl.html

  • rendering/InlineIterator.h:

(WebCore::InlineIterator::moveTo): Use the set*() calls
(WebCore::InlineIterator::setOffset): ASSERT early that our math hasn't wrapped

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::appendRunsForObject): Use new boolean value

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText): Guard against wraps
(WebCore::checkMidpoints): Use new boolean value

  • rendering/line/TrailingObjects.cpp:

(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Use new boolean value

LayoutTests:

This test triggers an ASSERT that occurs when we are ignoring spaces (to collapse them
into a single whitespace mark) but then encounter a line break. Because we don't ignore
the first space (but do ignore subsequent spaces), when we hit a newline in an RTL context
we want to ignore that first space as well (so as not to push the text away from the right
edge). We do this by decrementing the InlineIterator pointing to this first space, so all
the spaces get ignored. However, if that space is the first character in a Text node, the
decrement will try to go past the beginning of the node, and trigger an ASSERT.

This design is not great. At some point we should rework it to more elegantly handle
collapsing whitespace in both RTL and LTR writing modes.

  • fast/text/whitespace-only-text-in-rtl-expected.txt: Added.
  • fast/text/whitespace-only-text-in-rtl.html: Added.

Conflicts:

LayoutTests/ChangeLog
Source/WebCore/ChangeLog

1:10 PM Changeset in webkit [166244] by andersca@apple.com
  • 2 edits
    3 adds in trunk/Source/WebKit2

Begin stubbing out a WKWindowFeatures class
https://bugs.webkit.org/show_bug.cgi?id=130733

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWindowFeatures.h: Added.
  • UIProcess/API/Cocoa/WKWindowFeatures.mm: Added.

(-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
(-[WKWindowFeatures x]):
(-[WKWindowFeatures y]):
(-[WKWindowFeatures width]):
(-[WKWindowFeatures height]):

  • UIProcess/API/Cocoa/WKWindowFeaturesInternal.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
1:06 PM Changeset in webkit [166243] by oliver@apple.com
  • 6 edits in trunk

AST incorrectly conflates readable and writable locations
https://bugs.webkit.org/show_bug.cgi?id=130734

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

We need to distinguish between "locations" that are valid for reading
and writing, vs those that may only be written.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitBytecode):
(JSC::ForOfNode::emitBytecode):

  • parser/Nodes.h:

(JSC::ExpressionNode::isAssignmentLocation):

LayoutTests:

More tests

  • js/parser-syntax-check-expected.txt:
  • js/script-tests/parser-syntax-check.js:
12:48 PM Changeset in webkit [166242] by aestes@apple.com
  • 2 edits in trunk/Tools

Add some debug logging to an API test that's failing on Mountain Lion.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _download:didReceiveResponse:]):
(-[DownloadDelegate _downloadDidFinish:]):

12:17 PM Changeset in webkit [166241] by andersca@apple.com
  • 5 edits in trunk

Add goBack: and goForward: IBActions and move stopLoading: to a new WKIBActions category on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130732

Reviewed by Tim Horton.

Source/WebKit2:

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

(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView goBack:]):
(-[WKWebView goForward:]):
(-[WKWebView stopLoading:]):

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateUserInterfaceItem:]):

11:00 AM Changeset in webkit [166240] by oliver@apple.com
  • 5 edits in trunk

ASSERTION FAILED in Parser: dst != localReg
https://bugs.webkit.org/show_bug.cgi?id=130710

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Just make sure we don't try to write to a captured constant,
following the change to track captured variables separately.

  • bytecompiler/NodesCodegen.cpp:

(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):

LayoutTests:

New testcases.

  • js/parser-syntax-check-expected.txt:
  • js/script-tests/parser-syntax-check.js:
10:45 AM Changeset in webkit [166239] by Martin Robinson
  • 35 edits
    1 copy
    22 deletes in trunk

[GTK] Remove the autotools build
https://bugs.webkit.org/show_bug.cgi?id=130717

Reviewed by Anders Carlsson.

.:

  • .gitignore: Remove references to autotools files.
  • GNUmakefile.am: Removed.
  • Source/autotools/CheckSystemAndBasicDependencies.m4: Removed.
  • Source/autotools/CustomMacros.m4: Removed.
  • Source/autotools/FindDependencies.m4: Removed.
  • Source/autotools/PrintBuildConfiguration.m4: Removed.
  • Source/autotools/ReadCommandLineArguments.m4: Removed.
  • Source/autotools/SetupAutoconfHeader.m4: Removed.
  • Source/autotools/SetupAutomake.m4: Removed.
  • Source/autotools/SetupCompilerFlags.m4: Removed.
  • Source/autotools/SetupLibtool.m4: Removed.
  • Source/autotools/SetupWebKitFeatures.m4: Removed.
  • Source/autotools/Versions.m4: Removed.
  • Source/autotools/acinclude.m4: Removed.
  • Source/autotools/dolt.m4: Removed.
  • Source/autotools/gsettings.m4: Removed.
  • Source/cmake/OptionsGTK.cmake:
  • autogen.sh: Removed.
  • configure.ac: Removed.

Source/JavaScriptCore:

  • GNUmakefile.am: Removed.
  • config.h: Remove references to the autotools configure file.

Source/Platform:

  • GNUmakefile.am: Removed.

Source/ThirdParty:

  • gtest/GNUmakefile.am: Removed.
  • leveldb/GNUmakefile.am: Removed.

Source/ThirdParty/ANGLE:

  • GNUmakefile.am: Removed.

Source/WebCore:

  • GNUmakefile.am: Removed.
  • bindings/gobject/GNUmakefile.am: Removed.
  • config.h: Removed references to autotools configure file.

Source/WebCore/platform/gtk/po:

  • GNUmakefile.am: Removed.

Source/WebInspectorUI:

  • GNUmakefile.am: Removed.

Source/WebKit/gtk:

  • GNUmakefile.am: Removed.

Source/WebKit2:

  • GNUmakefile.am: Removed.
  • WebKit2Prefix.h: Removed references to the autotools configure file.
  • config.h: Ditto.

Source/WTF:

  • GNUmakefile.am: Removed.
  • config.h: Removed references to the autotools configure file.

Tools:

  • DumpRenderTree/config.h: Remove references to the autotools configure file.
  • GNUmakefile.am: Removed.
  • GtkLauncher/GNUmakefile.am: Removed.
  • GtkLauncher/main.c: Remove references to the autotools configure file.
  • MiniBrowser/gtk/BrowserDownloadsBar.c: Ditto.
  • MiniBrowser/gtk/BrowserSearchBar.c: Ditto.
  • MiniBrowser/gtk/BrowserWindow.c: Ditto.
  • MiniBrowser/gtk/GNUmakefile.am: Removed.
  • MiniBrowser/gtk/main.c: Remove references to the autotools configure file.
  • Scripts/build-webkit: No longer handle autotools.
  • Scripts/run-gtk-tests: Ditto.

(TestRunner._setup_testing_environment):

  • Scripts/run-launcher: Ditto.
  • Scripts/webkitdirs.pm: Ditto.
  • Scripts/webkitpy/common/config/contributionareas.py: Remove autotools as a contribution area.
  • Scripts/webkitpy/common/config/contributors.json: Ditto.
  • Scripts/webkitpy/port/gtk.py: No longer handle autotools.
  • Scripts/webkitpy/style/checker.py:
  • TestWebKitAPI/GNUmakefile.am: Removed.
  • TestWebKitAPI/config.h: Remove references to the autotools configure file.
  • WebKitTestRunner/GNUmakefile.am: Removed.
  • WebKitTestRunner/WebKitTestRunnerPrefix.h: Ditto.
  • gtk/GNUmakefile.am: Removed.
  • gtk/common.py: Remove checks for the autotools build.
  • gtk/symbols.filter: Renamed from Source/autotools/symbols.filter.
9:51 AM Changeset in webkit [166238] by Brent Fulgham
  • 8 edits
    2 adds in trunk

Prevent 'removetrack' events from firing when all inband text tracks are removed.
https://bugs.webkit.org/show_bug.cgi?id=130704

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-remove-track.html

Based on the Blink change (patch by acolwell@chromium.org):
https://codereview.chromium.org/177243018/

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::prepareForLoad): Reorder steps to match W3C specification.
(WebCore::HTMLMediaElement::noneSupported): Forget tracks as required by specification.
(WebCore::HTMLMediaElement::mediaLoadingFailed): Forget tracks as required by specification.
(WebCore::HTMLMediaElement::removeTextTrack): Only request the 'removetracks' event if
requested by caller.
(WebCore::HTMLMediaElement::removeAllInbandTracks): Renamed to 'forgetResourceSpecificTracks'
(WebCore::HTMLMediaElement::noneSupported): Specify that we want the 'removetracks' event
fired for this use case.
(WebCore::HTMLMediaElement::prepareForLoad): Switch to new 'forgetResourceSpecificTracks' name.

  • html/HTMLMediaElement.h:
  • html/track/TextTrackList.cpp:

(TextTrackList::remove): Only fire the 'removetrack' event if the caller requests it.

  • html/track/TextTrackList.h: Add default argument to fire the 'removetrack' event

when removing a track.

  • html/track/TrackListBase.cpp:

(TrackListBase::remove): Only fire the 'removetrack' event if the caller requests it.

  • html/track/TrackListBase.h: Add default argument to fire the 'removetrack' event.

LayoutTests:

Based on the Blink change (patch by acolwell@chromium.org):
https://codereview.chromium.org/177243018/

  • media/track/track-remove-track-expected.txt: Added.
  • media/track/track-remove-track.html: Added.
9:44 AM Changeset in webkit [166237] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/W3C/audio/canPlayType/canPlayType_application_octet_stream.html frequently fails on EWS
https://bugs.webkit.org/show_bug.cgi?id=130720

  • platform/mac/TestExpectations: Marked as flaky.
9:42 AM Changeset in webkit [166236] by ddkilzer@apple.com
  • 3 edits
    2 adds in trunk

Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
<http://webkit.org/b/130713>
<rdar://problem/15661876>

Reviewed by Darin Adler.

Merged from Blink (patch by Ian Beer):
http://crbug.com/303657
https://src.chromium.org/viewvc/blink?view=rev&revision=158938

Source/WebCore:

Test: fast/forms/form-submission-crash-successful-submit-button.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):

LayoutTests:

  • fast/forms/form-submission-crash-successful-submit-button-expected.txt: Added.
  • fast/forms/form-submission-crash-successful-submit-button.html: Added.
8:53 AM Changeset in webkit [166235] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

prepare-ChangeLog throws false positive warnings for modified files.
https://bugs.webkit.org/show_bug.cgi?id=130687

Reviewed by Darin Adler.

  • Scripts/prepare-ChangeLog:

(originalFile): Ignore git commit paremeter.
We don't need this to get the unmodified file.
(extractLineRangeBeforeChange):
Simplify the if statement. Follow-up after r166189.

7:13 AM Changeset in webkit [166234] by rgabor@webkit.org
  • 2 edits in trunk/Source/WTF

[ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap
https://bugs.webkit.org/show_bug.cgi?id=130500

Reviewed by Filip Pizlo.

Set the first operand to the exact register in the inline assembly with GCC.

  • wtf/Atomics.h:

(WTF::weakCompareAndSwap):

6:14 AM Changeset in webkit [166233] by rgabor@webkit.org
  • 2 edits in trunk/Source/WebCore

[ARM64] GNU assembler fails in TransformationMatrix::multiply
https://bugs.webkit.org/show_bug.cgi?id=130454

Reviewed by Zoltan Herczeg.

Change the NEON intstructions to the proper style.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::multiply):

6:08 AM Changeset in webkit [166232] by rgabor@webkit.org
  • 8 edits in trunk

[EFL] Add ARM64 build support
https://bugs.webkit.org/show_bug.cgi?id=130506

Rubber stamped by Gyuyoung Kim.

.:

  • CMakeLists.txt: Set WTF_CPU_ARM64 when aarch64 is defined.

Source/ThirdParty:

  • leveldb/port/atomic_pointer.h: Set ARCH_CPU_ARM_FAMILY when aarch64 is defined.

Source/WTF:

  • wtf/Platform.h: Set WTF_CPU_ARM64 when aarch64 is defined.

Tools:

  • Scripts/webkitdirs.pm:

(isARM): Detect aarch64 as ARM.

5:43 AM Changeset in webkit [166231] by svillar@igalia.com
  • 3 edits
    2 moves in trunk

[CSS Grid Layout] Vertical rectangles not considered as valid grid areas
https://bugs.webkit.org/show_bug.cgi?id=130513

Reviewed by Andreas Kling.

Source/WebCore:

Grid areas sized as vertical rectangles were incorrectly
considered as invalid by the parser. That's because the condition
checking that each new row was adjacent to the previous one was
using the first row of the currently parsed grid area instead of
the last one.

Test: fast/css-grid-layout/grid-template-areas-get-set.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTemplateAreas):

LayoutTests:

Added tests for grid areas sized as horizontal and vertical
rectangles. The tests were also renamed from grid-template to
grid-template-areas which better describe their nature.

  • fast/css-grid-layout/grid-template-areas-get-set-expected.txt: Renamed from LayoutTests/fast/css-grid-layout/grid-template-get-set-expected.txt.
  • fast/css-grid-layout/grid-template-areas-get-set.html: Renamed from LayoutTests/fast/css-grid-layout/grid-template-get-set.html.
5:13 AM Changeset in webkit [166230] by Michał Pakuła vel Rutka
  • 4 edits in trunk

[EFL][WK2] Add NETWORK_PROCESS build option
https://bugs.webkit.org/show_bug.cgi?id=130131

Reviewed by Gyuyoung Kim.

.:

Add option to build EFL port with NETWORK_PROCESS set on. By default NETWORK_PROCESS is
set off.

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

  • PlatformEfl.cmake: Add file needed to build with NETWORK_PROCESS enabled.
5:13 AM Changeset in webkit [166229] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[webkitpy] Improve _parse_bug_description to recognize more descriptions
https://bugs.webkit.org/show_bug.cgi?id=130137

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-03-25
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLogEntry._parse_bug_description):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_parse_log_entries_from_changelog):

  • Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CheckoutTest.test_commit_info_for_revision):

2:53 AM Changeset in webkit [166228] by Michał Pakuła vel Rutka
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Add an API to set process model
https://bugs.webkit.org/show_bug.cgi?id=130133

Reviewed by Gyuyoung Kim.

Implement an API to set and get process model in ewk_context.
By default process model enum value is set to EWK_PROCESS_MODEL_SHARED_SECONDARY
which keeps current behaviour. Setting EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
will make each web view use separate web process, also enables network process.

  • UIProcess/API/efl/ewk_context.cpp:

(toWKProcessModel):
(EwkContext::setProcessModel):
(toEwkProcessModel):
(EwkContext::processModel):
(ewk_context_process_model_set):
(ewk_context_process_model_get):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(TEST_F):

2:10 AM Changeset in webkit [166227] by calvaris@igalia.com
  • 4 edits
    2 adds in trunk

[GTK] Volume slider shows below the panel with videos in certain cases
https://bugs.webkit.org/show_bug.cgi?id=130608

Reviewed by Jer Noble.

Source/WebCore:

We need to delay the moment we check if the volume slider shows up
or down. If the video was not visible, the offsets were 0 and it
was forced to be shown below the panel.

Test: media/video-initially-hidden-volume-slider-up.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Moved volumebox pseudo from
the subclass. The test checks for it and it would fail in Mac.

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.createControls): Moved volumebox pseudo
to the superclass.
(ControllerGtk.prototype.handleMuteButtonMouseOver): Check if
volume slider should show up or down.
(ControllerGtk.prototype.updateReadyState): Removed check for
volume slider direction.

LayoutTests:

  • media/video-initially-hidden-volume-slider-up-expected.txt: Added.
  • media/video-initially-hidden-volume-slider-up.html: Added.
12:13 AM Changeset in webkit [166226] by bshafiei@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

12:10 AM Changeset in webkit [166225] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.75.13

New tag.

Mar 24, 2014:

11:34 PM Changeset in webkit [166224] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: hit-testing doesn't always work correctly with WK2
https://bugs.webkit.org/show_bug.cgi?id=130706

Reviewed by Simon Fraser.

Accessibility code was trying to do screenToRootView itself, and in
some cases with embedded WK2 views that did not work.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

11:24 PM Changeset in webkit [166223] by bshafiei@apple.com
  • 10 edits
    1 copy in tags/Safari-538.24.2/Source/WebKit2

Merged r166103.

11:18 PM Changeset in webkit [166222] by bshafiei@apple.com
  • 4 edits
    1 copy in tags/Safari-538.24.2/Source/WebKit2

Merged r165983.

10:30 PM Changeset in webkit [166221] by Brent Fulgham
  • 9 edits in trunk

[Win] Enable WebVTT Regions on Windows.
https://bugs.webkit.org/show_bug.cgi?id=130680

Reviewed by Eric Carlson.

Source/WebCore:

  • DerivedSources.cpp: Add new build components.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props: Turn on WEBVTT_REGIONS
  • win/tools/vsprops/FeatureDefinesCairo.props: Ditto.

LayoutTests:

  • platform/win/TestExpectations: Turn on WebVTT tests.
9:59 PM Changeset in webkit [166220] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.24.2/Source

Versioning.

9:55 PM Changeset in webkit [166219] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.24.2

New tag.

8:44 PM Changeset in webkit [166218] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

More scaffolding for a stub routine to have a stub recursively embedded inside it
https://bugs.webkit.org/show_bug.cgi?id=130770

Reviewed by Oliver Hunt.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink): VM& argument is superfluous.
(JSC::CallLinkInfo::visitWeak): Factor this out, it used to be in CodeBlock::finalizeUnconditionally().

  • bytecode/CallLinkInfo.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally): Factor out some functionality into CallLinkInfo::visitWeak(), and make sure we pass RepatchBuffer& in more places.
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):

  • bytecode/PolymorphicGetByIdList.cpp: Pass RepatchBuffer& through and call JITStubRoutine::visitWeak().

(JSC::GetByIdAccess::visitWeak):
(JSC::PolymorphicGetByIdList::visitWeak):

  • bytecode/PolymorphicGetByIdList.h:
  • bytecode/PolymorphicPutByIdList.cpp: Pass RepatchBuffer& through and call JITStubRoutine::visitWeak().

(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::visitWeak):

  • bytecode/PolymorphicPutByIdList.h:
  • bytecode/StructureStubInfo.cpp: Pass RepatchBuffer& through.

(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:
  • jit/ClosureCallStubRoutine.cpp: isClosureCall is unused.

(JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):

  • jit/GCAwareJITStubRoutine.cpp:

(JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
(JSC::createJITStubRoutine):

  • jit/GCAwareJITStubRoutine.h: Make it easier to construct one of these.

(JSC::GCAwareJITStubRoutine::isClosureCall): Deleted.

  • jit/JITStubRoutine.cpp:

(JSC::JITStubRoutine::visitWeak): This will allow future JITStubRoutine subclasses to have stubs recursively embedded inside them.

  • jit/JITStubRoutine.h:
  • jit/Repatch.cpp:

(JSC::generateGetByIdStub): Fix a possible GC bug where we weren't making the stub routine GC aware.
(JSC::emitCustomSetterStub): Clean up some code.

8:27 PM Changeset in webkit [166217] by ggaren@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Safari crashes in JavaScriptCore: JSC::JSObject::growOutOfLineStorage
when WebKit is compiled with fcatch-undefined-behavior
https://bugs.webkit.org/show_bug.cgi?id=130652

Reviewed by Mark Hahnenberg.

Use a static member function because the butterfly we pass in might be
NULL, and passing NULL to a member function is undefined behavior.

Stylistically, I think this new way reads a little more clearly, since it
matches createOrGrowArrayRight, and it helps to convey that m_butterfly
might not exist yet.

  • runtime/Butterfly.h:
  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createOrGrowPropertyStorage): Renamed from growPropertyStorage
because we might create. Split out the create path to avoid using NULL
in a member function expression.

Removed some unused versions of this function.

  • runtime/JSObject.cpp:

(JSC::JSObject::growOutOfLineStorage): Updated for interface change.

6:54 PM Changeset in webkit [166216] by oliver@apple.com
  • 5 edits in trunk

Strict mode destructuring assignment crashes the parser.
https://bugs.webkit.org/show_bug.cgi?id=130538

Reviewed by Michael Saboff.

Source/JavaScriptCore:

The SyntaxChecker mode always return 1 for success, except
for a small subset of functions where we needed exact information.
This ends up just being a poor design decision as it means
the parser can get confused between a function return 1, and
the Resolve constant which was also 1. So we now use a unique
type for every creation method.

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createSourceElements):
(JSC::SyntaxChecker::createFunctionBody):
(JSC::SyntaxChecker::createArguments):
(JSC::SyntaxChecker::createSpreadExpression):
(JSC::SyntaxChecker::createArgumentsList):
(JSC::SyntaxChecker::createPropertyList):
(JSC::SyntaxChecker::createElementList):
(JSC::SyntaxChecker::createFormalParameterList):
(JSC::SyntaxChecker::createClause):
(JSC::SyntaxChecker::createClauseList):
(JSC::SyntaxChecker::createFuncDeclStatement):
(JSC::SyntaxChecker::createBlockStatement):
(JSC::SyntaxChecker::createExprStatement):
(JSC::SyntaxChecker::createIfStatement):
(JSC::SyntaxChecker::createForLoop):
(JSC::SyntaxChecker::createForInLoop):
(JSC::SyntaxChecker::createForOfLoop):
(JSC::SyntaxChecker::createEmptyStatement):
(JSC::SyntaxChecker::createVarStatement):
(JSC::SyntaxChecker::createReturnStatement):
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createContinueStatement):
(JSC::SyntaxChecker::createTryStatement):
(JSC::SyntaxChecker::createSwitchStatement):
(JSC::SyntaxChecker::createWhileStatement):
(JSC::SyntaxChecker::createWithStatement):
(JSC::SyntaxChecker::createDoWhileStatement):
(JSC::SyntaxChecker::createLabelStatement):
(JSC::SyntaxChecker::createThrowStatement):
(JSC::SyntaxChecker::createDebugger):
(JSC::SyntaxChecker::createConstStatement):
(JSC::SyntaxChecker::appendConstDecl):
(JSC::SyntaxChecker::combineCommaNodes):
(JSC::SyntaxChecker::operatorStackPop):

LayoutTests:

Add tests

  • js/parser-syntax-check-expected.txt:
  • js/script-tests/parser-syntax-check.js:
6:21 PM Changeset in webkit [166215] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Remove some unnecessary includes from PlatformCALayerClient.h
https://bugs.webkit.org/show_bug.cgi?id=130703

Reviewed by Andreas Kling.

No need for all these #includes.

  • platform/graphics/ca/PlatformCALayerClient.h:
6:14 PM Changeset in webkit [166214] by cavalcantii@gmail.com
  • 5 edits in trunk/Source/WebCore

[core] FEGaussianBlur: use IntSize to simplify member function interface
https://bugs.webkit.org/show_bug.cgi?id=130695

Reviewed by Dean Jackson.

By returning an IntSize to store the calculated kernel size values
it is possible to have less function parameters. This patch also
streamlines a bit the code in calculateUnscaledKernelSize.

No new tests, no change in behavior.

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::determineAbsolutePaintRect):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlur::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.h:

(if): Deleted.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::outsetSizeForBlur):

5:54 PM Changeset in webkit [166213] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] SpinLock are not initialized by default, ViewUpdateDispatcher is missing an initializer
https://bugs.webkit.org/show_bug.cgi?id=130705

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-24
Reviewed by Simon Fraser.

  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):

5:52 PM Changeset in webkit [166212] by BJ Burg
  • 7 edits
    1 add in trunk

Web Replay: capture and replay keyboard events
https://bugs.webkit.org/show_bug.cgi?id=130314

Reviewed by Joseph Pecoraro.

.:

  • ManualTests/inspector/replay-keyboard-events.html: Added.

Source/WebCore:

Upstream support for capturing and replaying non-IME keyboard input.
This works similarly to mouse events. It introduces optional fields and
macros to encode/decode them.

Test: ManualTests/inspector/replay-keyboard-events.html

  • replay/ReplayInputDispatchMethods.cpp:

(WebCore::HandleKeyPress::dispatch):

  • replay/SerializationMethods.cpp:

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue): Switch existing
encode/decode calls to use the shortening macros.
(JSC::EncodingTraits<KeypressCommand>::encodeValue): Added.
(JSC::EncodingTraits<KeypressCommand>::decodeValue): Added.
(JSC::PlatformKeyboardEventAppKit::PlatformKeyboardEventAppKit): Subclass
PlatformKeyboardEvent so that we can set AppKit-specific members not
initialized through the main constructors.
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue): Added.
(JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue): Added.

  • replay/SerializationMethods.h:
  • replay/UserInputBridge.cpp:

(WebCore::UserInputBridge::UserInputBridge): initialize m_state inside a guard.
(WebCore::UserInputBridge::handleKeyEvent): fill in the implementation.

  • replay/WebInputs.json:
5:17 PM Changeset in webkit [166211] by Lucas Forschler
  • 5 edits in tags/Safari-538.24.1/Source

Versioning.

5:15 PM Changeset in webkit [166210] by Lucas Forschler
  • 3 edits in tags/Safari-538.24.1/Source/WebKit2

Merged r166203.

5:12 PM Changeset in webkit [166209] by Lucas Forschler
  • 1 copy in tags/Safari-538.24.1

New Tag.

4:51 PM Changeset in webkit [166208] by enrica@apple.com
  • 10 edits in trunk/Source/WebKit2

[iOS WebKit2] Dictation support.
https://bugs.webkit.org/show_bug.cgi?id=130622
<rdar://problem/15337316>

Reviewed by Benjamin Poulain.

Adding support for dictation on iOS. There are two main types of interactions
with the dictation system:

  • initial request for context, which consists in retrieving the selected text

and 5 words before the selection and 5 words after, if available.

  • insertion of recognized chunks of text, providing the text

to replace.

  • UIProcess/AutoCorrectionCallback.h:

(WebKit::DictationContextCallback::create):
(WebKit::DictationContextCallback::~DictationContextCallback):
(WebKit::DictationContextCallback::performCallbackWithReturnValue):
(WebKit::DictationContextCallback::invalidate):
(WebKit::DictationContextCallback::DictationContextCallback):

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

(-[WKContentView replaceDictatedText:withText:]):
(-[WKContentView requestDictationContext:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dictationContextCallback):
(WebKit::WebPageProxy::replaceDictatedText):
(WebKit::WebPageProxy::requestDictationContext):

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

(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::replaceDictatedText):

4:44 PM Changeset in webkit [166207] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

Optimizing string construction for type error in JSNavigatorCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=130683

Reviewed by Eric Carlson.

  • bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::webkitGetUserMedia):

4:30 PM Changeset in webkit [166206] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Yet another iOS build fix, for the 32-bit build this time.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::setUpDownloadClient):

4:23 PM Changeset in webkit [166205] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Legacy-style scrollbars constantly redraw after scrolling
https://bugs.webkit.org/show_bug.cgi?id=130699

Reviewed by Simon Fraser.

The constant re-draw was happening because we were never calling [ScrollbarPainter
setUsePresentationValue:NO]. This is a silly bug where were should have been
looking at PlatformWheelEvent::momentumPhase() instead of
PlatformWheelEvent::phase()

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):

4:21 PM Changeset in webkit [166204] by aestes@apple.com
  • 3 edits in trunk/Tools

Fix the iOS build of TestWebKitAPI.

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/PlatformUtilities.h:
4:14 PM Changeset in webkit [166203] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r165872): Double-applying device scale to snapshots
https://bugs.webkit.org/show_bug.cgi?id=130697
<rdar://problem/16396629>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions):
Drive-by, make scaledSnapshotWithOptions respect SnapshotOptionsExcludeDeviceScaleFactor.

(WebKit::WebPage::snapshotAtSize):
Divide the device scale out of the scale factor

  • WebProcess/WebPage/WebPage.h:

Rename the scale argument to scaledSnapshotWithOptions to clarify
that it is an additional scale on top of the device scale.

4:11 PM Changeset in webkit [166202] by dbates@webkit.org
  • 4 edits
    4 adds in trunk

XSS Auditor doesn't block <script> injected before an existing <script>
https://bugs.webkit.org/show_bug.cgi?id=130475

Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=169697

Source/WebCore:

Tests: http/tests/security/xssAuditor/script-tag-expression-follows.html

http/tests/security/xssAuditor/script-tag-near-start.html

  • html/parser/XSSAuditor.cpp:

(WebCore::startsHTMLCommentAt):
(WebCore::startsSingleLineCommentAt):
(WebCore::startsMultiLineCommentAt):
(WebCore::startsOpeningScriptTagAt):
(WebCore::XSSAuditor::decodedSnippetForJavaScript):

LayoutTests:

  • http/tests/security/xssAuditor/resources/echo-intertag.pl:
  • http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt: Added.
  • http/tests/security/xssAuditor/script-tag-expression-follows.html: Added.
  • http/tests/security/xssAuditor/script-tag-near-start-expected.txt: Added.
  • http/tests/security/xssAuditor/script-tag-near-start.html: Added.
4:01 PM Changeset in webkit [166201] by Brent Fulgham
  • 15 edits in trunk

Activate WebVTT Tests Once Merging is Complete
https://bugs.webkit.org/show_bug.cgi?id=130420

Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)

LayoutTests:

  • TestExpectations: Remove [Skip] for media/track/regions-webvtt
  • platform/efl/TestExpectations: Skip media/track/regions-webvtt
  • platform/gtk/TestExpectations: Skip media/track/regions-webvtt
  • platform/mac/js/dom/global-constructors-attributes.html: Add new VTTRegions cases.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes.html: Ditto.
  • platform/win/TestExpectations: Skip media/track/regions-webvtt
3:59 PM Changeset in webkit [166200] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Re-fix the build.

  • WebCore.exp.in:
3:51 PM Changeset in webkit [166199] by thiago.lacerda@openbossa.org
  • 4 edits in trunk/LayoutTests

Update some mediastream LayoutTests results
https://bugs.webkit.org/show_bug.cgi?id=130692

Reviewed by Eric Carlson.

Tests were not passing due to outdated expected files.

  • fast/mediastream/MediaStream-MediaElement-srcObject-expected.txt:
  • fast/mediastream/MediaStreamTrack-expected.txt:
  • fast/mediastream/RTCPeerConnection-ice-expected.txt:
3:32 PM Changeset in webkit [166198] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • WebCore.exp.in:

Move a CFNetwork only symbol inside the USE(CFNETWORK) section.

3:27 PM Changeset in webkit [166197] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::setUpDownloadClient):

  • UIProcess/Cocoa/DownloadClient.mm:
2:54 PM Changeset in webkit [166196] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

mathml/presentation/tokenElements-background-color.html ImageOnlyFailure after 166170
https://bugs.webkit.org/show_bug.cgi?id=130693

Patch by Martin Hock <mhock@apple.com> on 2014-03-24
Reviewed by Tim Horton.

  • platform/mac/TestExpectations:
2:47 PM Changeset in webkit [166195] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix after r166186.

  • UIProcess/Cocoa/DownloadClient.mm:
2:26 PM Changeset in webkit [166194] by Chris Fleizach
  • 7 edits
    1 move
    2 adds in trunk

Regression: AX: Don't expose role or notifications for invalid menus
https://bugs.webkit.org/show_bug.cgi?id=129814

Reviewed by Mario Sanchez Prada.

Source/WebCore:

If a role=menu has no menuitem children, it should not be a menu.
This was a bit tricky to implement since we need to update the role after the children are created,
but it means we have to be a bit more aggressive about when to updateChildren, so that the role
is known to be valid.

Test: platform/mac/accessibility/invalid-menu-role-does-not-send-notification.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::notificationPostTimerFired):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation):
(WebCore::AccessibilityRenderObject::addChildren):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):

LayoutTests:

  • accessibility/table-with-aria-role.html:

Modify test so that tests only what we want (that the role is correct).
No longer use role=menu on the table, since the table won't have menuitems and won't be a valid menu.

  • platform/mac/accessibility/invalid-menu-role-does-not-send-notification-expected.txt: Added.
  • platform/mac/accessibility/invalid-menu-role-does-not-send-notification.html: Added.
  • platform/mac/accessibility/table-with-aria-role-expected.txt:
2:14 PM Changeset in webkit [166193] by aestes@apple.com
  • 2 edits in trunk/Source/WTF

Fix the iOS build.

  • wtf/ThreadingPthreads.cpp:

(WTF::createThreadInternal):
(WTF::setCurrentThreadQOSUtility):

2:03 PM Changeset in webkit [166192] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Stop pulling in all the macro assemblers from VM.h
<https://webkit.org/b/130691>

Remove #include of "GPRInfo.h". This breaks WebCore's dependency
on macro assemblers headers and removes 8 includes from every
.cpp file in the JS bindings.

Reviewed by Geoff Garen.

  • runtime/VM.h:
1:57 PM Changeset in webkit [166191] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Make updates on ViewUpdateDispatcher less heavy
https://bugs.webkit.org/show_bug.cgi?id=130626

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

  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):

  • WebProcess/WebPage/ViewUpdateDispatcher.h:
1:57 PM Changeset in webkit [166190] by timothy@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Lazy load source code referred to from the source map, instead of when
the source code is revealed in the Resources sidebar.

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

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/SourceMapResource.js:

(WebInspector.SourceMapResource): Set up the type info here so it can be used to
dispaly the right icon in the sidebar.
(WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested.
(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
Reset finished and remove the type change dance we had before.

  • UserInterface/Views/SourceMapResourceTreeElement.js:

(WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here.

1:51 PM Changeset in webkit [166189] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

Fix prepare-ChangeLog after r166156.
https://bugs.webkit.org/show_bug.cgi?id=130674

Reviewed by Darin Adler.

  • Scripts/prepare-ChangeLog:

(generateFunctionLists):
(extractLineRangeBeforeChange):

1:51 PM Changeset in webkit [166188] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Micro-optimize view state updates on the UIProcess side
https://bugs.webkit.org/show_bug.cgi?id=130631

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

  • UIProcess/API/Cocoa/WKWebView.mm:

(contentZoomScale):
[UIScrollView zoomScale] is not fast enough for -[WKWebView _updateVisibleContentRects]. Since we know what the zoom view is,
make a fast version hardcoding that.

(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView _zoomToPoint:WebCore::atScale:]):
(-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
(-[WKWebView _zoomToRect:WebCore::withOrigin:WebCore::fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView _updateVisibleContentRects]):

  • UIProcess/ios/WKContentView.mm:

(fixedPositionRectFromExposedRect):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):

1:29 PM Changeset in webkit [166187] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove WebGL asset entitlement
https://bugs.webkit.org/show_bug.cgi?id=130685

Reviewed by Simon Fraser.

No longer necessary on iOS.

  • Configurations/WebContent-iOS.entitlements:
12:44 PM Changeset in webkit [166186] by aestes@apple.com
  • 15 edits
    5 copies
    2 adds in trunk

[iOS] Download support by CFURLDownloadRef under USE(CFNETWORK).
https://bugs.webkit.org/show_bug.cgi?id=129322

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::releaseConnectionForDownload): Changed to
return a RetainPtr that adopts the connection's retain count.

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::convertMainResourceLoadToDownload): Use the
RetainPtr returned by releaseConnectionForDownload() rather than
manually releasing.

Source/WebKit2:

Based on an original patch by Yongjun Zhang <yongjun_zhang@apple.com>.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::dispatchOnMainThread):
(WebKit::toDownload):
(WebKit::setUpDownloadClient):
(WebKit::Download::startWithHandle):

  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::~DownloadClient):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDownloadClient):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _downloadDelegate]):
(-[WKProcessPool _setDownloadDelegate:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/_WKDownload.h: Added.
  • UIProcess/API/Cocoa/_WKDownload.mm: Added.

(WebKit::wrapper):
(WebKit::createAPIDownloadClient):
(-[_WKDownload dealloc]):
(-[_WKDownload API::]):

  • UIProcess/API/Cocoa/_WKDownloadDelegate.h: Added.
  • UIProcess/API/Cocoa/_WKDownloadInternal.h: Added.
  • UIProcess/Cocoa/DownloadClient.h: Added.
  • UIProcess/Cocoa/DownloadClient.mm: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add an API test suite for _WKDownload.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm: Added.

(-[DownloadDelegate initWithSourceURL:]):
(-[DownloadDelegate sourceURL]):
(-[DownloadDelegate _downloadDidStart:]):
(-[DownloadDelegate _download:didReceiveResponse:]):
(-[DownloadDelegate _download:didReceiveData:]):
(-[DownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[DownloadDelegate _downloadDidFinish:]):
(TEST):
(runTestWithNavigationDelegate):
(-[DownloadNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[ConvertResponseToDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):

12:31 PM Changeset in webkit [166185] by barraclough@apple.com
  • 2 edits in trunk/Source/WTF

Add support for thread QoS
https://bugs.webkit.org/show_bug.cgi?id=130688

Speculative EFL build fix.

  • wtf/ThreadingPthreads.cpp:

(WTF::setCurrentThreadQOSUtility):

12:25 PM Changeset in webkit [166184] by barraclough@apple.com
  • 7 edits in trunk/Source

Add support for thread QoS
https://bugs.webkit.org/show_bug.cgi?id=130688

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::blockFreeingThreadStartFunc):

  • block freeing is a utility activity.

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::runScavengerThread):

  • block freeing is a utility activity.
  • wtf/Threading.h:
    • declaration.
  • wtf/ThreadingPthreads.cpp:

(WTF::createThreadInternal):

  • default to interactive.

(WTF::setCurrentThreadQOSUtility):

  • implementation.
  • wtf/ThreadingWin.cpp:

(WTF::setCurrentThreadQOSUtility):

  • no-op implementation.
11:58 AM Changeset in webkit [166183] by Chris Fleizach
  • 3 edits in trunk/LayoutTests

<hr> should expose AXRole/AXSubrole, etc
https://bugs.webkit.org/show_bug.cgi?id=109015

Unreviewed. Update tests for ML platform.

  • platform/mac-mountainlion/accessibility/lists-expected.txt:
  • platform/mac-mountainlion/accessibility/roles-exposed-expected.txt:
11:56 AM Changeset in webkit [166182] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Update Hindi fallback font.
https://bugs.webkit.org/show_bug.cgi?id=130690
<rdar://problem/16391601>

Reviewed by Sam Weinig.

Using the new available font for Hindi in the fallback list.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::systemFallbackForCharacters):

10:51 AM Changeset in webkit [166181] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Remove a commented line of code introduced by r166104.

10:38 AM Changeset in webkit [166180] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Merge Minor WebVTT Cleanups from Blink
https://bugs.webkit.org/show_bug.cgi?id=130681

Reviewed by Eric Carlson.

Merged from Blink (patch by philipj@opera.com):
https://chromium.googlesource.com/chromium/blink/+/693eb5e2933dca0eab5bbd604e9f3406fe9fd1ab
http://crbug.com/52593009
https://chromium.googlesource.com/chromium/blink/+/40b3602feab34e9be829fd742b6ad6ded322a09f
http://crbug.com/104243003

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::setMode):

  • html/track/TextTrack.idl:
  • html/track/TextTrackCue.h:
  • html/track/VTTCue.cpp:

(WebCore::VTTCue::VTTCue):

  • html/track/VTTCue.h:
10:37 AM Changeset in webkit [166179] by fred.wang@free.fr
  • 12 edits
    5 deletes in trunk/Source/WebCore

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

This patch broke tests on Apple Mavericks (Requested by fredw
on #webkit).

Reverted changeset:

"Operator stretching: expose a math data API"
https://bugs.webkit.org/show_bug.cgi?id=130572
http://trac.webkit.org/changeset/166169

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-24

10:29 AM Changeset in webkit [166178] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, fix CLOOP build.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::getCallLinkInfoForBytecodeIndex):
(JSC::CodeBlock::resetStubDuringGCInternal): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::callLinkInfosEnd): Deleted.

10:21 AM Changeset in webkit [166177] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

filter-build-webkit: reduce unfiltered output
https://bugs.webkit.org/show_bug.cgi?id=130485

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-24
Reviewed by Brent Fulgham.

  • Scripts/filter-build-webkit:

(shouldIgnoreLine):

10:13 AM Changeset in webkit [166176] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

ENABLE(CSS_GRID_LAYOUT) guard for CSSGridLineNamesValue
https://bugs.webkit.org/show_bug.cgi?id=130669

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-24
Reviewed by Sergio Villar Senin.

No new tests. No new functionality.

  • css/CSSGridLineNamesValue.cpp:
  • css/CSSGridLineNamesValue.h:
10:08 AM Changeset in webkit [166175] by Chris Fleizach
  • 16 edits
    2 adds in trunk

<hr> should expose AXRole/AXSubrole, etc
https://bugs.webkit.org/show_bug.cgi?id=109015

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Expose the <hr> element to Mac and iOS through the accessibility interface.

Test: platform/mac/accessibility/hr-element.html

  • English.lproj/Localizable.strings:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isEnabled):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::computedRoleString):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • accessibility/atk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):

  • platform/LocalizedStrings.cpp:

(WebCore::AXHorizontalRuleDescriptionText):

  • platform/LocalizedStrings.h:

LayoutTests:

  • accessibility/lists.html:
    • An errant <hr> element was in this test which changed results
  • accessibility/roles-computedRoleString-expected.txt:
  • accessibility/roles-exposed.html:
  • platform/gtk/accessibility/roles-exposed-expected.txt: Added.
  • platform/mac/accessibility/hr-element-expected.txt: Added.
  • platform/mac/accessibility/hr-element.html: Added.
  • platform/mac/accessibility/lists-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
9:52 AM Changeset in webkit [166174] by Antti Koivisto
  • 4 edits in trunk/LayoutTests

Invalidate sibling text node style when needed instead of attaching synchronously
https://bugs.webkit.org/show_bug.cgi?id=130590

Reviewed by Andreas Kling.

Minor non-observable whitespace changes.

  • fast/forms/select-listbox-focus-displaynone-expected.txt:
  • fast/repaint/text-in-relative-positioned-inline-expected.txt:
9:49 AM Changeset in webkit [166173] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Invalidate sibling text node style when needed instead of attaching synchronously
https://bugs.webkit.org/show_bug.cgi?id=130590

Reviewed by Andreas Kling.

Make things simpler.

  • style/StyleResolveTree.cpp:

(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):

Just invalidate instead of calling attach directly.
Rename to match.

(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::createTextRendererIfNeeded):

Move all testing to textRendererIsNeeded.

(WebCore::Style::updateTextRendererAfterContentChange):

Call resolveTextNode instead of re-implementing the same thing.

(WebCore::Style::resolveLocal):
(WebCore::Style::resolveTextNode):

Avoid unnecessary reattaching.
Rename for consistency.

(WebCore::Style::resolveShadowTree):
(WebCore::Style::resolveTree):

9:35 AM Changeset in webkit [166172] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=130671

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-03-24
Reviewed by Eric Carlson.

Add missing ENABLE(VIDEO) guards because many functions use
the newly guarded functions.

  • testing/Internals.cpp:
  • testing/Internals.h:
  • testing/Internals.idl:
9:30 AM Changeset in webkit [166171] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Text autosizing does not determine line count correctly for simple line layout
https://bugs.webkit.org/show_bug.cgi?id=130673

Reviewed by Daniel Bates.

We don't count lines correctly in simple line layout case.

  • page/Frame.cpp:

(WebCore::Frame::textAutosizingWidth):
(WebCore::Frame::setTextAutosizingWidth):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::textAutosizingWidth): Deleted.
(WebCore::Frame::setTextAutosizingWidth): Deleted.

Move to Frame.cpp to make enabling on non-iOS build easier.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::lineCount):

Handle simple line layout case.

(WebCore::RenderBlockFlow::lineCountForTextAutosizing):

Call lineCount() if children are inline.
Rename for clarity.

(WebCore::RenderBlockFlow::adjustComputedFontSizes):
(WebCore::RenderBlockFlow::immediateLineCount): Deleted.

  • rendering/RenderBlockFlow.h:
9:27 AM Changeset in webkit [166170] by fred.wang@free.fr
  • 3 edits
    2 adds in trunk

[regression] background colors do not apply to <mo> elements.
https://bugs.webkit.org/show_bug.cgi?id=130470.

Source/WebCore:

Test: mathml/presentation/tokenElements-background-color.html

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::paint): always call the parent painting to draw the background.
(WebCore::RenderMathMLOperator::paintChildren): move the special case for invisible operator here.

LayoutTests:

  • mathml/presentation/tokenElements-background-color.html: Added.
  • mathml/presentation/tokenElements-background-color-expected.html: Added.
9:20 AM Changeset in webkit [166169] by fred.wang@free.fr
  • 12 edits
    3 copies
    2 adds in trunk/Source/WebCore

Operator stretching: expose a math data API
https://bugs.webkit.org/show_bug.cgi?id=130572

Reviewed by Chris Fleizach.

We expose a new SimpleFontData API to give access to the data from the
OpenType MATH table using a font cache. The class OpenTypeMathData will
be implemented in bug 130324. On Darwin platform, we also implement the
missing FontPlatformData::openTypeTable function which will be necessary
to load the OpenType MATH table. The changes are intended to be used
for MathML operator stretching (bug 130322) so tests are not added yet.

  • CMakeLists.txt: add new OpenTypeMathData files.
  • GNUmakefile.list.am: ditto.
  • WebCore.vcxproj/WebCore.vcxproj: ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto.
  • platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.

We make the math and vertical data share the same key for the cache.
(WebCore::fontMathDataCacheInstance):
(WebCore::FontCache::getMathData):
(WebCore::fontVerticalDataCacheInstance):

  • platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
  • platform/graphics/FontPlatformData.cpp:

(WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.

  • platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
  • platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.

(WebCore::SimpleFontData::SimpleFontData):

  • platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
  • platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.

(WebCore::OpenTypeMathData::OpenTypeMathData):

  • platform/graphics/opentype/OpenTypeMathData.h: Added.

(WebCore::OpenTypeMathData::create):
(WebCore::OpenTypeMathData::hasMathData):

9:09 AM Changeset in webkit [166168] by jonlee@apple.com
  • 4 edits in trunk/Source

Build fixes.

Unreviewed.

Source/WebCore:

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeSelectionToPasteboard): Convert to reference.

Source/WebKit/mac:

  • WebInspector/WebNodeHighlightView.mm: Missing include to GeometryUtilities.
8:27 AM Changeset in webkit [166167] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

ENABLE(VIDEO_TRACK) guard for CSSParserSelector::parsePseudoCueFunctionSelector
https://bugs.webkit.org/show_bug.cgi?id=130666

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-24
Reviewed by Andreas Kling.

No new tests. No new functionality.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoCueFunctionSelector): Deleted.

8:24 AM Changeset in webkit [166166] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[ARM64] GNU assembler doesn't work with LLInt arm64 backend.
https://bugs.webkit.org/show_bug.cgi?id=130453

Reviewed by Filip Pizlo.

Change fp and lr to x29 and x30. Add both operand kinds to emitARM64()
at sxtw and uxtw instructions.

  • offlineasm/arm64.rb:
6:46 AM Changeset in webkit [166165] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.0

Tagging the WebKitGTK+ 2.4.0 release

5:03 AM Changeset in webkit [166164] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests. Skip crashing http tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
4:50 AM Changeset in webkit [166163] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.0 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.0.
4:39 AM Changeset in webkit [166162] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Buildfix after r166159.

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-03-24
Reviewed by Csaba Osztrogonác.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_file_access_from_file_urls_allowed_set):
(ewk_settings_file_access_from_file_urls_allowed_get):

4:01 AM Changeset in webkit [166161] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Race condition when closing pages with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=129684

Source/WebKit2:

When the last page of a web process is closed with the network
process enabled, the UI process checks if the web process can be
terminated and closes the connection with that web process. But
right before that the Close message has been sent which also
enables the process termination in the web process. Sometimes
there's a race condition in the web process between the process
termination triggered by the Close message and the one triggered
by the socket being closed by the UI process.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::shouldTerminate): Use a 1 second timeout so
that if the message is sent right the before the connection is
closed, we don't wait indefinitely for the sync reply keeping the
web process alive.

Tools:

Enable the test to check that web processes finish when the web
view is destroyed.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
3:15 AM Changeset in webkit [166160] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r166158 - [GTK][WK2] Guard NetscapePluginModule methods used in PluginInfoCache that are specific to X11 architecture
https://bugs.webkit.org/show_bug.cgi?id=130663

Reviewed by Carlos Garcia Campos.

The two used methods are specific to the X11 plugin architecture and are not declared when building for a
Wayland-only configuration. Guarding them prevents build failures, but does not ensure proper functionality
which isn't a problem anyway since there's no support yet for Netscape plugins on Wayland.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::getPluginInfo): Guard NetscapePluginModule::parseMIMEDescription with PLUGIN_ARCHITECTURE(X11).
(WebKit::PluginInfoCache::updatePluginInfo): Ditto for NetscapePluginModule::buildMIMEDescription.

3:09 AM Changeset in webkit [166159] by jinwoo7.song@samsung.com
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Use C API inside ewk_settings
https://bugs.webkit.org/show_bug.cgi?id=107820

Reviewed by Gyuyoung Kim.

Use C API inside ewk_settings instead of accessing directly
internal C++ classes, to avoid violating API layering.

Original-author: Christophe Dumez <Christophe Dumez>

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_fullscreen_enabled_set):
(ewk_settings_fullscreen_enabled_get):
(ewk_settings_javascript_enabled_set):
(ewk_settings_javascript_enabled_get):
(ewk_settings_loads_images_automatically_set):
(ewk_settings_loads_images_automatically_get):
(ewk_settings_developer_extras_enabled_set):
(ewk_settings_developer_extras_enabled_get):
(ewk_settings_file_access_from_file_urls_allowed_set):
(ewk_settings_file_access_from_file_urls_allowed_get):
(ewk_settings_frame_flattening_enabled_set):
(ewk_settings_frame_flattening_enabled_get):
(ewk_settings_dns_prefetching_enabled_set):
(ewk_settings_dns_prefetching_enabled_get):
(ewk_settings_encoding_detector_enabled_set):
(ewk_settings_encoding_detector_enabled_get):
(ewk_settings_preferred_minimum_contents_width_set):
(ewk_settings_preferred_minimum_contents_width_get):
(ewk_settings_offline_web_application_cache_enabled_set):
(ewk_settings_offline_web_application_cache_enabled_get):
(ewk_settings_scripts_can_open_windows_set):
(ewk_settings_scripts_can_open_windows_get):
(ewk_settings_local_storage_enabled_set):
(ewk_settings_local_storage_enabled_get):
(ewk_settings_plugins_enabled_set):
(ewk_settings_plugins_enabled_get):
(ewk_settings_default_font_size_set):
(ewk_settings_default_font_size_get):
(ewk_settings_private_browsing_enabled_set):
(ewk_settings_private_browsing_enabled_get):
(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):
(ewk_settings_spatial_navigation_enabled_set):
(ewk_settings_spatial_navigation_enabled_get):
(EwkSettings::setDefaultTextEncodingName):

  • UIProcess/API/efl/ewk_settings_private.h:

(EwkSettings::EwkSettings):
(EwkSettings::preferences):

3:03 AM Changeset in webkit [166158] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK][WK2] Guard NetscapePluginModule methods used in PluginInfoCache that are specific to X11 architecture
https://bugs.webkit.org/show_bug.cgi?id=130663

Reviewed by Carlos Garcia Campos.

The two used methods are specific to the X11 plugin architecture and are not declared when building for a
Wayland-only configuration. Guarding them prevents build failures, but does not ensure proper functionality
which isn't a problem anyway since there's no support yet for Netscape plugins on Wayland.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::getPluginInfo): Guard NetscapePluginModule::parseMIMEDescription with PLUGIN_ARCHITECTURE(X11).
(WebKit::PluginInfoCache::updatePluginInfo): Ditto for NetscapePluginModule::buildMIMEDescription.

2:42 AM Changeset in webkit [166157] by commit-queue@webkit.org
  • 36 edits
    2 adds in trunk

[CSS Grid Layout] Update named <grid-line> syntax to the last version of the specs
https://bugs.webkit.org/show_bug.cgi?id=129041

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-03-24
Reviewed by Sergio Villar Senin.

From Blink r162555 by <svillar@igalia.com>

Source/WebCore:

Names for grid lines are now specified as a list of whitespace separated
idents enclosed in parentheses instead of as a list of strings.

Updated tests to match the new <grid-line> syntax.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj: Added info of the new file for the CSSGridLineNamesValue class.
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::addValuesForNamedGridLinesAtIndex): The named <grid-line> value is now a list.

  • css/CSSGrammar.y.in: New syntax for named <grid-line>.
  • css/CSSGridLineNamesValue.cpp: Added.

(WebCore::CSSGridLineNamesValue::customCSSText): String representation of the named <grid-line> as a list of Strings.
(WebCore::CSSGridLineNamesValue::CSSGridLineNamesValue): Constructor.
(WebCore::CSSGridLineNamesValue::cloneForCSSOM): Ref counted cloning function.

  • css/CSSGridLineNamesValue.h: Added.

(WebCore::CSSGridLineNamesValue::create): Ref counted constructor.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridLineNames): It replaces the old parseGrdTrackNames.
(WebCore::CSSParser::parseGridTrackList): Using the new named <grid-line> syntax.
(WebCore::CSSParser::parseGridTrackRepeatFunction): Using the new named <grid-line> syntax.

  • css/CSSParser.h:
  • css/CSSParserValues.cpp:

(WebCore::destroy): Handling the case of CSSValue being CSSValueList intances.
(WebCore::CSSParserValue::createCSSValue): Handling the case of CSSValue being CSSValueList intances.

  • css/CSSParserValues.h:

(WebCore::CSSParserValue::setFromValueList): Adds the named <grid-line> list to the CSSParserValueList instance.

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals): Handling the case of the new CSSGridLineNamesValue class.
(WebCore::CSSValue::cssText): Handling the case of the new CSSGridLineNamesValue class.
(WebCore::CSSValue::destroy): Handling the case of the new CSSGridLineNamesValue class.

  • css/CSSValue.h:

(WebCore::CSSValue::isGridLineNamesValue): Type cast check for the new CSSGridLineNamesValue class.

  • css/StyleResolver.cpp:

(WebCore::createGridTrackList): Using the new named <grid-line> syntax.

LayoutTests:

Updated tests to match the new <grid-line> syntax.

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
  • fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
  • fast/css-grid-layout/grid-item-negative-position-resolution.html:
  • fast/css-grid-layout/grid-item-position-changed-dynamic.html:
  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-element-repeat-get-set.html:
  • fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/non-named-grid-line-get-set.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:

(testInherit):
(testInitial):

2:27 AM Changeset in webkit [166156] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

prepare-ChangeLog should list functions that have been removed too.
https://bugs.webkit.org/show_bug.cgi?id=130508

Reviewed by Darin Adler.

The prepare-ChangeLog does not list the deleted functions in the Changelog.
We have to read the functions and the line ranges of them from the source
before the change, then search for overlaps between them and the changed
line ranges from diff.

  • Scripts/prepare-ChangeLog:

(originalFile): Get original source command.
(generateFunctionLists): Collect deleted functions too.
(generateFunctionListsByRanges): Duplicated code is moved to a separate subroutine.
(extractLineRangeBeforeChange): Extract line ranges from the original source to get
deleted functions ranges too.
(extractLineRange): Renamed to extractLineRangeAfterChange.

2:21 AM Changeset in webkit [166155] by ryuan.choi@samsung.com
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=130662

Reviewed by Gyuyoung Kim.

Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in remained WebKit2/Efl specific code.

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_cookie_manager.cpp:
  • UIProcess/API/efl/ewk_database_manager.cpp:

(getDatabaseOriginsCallback):

  • UIProcess/API/efl/ewk_error_private.h:
  • UIProcess/efl/DownloadManagerEfl.cpp:

(WebKit::DownloadManagerEfl::didFail):

  • UIProcess/efl/InputMethodContextEfl.h:

(WebKit::InputMethodContextEfl::create):

  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):

2:21 AM Changeset in webkit [166154] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Add expectations for flaky perf layout test.
https://bugs.webkit.org/show_bug.cgi?id=130584

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-03-24

  • platform/efl/TestExpectations:
2:19 AM Changeset in webkit [166153] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Add expectations for flaky webgl layout test.
https://bugs.webkit.org/show_bug.cgi?id=130587

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-03-24

  • platform/efl/TestExpectations:
2:10 AM Changeset in webkit [166152] by commit-queue@webkit.org
  • 2 edits in trunk

[EFL] Inspector page is not loaded.
https://bugs.webkit.org/show_bug.cgi?id=130661

Patch by Sangyong Park <sy302.park@gmail.com> on 2014-03-24
Reviewed by Gyuyoung Kim.

Inspector page is not loaded, because some javascript files are not installed.
(InspectorJSBackendCommands.js, InspectorWebBackendCommands.js)

  • Source/PlatformEfl.cmake:

Mar 23, 2014:

11:42 PM Changeset in webkit [166151] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Convert WebHTMLConverter to C++
https://bugs.webkit.org/show_bug.cgi?id=130655

Patch by Sam Weinig <sam@webkit.org> on 2014-03-23
Reviewed by Andreas Kling.

  • Mechanically converts the Objective-C class WebHTMLConverter, to the C++ HTMLConverter (lots of cleanup to follow).
  • Removes unused members
    • _standardFontFamily (never assigned to)
    • _textSizeMultiplier (always exactly 1)
    • _webViewTextSizeMultiplier (always exactly 0)
    • _defaultFontSize (always exactly 12, changed to be constant)
    • _minimumFontSize (always exactly 1, changed to be constant)
    • _colorsForNodes (never assigned to)
    • _indexingLimit (always exactly 0)
    • _thumbnailLimit (always exactly 0)
    • _flags.isIndexing (always false)
    • _flags.isTesting (always false)
  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::convert):
(HTMLConverter::HTMLConverter):
(HTMLConverter::~HTMLConverter):
(defaultParagraphStyle):
(_childrenForNode):
(HTMLConverter::_stringForNode):
(HTMLConverter::_getFloat):
(_webKitBundle):
(HTMLConverter::_elementIsBlockLevel):
(HTMLConverter::_elementHasOwnBackgroundColor):
(HTMLConverter::_blockLevelElementForNode):
(HTMLConverter::_colorForNode):
(HTMLConverter::_computedAttributesForElement):
(HTMLConverter::_attributesForElement):
(HTMLConverter::_newParagraphForElement):
(HTMLConverter::_newLineForElement):
(HTMLConverter::_newTabForElement):
(_WebMessageDocumentClass):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_addQuoteForElement):
(HTMLConverter::_addValue):
(HTMLConverter::_fillInBlock):
(HTMLConverter::_processMetaElementWithName):
(HTMLConverter::_processHeadElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableForElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_addMarkersToList):
(HTMLConverter::_exitElement):
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverter::_adjustTrailingNewline):
(HTMLConverter::_loadFromDOMRange):
(fileWrapperForURL):
(fileWrapperForElement):
(WebCore::attributedStringFromRange):
(WebCore::editingAttributedStringFromRange):

10:16 PM Changeset in webkit [166150] by jinwoo7.song@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove Dead Stores from editing directory
https://bugs.webkit.org/show_bug.cgi?id=130634

Reviewed by Darin Adler.

Remove Dead Stores from editing directory which assigning a value to a variable
and never reading that value.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):

  • editing/markup.cpp:

(WebCore::createMarkupInternal):

9:51 PM Changeset in webkit [166149] by ryuan.choi@samsung.com
  • 28 edits
    1 add in trunk

Move all EFL typedefs into EflTypedefs.h.
https://bugs.webkit.org/show_bug.cgi?id=130511

Source/JavaScriptCore:

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim

  • heap/HeapTimer.h: Remove EFL typedefs.

Source/WebCore:

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.

  • platform/FileSystem.h: Remove EFL typedefs.
  • platform/Widget.h: Ditto.
  • platform/efl/EflScreenUtilities.h: Ditto.
  • platform/graphics/Icon.h: Ditto.
  • platform/graphics/Image.h: Ditto.
  • platform/graphics/IntPoint.h: Ditto.
  • platform/graphics/IntRect.h: Ditto.
  • platform/network/NetworkStateNotifier.h: Ditto.

Source/WebKit/efl:

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.

  • WebCoreSupport/BatteryClientEfl.h: Remove EFL typedefs.
  • WebCoreSupport/DumpRenderTreeSupportEfl.h: Ditto.
  • WebCoreSupport/EditorClientEfl.h: Ditto.
  • WebCoreSupport/FrameNetworkingContextEfl.h: Ditto.
  • WebCoreSupport/NavigatorContentUtilsClientEfl.h: Ditto.
  • WebCoreSupport/ProgressTrackerClientEfl.h: Ditto.

Source/WebKit2:

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.

  • Shared/API/c/efl/WKArrayEfl.h: Remove EFL typedefs.
  • UIProcess/API/efl/EwkView.h: Ditto.

Source/WTF:

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.

  • wtf/Platform.h: include EflTypedefs.h.
  • wtf/efl/EflTypedefs.h: Added.
  • wtf/efl/RefPtrEfl.h: Remove EFL typedefs.

Tools:

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-23
Reviewed by Gyuyoung Kim.

  • TestWebKitAPI/PlatformWebView.h: Remove EFL typedefs.
  • WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
  • WebKitTestRunner/PlatformWebView.h: Ditto.
9:37 PM Changeset in webkit [166148] by jinwoo7.song@samsung.com
  • 6 edits in trunk/Source/WebKit2

[WK2] Refine WebKit2 BatteryStatus code
https://bugs.webkit.org/show_bug.cgi?id=130573

Reviewed by Anders Carlsson.

Refinements

  • Return PassRef instead of PassRefPtr in create methods
  • Use auto instead of iterator
  • UIProcess/WebBatteryManagerProxy.cpp:

(WebKit::WebBatteryManagerProxy::create):

  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/efl/BatteryProvider.cpp:

(BatteryProvider::create):

  • UIProcess/efl/BatteryProvider.h:
  • WebProcess/Battery/WebBatteryManager.cpp:

(WebKit::WebBatteryManager::didChangeBatteryStatus):
(WebKit::WebBatteryManager::updateBatteryStatus):

3:14 PM Changeset in webkit [166147] by weinig@apple.com
  • 2 edits
    2 moves
    1 add in trunk/Source/WebCore

Move HTMLConverter from platform/mac to editing/cocoa.

Rubber-stamped by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa: Added.
  • editing/cocoa/HTMLConverter.h: Copied from platform/mac/HTMLConverter.h.
  • editing/cocoa/HTMLConverter.mm: Copied from platform/mac/HTMLConverter.mm.
  • platform/mac/HTMLConverter.h: Removed.
  • platform/mac/HTMLConverter.mm: Removed.
2:47 PM Changeset in webkit [166146] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Remove some unnecessary .get()s that Darin noticed.

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView attributedString]):

2:41 PM Changeset in webkit [166145] by weinig@apple.com
  • 15 edits in trunk/Source

Simplify the HTMLConverter interface (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=130654

Reviewed by Darin Adler.

../WebCore:

Switch HTMLConverter from using an Objective-C interface to C functions.

  • WebCore.exp.in:
  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeSelectionToPasteboard):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::dataSelectionForPasteboard):
(WebCore::Editor::writeSelectionToPasteboard):

  • platform/ios/PasteboardIOS.mm:
  • platform/mac/HTMLConverter.h:
  • platform/mac/HTMLConverter.mm:

(WebCore::attributedStringFromRange):
(WebCore::editingAttributedStringFromRange):

  • platform/mac/PasteboardMac.mm:

../WebKit/mac:

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):

../WebKit2:

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

(WebKit::WebPage::performDictionaryLookupForRange):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::getAttributedSubstringFromRange):
(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupForRange):

2:37 PM Changeset in webkit [166144] by Darin Adler
  • 21 edits in trunk

Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
https://bugs.webkit.org/show_bug.cgi?id=130653

Reviewed by Antti Koivisto.

Source/WebCore:

  • dom/ContainerNode.cpp: Moved the post-attach callback code from here to

StyleResolveTree.h/cpp.

  • dom/ContainerNode.h: Ditto.
  • dom/Document.cpp:

(WebCore::Document::recalcStyle): Use Style::PostResolutionCallbackDisabler instead of
PostAttachCallbackDisabler.

  • dom/Element.h: Moved the post-attach callback code from here to StyleResolveTree.h/cpp.
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute): Simplified the code for typeAttr, turning
it into a 1-liner. Added a FIXME in codeAttr about the fact that it does not have the
code to trigger image loads. Changed srcAttr to call updateImageLoaderWithNewURLSoon to
do the image loading logic.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::didAttachRenderers): Updated to use
Style::queuePostResolutionCallback and use a lambda instead of a function.
(WebCore::HTMLFormControlElement::didRecalcStyle): Ditto. Also added RefPtr instead
of just using wishful thinking to keep the object alive.

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc): Ditto.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute):: Simplified the code for typeAttr, turning
it into a 1-liner. Changed dataAttr to use updateImageLoaderWithNewURLSoon(). Also made
it call setNeedsWidgetUpdate(true) unconditionally after checking carefully to see that's
harmless if there is no renderer. Changed classidAttr to call setNeedsWidgetUpdate(true)
unconditionally and not set m_classId.
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Use fastGetAttribute
instead of classId and descendantsOfType instead of getElementsByTagName.
(WebCore::HTMLObjectElement::hasValidClassId): Use fastGetAttribute instead of classId.
(WebCore::HTMLObjectElement::renderFallbackContent): Use imageLoader instead of m_imageLoader.

  • html/HTMLObjectElement.h: Removed classId, since there is no reason to cache that

attribute in a data member. Rearranged header, making more private, and fixing some typos,
and doing a "using" instead of a function to disambiguate the inherited form functions.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize m_needsImageReload.
(WebCore::HTMLPlugInImageElement::createElementRenderer): Fixed some code that assumed the
first child of the shadow root is guaranteed to be an element.
(WebCore::HTMLPlugInImageElement::didRecalcStyle): Added. Calls the new
scheduleUpdateForAfterStyleResolution function.
(WebCore::HTMLPlugInImageElement::didAttachRenderers): Moved all the logic from this
function into scheduleUpdateForAfterStyleResolution. Also added a call through to the base
class; cleaner even though it's just an assertion.
(WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Added.
Schedules a call to updateAfterStyleResolution when needed.
(WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Added.
Combines updateWidgetIfNecessary and startLoadingImage, and also deals with the new
m_needsImageReload boolean in cases where no actual loading is done.
(WebCore::HTMLPlugInImageElement::removedFrom): Added. Do not delay the load event of
document once this element is removed, clears m_needsImageReload.
(WebCore::HTMLPlugInImageElement::didMoveToNewDocument): Removed null check on oldDocument,
since m_needsDocumentActivationCallbacks can't be true if the old document was null.
(WebCore::is100Percent): Added helper to make function below more readable.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Restructured the code a
bit. The part that attracted my attention was the local variable of type RenderBox, which
was named renderEmbeddedObject. Turns out the caller guarantees to only call this if there
is a renderer of type RenderEmbeddedObject, so depend on that.
(WebCore::HTMLPlugInImageElement::setNeedsImageReload): Added. When called with true, sets
the flag and triggers a style recalculation, and lets updateAfterStyleResolution do the rest.
When called with false, reverses the effects and stops delaying the load event.

  • html/HTMLPlugInImageElement.h: Trimmed includes a bit. Made more members private.

Marked more function members final. Made a protected imageLoader function so that
m_imageLoader can be private. Added new protected function updateImageLoaderWithNewURLSoon,
as well as other new private functions. Made m_imageLoader be std::unique_ptr instead of
OwnPtr, and added m_needsImageReload.

  • style/StyleResolveTree.cpp:

(WebCore::Style::needsPseudoElement): Fixed spelling error in the name of this function.
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): Updated for name change.
(WebCore::Style::attachRenderTree): Update for new name of PostResolutionCallbackDisabler.
(WebCore::Style::updateBeforeOrAfterPseudoElement): Updated for name change.
(WebCore::Style::postResolutionCallbackQueue): Added.
(WebCore::Style::queuePostResolutionCallback): Added.
(WebCore::Style::suspendMemoryCacheClientCalls): Added. This is a side effect of the original
PostAttachCallbackDisabler that is now done in a cleaner way, using the callback queue, instead
of as a special case. It should not work for multiple documents across multiple pages instead of
only the outermost one.
(WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Added.
Calls suspendMemoryCacheClientCalls, but a FIXME tries to point out why that isn't so great.
(WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Added.
(WebCore::Style::postResolutionCallbacksAreSuspended): Added.

  • style/StyleResolveTree.h: Added queuePostResolutionCallback and

postResolutionCallbacksAreSuspended. Also added PostResolutionCallbackDisabler, which should
eventually become a private implementation detail.

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm: Call toHTMLPlugInImageElement instead of

doing a static_cast.

LayoutTests:

  • plugins/plugin-remove-readystatechange-expected.txt: Added a blank line; not what this

test is testing, but the different timing of loads results in this blank line.

  • plugins/plugin-remove-readystatechange.html: Updated test to use waitUntilDone/notifyDone

rather than racing. Added a computation of offsetLeft to trigger layout and adding a long
comment explaining why this is needed and potentially insufficient in the long run.

  • svg/custom/object-no-size-attributes-expected.txt: Removed expectation of an empty text

renderer from the render tree.

  • svg/custom/object-no-size-attributes.xhtml: Restructured the source so there is no text

to render. Without this, we were seeing two text renderers due to the loading timing change.

1:17 PM Changeset in webkit [166143] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Simplify the HTMLConverter interface (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=130654

Reviewed by Dan Bernstein.

Convert WebHTMLConverter's interface to only use class methods as the first
step of simplifying the interface.

  • editing/ios/EditorIOS.mm:

(WebCore::attributedStringForRange):

  • editing/mac/EditorMac.mm:

(WebCore::attributedStringForRange):

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

(+[WebHTMLConverter attributedStringFromRange:]):

11:56 AM Changeset in webkit [166142] by fpizlo@apple.com
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Gotta grow the locals vectors if we are about to do SetLocals beyond the bytecode's numCalleeRegisters
https://bugs.webkit.org/show_bug.cgi?id=130650
<rdar://problem/16122966>

Reviewed by Michael Saboff.

Previously, it was only in the case of inlining that we would do SetLocal's beyond the
previously established numLocals limit. But then we added generalized op_call_varargs
handling, which results in us emitting SetLocals that didn't previously exist in the
bytecode.

This factors out the inliner's ensureLocals loop and calls it from op_call_varargs.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ensureLocals):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub): Make this do alignment correctly.

  • runtime/Options.h:
  • tests/stress/call-varargs-from-inlined-code.js: Added.
  • tests/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js: Added.
10:32 AM Changeset in webkit [166141] by commit-queue@webkit.org
  • 10 edits in trunk

Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
https://bugs.webkit.org/show_bug.cgi?id=130635

Patch by James Craig <jcraig@apple.com> on 2014-03-23
Reviewed by Timothy Hatcher.

Support for @aria-owns, @aria-controls, and @aria-flowto.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
9:12 AM Changeset in webkit [166140] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit::resistanceForDelta() truncates 'scaleDistance' to integer value using abs()
<http://webkit.org/b/130651>

Reviewed by Darin Adler.

Fixes the following build failure with trunk clang:

WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: error: using integer absolute value function 'abs' when argument is of floating point type [-Werror,-Wabsolute-value]

double scaleDistance = abs(limit - currentScale);


WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: note: use function 'fabs' instead

double scaleDistance = abs(limit - currentScale);


fabs

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::resistanceForDelta): Use fabs() instead of abs().

8:36 AM Changeset in webkit [166139] by Simon Fraser
  • 2 edits in trunk/Source

Clean up #includes by geometry classes
https://bugs.webkit.org/show_bug.cgi?id=130645

Reviewed by Andreas Kling.

Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
classes brings in a lot of additional headers. Fix by adding a new
GeometryUtilities file so that the basic files don't need Vector,
and including GeometryUtilities.h where necessary.

Also forward declare PrintStream.h and only bring in the header
in implementation files.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSToStyleMap.h:
  • html/HTMLCanvasElement.cpp:
  • platform/cairo/WidgetBackingStoreCairo.h:
  • platform/graphics/FloatPoint.cpp:
  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatRect.cpp:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FloatSize.cpp:
  • platform/graphics/FloatSize.h:
  • platform/graphics/GeometryUtilities.cpp: Added.

(WebCore::findSlope):
(WebCore::findIntersection):
(WebCore::unionRect):
(WebCore::mapRect):

  • platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.cpp:
  • platform/graphics/IntRect.h:
  • platform/graphics/IntSize.h:
  • platform/graphics/TextTrackRepresentation.h:
  • platform/graphics/Tile.h:
  • platform/graphics/texmap/coordinated/UpdateAtlas.h:
  • platform/gtk/WidgetBackingStoreGtkX11.h:
  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderImage.cpp:
  • rendering/RenderObject.cpp:

Source/WebKit2:

  • Shared/UpdateInfo.h:
  • UIProcess/BackingStore.h:
  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/FindIndicator.cpp:
  • UIProcess/mac/WKPrintingView.h:
1:36 AM Changeset in webkit [166138] by Simon Fraser
  • 32 edits
    1 copy
    1 add in trunk/Source

Clean up #includes by geometry classes
https://bugs.webkit.org/show_bug.cgi?id=130645

Reviewed by Andreas Kling.

Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
classes brings in a lot of additional headers. Fix by adding a new
GeometryUtilities file so that the basic files don't need Vector,
and including GeometryUtilities.h where necessary.

Also forward declare PrintStream.h and only bring in the header
in implementation files.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSToStyleMap.h:
  • html/HTMLCanvasElement.cpp:
  • platform/cairo/WidgetBackingStoreCairo.h:
  • platform/graphics/FloatPoint.cpp:
  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatRect.cpp:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FloatSize.cpp:
  • platform/graphics/FloatSize.h:
  • platform/graphics/GeometryUtilities.cpp: Added.

(WebCore::findSlope):
(WebCore::findIntersection):
(WebCore::unionRect):
(WebCore::mapRect):

  • platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.cpp:
  • platform/graphics/IntRect.h:
  • platform/graphics/IntSize.h:
  • platform/graphics/TextTrackRepresentation.h:
  • platform/graphics/Tile.h:
  • platform/gtk/WidgetBackingStoreGtkX11.h:
  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderImage.cpp:
  • rendering/RenderObject.cpp:

Source/WebKit2:

  • UIProcess/BackingStore.h:
  • UIProcess/FindIndicator.cpp:
  • UIProcess/mac/WKPrintingView.h:

Mar 22, 2014:

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

Unreviewed, adjust sizes for ARM64.

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCall):

9:36 PM Changeset in webkit [166136] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Protect the silent spiller/filler's desire to fill Int32Constants by making sure that we don't mark something as having a Int32 register format if it's a non-Int32 constant
https://bugs.webkit.org/show_bug.cgi?id=130649
<rdar://problem/16399949>

Reviewed by Andreas Kling.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):

  • tests/stress/fuzz-bug-16399949.js: Added.

(tryItOut.f):
(tryItOut):

9:34 PM Changeset in webkit [166135] by fpizlo@apple.com
  • 28 edits
    1 add in trunk/Source/JavaScriptCore

Call linking slow paths should be passed a CallLinkInfo* directly so that you can create a call IC without adding it to any CodeBlocks
https://bugs.webkit.org/show_bug.cgi?id=130644

Reviewed by Andreas Kling.

This is conceptually a really simple change but it involves the following:

  • The inline part of the call IC stuffs a pointer to the CallLinkInfo into regT2.


  • CodeBlock uses a Bag of CallLinkInfos instead of a Vector.


  • Remove the significance of a CallLinkInfo's index. This means that DFG::JITCode no longer has a vector of slow path counts that shadows the CallLinkInfo vector.


  • Make CallLinkInfo have its own slowPathCount, which counts actual slow path executions and not all relinking.


This makes planting JS->JS calls inside other inline caches or stubs a lot easier, since
the CallLinkInfo and the call IC slow paths no longer rely on the call being associated
with a op_call/op_construct instruction and a machine code return PC within such an
instruction.

  • bytecode/CallLinkInfo.h:

(JSC::getCallLinkInfoCodeOrigin):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeDFGStatuses):

  • bytecode/CallLinkStatus.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::getCallLinkInfoMap):
(JSC::CodeBlock::getCallLinkInfoForBytecodeIndex):
(JSC::CodeBlock::addCallLinkInfo):
(JSC::CodeBlock::unlinkCalls):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::stubInfoBegin):
(JSC::CodeBlock::stubInfoEnd):
(JSC::CodeBlock::callLinkInfosBegin):
(JSC::CodeBlock::callLinkInfosEnd):
(JSC::CodeBlock::byValInfo):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGJITCode.h:
  • dfg/DFGJITCompiler.cpp:

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

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addJSCall):
(JSC::DFG::JITCompiler::JSCallRecord::JSCallRecord):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGSpeculativeJIT.cpp:

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

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCall):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::emit):
(JSC::FTL::JSCall::link):

  • ftl/FTLJSCall.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationLinkFor):
(JSC::operationVirtualFor):
(JSC::operationLinkClosureCallFor):

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::virtualForThunkGenerator):

  • tests/stress/eval-that-is-not-eval.js: Added.
7:43 PM Changeset in webkit [166134] by commit-queue@webkit.org
  • 14 edits in trunk

Replace deprecatedIsCollapsibleWhitespace with RenderStyle::isCollapsibleWhiteSpace in TextIterator.
https://bugs.webkit.org/show_bug.cgi?id=130612.

Patch by Chang Shu <cshu@webkit.org> on 2014-03-22
Reviewed by Darin Adler.

Source/WebCore:

Some layout tests are affected by this change but the new behavior should be correct.

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):

LayoutTests:

  • accessibility/table-scope-expected.txt:
  • editing/deleting/delete-block-table-expected.txt:
  • editing/pasteboard/paste-into-anchor-text-expected.txt:
  • fast/dom/Element/offsetTop-table-cell-expected.txt:
  • fast/html/object-border-expected.txt:
  • fast/table/cell-in-row-before-misnested-text-crash-css-expected.txt:
  • fast/table/cell-in-row-before-misnested-text-crash-expected.txt:
  • fast/tokenizer/script_extra_close-expected.txt:
  • fast/xsl/mozilla-tests-expected.txt:
  • platform/mac/accessibility/aria-grid-with-strange-hierarchy-expected.txt:
  • platform/mac/accessibility/table-multi-bodies-expected.txt:
6:30 PM Changeset in webkit [166133] by fpizlo@apple.com
  • 1 edit
    1 move in trunk/Source/JavaScriptCore

Unreviewed, fix mispelled test name.

  • tests/stress/constand-folding-osr-exit.js: Removed.
  • tests/stress/constant-folding-osr-exit.js: Copied from Source/JavaScriptCore/tests/stress/constand-folding-osr-exit.js.
6:20 PM Changeset in webkit [166132] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
https://bugs.webkit.org/show_bug.cgi?id=130639

Reviewed by Darin Adler.

This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.

  • Removes gratuitous lookup of CSS properties that are known at compile time.
  • Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) that will alway yield the same results.
  • Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures but instead used the non-existent font-effect.
  • platform/mac/HTMLConverter.mm:

(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
(HTMLConverterCaches::propertyValueForNode):
(-[WebHTMLConverter _stringForNode:property:]):
(HTMLConverterCaches::floatPropertyValueForNode):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(HTMLConverterCaches::isBlockElement):
(HTMLConverterCaches::elementHasOwnBackgroundColor):
(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):

6:03 PM Changeset in webkit [166131] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Fix debug build.

  • bindings/js/JSDOMBinding.h:

(WebCore::createWrapper):

6:01 PM Changeset in webkit [166130] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Add *final* keyword to NavigatorContentUtils class
https://bugs.webkit.org/show_bug.cgi?id=130636

Reviewed by Darin Adler.

NavigatorContentUtils won't be used as a base class. So, added final keyword.

No new tests, no behavior changes.

  • Modules/navigatorcontentutils/NavigatorContentUtils.h:
5:38 PM Changeset in webkit [166129] by akling@apple.com
  • 1 edit in trunk/WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme

Revert accidental changes to WebKit.xcworkspace

5:35 PM Changeset in webkit [166128] by akling@apple.com
  • 49 edits in trunk

CREATE_DOM_WRAPPER doesn't need the ExecState.
<https://webkit.org/b/130648>

Source/JavaScriptCore:

Add a fast path from JSGlobalObject to the VM so we don't have
to dance via the Heap.

Reviewed by Darin Adler.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::vm):

Source/WebCore:

Remove the ExecState parameter from CREATE_DOM_WRAPPER and get all
that we need from the global object instead.

toJS() and toJSNewlyCreated() still take an ExecState, that needs
to be dealt with separately since some of them have scary looking
currentWorld() checks.

Reviewed by Darin Adler.

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::JSAudioContextConstructor::constructJSAudioContext):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::toJS):
(WebCore::JSBlobConstructor::constructJSBlob):

  • bindings/js/JSCDATASectionCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSDOMBinding.h:

(WebCore::createWrapper):
(WebCore::wrap):
(WebCore::createNewWrapper):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSElementCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::content):

  • bindings/js/JSIDBAnyCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSMediaStreamCapabilitiesCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::createWrapperInline):

  • bindings/js/JSPerformanceEntryCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSRTCIceCandidateCustom.cpp:

(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):

  • bindings/js/JSRTCPeerConnectionCustom.cpp:

(WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):

  • bindings/js/JSRTCSessionDescriptionCustom.cpp:

(WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):

  • bindings/js/JSSVGPathSegCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTextCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTouchCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSTouchListCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toJS):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • dom/make_names.pl:

(printWrapperFunctions):
(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):

4:18 PM Changeset in webkit [166127] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix FTL build.

  • ftl/FTLJITFinalizer.cpp:
4:06 PM Changeset in webkit [166126] by msaboff@apple.com
  • 13 edits
    3 adds in trunk

toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
https://bugs.webkit.org/show_bug.cgi?id=130554

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
Did some cleanup as well. Moved the setting of the thisObject in a JSGlobalObject to
happen in finishCreation() so that it will also happen for other derived classes including
JSWorkerGlobalScopeBase.

  • API/JSContextRef.cpp:

(JSGlobalContextCreateInGroup):

  • jsc.cpp:

(GlobalObject::create):

  • API/tests/testapi.c:

(globalObject_initialize): Eliminated ASSERT that the global object we are creating matches
the result from JSContextGetGlobalObject() as that will return the proxy.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Removed thisValue parameter and the call to setGlobalThis() since
we now call setGlobalThis in finishCreation().

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::setGlobalThis): Made this a private method.

Source/WebCore:

Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
Added cast from JSProxy->target() if the jsCast<>() to the native object fails
in toJSDedicatedWorkerGlobalScope() and toJSSharedWorkerGlobalScope().
The original cast is needed for access to the local side of the worker, while the JSProxy
cast is used on the remote side of a worker.

Test: fast/workers/worker-strict.html

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::toJSDedicatedWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate): Changed to pass in the JSProxy and not
the WorkerGlobalScope object as the this object to script evaluation.

  • workers/DedicatedWorkerGlobalScope.idl:
  • workers/SharedWorkerGlobalScope.idl:
  • workers/WorkerGlobalScope.idl:

Added the new CustomProxyToJSObject attribute so we'll call to<{nativeClass}>() for
getting the object to use for global evaluation.

LayoutTests:

Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
New regressions tests.

  • fast/workers/resources/worker-strict.js: Added.
  • fast/workers/worker-strict-expected.txt: Added.
  • fast/workers/worker-strict.html: Added.
1:57 PM Changeset in webkit [166125] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix debug build.

  • bytecode/CodeBlock.cpp:
  • runtime/Executable.cpp:
1:02 PM Changeset in webkit [166124] by Simon Fraser
  • 9 edits in trunk/Source/WebCore

Some #include hygiene in Node/Element etc
https://bugs.webkit.org/show_bug.cgi?id=130642

Reviewed by Geoffrey Garen.

Clean up various #includes.

  • accessibility/AccessibilityObject.h:
  • bindings/js/WebCoreTypedArrayController.h:
  • dom/Element.h:
  • dom/EventListenerMap.h:
  • dom/EventTarget.h:
  • dom/Node.h:
  • rendering/RenderObject.h:
  • rendering/svg/RenderSVGRoot.h:
12:42 PM Changeset in webkit [166123] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

FloatRect.h on iOS should not suck in a system header
https://bugs.webkit.org/show_bug.cgi?id=130641

Reviewed by Geoff Garen.

Don't pull in <CoreGraphics/CGGeometry.h> from FloatRect.h.

  • platform/graphics/FloatRect.h:
12:19 PM Changeset in webkit [166122] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed the iOS build.

Reviewed by Darin Adler.

  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot):

11:56 AM Changeset in webkit [166121] by akling@apple.com
  • 8 edits
    1 add in trunk/Source

Cut down on JSC profiler includes in WebCore & co.
<https://webkit.org/b/130637>

Most of WebKit was pulling in JSC's profiler headers via VM.h.

Reviewed by Darin Adler.

  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDisassembler.h:
  • dfg/DFGJITFinalizer.cpp:
  • jsc.cpp:
  • runtime/VM.cpp:
  • runtime/VM.h:
11:52 AM Changeset in webkit [166120] by Darin Adler
  • 41 edits in trunk/Source

Remove String::deprecatedCharacters
https://bugs.webkit.org/show_bug.cgi?id=126854

Reviewed by Sam Weinig.

Source/WebCore:

  • bindings/scripts/StaticString.pm:

(GenerateStrings): Remove the code to generate the null m_copyData16 pointer.

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::prependContext): Changed to use the new append function in
StringView.h and removed the one defined locally here.

  • editing/VisibleUnits.cpp:

(WebCore::wordBreakIteratorForMinOffsetBoundary): Use the new append function
in StringView.h instead of using deprecatedCharacters.
(WebCore::wordBreakIteratorForMaxOffsetBoundary): Ditto.
Removed an append function defined locally here and use the one in StringView.h.

  • editing/htmlediting.cpp:

(WebCore::stringWithRebalancedWhitespace): Use StringView::getCharactersWithUpconvert.

  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::appendToAttributeValue): Changed to take a StringView instead
of a const String&.

  • loader/appcache/ManifestParser.cpp:

(WebCore::parseManifest): Use StringView and StringView::upconvertedCharacters.

  • page/EventSource.cpp:

(WebCore::EventSource::didReceiveData): Use the new append overload from StringView.h.
Also added a comment about incorrect use of the decode function.

  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot): Use the new StringView append function.
Also use simpler new-style for loops.

  • platform/LinkHash.cpp:

(WebCore::visitedURLInline): Use the new append function and StringView::substring.
(WebCore::visitedLinkHash): Use upconvertedCharacters for the non-8-bit case.

  • platform/URL.cpp:

(WebCore::findFirstOf): Chagned to take a StringView.
(WebCore::containsOnlyASCII): Added. Works on StringView. Could move to a WTF header in
the future if it's needed elsewhere.
(WebCore::protocolIs): Added. Works on StringView. Could put in URL.h if needed elsewhere,
or consider replacing the one that takes const String& with just this one.
(WebCore::appendEncodedHostname): Changed to take a StringView and use
StringView::upconvertedCharacters.
(WebCore::findHostnamesInMailToURL): Changed to take a StringView.
(WebCore::findHostnameInHierarchicalURL): Ditto.
(WebCore::encodeHostnames): Ditto.
(WebCore::encodeRelativeString): Ditto.

  • platform/graphics/StringTruncator.cpp:

(WebCore::StringTruncator::width): Use StringView::upconvertedCharacters.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::setFontFeatures): Use indexing directly on the string instead
of on a UChar*.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use StringView::upconvertedCharacters.

  • platform/text/TextCodecICU.cpp:

(WebCore::TextCodecICU::encode): Use a Vector<UChar> rather than a String to copy and
replace the backslashes with yen signs. Also optimize case where there are no backslashes.

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint): Use TextRun::setText(StringView).

  • rendering/RenderText.cpp:

(WebCore::maxWordFragmentWidth): Pass a String to RenderBlock::constructTextRun instead of
calling StringBuilder::deprecatedCharacters.

  • rendering/RenderText.h: Removed deprecatedCharacters function.
  • rendering/line/BreakingContextInlineHeaders.h: Added now-needed header include.
  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun): Use StringView version of TextRun constructor.

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::SVGTextMetrics): Take references instead of pointers.
(WebCore::SVGTextMetrics::constructTextRun): Take references instead of pointers, and don't
take a character pointer any more. Instead, extract the text and use the StringView version of
the TextRun constructor.
(WebCore::SVGTextMetrics::measureCharacterRange): Take references instead of pointers and
update for above changes.

  • rendering/svg/SVGTextMetrics.h: Updated for changes above. Also tweaked style a bit.
  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::advanceSimpleText): Updated for SVGTextMetrics changes.
(WebCore::SVGTextMetricsBuilder::advanceComplexText): Ditto.
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): Ditto.
(WebCore::SVGTextMetricsBuilder::measureTextRenderer): Change code to store a character
for lastCharacter rather than storing a pointer to a character. Stop using TextRun::data16.

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::subStringLengthCallback): Updated for SVGTextMetrics changes.
(WebCore::SVGTextQuery::startPositionOfCharacterCallback): Ditto.
(WebCore::SVGTextQuery::endPositionOfCharacterCallback): Ditto.
(WebCore::calculateGlyphBoundaries): Ditto.

  • xml/XPathFunctions.cpp:

(WebCore::XPath::atomicSubstring): Added.
(WebCore::XPath::FunId::evaluate): Tweaked a bit to use a new style for loop.
Use the atomicSubstring function to avoid making a temporary String just to make an AtomicString.
That function also uses characters8/16 rather than depreccatedCharacters.

  • xml/XPathNodeSet.h: Added begin and end so this collection can be iterated with new style for loop.
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::doWrite): Use StringView::upconvertedCharacters.
(WebCore::parseAttributes): Ditto.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Removed getData16SlowCase.

Source/WebKit/ios:

  • Misc/WebNSStringDrawing.h: Added a FIXME about deleting this file; we can probably do it soon.
  • Misc/WebNSStringDrawing.mm:

(+[NSString _web_setWordRoundingEnabled:]):
(+[NSString _web_wordRoundingEnabled]):
(+[NSString _web_setWordRoundingAllowed:]):
(+[NSString _web_wordRoundingAllowed]):
(+[NSString _web_setAscentRoundingEnabled:]):
(+[NSString _web_ascentRoundingEnabled]):
(-[NSString _web_drawAtPoint:withFont:]):
(-[NSString _web_sizeWithFont:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:letterSpacing:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:letterSpacing:resultRange:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:measureOnly:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:]):
(-[NSString _web_sizeInRect:withFont:ellipsis:lineSpacing:]):
(-[NSString _web_sizeInRect:withFont:ellipsis:]):
(-[NSString _web_stringForWidth:withFont:ellipsis:letterSpacing:includeEmoji:]):
(-[NSString _web_sizeForWidth:withAttributes:]):
(-[NSString _web_drawAtPoint:forWidth:withAttributes:]):
(-[NSString _web_sizeInRect:withAttributes:]):
(-[NSString _web_drawInRect:withAttributes:]):
Emptied out all these functions since callers aren't really using them any more.

Source/WebKit/win:

  • WebKitStatistics.cpp:

(WebKitStatistics::comClassNameCounts): Update to not use Vector::append(String).

Source/WTF:

  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.

  • wtf/text/StringBuilder.h: Removed deprecatedCharacters.

(WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
(WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
(WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
(WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
(WTF::StringImpl::lower): Ditto.
(WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
Added an 8-bit code path to one of the overloads. Might want to revisit later
to decide whether to use templates instead of copy/paste, or even use StringView
to cut down on duplicate code paths.
(WTF::StringImpl::findIgnoringCase): Ditto.
(WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
(WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.

  • wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,

upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
(WTF::equalIgnoringNullity): Changed the template function into an inline that calls
a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
strings.

  • wtf/text/StringView.h:

(WTF::StringView::StringView): Added an overload so we can make one of these directly
from a StringImpl without first wrapping it in a string. Added an adapter so we can
use StringView as part of string concatenation. Added an append function so we can
append to a Vector<UChar>.

  • wtf/text/WTFString.cpp:

(WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
single-character append so it won't always turn an 8-bit string into a 16-bit one.
(WTF::String::insert): Removed one insert overload and changed the other to use
StringView::getCharactersWithUpconvert.
(WTF::String::truncate): Changed to use StringImpl::substring.
(WTF::String::percentage): Added characters8/16 paths instead of using
deprecatedCharacters.

  • wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,

insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.

11:31 AM Changeset in webkit [166119] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Crashing things (Requested by weinig on #webkit).

Reverted changeset:

"Switch HTMLConverter to use CSSPropertyIDs to refer to CSS
properties"
https://bugs.webkit.org/show_bug.cgi?id=130639
http://trac.webkit.org/changeset/166118

11:01 AM Changeset in webkit [166118] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
https://bugs.webkit.org/show_bug.cgi?id=130639

Reviewed by Simon Fraser.

This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.

  • Removes gratuitous lookup of CSS properties that are known at compile time.
  • Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) that will alway yield the same results.
  • Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures but instead used the non-existent font-effect.
  • platform/mac/HTMLConverter.mm:

(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
(HTMLConverterCaches::propertyValueForNode):
(-[WebHTMLConverter _stringForNode:property:]):
(HTMLConverterCaches::floatPropertyValueForNode):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(HTMLConverterCaches::isBlockElement):
(HTMLConverterCaches::elementHasOwnBackgroundColor):
(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):

10:52 AM Changeset in webkit [166117] by Simon Fraser
  • 9 edits in trunk

Source/WebCore: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
<rdar://problem/16368869>

Reviewed by Sam Weinig.

Remove the call to flushCompositingStateForThisFrame() here. We should
have always flushed before painting via other mechanisms in WebKit2 and WebKit2.
Flushing during painting is actually harmful, since we could be inside
a CA commit already, and creating or destroying layers via flushing is bad.

  • page/FrameView.cpp:

(WebCore::FrameView::willPaintContents):

Source/WebKit/mac: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627

Reviewed by Sam Weinig.

Make _flushCompositingChanges private so DRT can call it;
moved it into the Private category.

  • WebView/WebView.mm:

(-[WebView _flushCompositingChanges]):

  • WebView/WebViewPrivate.h:

Tools: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
<rdar://problem/16368869>

Reviewed by Sam Weinig.

Fix DRT to correctly render tests with layers now that FrameView::paintContents
does not flush.

Move the -[WebView displayIfNeeded] from -[FrameLoadDelegate webView:didFinishLoadForFrame:]
into an explicit function called before dumping.

Then explicitly call _flushCompositingChanges to ensure that GraphicsLayer changes
are flushed to CA. They will be pushed to the window by snapshotting.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Fix weird path to IOKit.framework.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(updateDisplay):
(dump):

  • DumpRenderTree/mac/FrameLoadDelegate.mm:

(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): Fix parameter name.
(-[FrameLoadDelegate webView:didFinishLoadForFrame:]): Remove display call.

10:51 AM Changeset in webkit [166116] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Remove duplicate line added during merging
https://bugs.webkit.org/show_bug.cgi?id=130623

Reviewed by Beth Dakin.

Remove a duplicate call to -_viewWillDrawInternal which
was added during merges.

  • WebView/WebView.mm:

(LayerFlushController::flushLayers):

9:50 AM Changeset in webkit [166115] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Assertions in WebPage::rangeFromEditingRange when requested range location is NSNotFound
https://bugs.webkit.org/show_bug.cgi?id=130633
<rdar://problem/16397583>

Reviewed by Darin Adler.

  • UIProcess/API/mac/WKView.mm:

(-[WKView firstRectForCharacterRange:completionHandler:]):
(-[WKView firstRectForCharacterRange:actualRange:]):
Return NSZeroRect, like NSTextView does for any locations that are out of bounds.
There is no need for a round trip to WebProcess in this case.

8:16 AM Changeset in webkit [166114] by Darin Adler
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
https://bugs.webkit.org/show_bug.cgi?id=127361

Source/WebCore:

Huge numbers represented by the 'INF' value can not be used
in CSS rules, so they make the assert fail. We have to make
sure that the parsed property value is finite, otherwise
the property will be dropped.

Test: fast/css/infinite-floating-value.html

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-22

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createValue):

LayoutTests:

Added test shows that CSS rules containing huge numbers
(which are transformed into 'INF' values after parsing)
are dropped.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-22
Reviewed by Darin Adler.

  • fast/css/infinite-floating-value-expected.txt: Added.
  • fast/css/infinite-floating-value.html: Added.
7:31 AM Changeset in webkit [166113] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Use pthread_stackseg_np() to find the stack bounds on OpenBSD.
https://bugs.webkit.org/show_bug.cgi?id=129965

Reviewed By Anders Carlsson.

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-22

12:36 AM Changeset in webkit [166112] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Finish merge of r160065.

Mar 21, 2014:

8:41 PM Changeset in webkit [166111] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Remove redundant friending from class Image.
https://bugs.webkit.org/show_bug.cgi?id=130628

Reviewed by Simon Fraser.

Those friend classes are subclasses. No need to make them friend of their parent class.

No change in functionality.

  • platform/graphics/Image.h:
7:40 PM Changeset in webkit [166110] by benjamin@webkit.org
  • 11 edits in trunk/Source

[iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
https://bugs.webkit.org/show_bug.cgi?id=130555

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-21
Reviewed by Simon Fraser.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ScrollView.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::computeTileCoverageRect):

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::setScrollVelocityInformation):
(WebCore::ScrollView::computeCoverageRect):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

Source/WebKit2:

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::operator==):

  • UIProcess/ios/WKContentView.mm:

(WebKit::HistoricalKinematicData::HistoricalKinematicData):
(WebKit::HistoricalKinematicData::velocityForNewData):
(WebKit::HistoricalKinematicData::clear):
(WebKit::HistoricalKinematicData::append):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):

  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

6:02 PM Changeset in webkit [166109] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

5:59 PM Changeset in webkit [166108] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.12

New tag.

4:48 PM Changeset in webkit [166107] by mark.lam@apple.com
  • 6 edits
    3 adds in trunk

Crash when BytecodeGenerator::emitJump calls Label::bind on null pointer.
<https://webkit.org/b/124508>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

The issue is that BreakNode::emitBytecode() is holding onto a LabelScope
pointer from the BytecodeGenerator's m_localScopes vector, and then it
calls emitPopScopes(). emitPopScopes() may do finally clause handling
which will require the m_localScopes to be cloned so that it can change
the local scopes for the finally block, and then restore it after
handling the finally clause. These modifications of the m_localScopes
vector will result in the LabelScope pointer in BreakNode::emitBytecode()
becoming stale, thereby causing the crash.

The same issue applies to the ContinueNode as well.

The fix is to use the existing LabelScopePtr abstraction instead of raw
LabelScope pointers. The LabelScopePtr is resilient to the underlying
vector re-allocating its backing store.

I also changed the LabelScopePtr constructor that takes a LabelScopeStore
to expect a reference to the owner store instead of a pointer because the
owner store should never be a null pointer.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::breakTarget):
(JSC::BytecodeGenerator::continueTarget):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/LabelScope.h:

(JSC::LabelScopePtr::LabelScopePtr):
(JSC::LabelScopePtr::operator bool):
(JSC::LabelScopePtr::null):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ContinueNode::trivialTarget):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::trivialTarget):
(JSC::BreakNode::emitBytecode):

LayoutTests:

  • js/regress-124508-expected.txt: Added.
  • js/regress-124508.html: Added.
  • js/script-tests/regress-124508.js: Added.

(function_0):

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

[iOS] clean up fullscreen player controller when exiting fullscreen
https://bugs.webkit.org/show_bug.cgi?id=130621

Reviewed by Jer Noble.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVVideoLayer setBounds:]): Do nothing if _avPlayerController is nil.
(-[WebAVVideoLayer setVideoLayerGravity:]): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Set m_playerViewController delegate

and player controller to nil.

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

REGRESSION (r165356): Predictive Chinese input is broken
https://bugs.webkit.org/show_bug.cgi?id=130619

Reviewed by Enrica Casucci.

  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::executeKeypressCommands):

Like after insertText, we are no longer in an intermediate state after executeKeypressCommands.
Make sure that we don't call -discardMarkedText the next time we get a non-intermediate
state with closed composition.

3:45 PM Changeset in webkit [166104] by matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r166090.

3:43 PM Changeset in webkit [166103] by weinig@apple.com
  • 10 edits
    1 copy in trunk/Source/WebKit2

[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130528

Reviewed by Tim Horton.

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.cpp:

(IPC::Connection::getAuditToken):
Expose the audit data if available.

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Pass the audit data corresponding to the UIProcess.

  • Configurations/Network-iOS.entitlements: Copied from Configurations/WebContent-iOS.entitlements.
  • Configurations/NetworkProcess.xcconfig:
  • Configurations/NetworkService.Development.xcconfig:
  • Configurations/NetworkService.xcconfig:
  • Configurations/WebContent-iOS.entitlements:

Add entitlement allowing the audit data to be used.

3:30 PM Changeset in webkit [166102] by matthew_hanson@apple.com
  • 4 edits in branches/safari-537.75-branch/Source/WebKit2

Merge r166026.

3:21 PM Changeset in webkit [166101] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] remote command callbacks must happen on the WebThread
https://bugs.webkit.org/show_bug.cgi?id=130618

Reviewed by Jer Noble.

  • platform/ios/RemoteCommandListenerIOS.h:

(WebCore::RemoteCommandListenerIOS::createWeakPtr):

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Dispatch commands to the

main thread before making listener callbacks.

3:09 PM Changeset in webkit [166100] by Alan Bujtas
  • 11 edits
    2 adds in trunk

Subpixel rendering: Make <img> positioning subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=130596

Reviewed by Simon Fraser.

Change <img> positioning from integral to device pixel. It enables us
to paint hairline borders around <img> properly.
This patch changes the behavior of broken image representation from constant 1 CSS px border
to a dynamic 1 device px.

Source/WebCore:

Test: fast/images/hidpi-image-position-on-device-pixels.html

  • WebCore.exp.in:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawRect):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawRect):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::drawRect):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):

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

(WebCore::RenderLayer::drawPlatformResizerImage):

LayoutTests:

  • fast/images/hidpi-image-position-on-device-pixels-expected.html: Added.
  • fast/images/hidpi-image-position-on-device-pixels.html: Added.
2:53 PM Changeset in webkit [166099] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

6% SunSpider commandline regression due to r165940
https://bugs.webkit.org/show_bug.cgi?id=130617

Reviewed by Michael Saboff.

In GCActivityCallback::didAllocate, lastGCLength() returns 0 if we've never collected
before. Some of the benchmarks are never running a single EdenCollection, which causes
them to repeatedly call scheduleTimer with a newDelay of 0. This defeats our timer
slop heuristic, causing us to invoke CFRunLoopTimerSetNextFireDate a couple orders of
magnitude more than we normally would.

The fix is to seed the last GC lengths in Heap with a non-zero length so that our heuristic works.

  • heap/Heap.cpp:

(JSC::Heap::Heap):

2:49 PM Changeset in webkit [166098] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Always retrieve the screen scale factor from WKSI
<rdar://problem/16329679>

Reviewed by Sam Weinig.

  • Misc/WebUIKitSupport.mm:

(WebKitSetIsClassic): Empty this out; it's no longer needed, but will still be called.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
(-[WKContentView _updateForScreen:]):
Use WKGetScreenScaleFactor/WKGetScaleFactorForScreen.

2:26 PM Changeset in webkit [166097] by Brent Fulgham
  • 12 edits
    3 adds in trunk/Source/WebCore

Merge VTTScanner Code from Blink
https://bugs.webkit.org/show_bug.cgi?id=130616

Reviewed by Eric Carlson.

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/f1ceb058d574a1174b524c57f67350510a942071
http://crbug.com/75273002
https://chromium.googlesource.com/chromium/blink/+/3e2c67969486e86347b328c72c67cacabfe6f4a1
http://crbug.com/134173002
https://chromium.googlesource.com/chromium/blink/+/5962b7bbb001838f3fc7f24817637528b86bfd9b
http://crbug.com/134153002
https://chromium.googlesource.com/chromium/blink/+/6c81f51438013edca920a19fc6a31026fc562af2
http://crbug.com/137033002
https://chromium.googlesource.com/chromium/blink/+/fa286dca17a291da3ae8be80111e2264de6d5cfd
http://crbug.com/140503004
https://chromium.googlesource.com/chromium/blink/+/8f33b63aabcce7dd21dd15288d45c4eb37c02001
http://crbug.com/139343006
https://chromium.googlesource.com/chromium/blink/+/1872b54b908fac525f1ad9d6f15174b11e27c8af
http://crbug.com/143983002
https://chromium.googlesource.com/chromium/blink/+/e6494b3359e2077bd8772d86ab1fb709acf4c398
http://crbug.com/144893002

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/track/ParsingUtilities.h: Added.

(skipExactly):
(skipUntil):
(skipWhile):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::settingName):
(WebCore::scanPercentage):
(WebCore::VTTCue::setCueSettings):

  • html/track/VTTCue.h:
  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::scanSettingName):
(WebCore::parsedEntireRun):
(WebCore::VTTRegion::parseSettingValue):

  • html/track/VTTRegion.h:
  • html/track/VTTScanner.cpp: Added.

(WebCore::VTTScanner::VTTScanner):
(WebCore::VTTScanner::scan):
(WebCore::VTTScanner::scanRun):
(WebCore::VTTScanner::skipRun):
(WebCore::VTTScanner::extractString):
(WebCore::VTTScanner::restOfInputAsString):
(WebCore::VTTScanner::scanDigits):
(WebCore::VTTScanner::scanFloat):

  • html/track/VTTScanner.h: Added.

(WebCore::VTTScanner::Run::Run):
(WebCore::VTTScanner::Run::start):
(WebCore::VTTScanner::Run::end):
(WebCore::VTTScanner::Run::isEmpty):
(WebCore::VTTScanner::isAt):
(WebCore::VTTScanner::isAtEnd):
(WebCore::VTTScanner::match):
(WebCore::VTTScanner::position):
(WebCore::VTTScanner::end):
(WebCore::VTTScanner::LCharPredicateAdapter):
(WebCore::VTTScanner::Run::length):
(WebCore::VTTScanner::scan):
(WebCore::VTTScanner::skipWhile):
(WebCore::VTTScanner::skipUntil):
(WebCore::VTTScanner::collectWhile):
(WebCore::VTTScanner::collectUntil):
(WebCore::VTTScanner::seekTo):
(WebCore::VTTScanner::currentChar):
(WebCore::VTTScanner::advance):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::parseFloatPercentageValuePair):
(WebCore::WebVTTParser::collectTimingsAndSettings):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • html/track/WebVTTParser.h:
2:14 PM Changeset in webkit [166096] by aestes@apple.com
  • 8 edits
    1 add
    2 deletes in trunk/Source/WebKit2

[Webkit2] Add APIDownloadClient for download support.
https://bugs.webkit.org/show_bug.cgi?id=130484

Add API::DownloadClient to WebContext and get rid of WebDownloadClient.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-21
Reviewed by Anders Carlsson.

  • UIProcess/API/APIDownloadClient.h: Added.

(API::DownloadClient::~DownloadClient):
(API::DownloadClient::didStart):
(API::DownloadClient::didReceiveAuthenticationChallenge):
(API::DownloadClient::didReceiveResponse):
(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):
(API::DownloadClient::didFinish):
(API::DownloadClient::didFail):
(API::DownloadClient::didCancel):
(API::DownloadClient::processDidCrash):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDownloadClient): Move the original WebDownloadClient methods to a local class

DownloadClient and set up the downloadClient for WebContext.

  • UIProcess/Downloads/DownloadProxy.cpp:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setDownloadClient):

  • UIProcess/WebContext.h:

(WebKit::WebContext::downloadClient):

  • UIProcess/WebDownloadClient.cpp: Removed.
  • UIProcess/WebDownloadClient.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
1:23 PM Changeset in webkit [166095] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Constants folded by DFG::ByteCodeParser should not be dead.
https://bugs.webkit.org/show_bug.cgi?id=130576

Reviewed by Mark Hahnenberg.

This fixes bugs in the ByteCodeParser's constant folder by removing that constant folder. This
reduces the number of folders in JSC from fourish to just threeish (parser, DFG AI, and one
or more folders in LLVM). Doing so has no performance impact since the other constant folders
already subsume this one.

Also added a test case for the specific bug that instigated this.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::inferredConstant):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGNode.h:
  • dfg/DFGNodeFlags.h:
  • tests/stress/constand-folding-osr-exit.js: Added.

(foo):
(test):
(.var):

12:56 PM Changeset in webkit [166094] by benjamin@webkit.org
  • 17 edits
    2 adds in trunk/Source/WebCore

Pseudo type cleanup part 2: split pseudo elements parsing
https://bugs.webkit.org/show_bug.cgi?id=130370

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

With this patch, pseudo elements are handled separately. The only thing left in
the old path is compatibility pseudo elements and pseudo classes.

The list of special pseudo elements is now separated and is stored in SelectorPseudoElementTypeMap.in.
The script makeSelectorPseudoElementsMap.py takes that list to make the pseudo elements hash table.

The other pseudo elements are the prefixed ones, they are filtered in CSSSelector::parsePseudoElementType().

All the non-compatibility selectors are removed from SelectorPseudoTypeMap.in. CSSParserSelector::setPseudoTypeValue()
is updated accordingly. The next step will be to clean that part.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoElementSelector):
(WebCore::CSSParserSelector::parsePseudoCueFunctionSelector):
(WebCore::CSSParserSelector::setPseudoTypeValue):

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::CSSSelector::parsePseudoElementType):

  • css/CSSSelector.h:
  • css/SelectorPseudoElementTypeMap.in: Added.
  • css/SelectorPseudoTypeMap.h:
  • css/SelectorPseudoTypeMap.in:
  • css/html.css:

(q::before):
(q::after):

  • css/makeSelectorPseudoElementsMap.py: Added.

(enumerablePseudoType):
(expand_ifdef_condition):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::getMatchedCSSRules):

12:40 PM Changeset in webkit [166093] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test fix after r166080.

  • media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Forgot to update this!
12:24 PM Changeset in webkit [166092] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test fix after r166080.

The cue-timing separator will trigger the creation of a new cue. So this test needs to remove
use of the separator in the cue, so we can read the cue text.

  • media/track/captions-webvtt/tc029-timings-whitespace.vtt:
  • media/track/track-webvtt-tc029-timings-whitespace.html:
12:17 PM Changeset in webkit [166091] by akling@apple.com
  • 17 edits
    1 add in trunk/Source

Less inclusion of JSCInlines.h.
<https://webkit.org/b/130545>

Stop including JSCInlines.h from JSDOMGlobalObject.h!

Reviewed by Simon Fraser.

  • ForwardingHeaders/runtime/IdentifierInlines.h: Added.
  • bindings/js/JSCSSStyleDeclarationCustom.cpp:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMStringMapCustom.cpp:
  • bindings/js/JSHTMLAllCollectionCustom.cpp:
  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSStorageCustom.cpp:
  • bindings/js/ScriptGlobalObject.cpp:
  • dom/NodeIterator.cpp:
  • dom/TreeWalker.cpp:
  • testing/Internals.cpp:
  • testing/js/WebCoreTestSupport.cpp:
12:12 PM Changeset in webkit [166090] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Source/WebCore: Fix a crash when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213

Reviewed by Geoffrey Garen.

Convert location to string before we make use the document.
This prevents us from attempting to navigate a frame that
has already been removed.

Test: fast/dom/navigation-with-sideeffects-crash.html

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::location):
(WebCore::JSDocument::setLocation):

LayoutTests: Fix semantics of JS execution when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213

Reviewed by Geoffrey Garen.

  • fast/dom/navigation-with-sideeffects-expected.txt: Added.
  • fast/dom/navigation-with-sideeffects.html: Added.
12:10 PM Changeset in webkit [166089] by cavalcantii@gmail.com
  • 3 edits
    1 copy
    1 add in trunk/LayoutTests

Refactor css3/filters/huge-region test
https://bugs.webkit.org/show_bug.cgi?id=129553

Reviewed by Dirk Schulze.

This patch refactors the huge-region to become a big enough
element to *not* be rendered. Plus, adds another test using a huge
blur filter kernel size that will trigger clamping the value to
maximum accepted value (500px).

  • TestExpectations:
  • css3/filters/huge-blur-value-expected.txt: Added.
  • css3/filters/huge-blur-value.html: Copied from LayoutTests/css3/filters/huge-region.html.
  • css3/filters/huge-region.html:
12:08 PM Changeset in webkit [166088] by BJ Burg
  • 2 edits in trunk/Source/WebCore

Web Replay: replay controller is improperly setting user input bridge state
https://bugs.webkit.org/show_bug.cgi?id=130606

Reviewed by Timothy Hatcher.

The user input bridge was being set based on the old session state,
rather than the new session state.

  • replay/ReplayController.cpp:

(WebCore::ReplayController::setSessionState):

12:08 PM Changeset in webkit [166087] by commit-queue@webkit.org
  • 12 edits in trunk

Web Inspector: AXI: Expose Accessibility Tree children of the selected node
https://bugs.webkit.org/show_bug.cgi?id=130264

Patch by James Craig <jcraig@apple.com> on 2014-03-21
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Expose the accessibility tree children (different from DOM children) of the
current node in the accessibility node inspector.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorDOMAgent.h:
  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Expose the accessibility tree children (different from DOM children) of the
current node in the accessibility node inspector.

  • Localizations/en.lproj/localizedStrings.js: New "Children" string.
  • UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
  • UserInterface/Models/DOMNode.js: Support for accessibility children.
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
  • UserInterface/Views/Main.css: New styles for .node-link-list.

LayoutTests:

Updating for support of accessibility tree children.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
12:05 PM Changeset in webkit [166086] by svillar@igalia.com
  • 2 edits
    1 move in trunk/LayoutTests

Unreviewed WebKitGtk+ rebaseline.

  • platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt.
  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
12:04 PM Changeset in webkit [166085] by commit-queue@webkit.org
  • 6 edits in trunk/Source

[Win] Compile fixes with video not enabled.
https://bugs.webkit.org/show_bug.cgi?id=130597

Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-21
Reviewed by Darin Adler.

Source/WebCore:

  • DerivedSources.make:

Only generate UserAgentScripts.h if needed.

  • platform/audio/MediaSession.cpp:
  • platform/audio/MediaSessionManager.cpp:

Only compile if video is enabled.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Only include MediaSessionManager symbols if video is enabled.

12:02 PM Changeset in webkit [166084] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

Optimize FEGaussian blur
https://bugs.webkit.org/show_bug.cgi?id=50881

Reviewed by Dirk Schulze.

Currently boxBlur() will calculate the filter for each channel in
a loop and also uses Uint8ClampedArray::set() to write the
resulting pixels into destination array.

Using Uint8ClampedArray::set() requires lots of unnecessary type
conversions, not to mention other function calls. This patch
updates the original written by Simon Fraser to apply cleanly to current
trunk.

It also implements code to handle EdgeModes and finally avoids use
of ::set() in the newly added boxBlurAlphaOnly()
function. Assignment of calculated pixel values rely on pointers.

No new tests, no change on behavior.

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::boxBlurAlphaOnly): Specialized version for alpha only cases.
(WebCore::boxBlur):

12:00 PM Changeset in webkit [166083] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
https://bugs.webkit.org/show_bug.cgi?id=130526
<rdar://problem/16371612>

This was fixed yesterday for sync code path, landing the same this for async one.

  • UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]):
11:56 AM Changeset in webkit [166082] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

unobscuredContentRect() should have the same signature on iOS and other platforms,
and should not recurse on iOS.
https://bugs.webkit.org/show_bug.cgi?id=130604
<rdar://problem/16392587>

Reviewed by Tim Horton and Beth Dakin.

Having different signatures on different platforms is a recipe for
build breakage. Give the iOS unobscuredContentRect() an unused
VisibleContentRectIncludesScrollbars parameter.

Also avoid recursion via unobscuredContentRect() calling visibleContentRectInternal().

  • WebCore.exp.in:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::unobscuredContentRectInternal):
(WebCore::ScrollView::visibleContentRectInternal):

  • platform/ScrollView.h:

(WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):

11:55 AM Changeset in webkit [166081] by ddkilzer@apple.com
  • 1 edit
    1 add in trunk/Tools

fix-blink-patch: tool to fix up renamed directory paths in Blink
<http://webkit.org/b/130609>

Reviewed by Ryosuke Niwa.

Usage: cat blink.patch | fix-blink-patch | svn-apply

  • Scripts/fix-blink-patch: Added.
11:41 AM Changeset in webkit [166080] by Brent Fulgham
  • 13 edits
    8 adds in trunk

Handle recovery on "timestamp-looking" lines in the WebVTT parser
https://bugs.webkit.org/show_bug.cgi?id=130610

Reviewed by Eric Carlson.

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/b669a380efbffe25f3b154b026b57b9822ce08e2
http://crbug.com/75273002

Source/WebCore:

Tests: media/track/track-webvtt-tc031-cue-recovery.html

media/track/track-webvtt-tc032-degenerate-cues.html

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::parse):
(WebCore::WebVTTParser::collectCueText):
(WebCore::WebVTTParser::recoverCue):
(WebCore::WebVTTParser::ignoreBadCue):

  • html/track/WebVTTParser.h:

LayoutTests:

  • media/track/captions-webvtt/tc006-cue-id-error.vtt:
  • media/track/captions-webvtt/tc007-cue-no-id-error.vtt:
  • media/track/captions-webvtt/tc011-cues-no-separation.vtt:
  • media/track/captions-webvtt/tc031-cue-recovery-cuetext.vtt: Added.
  • media/track/captions-webvtt/tc031-cue-recovery-header.vtt: Added.
  • media/track/captions-webvtt/tc031-cue-recovery-note.vtt: Added.
  • media/track/captions-webvtt/tc032-degenerate-cues.vtt: Added.
  • media/track/track-webvtt-tc006-cue-identifiers-expected.txt:
  • media/track/track-webvtt-tc006-cue-identifiers.html:
  • media/track/track-webvtt-tc007-cue-no-id-expected.txt:
  • media/track/track-webvtt-tc007-cue-no-id.html:
  • media/track/track-webvtt-tc011-blank-lines-expected.txt:
  • media/track/track-webvtt-tc011-blank-lines.html:
  • media/track/track-webvtt-tc031-cue-recovery-expected.txt: Added.
  • media/track/track-webvtt-tc031-cue-recovery.html: Added.
  • media/track/track-webvtt-tc032-degenerate-cues-expected.txt: Added.
  • media/track/track-webvtt-tc032-degenerate-cues.html: Added.
11:28 AM Changeset in webkit [166079] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused RenderView::repaintRectangleInViewAndCompositedLayers().
<https://webkit.org/b/130605>

Reviewed by Antti Koivisto.

  • rendering/RenderView.cpp:
  • rendering/RenderView.h:
11:13 AM Changeset in webkit [166078] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
https://bugs.webkit.org/show_bug.cgi?id=129948
<rdar://problem/16074072>

Reviewed by Simon Fraser.

Source/WebCore:

When the marker was placed for multi-column list items, it was being inserted
into the list item itself. Even though the add code in RenderBlock did the right
thing and put the marker inside the multi-column flow thread, the list item code
passed in a beforeChild that was computed using the incorrect parent. This resulted
in the flow thread being used both as the parent of the marker and the sibling of
the marker.

The fix is to add some code to RenderListItem to make sure it uses the multi-column
flow thread if it exists both as the parent of the marker and as the basis for the
computation of the sibling that the marker should be placed in front of.

Added fast/multicol/multicol-li-crash.html

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):

LayoutTests:

  • fast/multicol/multicol-li-crash-expected.txt: Added.
  • fast/multicol/multicol-li-crash.html: Added.
11:02 AM Changeset in webkit [166077] by svillar@igalia.com
  • 3 edits in trunk/LayoutTests

Unreviewed. Rebaseline expectations after r165651.

  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Replaced Path by Path2D.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Ditto.
10:59 AM Changeset in webkit [166076] by Darin Adler
  • 3 edits in trunk/Tools

Remove use of deprecatedCharacters in WebKit API tests
https://bugs.webkit.org/show_bug.cgi?id=130602

Reviewed by Antti Koivisto.

  • TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

(TestWebKitAPI::expectBuilderContent): Use characters8/16 instead of deprecatedCharacters.
(TestWebKitAPI::expectEmpty): Use characters8.
(TestWebKitAPI::TEST): Use characters8 instead of deprecatedCharacters in most cases.

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

Removed the test that is entirely about 16-bit conversion since that's basically a test of
the deprecatedCharacters function itself, which we are about to delete.

10:55 AM Changeset in webkit [166075] by psolanki@apple.com
  • 3 edits in trunk/Source/WebKit2

Add callbacks in WebKit2 Cocoa API for page load testing
https://bugs.webkit.org/show_bug.cgi?id=130569

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didFirstVisuallyNonEmptyLayoutForFrame):
(didHandleOnloadEventsForFrame):
(setUpPageLoaderClient):
(willSendRequestForFrame):
(didInitiateLoadForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(setUpResourceLoadClient):

10:52 AM Changeset in webkit [166074] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.

Unreviewed TestExpectations update on ML WK2 debug.

  • platform/mac-wk2/TestExpectations:
10:42 AM Changeset in webkit [166073] by akling@apple.com
  • 2 edits
    4 adds in trunk/Source/WebCore

Stop pulling in JSCInlines.h all over the place.
<https://webkit.org/b/130105>

JSDOMBinding.h is included by everyone and their uncle, so try to
cut down on the amount of JSC *Inlines.h it includes.

Reviewed by Geoff Garen.

  • ForwardingHeaders/heap/SlotVisitorInlines.h: Added.
  • ForwardingHeaders/runtime/JSCJSValueInlines.h: Added.
  • ForwardingHeaders/runtime/JSCellInlines.h: Added.
  • ForwardingHeaders/runtime/StructureInlines.h: Added.
  • bindings/js/JSDOMBinding.h:
10:36 AM Changeset in webkit [166072] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

WindowFeatures.{x|y|width|height} are not initialized
<http://webkit.org/b/130547>
<rdar://problem/16383151>

Reviewed by Darin Adler.

Based on a Blink patch in CRBug 342591 by zhaoqin.

  • page/WindowFeatures.cpp:

(WebCore::WindowFeatures::WindowFeatures):

  • Initialize x, y, width, height in String constructor.
  • Move 'resizeable' variable to short-hand initialization since it is true in both cases.
  • Use String::isEmpty() instead of checking its length.
  • page/WindowFeatures.h:

(WebCore::WindowFeatures::WindowFeatures): Initialize x, y,
width, height in no-argument constructor.

10:32 AM Changeset in webkit [166071] by svillar@igalia.com
  • 4 edits in trunk/Source/WebCore

Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in bridge/
https://bugs.webkit.org/show_bug.cgi?id=130601

Reviewed by Darin Adler.

  • bridge/IdentifierRep.cpp:

(WebCore::identifierSet):
(WebCore::intIdentifierMap):
(WebCore::stringIdentifierMap):

  • bridge/NP_jsobject.cpp:

(objectMap):

  • bridge/runtime_root.cpp:

(JSC::Bindings::rootObjectSet): Return a reference instead of
a pointer.
(JSC::Bindings::findProtectingRootObject):
(JSC::Bindings::findRootObject):
(JSC::Bindings::RootObject::RootObject):
(JSC::Bindings::RootObject::invalidate):

10:29 AM Changeset in webkit [166070] by msaboff@apple.com
  • 4 edits in trunk/Source/WebCore

Change CodeGeneratorJS.pm special cases for "DOMWindow" to be general purpose
https://bugs.webkit.org/show_bug.cgi?id=130553

Reviewed by Geoffrey Garen.

Eliminated 'if ($interfaceName eq "DOMWindow") {' sections in CodeGeneratorJS where
it was used to do DOMWindow specific casting to a JSObject, either a JSDOMWindow* or
a JSDOMWindowShell*. Instead the code generator will use the existing
JSDOMWindow* toJSDOMWindow(JSValue value) function based on a newly added attribute
"CustomProxyToJSObject". That attribute will emit a call to the function
${className}* to${className}(JSValue).

This is being done to clean up the code generator and for a subsequent patch that
will use a similar custom to{className} function for workers,
JSDedicatedWorkerGlobalScope* toJSDedicatedWorkerGlobalScope(JSValue).

Changes covered by existing tests.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • page/DOMWindow.idl:
10:08 AM Changeset in webkit [166069] by k.czech@samsung.com
  • 5 edits in trunk/Source/WebCore

AX: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=130594

Reviewed by Chris Fleizach.

Use static NeverDestroyed<T> in new code.

  • accessibility/AccessibilityMediaControls.cpp:

(WebCore::AccessibilityMediaControl::controlTypeName):
(WebCore::AccessibilityMediaControl::title):
(WebCore::AccessibilityMediaControlsContainer::elementTypeName):
(WebCore::AccessibilityMediaTimeline::helpText):
(WebCore::AccessibilityMediaTimeDisplay::accessibilityDescription):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::actionVerb):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
(WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
(WebCore::AccessibilityRenderObject::actionVerb):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::notifyChildrenSelectionChange):

10:05 AM Changeset in webkit [166068] by Brent Fulgham
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed test fix after my last checkin. Add missing test expectation.

  • http/tests/media/track/track-webvtt-slow-loading-expected.txt: Added.
9:43 AM Changeset in webkit [166067] by stavila@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] incorrect clipping when the content has CSS Transforms like rotation
https://bugs.webkit.org/show_bug.cgi?id=110198

Reviewed by David Hyatt.

Added test that confirms the issue of transformed content being clipped was fixed.

  • fast/regions/overflow-content-transform-rotate-expected.html: Added.
  • fast/regions/overflow-content-transform-rotate.html: Added.
9:31 AM Changeset in webkit [166066] by Brent Fulgham
  • 11 edits in trunk

Merge WebVTT Tokenizer Updates
https://bugs.webkit.org/show_bug.cgi?id=130565

Reviewed by Eric Carlson.

Source/WebCore:

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
http://crbug.com/73813002
https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
http://crbug.com/77553004
https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
http://crbug.com/78833002
https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
http://crbug.com/81113003
https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
http://crbug.com/97103002
https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
http://crbug.com/98763004
https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
http://crbug.com/118263002

  • html/track/VTTCue.cpp:

(WebCore::scanPercentage):
(WebCore::VTTCue::setCueSettings):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTTreeBuilder::buildFromString):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • html/track/WebVTTToken.h:

(WebCore::WebVTTToken::WebVTTToken):
(WebCore::WebVTTToken::StringToken):
(WebCore::WebVTTToken::StartTag):
(WebCore::WebVTTToken::EndTag):
(WebCore::WebVTTToken::TimestampTag):
(WebCore::WebVTTToken::type):
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::characters):
(WebCore::WebVTTToken::classes):
(WebCore::WebVTTToken::annotation):

  • html/track/WebVTTTokenizer.cpp:

(WebCore::addNewClass):
(WebCore::emitToken):
(WebCore::advanceAndEmitToken):
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):

  • html/track/WebVTTTokenizer.h:

(WebCore::WebVTTTokenizer::shouldSkipNullCharacters):

LayoutTests:

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
http://crbug.com/73813002
https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
http://crbug.com/77553004
https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
http://crbug.com/78833002
https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
http://crbug.com/81113003
https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
http://crbug.com/97103002
https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
http://crbug.com/98763004
https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
http://crbug.com/118263002

  • TestExpectations:
  • media/track/captions-webvtt/tc022-entities-wrong.vtt:
  • media/track/captions-webvtt/tc022-entities.vtt:
  • media/track/track-webvtt-tc022-entities-expected.txt:
  • media/track/track-webvtt-tc022-entities.html:
9:19 AM Changeset in webkit [166065] by fred.wang@free.fr
  • 11 edits
    6 adds
    8 deletes in trunk

Bug 130345 - Refine childShouldCreateRenderer for MathML elements
https://bugs.webkit.org/show_bug.cgi?id=130345

Reviewed by Chris Fleizach.

Source/WebCore:

This is a follow-up of bug 124128. We add more restrictions on foreign
content of MathML elements.

Tests: mathml/presentation/annotation-children.html

mathml/presentation/foreign-element-in-token.html

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::isPresentationMathML): fix line wrapping
(WebCore::MathMLElement::isPhrasingContent):

  • move the function from MathMLSelectElement.cpp
  • add the constraint "is descendant of a map element" for area.

(WebCore::MathMLElement::isFlowContent): new function to test flow content.
(WebCore::MathMLElement::childShouldCreateRenderer):

  • remove annotation since it is now tested in MathMLTextElement
  • refine testing of annotation-xml
  • do not create renderer for text content in MathML. Such content is only allowed inside token elements.
  • mathml/MathMLElement.h: Declare isPhrasingContent and isFlowContent.
  • mathml/MathMLSelectElement.cpp: Add new function to test MathML/SVG/HTML encodings.

(WebCore::MathMLSelectElement::isMathMLEncoding):
(WebCore::MathMLSelectElement::isSVGEncoding):
(WebCore::MathMLSelectElement::isHTMLEncoding):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild): use the new functions.

  • mathml/MathMLSelectElement.h: Declare the new public functions.
  • mathml/MathMLTextElement.cpp: remove the isPhrasingContent function.

(WebCore::MathMLTextElement::childShouldCreateRenderer): Just in case, use the generic StyledElement::childShouldCreateRenderer.

LayoutTests:

We update the references of some tests after the additional
restrictions on MathML children. We replace the foreign-*.html with a
single foreign-element-in-token.html and write more tests to verify the
accepted and reject content.

  • mathml/msub-anonymous-child-render-crash-expected.txt: Update reference now that text is only allowed in some token MathML elements.
  • mathml/presentation/annotation-children-expected.html: Added.
  • mathml/presentation/annotation-children.html: Added.
  • mathml/presentation/foreign-element-in-annotation-xml.html: Added.
  • mathml/presentation/foreign-element-in-annotation-xml-expected.txt: Added.
  • mathml/presentation/foreign-element-in-token-expected.txt: Added.
  • mathml/presentation/foreign-element-in-token.html: Added.
  • mathml/presentation/foreign-mi-expected-mismatch.html: Removed.
  • mathml/presentation/foreign-mi.html: Removed.
  • mathml/presentation/foreign-mn-expected-mismatch.html: Removed.
  • mathml/presentation/foreign-mn.html: Removed.
  • mathml/presentation/foreign-mtext-expected-mismatch.html: Removed.
  • mathml/presentation/foreign-mtext-rejected-expected.html: Removed.
  • mathml/presentation/foreign-mtext-rejected.html: Removed.
  • mathml/presentation/foreign-mtext.html: Removed.
  • mathml/presentation/semantics-2.html: the mtext elements can not be direct child of annotation-xml. wrap them in a math tag.
  • mathml/presentation/semantics-3.html: ditto.
  • mathml/presentation/semantics-4.html: ditto.
9:04 AM Changeset in webkit [166064] by mark.lam@apple.com
  • 3 edits
    3 adds in trunk

StackLayoutPhase should find the union'ed calleeVariable before accessing its machineLocal.
<https://webkit.org/b/130566>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

LayoutTests:

  • js/regress-130566-expected.txt: Added.
  • js/regress-130566.html: Added.
  • js/script-tests/regress-130566.js: Added.

(test.doTest):
(test.for):
(test):

8:22 AM Changeset in webkit [166063] by Darin Adler
  • 9 edits in trunk/Source/WebCore

Stop using deprecatedCharacters in WebCore/platform/win
https://bugs.webkit.org/show_bug.cgi?id=130515

Reviewed by Brent Fulgham.

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun): Add a constructor that takes a StringView.
Later, we might want to exclusively use the StringView version and remove
some of the others.
(WebCore::TextRun::setText): Add a version of this function that takes a StringView.

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::systemFallbackForCharacters): Use StringView::getCharactersWithUpconvert.
(WebCore::createGDIFont): Ditto.
(WebCore::FontCache::getTraitsInFamily): Ditto.

  • platform/win/BString.cpp:

(WebCore::BString::BString): Use StringView::upconvertedCharacters.

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData): Use StringView::getCharactersWithUpconvert.

  • platform/win/FileSystemWin.cpp:

(WebCore::pathByAppendingComponent): Use StringBuilder and StringView::getCharactersWithUpconvert.
(WebCore::fileSystemRepresentation): Use StringView::upconvertedCharacters.

  • platform/win/PasteboardWin.cpp:

(WebCore::filesystemPathFromUrlOrTitle): Use StringView::getCharactersWithUpconvert.
(WebCore::Pasteboard::writeURLToDataObject): Ditto.
(WebCore::createGlobalImageFileDescriptor): Ditto.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize): Use the new TextRun constructor.

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint): Ditto.

7:49 AM Changeset in webkit [166062] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[webkitpy] Fix has_valid_reviewer()
https://bugs.webkit.org/show_bug.cgi?id=130589

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-03-21
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLogEntry.has_valid_reviewer):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_has_valid_reviewer):

  • Scripts/webkitpy/common/config/committers.py:

(CommitterList._reviewer_only):
(CommitterList.committer_by_name):
(CommitterList.reviewer_by_email):
(CommitterList):
(CommitterList.reviewer_by_name):

7:44 AM Changeset in webkit [166061] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add cache support for jhbuild
https://bugs.webkit.org/show_bug.cgi?id=130588

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-21
Reviewed by Csaba Osztrogonác.

  • jhbuild/jhbuildrc_common.py:

(init): Jhbuild can now save the dependencies locally, if the JHBUILD_MIRROR environment variable is set.

6:55 AM Changeset in webkit [166060] by Alan Bujtas
  • 9 edits
    4 adds in trunk

Subpixel rendering: RenderBox is positioned off by one when non-compositing transform is present.
https://bugs.webkit.org/show_bug.cgi?id=130430

Reviewed by Simon Fraser.

div {

position: absolute;

top: 10.25px;
left: 10.25px;

}

The <div> with (10.25px, 10.25px) is painted to (10.5px, 10.5px) after device pixel snapping on 2x display.
Moving <div> to its own RenderLayer should not change the painting position.

div {

position: absolute;
top: 10.25px;
left: 10.25px;
-webkit-transform: rotate(0deg);

}

When we paint the RenderLayer's content, the graphics context is translated by the rounded value of
renderer's offset from parent.

(10.25px,10.25px) -> rounded to (10.5px,10.5px).

When the translate moves the graphics context's origin over the renderer's top-left position,
the renderer's relative top-left coordinates end up being negative.

Graphics context translated by (10.5px,10.5px) -> pushes renderer's relative top-left coords to (-0.25px,-0.25px)

When we round (pixel snap) these negative coordinates, half-way values get translated to the wrong direction.

(relative coords (-0.25px,-0.25px) -> pixel snapped to (-0.5px,-0.5px) -> final absolute(painting) coords (10px,10px))

This patch changes the rounding to flooring to ensure that the relative top-left position never gets negative as the result
of subpixel shifting.

Source/WebCore:

Tests: compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html

fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computedTransform):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::paintLayerByApplyingTransform):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateTransform):

  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • svg/SVGTextElement.cpp:

(WebCore::SVGTextElement::animatedLocalTransform):

LayoutTests:

  • TestExpectations:
  • compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present-expected.html: Added.
  • compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html: Added.
  • fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present-expected.html: Added.
  • fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html: Added.
6:01 AM Changeset in webkit [166059] by fred.wang@free.fr
  • 12 edits
    10 deletes in trunk/LayoutTests

Update some references for MathML pixels tests
https://bugs.webkit.org/show_bug.cgi?id=130455.

Reviewed by Chris Fleizach.

  • TestExpectations: Remove failures for MathML pixel tests.
  • mathml/presentation/mo.xhtml: Removed.
  • mathml/presentation/roots.xhtml: Remove the test that is already covered by bug95015.html.
  • mathml/presentation/row.xhtml: Removed.
  • platform/efl/TestExpectations: Remove failure for mo-stretch.html
  • platform/efl/mathml/presentation/mo-stretch-expected.png: Update reference.
  • platform/efl/mathml/presentation/mo-stretch-expected.txt: Update reference.
  • platform/efl/mathml/presentation/roots-expected.png: Update reference.
  • platform/efl/mathml/presentation/roots-expected.txt: Update reference.
  • platform/gtk/mathml/presentation/mo-expected.png: Removed.
  • platform/gtk/mathml/presentation/mo-expected.txt: Removed.
  • platform/gtk/mathml/presentation/roots-expected.png: Update reference.
  • platform/gtk/mathml/presentation/roots-expected.txt: Update reference.
  • platform/gtk/mathml/presentation/row-expected.png: Removed.
  • platform/gtk/mathml/presentation/row-expected.txt: Removed.
  • platform/mac/mathml/presentation/mo-expected.png: Removed.
  • platform/mac/mathml/presentation/mo-expected.txt: Removed.
  • platform/mac/mathml/presentation/roots-expected.txt: Update reference.
  • platform/mac/mathml/presentation/row-expected.txt: Removed.
  • platform/mac/mathml/presentation/row-expected.txt: Removed.
  • platform/win/TestExpectations: Remove failure for mo-stretch.html and mspace-children.html
3:36 AM Changeset in webkit [166058] by calvaris@igalia.com
  • 3 edits in trunk/Tools

[CMake] Add support for MAX_CPU_LOAD translated to -l in ninja and make
https://bugs.webkit.org/show_bug.cgi?id=130504

Reviewed by Martin Robinson.

  • Scripts/build-webkit: Add the maxCPULoad() to the makeArgs in

CMake if not specified.

  • Scripts/webkitdirs.pm:

(determineMaxCPULoad): Read MAX_CPU_LOAD as maxCPULoad.
(maxCPULoad): determineMaxCPULoad and return maxCPULoad.

2:24 AM Changeset in webkit [166057] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. iOS build fix after r166046.

  • WebCore.exp.in:
1:58 AM Changeset in webkit [166056] by lvidacs.u-szeged@partner.samsung.com
  • 4 edits in trunk/Source/WebCore

Fix the !ENABLE(FILTERS) build
https://bugs.webkit.org/show_bug.cgi?id=130394

Reviewed by Gyuyoung Kim.

Add missing includes in rendering to fix compile errors, and include JSC headers to ImageBuffer.h to fix linker errors.

  • platform/graphics/ImageBuffer.h:
  • rendering/svg/RenderSVGImage.cpp:
  • rendering/svg/RenderSVGRoot.cpp:
1:54 AM Changeset in webkit [166055] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebCore

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

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

Reverted changeset:

"[GTK] Use GMainLoopSource for idle and timeout sources in
WebCore"
https://bugs.webkit.org/show_bug.cgi?id=130078
http://trac.webkit.org/changeset/166052

1:27 AM Changeset in webkit [166054] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Add *explicit* keyword to avoid implicit type conversion
https://bugs.webkit.org/show_bug.cgi?id=130568

Reviewed by Antti Koivisto.

Constructors of RemoteFontFaceSource, SVGDocumentExtensions, XMLDocumentParserScope,
and WorkerScriptDebugServer need to use *explicit* keyword because they have an argument.
Besides removed a meaningless argument name.

  • svg/SVGDocumentExtensions.h:
  • xml/parser/XMLDocumentParserScope.h:
1:11 AM Changeset in webkit [166053] by svillar@igalia.com
  • 5 edits in trunk/Source/WebCore

Modules: replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
https://bugs.webkit.org/show_bug.cgi?id=130407

Reviewed by Darin Adler.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories):

  • Modules/mediasource/MediaSourceRegistry.cpp:

(WebCore::MediaSourceRegistry::registry):

  • Modules/mediasource/MediaSourceRegistry.h:
  • Modules/mediastream/MediaStreamRegistry.cpp:

(WebCore::MediaStreamRegistry::registry):

1:04 AM Changeset in webkit [166052] by Carlos Garcia Campos
  • 15 edits in trunk/Source/WebCore

[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
https://bugs.webkit.org/show_bug.cgi?id=130078

Reviewed by Philippe Normand.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/SharedTimerGtk.cpp:
12:58 AM Changeset in webkit [166051] by ryuan.choi@samsung.com
  • 10 edits in trunk/Source/WebKit2

[EFL][WK2] Remove Ewk_Error parameter from some async callbacks
https://bugs.webkit.org/show_bug.cgi?id=130567

Reviewed by Gyuyoung Kim.

WebKit2 internally uses GenericCallbacks for several APIs such as WKKeyValueStorageManagerGetKeyValueStorageOrigins.
But only few callbacks really return errors.

This patch removes Ewk_Error parameters from these callbacks not to make
the confusion for application developers.

  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):

  • UIProcess/API/efl/ewk_cookie_manager.h:
  • UIProcess/API/efl/ewk_database_manager.cpp:

(getDatabaseOriginsCallback):

  • UIProcess/API/efl/ewk_database_manager.h:
  • UIProcess/API/efl/ewk_storage_manager.cpp:

(getStorageOriginsCallback):

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

(EWK2CookieManagerTest::getAcceptPolicyCallback):
(EWK2CookieManagerTest::getHostnamesWithCookiesCallback):

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

(EWK2DatabaseManagerTest::databaseOriginsCallback):

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

(EWK2StorageManagerTest::getStorageOriginsCallback):

12:38 AM Changeset in webkit [166050] by akling@apple.com
  • 3 edits in trunk/Tools

RetainPtr API test should use CFArray instead of CFString for testing.
<rdar://problem/16384899>

Unreviewed bot fix.

  • TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/cf/RetainPtrHashing.cpp:

(TestWebKitAPI::TEST):

12:31 AM Changeset in webkit [166049] by akling@apple.com
  • 3 edits
    2 adds in trunk

HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
<rdar://problem/15675780>

Merge Blink r156744 by Adam Klein.

Source/WebCore:

Test: fast/frames/set-iframe-src-in-pagehide-crash.html

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

  • fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
  • fast/frames/set-iframe-src-in-pagehide-crash.html: Added.
12:25 AM Changeset in webkit [166048] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit

Check for inappropriate macros in private headers
https://bugs.webkit.org/show_bug.cgi?id=130564

Reviewed by Filip Pizlo.

Check PrivateHeaders for inappropriate macros as well so that we avoid build breakages like
the one due to the original commit for bug 130142.

  • WebKit.xcodeproj/project.pbxproj:
12:13 AM Changeset in webkit [166047] by Darin Adler
  • 22 edits in trunk/Source

Improve idiom used for string building in a few places
https://bugs.webkit.org/show_bug.cgi?id=130561

Reviewed by Andreas Kling.

Source/WebCore:

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString): Use a StringBuilder, and get rid of
an an unnecessary additional string allocation.

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create): Use StringBuilder.

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::createTDForFilename): Do a more efficient
string concatenation.

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::updateValidationMessage): Ditto.

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
Use a StringBuilder.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::shorthandValue): Use a StringBuilder.

  • inspector/InspectorStyleTextEditor.cpp:

(WebCore::InspectorStyleTextEditor::insertProperty): Use a more efficient idiom
for string concatenation.
(WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.

  • loader/FormSubmission.cpp:

(WebCore::appendMailtoPostFormDataToURL): Ditto.

  • page/Frame.cpp:

(WebCore::createRegExpForLabels): Use a StringBuilder.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use a more efficient
idiom for string concatenation.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::getUnmangledInfoLog): Use a StringBuilder.

  • platform/network/MIMEHeader.cpp:

(WebCore::MIMEHeader::parseHeader): Use a more efficient idiom for string
concatenation.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::addHTTPHeaderField): Ditto.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerTreeAsText): Ditto.

  • rendering/RenderText.cpp:

(WebCore::RenderText::secureText): Create a new string with the substring
function rather than with the append function.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::setRequestHeaderInternal): Use a more efficient idiom
for string concatenation.

Source/WebKit/mac:

  • WebView/WebHTMLRepresentation.mm:

(regExpForLabels): Use StringBuilder.

Source/WebKit2:

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::initializeSandbox): Use a more efficient idiom for string
concatenation.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::createInspectorPage): Use a StringBuilder.

12:12 AM Changeset in webkit [166046] by Darin Adler
  • 16 edits in trunk/Source

Add a combined decodeAndFlush to TextResourceDecoder
https://bugs.webkit.org/show_bug.cgi?id=130560

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in: Added new symbol for decodeAndFlush. Also re-did

the geometry types #if so it would sort more logically.

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::convertToText): Use decodeAndFlush.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent): Ditto.

  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): Ditto.

  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::decodeAndFlush): Added.

  • loader/TextResourceDecoder.h: Ditto.
  • loader/appcache/ManifestParser.cpp:

(WebCore::parseManifest): Use decodeAndFlush.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText): Ditto.
(WebCore::CachedCSSStyleSheet::finishLoading): Ditto.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureSVGFontData): Use decodeAndFlush. Also use nullptr.
(WebCore::CachedFont::getSVGFontById): Use descendantsOfType<SVGFontElement>
instead of using a NodeList. Much more efficient!

  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::finishLoading): Use decodeAndFlush.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script): Ditto.

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::finishLoading): Ditto.

  • page/Page.cpp:

(WebCore::Page::userStyleSheet): Ditto.

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView _decodeData:]): Use decodeAndFlush.

Note: See TracTimeline for information about the timeline view.