Timeline



Jan 7, 2014:

11:59 PM Changeset in webkit [161487] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

Disable AVX in the FTL
https://bugs.webkit.org/show_bug.cgi?id=126620

Not yet reviewed.

  • ftl/FTLAbbreviations.h:

(JSC::FTL::addTargetDependentFunctionAttr):

  • ftl/FTLLowerDFGToLLVM.cpp:

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

11:50 PM Changeset in webkit [161486] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

11:47 PM Changeset in webkit [161485] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.5

New tag.

11:33 PM Changeset in webkit [161484] by Antti Koivisto
  • 5 edits in trunk

REGRESSION (r161195): Acid2 regression tests frequently fail
https://bugs.webkit.org/show_bug.cgi?id=126432

Source/WebCore:

Reviewed by Anders Carlsson.

We would occasionally dump the render tree before the actual last resource on the page was loaded.
The problematic resource is an image loaded by an <object> tag nested as fallback of another <object>.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderFallbackContent):

Force style recalc when rendering fallback content. The current mechanism for triggering the fallback content load
requires a style recalc.

LayoutTests:

Reviewed by Anders Carlsson.

  • TestExpectations: acid2 is no longer flaky.
  • fast/overflow/overflow-height-float-not-removed-crash3-expected.txt: whitespace change.
11:02 PM Changeset in webkit [161483] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Call linking should log call linking for DFG and FTL code blocks if --showDFGDisassembly=true
https://bugs.webkit.org/show_bug.cgi?id=126617

Not yet reviewed.

  • jit/Repatch.cpp:

(JSC::linkFor):

10:42 PM Changeset in webkit [161482] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

createAnonymousMathMLBlock() should return RenderPtr.
<https://webkit.org/b/126583>

Reviewed by Antti Koivisto.

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):

Make this return a RenderPtr<RenderMathMLBlock> and removed the
EDisplay argument since it was always using the default (FLEX.)

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::addChild):

Updated for the new createAnonymousMathMLBlock() signature.

9:45 PM Changeset in webkit [161481] by eric.carlson@apple.com
  • 22 edits
    2 copies
    6 adds in trunk

Teach MediaSessionManager to manage interruptions
https://bugs.webkit.org/show_bug.cgi?id=126530

Reviewed by Sam Weinig.

Source/WebCore:

Tests: media/video-interruption-active-when-element-created.html

media/video-interruption-with-resume-allowing-play.html
media/video-interruption-with-resume-not-allowing-play.html

  • WebCore.exp.in: Export functions needed by Internals.

Add MediaSession and MediaSessionManager.

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

Automatically pause/play for interruptions. Move media restriction management to a MediaSession.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,

they aren't needed.

(WebCore::HTMLMediaElement::load): Ditto.
(WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
(WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called

during an interruption.

(WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during

an interruption.

(WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
(WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
(WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about

which restrictions are removed.

(WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
(WebCore::HTMLMediaElement::beginInterruption): New.
(WebCore::HTMLMediaElement::endInterruption): Ditto.

  • html/HTMLMediaElement.h:

Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.

  • platform/audio/MediaSession.cpp: Added.

(WebCore::MediaSession::create):
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::~MediaSession):
(WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
(WebCore::MediaSession::endInterruption): Ditto.

  • platform/audio/MediaSession.h: Added.
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
(WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
(WebCore::MediaSessionManager::count): Ditto.
(WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if

not already in an interruption.

(WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
(WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
(WebCore::MediaSessionManager::removeSession): Renamed from removeToken.

  • platform/audio/MediaSessionManager.h:
  • platform/audio/mac/AudioDestinationMac.cpp:

(WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.

  • platform/audio/mac/AudioDestinationMac.h:
  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): Ditto.

Make it possible for tests to begin and end interruptions.

  • testing/Internals.cpp:

(WebCore::Internals::beginMediaSessionInterruption):
(WebCore::Internals::endMediaSessionInterruption):

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

Source/WebKit:

  • CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.

Source/WebKit2:

  • CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.

LayoutTests:

  • media/video-interruption-active-when-element-created-expected.txt: Added.
  • media/video-interruption-active-when-element-created.html: Added.
  • media/video-interruption-with-resume-allowing-play-expected.txt: Added.
  • media/video-interruption-with-resume-allowing-play.html: Added.
  • media/video-interruption-with-resume-not-allowing-play-expected.txt: Added.
  • media/video-interruption-with-resume-not-allowing-play.html: Added.
7:58 PM Changeset in webkit [161480] by rniwa@webkit.org
  • 4 edits in trunk/PerformanceTests

DoYouEvenBench: Turn BenchmarkRunner into a real class
https://bugs.webkit.org/show_bug.cgi?id=126613

Reviewed by Stephanie Lewis.

Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects
instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner.

  • DoYouEvenBench/benchmark.html:

(formatTestName): Moved and renamed from BenchmarkRunner._testName.
(createUIForSuites): Extracted from a giant blob of code.
(startTest): Ditto.

  • DoYouEvenBench/resources/benchmark-runner.js:

(BenchmarkRunner): Added.
(BenchmarkRunner.prototype.waitForElement):
(BenchmarkRunner.prototype._removeFrame):
(BenchmarkRunner.prototype._appendFrame):
(BenchmarkRunner.prototype._waitAndWarmUp):
(BenchmarkRunner.prototype._runTest):
(BenchmarkState.prototype.prepareCurrentSuite):
(BenchmarkRunner.prototype.step):
(BenchmarkRunner.prototype._runTestAndRecordResults):
(BenchmarkRunner.prototype._finalize):

  • DoYouEvenBench/resources/tests.js:
7:26 PM Changeset in webkit [161479] by aestes@apple.com
  • 14 edits in trunk/Source/WebKit/mac

[iOS] Clean up some exported headers
https://bugs.webkit.org/show_bug.cgi?id=126403

Reviewed by Simon Fraser.

Public header files that are completely excluded on iOS don't need
!TARGET_OS_IPHONE guards since they are already listed in
EXCLUDED_SOURCE_FILE_NAMES.

I also took the opportunity to sort EXCLUDED_SOURCE_FILE_NAMES and to
clean up some #imports.

  • Configurations/WebKit.xcconfig:
  • Misc/WebCache.h:
  • Misc/WebIconDatabasePrivate.h:
  • Misc/WebLocalizableStrings.h:
  • Misc/WebNSEventExtras.h:
  • Misc/WebNSPasteboardExtras.h:
  • Misc/WebNSWindowExtras.h:
  • Panels/WebPanelAuthenticationHandler.h:
  • Plugins/WebPluginsPrivate.h:
  • Storage/WebDatabaseManagerPrivate.h:
  • WebCoreSupport/WebJavaScriptTextInputPanel.h:
  • WebCoreSupport/WebKeyGenerator.h:
  • WebCoreSupport/WebSecurityOriginPrivate.h:
  • WebView/WebDashboardRegion.h:
  • WebView/WebDynamicScrollBarsView.h:
  • WebView/WebFrameView.h:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebResourceLoadDelegatePrivate.h:
  • WebView/WebView.h:
6:41 PM Changeset in webkit [161478] by jinwoo7.song@samsung.com
  • 2 edits
    1 add in trunk/Source/WebKit2

[EFL][WK2] Fix failing ewk_view_page_contents_get() API test
https://bugs.webkit.org/show_bug.cgi?id=126609

Reviewed by Gyuyoung Kim.

Compare the amount of bytes in the expected result file with
the size of callback data from the API since the 'Date' field
and the boundaries will be different on each case.
Refered the test case of GTK port.

  • UIProcess/API/efl/tests/resources/resultMHTML.mht: Added.
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::PageContentsAsMHTMLCallback):

6:20 PM Changeset in webkit [161477] by Seokju Kwon
  • 18 edits
    2 deletes in trunk

Web Inspector: Remove leftover 'device metrics' code
https://bugs.webkit.org/show_bug.cgi?id=126607

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No changes in behavior.

Removes unused code related to 'device metrics'.

  • css/MediaQueryEvaluator.cpp:

(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):

  • inspector/InspectorClient.h:
  • inspector/InspectorInstrumentation.cpp:
  • inspector/InspectorInstrumentation.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::didLayout):

  • inspector/InspectorPageAgent.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):

  • page/Screen.cpp:

(WebCore::Screen::height):
(WebCore::Screen::width):

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::processSubtree):

Source/WebKit/blackberry:

Clean up after removing InspectorClient::overrideDeviceMetrics().

  • WebCoreSupport/InspectorClientBlackBerry.cpp:
  • WebCoreSupport/InspectorClientBlackBerry.h:

Source/WebKit/mac:

  • WebKit.order: Update after removing InspectorClient::overrideDeviceMetrics().

Source/WebKit2:

  • mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics().

LayoutTests:

  • inspector/styles/override-screen-size-expected.txt: Removed.
  • inspector/styles/override-screen-size.html: Removed.
5:35 PM Changeset in webkit [161476] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders,
but that's bad because there are test result files in there now. Fix by having the project copy specific
.py files into rivateHeaders/webkit2

  • WebKit2.xcodeproj/project.pbxproj:
5:16 PM Changeset in webkit [161475] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test fix: Correct whitespace around ]

  • platform/mac/TestExpectations: "Debug]" should be "Debug ]"
5:03 PM Changeset in webkit [161474] by Simon Fraser
  • 7 edits
    1 copy
    2 adds in trunk/Source/WebKit2

Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=126558

Reviewed by Anders Carlsson.

In a message.in file it's now possible to say:

messages -> Subclass : Superclass { ... } and the generated code will
call Superclass::didReceiveMessage().

Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to
DrawingAreaProxy.

  • Scripts/webkit2/messages.py:

(generate_message_handler):

  • Scripts/webkit2/model.py:

(MessageReceiver.init):

  • Scripts/webkit2/parser.py:

(parse):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
5:03 PM Changeset in webkit [161473] by Simon Fraser
  • 4 edits
    2 copies
    1 add in trunk/Source/WebKit2

Add message-generation test for non-legacy message receiver
https://bugs.webkit.org/show_bug.cgi?id=126603

Reviewed by Anders Carlsson.

Add expected output files for a non-legacy message receiver, and add
testing for same.

  • Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp.
  • Scripts/webkit2/LegacyMessages-expected.h: Added.
  • Scripts/webkit2/MessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):

  • Scripts/webkit2/messages_unittest.py:

(MessagesTest.setUp):
(ParsingTest.test_receiver):
(HeaderTest.test_header):
(ReceiverImplementationTest.test_receiver_implementation):

  • Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in.
  • Scripts/webkit2/test-messages.in:
5:03 PM Changeset in webkit [161472] by Simon Fraser
  • 2 edits
    3 adds in trunk/Source/WebKit2

Move expected results out of messages_unittest.py into separate files
https://bugs.webkit.org/show_bug.cgi?id=126602

Reviewed by Anders Carlsson.

Uninline the test input and output from messages_unittest.py to make
it easier to add more tests.

  • Scripts/webkit2/MessageReceiver-expected.cpp: Added.

(WebKit::WebPage::didReceiveWebPageMessage):
(WebKit::WebPage::didReceiveSyncWebPageMessage):

  • Scripts/webkit2/Messages-expected.h: Added.
  • Scripts/webkit2/messages_unittest.py:

(ParsingTest.test_receiver):

  • Scripts/webkit2/test-messages.in: Added.
4:51 PM Changeset in webkit [161471] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Add a scheduler for the CLoop bot.

4:42 PM Changeset in webkit [161470] by aestes@apple.com
  • 12 edits in trunk/Source/WebKit/mac

[iOS] Upstream WebKit support for various features
https://bugs.webkit.org/show_bug.cgi?id=126413

Reviewed by Sam Weinig.

Upstream iOS WebKit changes needed for these features:

  • ENABLE(DELETION_UI)
  • ENABLE(TOUCH_EVENTS)
  • USE(QUICK_LOOK)
  • USE(UIKIT_EDITING)
  • ENABLE(DISK_IMAGE_CACHE)
  • ENABLE(IOS_TEXT_AUTOSIZING)
  • ENABLE(ICONDATABASE)
  • ENABLE(DASHBOARD_SUPPORT)
  • DefaultDelegates/WebDefaultEditingDelegate.m:
  • Misc/WebCache.mm:
  • WebCoreSupport/WebChromeClient.h:
  • WebView/WebDataSource.mm:

(-[WebDataSource dealloc]):

  • WebView/WebEditingDelegatePrivate.h:
  • WebView/WebFrame.mm:

(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView maintainsInactiveSelection]):
(-[WebHTMLView touch:]):

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(-[WebView quickLookContentForURL:]):
(-[WebView _touchEventRegions]):

  • WebView/WebViewPrivate.h:
4:42 PM Changeset in webkit [161469] by aestes@apple.com
  • 4 edits in trunk/Source/WebKit/mac

[iOS] Upstream a bug fix for plugin-backed media elements
https://bugs.webkit.org/show_bug.cgi?id=126412

Reviewed by Eric Carlson.

Media elements backed by plug-ins should outlive being removed from the
document, like their native counterparts do.

  • Plugins/WebPluginController.h:
  • Plugins/WebPluginController.mm:

(-[NSView isMediaPlugInProxyView]):
(-[NSView setIsMediaPlugInProxyView:]):
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController mediaPlugInProxyViewCreated:]):
(-[WebPluginController destroyPlugin:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(pluginView):

4:42 PM Changeset in webkit [161468] by aestes@apple.com
  • 5 edits in trunk/Source

[iOS] Upstream remainder of minimal-ui viewport changes
https://bugs.webkit.org/show_bug.cgi?id=126410

Reviewed by Sam Weinig.

Source/WebCore:

  • dom/ViewportArguments.h:

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.mm:

(dictionaryForViewportArguments):

  • WebKit.iOS.exp:
4:35 PM Changeset in webkit [161467] by fpizlo@apple.com
  • 5 edits
    1 add in branches/jsCStack/Source/JavaScriptCore

Merge trunk r161465.

4:30 PM Changeset in webkit [161466] by fpizlo@apple.com
  • 1 edit
    1 add in branches/jsCStack/Source/JavaScriptCore

Add a test that got lost in some merge.

  • tests/stress/phantom-arguments-set-local-then-exit-in-same-block.js: Added.
4:27 PM Changeset in webkit [161465] by fpizlo@apple.com
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

DFG fixup phase should be responsible for inserting ValueToInt32's as needed and it should use Phantom to keep the original values alive in case of OSR exit
https://bugs.webkit.org/show_bug.cgi?id=126600

Reviewed by Michael Saboff.

This fixes an embarrassing OSR exit liveness bug. It also simplifies the code. We were
already using FixupPhase as the place where conversion nodes get inserted. ValueToInt32
was the only exception to that rule, and that was one of the reasons why we had this bug.

Henceforth ValueToInt32 is only inserted by FixupPhase, and only when it is necessary:
we have a BitOp that will want a ToInt32 conversion and the operand is not predicted to
already be an int32. If FixupPhase inserts any ValueToInt32's then the BitOp will no
longer appear to use the original operand, which will make OSR exit think that the
original operand is dead. We work around this they way we always do: insert a Phantom on
the original operands right after the BitOp. This ensures that any OSR exit in any of the
ValueToInt32's or in the BitOp itself will have values for the original inputs.

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixBinaryIntEdges):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • tests/stress/bit-op-value-to-int32-input-liveness.js: Added.

(foo):

4:12 PM Changeset in webkit [161464] by commit-queue@webkit.org
  • 5 edits
    4 adds
    3 deletes in trunk

createElementNS handles element name 'xmlns' correctly.
https://bugs.webkit.org/show_bug.cgi?id=126553

Patch by Victor Costan <costan@gmail.com> on 2014-01-07
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: fast/dom/createElementNS-namespace-errors.html

fast/dom/setAttributeNS-namespace-errors.html

  • dom/Document.cpp:

(WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
(WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.

LayoutTests:

  • fast/dom/createElementNS-namespace-errors-expected.txt: Added.
  • fast/dom/createElementNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
  • fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js: Removed.
  • fast/dom/setAttributeNS-expected.txt: Updated to match cleaned up test.
  • fast/dom/setAttributeNS-namespace-errors-expected.txt: Added.
  • fast/dom/setAttributeNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
  • fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt: Removed.
  • fast/dom/setAttributeNS-prefix-and-null-namespace.html: Removed. Subsumed by setAttributeNS-namespace-errors.
  • fast/dom/setAttributeNS.html: Cleaned up.
4:09 PM Changeset in webkit [161463] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Update buiddir to be unique.

4:08 PM Changeset in webkit [161462] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg

fix Typo.

4:04 PM Changeset in webkit [161461] by Lucas Forschler
  • 3 edits in trunk/Tools

Add buildbot infrasctructure for building and testing JSC cloop
https://bugs.webkit.org/show_bug.cgi?id=126604

Reviewed by Geoffrey Garen.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(CompileCLOOP):
(RunCLOOPTests):
(RunCLOOPTests.countFailures):
(BuildAndTestCLOOP):

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

Web Inspector: Typo "clipboarPrefixString"
https://bugs.webkit.org/show_bug.cgi?id=126595

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-01-07
Reviewed by Sam Weinig.

  • UserInterface/ConsoleCommandResult.js:

(WebInspector.ConsoleCommandResult.prototype.toMessageElement):
(WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString):

  • UserInterface/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString):
(WebInspector.ConsoleMessageImpl.prototype.toClipboardString):

3:37 PM Changeset in webkit [161459] by BJ Burg
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
3:22 PM Changeset in webkit [161458] by rniwa@webkit.org
  • 2 edits
    3 adds
    1 delete in trunk/PerformanceTests

DoYouEvenBench: Extract tests and runner code from benchmark.js/html
https://bugs.webkit.org/show_bug.cgi?id=126596

Reviewed by Stephanie Lewis.

Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html.

Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to
update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names
could be isolated from BenchmarkRunner itself in the future.

  • DoYouEvenBench/benchmark.html:

Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this
file into resources/tests.js.

  • DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js.

(SimplePromise): Moved from benchmark.js
(SimplePromise.prototype.then): Ditto.
(SimplePromise.prototype.resolve): Ditto.
(BenchmarkTestStep): Added. Wraps each test step.
(BenchmarkRunner.suite): Moved from benchmark.js.
(BenchmarkRunner.setClient): Added.
(BenchmarkRunner.waitForElement): Moved.
(BenchmarkRunner._removeFrame): Ditto.
(BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than
presentational as they affect performance.
(BenchmarkRunner._waitAndWarmUp): Ditto.
(BenchmarkRunner._runTest): Ditto.
(BenchmarkRunner._testName): Ditto.
(BenchmarkState): Ditto.
(BenchmarkState.prototype.currentSuite): Ditto.
(BenchmarkState.prototype.currentTest): Ditto.
(BenchmarkState.prototype.next): Ditto.
(BenchmarkState.prototype.isFirstTest): Ditto.
(BenchmarkState.prototype.prepareCurrentSuite): Ditto.
(BenchmarkRunner.step): Ditto.
(BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to
benchmark.html. Also moved the code to accumulate the totals here from _finalize.
(BenchmarkRunner._finalize): Moved.

  • DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html.

Uses BenchmarkTestStep instead of an array for each test step.

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

PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
https://bugs.webkit.org/show_bug.cgi?id=116051

Reviewed by Simon Fraser.

Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
in updateScrollbars() so that changes made in the if-statement cause the scrollbar
layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

2:27 PM Changeset in webkit [161456] by Lucas Forschler
  • 9 edits
    2 copies in branches/safari-537.74-branch

Merged r160479. <rdar://problems/15754470>

2:24 PM Changeset in webkit [161455] by jer.noble@apple.com
  • 11 edits
    3 adds in trunk

HTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory
https://bugs.webkit.org/show_bug.cgi?id=40382

Reviewed by Eric Carlson.

Source/WebCore:

Test: http/tests/media/video-auth.html

Adopt a new AVFoundation API to handle authentication challenge generated while loading
media through an AVAsset. The authentication request comes through as a
NSURLAuthenticationChallenge, and is wrapped in a WebCore::AuthenticationChallenge
by MediaPlayerPrivateAVFoundationObjC, and is sent up to the HTMLMediaElement to handle.
The HTMLMediaElement creates a ResourceRequest, and passes the challenge up to the
ResourceLoadNotifier.

To allow the HTMLMediaElement to initiate handling an AuthenticationChallenge without
actually creating a ResourceLoader, allow ResourceLoaderDelegate to accept a unique
identifier and a DocumentLoader in lieu of a ResourceLoader.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • loader/ResourceLoadNotifier.cpp:

(WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):

  • loader/ResourceLoadNotifier.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):

LayoutTests:

  • http/tests/media/resources/video-auth.php: Added.
  • http/tests/media/video-auth-expected.txt: Added.
  • http/tests/media/video-auth.html: Added.
  • platform/mac/TestExpectations:
2:06 PM Changeset in webkit [161454] by ap@apple.com
  • 5 edits in trunk/Tools

Popovers at build.webkit.org/dashboard could have titles
https://bugs.webkit.org/show_bug.cgi?id=126495

Reviewed by Timothy Hatcher.

Added titles to all popovers except for pending revisions one, which I would like
to improve more (probably add an ETA).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype._presentPopoverFailureLogs): Moved code for
adding a title to base class.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Moved code for inserting
a divider to a separate function.
(BuildbotQueueView.prototype._presentPopoverForRevisionRange): Added a title.
(BuildbotQueueView.prototype._presentNoChangePopover): Updated the text to match
title from above function.
(BuildbotQueueView.prototype._revisionPopoverContentForIteration): Renamed "contentElement"
variable to "content" to match all other code.
(BuildbotQueueView.prototype._addIterationHeadingToPopover): Added.
(BuildbotQueueView.prototype._addDividerToPopover): Added.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions): Add a title.
(BuildbotTesterQueueView.prototype._presentPopoverForLayoutTestRegressions): Ditto.
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:
1:50 PM Changeset in webkit [161453] by fpizlo@apple.com
  • 6 edits in branches/jsCStack/Source/JavaScriptCore

--showDFGDisassembly=true shouldn't show baseline JIT stubs
https://bugs.webkit.org/show_bug.cgi?id=126593

Not yet reviewed.

  • assembler/LinkBuffer.cpp:

(JSC::shouldShowDisassemblyFor):

  • assembler/LinkBuffer.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):

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

(JSC::generateProtoChainAccessStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::tryRepatchIn):
(JSC::linkClosureCall):

1:27 PM Changeset in webkit [161452] by commit-queue@webkit.org
  • 28 edits in trunk/Source

Unreviewed, rolling out r161447.
http://trac.webkit.org/changeset/161447
https://bugs.webkit.org/show_bug.cgi?id=126592

needs some more work (Requested by thorton on #webkit).

Source/WebCore:

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

(WebCore::FrameView::FrameView):

  • page/FrameView.h:
  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayerClient.h:
  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::TileController):
(WebCore::TileController::tilesWouldChangeForVisibleRect):
(WebCore::TileController::setExposedRect):
(WebCore::TileController::setClipsToExposedRect):
(WebCore::TileController::computeTileCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::updateTileCoverageMap):

  • rendering/RenderLayerBacking.cpp:

(WebCore::computeTileCoverage):

  • rendering/RenderLayerBacking.h:

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateViewExposedRect]):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::viewExposedRectChanged):
(WebKit::WebPageProxy::exposedRectChangedTimerFired):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::viewExposedRect):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setExposedRect):
(WebKit::DrawingArea::setClipsToExposedRect):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::viewExposedRectChanged):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):

1:07 PM Changeset in webkit [161451] by dfarler@apple.com
  • 2 edits in trunk/Source/WTF

[ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=124532

Reviewed by David Kilzer.

  • wtf/Compiler.h:

Remove this quirk - it does nothing.

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

Repatch write barrier slow path call doesn't align the stack in the presence of saved registers
https://bugs.webkit.org/show_bug.cgi?id=126093

Reviewed by Geoffrey Garen.

  • jit/Repatch.cpp: Reworked the stack alignment code for calling out to C code on the write barrier slow path.

We need to properly account for the number of reused registers that were saved to the stack, so we have to
pass the ScratchRegisterAllocator around.
(JSC::storeToWriteBarrierBuffer):
(JSC::writeBarrier):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):

  • jit/ScratchRegisterAllocator.h: Previously the ScratchRegisterAllocator only knew whether or not it had

reused registers, but not how many. In order to correctly align the stack for calls to C slow paths for
the write barriers in inline caches we need to know how the stack is aligned. So now ScratchRegisterAllocator
tracks how many registers it has reused.
(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::didReuseRegisters):
(JSC::ScratchRegisterAllocator::numberOfReusedRegisters):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):

  • llint/LowLevelInterpreter64.asm: Random typo fix.
12:59 PM Changeset in webkit [161449] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Merge trunk r161438.

12:52 PM Changeset in webkit [161448] by fpizlo@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Indicate that r161445 has been reviewed.

12:52 PM Changeset in webkit [161447] by timothy_horton@apple.com
  • 28 edits in trunk/Source

TileController can fail to receive exposedRect from the drawing area if set at the wrong time
https://bugs.webkit.org/show_bug.cgi?id=126536

Reviewed by Anders Carlsson.

Move exposedRect to FrameView so it can be pushed in from WebKit before we have
a TiledBacking, and can be retrieved by the TiledBacking when it needs to.

  • WebCore.exp.in:

Export some things.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::setExposedRect):

  • page/FrameView.h:

Store the exposed rect on FrameView. When it changes, if the main frame
has a TiledBacking, inform it of the change.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::exposedRect):

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayerClient.h:

Plumbing so that TileController can retrieve the exposedRect from FrameView.

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

(WebCore::TileController::TileController):
(WebCore::TileController::platformCALayerExposedRect):
(WebCore::TileController::tilesWouldChangeForVisibleRect):
(WebCore::TileController::exposedRectDidChange):
(WebCore::TileController::computeTileCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::updateTileCoverageMap):
Don't store the exposed rect or clipsToExposedRect on TileController.
Instead, retrieve it from our client.
Make use of the fact that we can test if a rect is infinite
instead of having a separate boolean property for that.

  • rendering/RenderLayerBacking.cpp:

(WebCore::computeTileCoverage):
(WebCore::RenderLayerBacking::exposedRect):
Hand the FrameView's exposedRect back to our GraphicsLayer.
We only support clipping for the main frame TileController for now.

  • rendering/RenderLayerBacking.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateViewExposedRect]):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):
(WebKit::DrawingAreaProxy::setExposedRect):
(WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::exposedRect):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):

  • UIProcess/WebPageProxy.h:

Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Push the exposedRect down into WebCore.

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
to indicate that now.
Don't scroll an infinite rect; it won't work.

12:47 PM Changeset in webkit [161446] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

r161364 caused JSC tests regression on non-DFG builds (e.g. C Loop and Windows).
https://bugs.webkit.org/show_bug.cgi?id=126589.

Reviewed by Filip Pizlo.

After the removal of ENABLE(VALUE_PROFILER), the LLINT is now expecting the
relevant opcode operands to point to ValueProfiler data structures and will
write profiling data into them. Hence, we need to allocate these data
structures even though the profiling data won't be used in non-DFG builds.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

12:16 PM Changeset in webkit [161445] by fpizlo@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

FTL OSR entry should only check input variable types after it has set up OSR exit availability of those OSR entry values
https://bugs.webkit.org/show_bug.cgi?id=126587

Not yet reviewed.

At the prologue of OSR entry, DFG IR knows where the arguments are but has no idea
where the locals are. So, before OSR entry starts doing speculation checks, it
should establish (via MovHints) where the locals are. Then it can do the checks
(namely, the SetArgument/SetLocal's).

Also make things a bit easier to debug by making verboseOSR() print OSR exit
disassemblies.

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::finalizeCodeWithDisassembly):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGOSRExitCompiler.cpp:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

12:03 PM Changeset in webkit [161444] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test expectation update.

  • platform/mac/TestExpectations: Mark webgl/1.0.2/conformance/rendering/gl-scissor-test.html as flaky on

Mavericks Debug.

12:01 PM Changeset in webkit [161443] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
https://bugs.webkit.org/show_bug.cgi?id=126570

Reviewed by Tim Horton.

Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
when a LayoutRect is expected.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::fragmentsBoundingBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::clipBox):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):

11:39 AM Changeset in webkit [161442] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/WebCore

Merge 161050: <rdar://problem/15754482>

11:36 AM Changeset in webkit [161441] by ap@apple.com
  • 4 edits in trunk/Tools

There should be a delay when quickly switching to a different popover at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126472

Reviewed by Timothy Hatcher.

Added a delay when quickly switching to a different popover, making it easier to
move mouse pointer from active element to its popover without accidentally opening
a different popover.

Used this code to add a delay before creating a popover. This doesn't change UI
behavior, as there was alerady a delay before it became visible, but it avoids
flooding buildbot server with http requests when quickly moving the mouse over
dashboard page.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Popover.js:

Fixed a case where popover could get stuck. If content was updated while fade-out
transition was already in place, the transition was removed for no good reason.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:

(PopoverTracker._onblur): While at it, also taught popovers to disappear on window blur.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css:

(.popover.step-in): Now that PopoverTracker has a 200ms delay of its own, reduced
popover delay from 1s to 800ms.

11:35 AM Changeset in webkit [161440] by ap@apple.com
  • 7 edits in trunk/Tools

Improve display of failed builds at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126542
<rdar://problem/15753550>

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

Instead of hardcoding step name, look for the first step that failed.
While at it, added a popover with more links. There are multiple, and it's good
to have a choice of which one to look at in each situation.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.get successful): Being successful is not the opposite
of having failed. Many iterations are interrupted for whatever reason internal to
Buildbot, and these are suppoed to be orange, not red.
(BuildbotIteration.prototype.get productive): Changed to exclude inerrupted iterations,
not only WillRetry ones.
(BuildbotIteration.prototype.get failed): Changed to only include iterations that
actually failed, more likely indicating a problem with code base.
(BuildbotIteration.prototype.get firstFailedStepName):
(BuildbotIteration.prototype.failureLogURL): Expose informaiton about failure.
(BuildbotIteration.prototype.get failureLogs): Ditto.
(BuildbotIteration.prototype.update): Store complete results for the failed step.
Not every failure stops the iteration, so we could have multiple failed steps,
but let's see if seeing just the first one will be enough.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.get firstRecentUnsuccessfulIteration): Updated to work in
terms of successful iterations.
(BuildbotQueue.prototype.get mostRecentSuccessfulIteration): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Updated to work in
terms of successful iterations.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

Removed code to create a path to build output, we now take it from results JSON.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Added styles for the new popover.

11:30 AM Changeset in webkit [161439] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 Crash running ecma/FunctionObjects/15.3.1.1-3.js
https://bugs.webkit.org/show_bug.cgi?id=126585

Reviewed by Geoffrey Garen.

We were improperly using a shifted add/subtract for operations with the stack
pointer as the destination. Broadened the cases where we use the extended
register version of add/subtract to include when the destination is the
stack pointer. In the ARM64 documentation, the immediate and extended register
forms of add and subtract are the right variants to manipulate the stack pointer.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::add):
(JSC::ARM64Assembler::sub):

11:14 AM Changeset in webkit [161438] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ASSERT in compileArithNegate on pdfjs
https://bugs.webkit.org/show_bug.cgi?id=126584

Reviewed by Mark Hahnenberg.

Check negative zero when we should check it, not when we shouldn't check it. :-/

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithNegate):

11:10 AM Changeset in webkit [161437] by rgabor@webkit.org
  • 3 edits
    3 adds in trunk

pushFinallyContext saves wrong m_labelScopes size
https://bugs.webkit.org/show_bug.cgi?id=124529

Remove free label scopes before saving finally context.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::pushFinallyContext):

LayoutTests:

  • js/script-tests/try-return-finally-break.js: Added.

(foo):

  • js/try-return-finally-break-expected.txt: Added.
  • js/try-return-finally-break.html: Added.
10:59 AM Changeset in webkit [161436] by betravis@adobe.com
  • 16 edits in trunk

[CSS Shapes] Change default value from 'auto' to 'none'
https://bugs.webkit.org/show_bug.cgi?id=126544

Reviewed by Sam Weinig.

Source/WebCore:

Update the CSS infrastructure to accept 'none' as the default value
for shape-inside and shape-outside.

Updated existing parsing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseShapeProperty):

  • rendering/style/ShapeValue.h:

LayoutTests:

Change the default value to 'none', and replace 'none' with 'auto' in the
list of invalid values.

  • fast/shapes/css-shapes-disabled-expected.txt:
  • fast/shapes/css-shapes-disabled.html:
  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-inside.html:
  • fast/shapes/parsing/parsing-shape-lengths-expected.txt:
  • fast/shapes/parsing/parsing-shape-lengths.html:
  • fast/shapes/parsing/parsing-shape-margin-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside.html:
  • fast/shapes/parsing/parsing-shape-padding-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
10:47 AM Changeset in webkit [161435] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

Merge trunk r161411.

10:30 AM Changeset in webkit [161434] by hmuller@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Shapes] shape-outside layout incorrect when line spans rounded box rounded corners
https://bugs.webkit.org/show_bug.cgi?id=126528

Reviewed by Andreas Kling.

Source/WebCore:

BoxShape::getExcludedIntervals() now checks for the special case where the line spans the
top and bottom rounded corners - which implies that the excluded interval is the box's
horizontal extent.

Test: fast/shapes/shape-outside-floats/shape-outside-line-spans-box-corners.html

  • rendering/shapes/BoxShape.cpp:

(WebCore::BoxShape::getExcludedIntervals):

LayoutTests:

Verify that a line that spans a shape-outside box's top and bottom rounded corners begins
at the box's right edge.

  • fast/shapes/shape-outside-floats/shape-outside-line-spans-box-corners-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-line-spans-box-corners.html: Added.
10:29 AM Changeset in webkit [161433] by fpizlo@apple.com
  • 1 edit
    2 adds in branches/jsCStack/Source/JavaScriptCore

Really merge r161399.

  • dfg/DFGArithMode.cpp: Added.
  • dfg/DFGArithMode.h: Added.
10:04 AM Changeset in webkit [161432] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Debug biuld fix.

Replace actionTag with mactionTag in assertions.

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
(WebCore::MathMLSelectElement::getSelectedActionChild):

10:00 AM WebKitGTK/SpeedUpBuild edited by Manuel Rego Casasnovas
Explain how to set more jobs with icecc (diff)
9:57 AM Changeset in webkit [161431] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Disable JIT stack alignment check for ARM64
https://bugs.webkit.org/show_bug.cgi?id=126550

Unreviewed comment only change.

Added comment to checkStackPointerAlignment() suggested by Darin Adler.

9:49 AM Changeset in webkit [161430] by commit-queue@webkit.org
  • 11 edits
    6 adds in trunk

Add Support for the semantics element.
https://bugs.webkit.org/show_bug.cgi?id=100626

Source/WebCore:

Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-07
Reviewed by Chris Fleizach.

Tests: mathml/presentation/semantics-2.html

mathml/presentation/semantics-3.html
mathml/presentation/semantics-4.html

This provides a complete support for the semantics element. When the first child is a content MathML, an annotation can be selected and displayed. The selection algorithm is identical to Gecko's one. The recognized annotations are text (e.g. LaTeX), presentation MathML, SVG and HTML.

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::attributeChanged):
(WebCore::MathMLElement::isPresentationMathML):

  • mathml/MathMLElement.h:

(WebCore::MathMLElement::isMathMLToken):
(WebCore::MathMLElement::isSemanticAnnotation):
(WebCore::MathMLElement::isPresentationMathML):
(WebCore::MathMLElement::updateSelectedChild):

  • mathml/MathMLInlineContainerElement.h:
  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
(WebCore::MathMLSelectElement::getSelectedActionChild):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
(WebCore::MathMLSelectElement::updateSelectedChild):
(WebCore::MathMLSelectElement::toggle):

  • mathml/MathMLSelectElement.h:
  • mathml/MathMLTextElement.h:
  • mathml/mathattrs.in:
  • mathml/mathtags.in:

LayoutTests:

Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-07
Reviewed by Chris Fleizach.

  • TestExpectations:
  • mathml/presentation/semantics-2-expected.html: Added.
  • mathml/presentation/semantics-2.html: Added.
  • mathml/presentation/semantics-3-expected.html: Added.
  • mathml/presentation/semantics-3.html: Added.
  • mathml/presentation/semantics-4-expected.html: Added.
  • mathml/presentation/semantics-4.html: Added.
9:39 AM Changeset in webkit [161429] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Heap::collect shouldn't be responsible for sweeping
https://bugs.webkit.org/show_bug.cgi?id=126556

Reviewed by Geoffrey Garen.

Sweeping happens at an awkward time during collection due to the fact that destructors can
cause arbitrary reentry into the VM. This patch separates collecting and sweeping, and delays
sweeping until after collection has completely finished.

  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/Heap.h:
  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweep):

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::doWork):

9:34 AM Changeset in webkit [161428] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix compilation issue with GLES2 after http://webkit.org/b/126548
https://bugs.webkit.org/show_bug.cgi?id=126578

Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-01-07
Reviewed by Brent Fulgham

  • platform/graphics/opengl/TemporaryOpenGLSetting.cpp: added GLES2/gl2.h include
8:59 AM Changeset in webkit [161427] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

defined constants should use all uppercase names with words separated by underscores.
https://bugs.webkit.org/show_bug.cgi?id=126055

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2014-01-07
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_style):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_define_constants):

7:29 AM Changeset in webkit [161426] by Gustavo Noronha Silva
  • 2 edits in trunk

Unreviewed GTK/CMake build fix: use the correct location for docs-build.stamp
in output and dependencies declarations, so docs are not built needlessly
every build.

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-01-07

  • Source/PlatformGTK.cmake:
7:24 AM Changeset in webkit [161425] by commit-queue@webkit.org
  • 21 edits in trunk/Source/WebCore

Remove some extra includes from XML.
https://bugs.webkit.org/show_bug.cgi?id=126572

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-07
Reviewed by Anders Carlsson.

No new tests, no functionality changed.

  • xml/XMLHttpRequest.cpp:
  • xml/XMLHttpRequestUpload.cpp:
  • xml/XMLHttpRequestUpload.h:
  • xml/XPathEvaluator.cpp:
  • xml/XPathExpression.cpp:
  • xml/XPathExpressionNode.cpp:
  • xml/XPathFunctions.cpp:
  • xml/XPathNodeSet.cpp:
  • xml/XPathParser.cpp:
  • xml/XPathPath.cpp:
  • xml/XPathPredicate.cpp:
  • xml/XPathPredicate.h:
  • xml/XPathResult.cpp:
  • xml/XPathValue.cpp:
  • xml/XPathVariableReference.cpp:
  • xml/XSLImportRule.cpp:
  • xml/XSLStyleSheetLibxslt.cpp:
  • xml/XSLTProcessorLibxslt.cpp:
  • xml/parser/XMLDocumentParser.cpp:
  • xml/parser/XMLDocumentParserLibxml2.cpp:
7:10 AM Changeset in webkit [161424] by brian.holt@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
7:08 AM Changeset in webkit [161423] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Remove the WinCE buildbot from build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=126517

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):

7:00 AM Changeset in webkit [161422] by Manuel Rego Casasnovas
  • 2 edits
    3 adds in trunk/LayoutTests

[GTK] fast/repaint/repaint-regions-overflow.html is failing
https://bugs.webkit.org/show_bug.cgi?id=124835

Unreviewed gardening.

Added new baseline for failing test.

  • platform/gtk/TestExpectations: Unskipped faling test.
  • platform/gtk/fast/regions/repaint/repaint-regions-overflow-expected.txt: Added.
6:55 AM Changeset in webkit [161421] by k.czech@samsung.com
  • 2 edits in trunk/Tools

[EFL] Change ATK version to 2.11.4
https://bugs.webkit.org/show_bug.cgi?id=126573

Reviewed by Gyuyoung Kim.

ATK 2.11.4 introduces some new roles, that are already being used by WebKit.

  • efl/jhbuild.modules:
6:02 AM Changeset in webkit [161420] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Add toHTMLTableSectionElement() functions, and use it
https://bugs.webkit.org/show_bug.cgi?id=126418

Reviewed by Andreas Kling.

HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
generate isHTMLTableSectionElement() by using template. This patch add
toHTMLTableSectionElement() manually in order to cleanup static_cast<>.

No new tests, no behavior change.

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
  • html/HTMLTagNames.in:
4:52 AM Changeset in webkit [161419] by berto@igalia.com
  • 2 edits in trunk/Tools

[GTK][EFL] Use function jhbuildWrapperPrefixIfNeeded to run launcher
https://bugs.webkit.org/show_bug.cgi?id=117275

Reviewed by Carlos Garcia Campos.

If we are not using the internal jhbuild we must not use the
jhbuild-wrapper script, else it will try to download and install
it.

  • Scripts/run-launcher:
3:59 AM Changeset in webkit [161418] by commit-queue@webkit.org
  • 54 edits in trunk/Source/WebCore

Remove some extra includes from SVG.
https://bugs.webkit.org/show_bug.cgi?id=126565

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-07
Reviewed by Dirk Schulze.

No new tests, no functionality changed.

  • rendering/svg/RenderSVGBlock.cpp:
  • rendering/svg/RenderSVGContainer.cpp:
  • rendering/svg/RenderSVGEllipse.cpp:
  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGHiddenContainer.cpp:
  • rendering/svg/RenderSVGImage.cpp:
  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInlineText.cpp:
  • rendering/svg/RenderSVGModelObject.cpp:
  • rendering/svg/RenderSVGPath.cpp:
  • rendering/svg/RenderSVGRect.cpp:
  • rendering/svg/RenderSVGResource.cpp:
  • rendering/svg/RenderSVGResourceClipper.cpp:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:
  • rendering/svg/RenderSVGResourceFilter.cpp:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceGradient.cpp:
  • rendering/svg/RenderSVGResourceGradient.h:
  • rendering/svg/RenderSVGResourceLinearGradient.cpp:
  • rendering/svg/RenderSVGResourceMarker.cpp:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.cpp:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.cpp:
  • rendering/svg/RenderSVGResourceSolidColor.cpp:
  • rendering/svg/RenderSVGResourceSolidColor.h:
  • rendering/svg/RenderSVGRoot.cpp:
  • rendering/svg/RenderSVGShape.cpp:
  • rendering/svg/RenderSVGText.cpp:
  • rendering/svg/RenderSVGTransformableContainer.cpp:
  • rendering/svg/SVGInlineFlowBox.cpp:
  • rendering/svg/SVGInlineTextBox.cpp:
  • rendering/svg/SVGRenderSupport.cpp:
  • rendering/svg/SVGRenderTreeAsText.cpp:
  • rendering/svg/SVGRenderingContext.cpp:
  • rendering/svg/SVGResources.cpp:
  • rendering/svg/SVGResourcesCache.cpp:
  • rendering/svg/SVGResourcesCycleSolver.cpp:
  • rendering/svg/SVGRootInlineBox.cpp:
  • rendering/svg/SVGTextChunk.cpp:
  • rendering/svg/SVGTextChunkBuilder.cpp:
  • rendering/svg/SVGTextLayoutAttributes.h:
  • rendering/svg/SVGTextLayoutAttributesBuilder.h:
  • rendering/svg/SVGTextLayoutEngine.cpp:
  • rendering/svg/SVGTextLayoutEngine.h:
  • rendering/svg/SVGTextMetricsBuilder.h:
  • rendering/svg/SVGTextQuery.cpp:
  • rendering/svg/SVGTextRunRenderingContext.cpp:
3:28 AM Changeset in webkit [161417] by k.czech@samsung.com
  • 16 edits
    2 adds in trunk

[ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
https://bugs.webkit.org/show_bug.cgi?id=125855

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Test: accessibility/aria-checked-mixed-value.html

Expose ATK_STATE_INDETERMINATE to support aria-checked mixed state
for radio and checkbox types.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(setAtkStateSetFromCoreObject):

Tools:

Added new function isIndeterminate for testing aria-checked mixed state.
I provided respective, but empty function in mac port. Mac testing it differently.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(getIsIndeterminate):
(AccessibilityUIElement::getJSClass):

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

(AccessibilityUIElement::isIndeterminate):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm: Added empty function.

(AccessibilityUIElement::isIndeterminate):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm: Added empty function.

(AccessibilityUIElement::isIndeterminate):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: Added empty function.

(AccessibilityUIElement::isIndeterminate):

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

(WTR::AccessibilityUIElement::isIndeterminate):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::isIndeterminate):

LayoutTests:

  • accessibility/aria-checked-mixed-value-expected.txt: Added.
  • accessibility/aria-checked-mixed-value.html: Added.
  • platform/mac/TestExpectations: Skipped it, missing implementation.
  • platform/win/TestExpectations: Skipped it, missing implementation.
2:06 AM Changeset in webkit [161416] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Crash when trying to register a custom scheme before network process has been launched
https://bugs.webkit.org/show_bug.cgi?id=126385

Reviewed by Anders Carlsson.

WebContext::registerSchemeForCustomProtocol() uses
sendToNetworkingProcess() to send the message to the appropriate
networking process. In the case of using web process,
sendToNetworkingProcess() first checks if there's already a web
process, doing nothing otherwise, but when using the network
process it assumes there's already a network process. In both
cases it's safe to do nothing, because the schemes will be passed
as creation parameters to the process when launched.

  • UIProcess/WebContext.h:

(WebKit::WebContext::sendToNetworkingProcess):

1:46 AM Changeset in webkit [161415] by mrowe@apple.com
  • 4 edits in trunk/Source

<https://webkit.org/b/126562> DOMProgressEvent has unspecified availability

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • bindings/objc/PublicDOMInterfaces.h: Add DOMProgressEvent. It first appeared in 10.6.

Source/WebKit/mac:

  • MigrateHeaders.make: Ensure that public DOM headers do not have unspecified availability.
1:42 AM Changeset in webkit [161414] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/126567> Remove the legacy WebKit availability macros

They're no longer used.

Reviewed by Ryosuke Niwa.

  • API/WebKitAvailability.h:
1:36 AM Changeset in webkit [161413] by jinwoo7.song@samsung.com
  • 6 edits in trunk/Source/WebKit2

WebKit2 EFL build fix after r161387
https://bugs.webkit.org/show_bug.cgi?id=126566

Reviewed by Andreas Kling.

Add missing ASYNC_SCROLLING macro.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
12:46 AM Changeset in webkit [161412] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Another Mountain Lion build fix.

The Mountain Lion version of NS_DEPRECATED_MAC generates a reference to a nonexistent
availability macro when the introduced and deprecated versions are the same. Follow
AppKit's lead in working around this by defining the macros that will be referenced
for the various possible OS version numbers. This isn't an issue on newer versions of
OS X as the Foundation availability macros expand directly in to attributes rather
than in to the legacy availability maros.

  • bindings/objc/WebKitAvailability.h:
12:22 AM Changeset in webkit [161411] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

SetLocal for a FlushedArguments should not claim that the dataFormat is DataFormatJS
https://bugs.webkit.org/show_bug.cgi?id=126563

Reviewed by Gavin Barraclough.

This was a rookie arguments simplification mistake: the SetLocal needs to record the fact
that although it set JSValue(), OSR should think it set Arguments. DataFormatArguments
conveys this, and dataFormatFor(FlushFormat) will do the right thing.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • tests/stress/phantom-arguments-set-local-then-exit-in-same-block.js: Added.

(foo):

Jan 6, 2014:

11:26 PM Changeset in webkit [161410] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Mountain Lion build fix.

  • bindings/objc/WebKitAvailability.h: #define AVAILABILITY_INTERNALMAC_TBD so that

the TBD version works on Mountain Lion. Newer OS versions use a slightly different set
of macros that already support this version. Add a missing #include so that defintions
of the Foundation availability macros can be found even if no other Foundation headers
were included first.

11:19 PM Changeset in webkit [161409] by fpizlo@apple.com
  • 83 edits
    5 adds in branches/jsCStack

Source/JavaScriptCore: Merge trunk r161072, r161126, r161218, r161353, r161356, r161364, 161399.

Source/WTF: Merge trunk r161364.

LayoutTests: Merge trunk r161072.

11:11 PM Changeset in webkit [161408] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r161401.
http://trac.webkit.org/changeset/161401
https://bugs.webkit.org/show_bug.cgi?id=126418

REGRESSION(r161401): Break layout test on mac-wk1(Debug)

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
10:09 PM Changeset in webkit [161407] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 Crash in llint_function_for_call_arity_check running 3d-raytrace.js
https://bugs.webkit.org/show_bug.cgi?id=126557

Reviewed by Geoffrey Garen.

We were crashing due the to definition of t5 in the offline assembler not
matching the definition of regT5 in GPRInfo.h. The crash was due to passing
the stub return address to the fixup thunk in regT5, but it contained garbage.
I changed the definitions of t4, t5 and t6 in the ARM64 back end of the offline
assembler to match GPRInfo.h.

  • offlineasm/arm64.rb:
10:09 PM Changeset in webkit [161406] by mrowe@apple.com
  • 45 edits in trunk/Source/WebCore

<https://webkit.org/b/126500> Move Objective-C DOM bindings off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit
over using the system availability macros directly. The original vision was that
they'd serve a cross-platform purpose but that never came to be.

The OS X version used in the new availability macros is based on the mapping in
JavaScriptCore/WebKitAvailability.h.

Part of <rdar://problem/15512304>.

Reviewed by Sam Weinig.

  • bindings/objc/DOMCSS.h:
  • bindings/objc/DOMEventException.h:
  • bindings/objc/DOMException.h:
  • bindings/objc/DOMExtensions.h:
  • bindings/objc/DOMObject.h:
  • bindings/objc/DOMRangeException.h:
  • bindings/objc/DOMXPathException.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • bindings/objc/WebScriptObject.h:
  • bindings/scripts/CodeGeneratorObjC.pm:

(ReadPublicInterfaces):
(GenerateHeader): Tag enums with WK_ENUM_AVAILABLE_MAC and classes with WEBKIT_CLASS_AVAILABLE_MAC.
Remove the #ifs that we were previously generating now that enums are appropriately tagged.

  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventTarget.h:
  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
  • bindings/scripts/test/ObjC/DOMTestException.h:
  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
  • bindings/scripts/test/ObjC/DOMTestInterface.h:
  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNode.h:
  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObjInternal.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefs.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
  • bindings/scripts/test/ObjC/DOMattribute.h:
  • bindings/scripts/test/ObjC/DOMattributeInternal.h:
  • bindings/scripts/test/ObjC/DOMreadonly.h:
  • bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
10:07 PM Changeset in webkit [161405] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix nativeForGenerator() for non-X86 platforms
https://bugs.webkit.org/show_bug.cgi?id=126551

Reviewed by Geoffrey Garen.

Removed the explicit saving and restoring of the return address and call frame register
from the non-X86 paths of nativeForGenerator() as these are no longer needed.
The function prologue and epilogue now perform calling convention consistent saving
and restoring of these values.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

9:40 PM Changeset in webkit [161404] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION(r157851): trailing space inside an editable region could be erroneously collapsed
https://bugs.webkit.org/show_bug.cgi?id=126549

Reviewed by Sam Weinig.

Source/WebCore:

The regression was caused by erroneous use of m_currentCharacterIsSpace in place of m_currentCharacterIsWS.

See the following two lines before the refactoring:
http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3074
http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3198

I've also cross-checked other places where m_currentCharacterIsSpace and m_currentCharacterIsWS are used.

Test: editing/inserting/inserting-trailing-space-and-letter.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText):

LayoutTests:

Added a regression test and reverted the erroneous rebaseline in r157851.

  • editing/inserting/inserting-trailing-space-and-letter-expected.html: Added.
  • editing/inserting/inserting-trailing-space-and-letter.html: Added.
  • platform/mac/editing/selection/after-line-wrap-expected.txt:
9:24 PM Changeset in webkit [161403] by fpizlo@apple.com
  • 39 edits
    2 adds in branches/jsCStack

PerformanceTests/SunSpider: Merge trunk r160411.

Source/JavaScriptCore: Merge trunk r160394, r160407, r160411, r160587.

Tools: Merge trunk r160411.

9:19 PM Changeset in webkit [161402] by Seokju Kwon
  • 14 edits in trunk/Source

Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
https://bugs.webkit.org/show_bug.cgi?id=126149

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No changes in behavior.

These are not used anywhere in WebInspectorUI.
So, it removes unused Protocols and APIs.

  • inspector/InspectorClient.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::disable):

  • inspector/InspectorPageAgent.h:
  • inspector/protocol/Page.json:

Source/WebInspectorUI:

  • UserInterface/InspectorWebBackendCommands.js: Remove unused codes.
  • UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Ditto.
  • UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
  • Versions/Inspector-iOS-6.0.json: Ditto.
  • Versions/Inspector-iOS-7.0.json: Ditto.

Source/WebKit/blackberry:

  • WebCoreSupport/InspectorClientBlackBerry.cpp: Remove dead codes.
  • WebCoreSupport/InspectorClientBlackBerry.h: Ditto.
9:15 PM Changeset in webkit [161401] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Add toHTMLTableSectionElement() functions, and use it
https://bugs.webkit.org/show_bug.cgi?id=126418

Reviewed by Anders Carlsson.

HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
generate isHTMLTableSectionElement() by using template. This patch add
toHTMLTableSectionElement() manually in order to cleanup static_cast<>.

No new tests, no behavior change.

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
  • html/HTMLTagNames.in:
8:58 PM Changeset in webkit [161400] by msaboff@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

Merge of trunk r160493

2013-12-11 Filip Pizlo <fpizlo@apple.com>

ARM64: Hang running pdfjs test, suspect DFG generated code for "in"
https://bugs.webkit.org/show_bug.cgi?id=124727
<rdar://problem/15566923>

Reviewed by Michael Saboff.

Get rid of In's hackish use of StructureStubInfo. Previously it was using hotPathBegin,
and it was the only IC that used that field, which was wasteful. Moreover, it used it
to store two separate locations: the label for patching the jump and the label right
after the jump. The code was relying on those two being the same label, which is true
on X86 and some other platforms, but it isn't true on ARM64.

This gets rid of hotPathBegin and makes In express those two locations as offsets from
the callReturnLocation, which is analogous to what the other IC's do.

This fixes a bug where any successful In patching would result in a trivially infinite
loop - and hence a hang - on ARM64.

  • bytecode/StructureStubInfo.h:
  • dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link):
  • dfg/DFGJITCompiler.h: (JSC::DFG::InRecord::InRecord):
  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileIn):
  • jit/JITInlineCacheGenerator.cpp: (JSC::JITByIdGenerator::finalize):
  • jit/Repatch.cpp: (JSC::replaceWithJump): (JSC::patchJumpToGetByIdStub): (JSC::tryCachePutByID): (JSC::tryBuildPutByIdList): (JSC::tryRepatchIn): (JSC::resetGetByID): (JSC::resetPutByID): (JSC::resetIn):
8:52 PM Changeset in webkit [161399] by fpizlo@apple.com
  • 16 edits
    2 adds in trunk/Source/JavaScriptCore

Make the different flavors of integer arithmetic more explicit, and don't rely on (possibly stale) results of the backwards propagator to decide integer arithmetic semantics
https://bugs.webkit.org/show_bug.cgi?id=125519

Reviewed by Geoffrey Garen.

Adds the Arith::Mode enum to arithmetic nodes, which makes it explicit what sorts of
checks and overflows the node should do. Previously this would be deduced from
backwards analysis results.

This also makes "unchecked" variants really mean that you want the int32 wrapped
result, so ArithIMul is now done in terms of ArithMul(Unchecked). That means that the
constant folder needs to compute exactly the result implied by ArithMode, instead of
just folding the double result.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGArithMode.cpp: Added.

(WTF::printInternal):

  • dfg/DFGArithMode.h: Added.

(JSC::DFG::doesOverflow):
(JSC::DFG::shouldCheckOverflow):
(JSC::DFG::shouldCheckNegativeZero):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::hasArithMode):
(JSC::DFG::Node::arithMode):
(JSC::DFG::Node::setArithMode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileAddSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDivMod):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileUInt32ToNumber):

8:48 PM Changeset in webkit [161398] by fpizlo@apple.com
  • 36 edits
    7 adds in branches/jsCStack/Source/JavaScriptCore

Merge trunk r160294, r160295, r160328, r160347, r160348.

8:45 PM Changeset in webkit [161397] by mrowe@apple.com
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/126559> Be more correct in dealing with NSControlSize

Reviewed by Ryosuke Niwa.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::scrollbarControlSizeToNSControlSize): Helper function to map from ScrollbarControlSize
to NSControlSize.
(WebCore::ScrollbarThemeMac::registerScrollbar): Use the helper rather than casting.
(WebCore::ScrollbarThemeMac::scrollbarThickness): Use the helper.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::progressBarRectForBounds): Update the type of the local to NSControlSize.
(WebCore::RenderThemeMac::paintProgressBar): Ditto.

8:00 PM Changeset in webkit [161396] by mrowe@apple.com
  • 3 edits in trunk/Tools

<https://webkit.org/b/126560> Fix incorrectness in use of some AppKit enums

Reviewed by Ryosuke Niwa.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[DRTMockScroller rectForPart:]): Move to using an if with early return instead of a switch
with a single case. This avoids the potential for warnings about unhandled cases.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView): Cast the argument to NSBackingStoreType.

7:52 PM Changeset in webkit [161395] by fpizlo@apple.com
  • 1 edit
    1 add in branches/jsCStack/Source/JavaScriptCore

Finish merging r160292: add more forgotten files.

  • tests/stress/fold-typed-array-properties.js: Added.
7:44 PM Changeset in webkit [161394] by fpizlo@apple.com
  • 1 edit
    2 adds in branches/jsCStack/Source/JavaScriptCore

Finish merging r160292: add forgotten files.

  • dfg/DFGStrengthReductionPhase.cpp: Added.
  • dfg/DFGStrengthReductionPhase.h: Added.
7:42 PM Changeset in webkit [161393] by fpizlo@apple.com
  • 25 edits in branches/jsCStack

Source/JavaScriptCore: Merge trunk r160292.

Tools: Merge trunk r160292.

7:17 PM Changeset in webkit [161392] by fpizlo@apple.com
  • 6 edits
    15 adds in branches/jsCStack

Source/JavaScriptCore: Merge trunk r160238, r160242, r160246, r160252, r160257.

LayoutTests: Merge trunk r160242, r160246, r160252, r160257.

6:04 PM Changeset in webkit [161391] by Brent Fulgham
  • 2 edits
    1 delete in trunk/LayoutTests

[WebGL] Unreviewed build fix for Mountain Lion drivers.

  • platform/mac-mountainlion/TestExpectations: Removed. Moved test to the mac/TestExpectations file.
  • platform/mac/TestExpectations: Add failure entry for MountainLion test.
5:55 PM Changeset in webkit [161390] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Disable JIT stack alignment check for ARM64
https://bugs.webkit.org/show_bug.cgi?id=126550

Reviewed by Mark Lam.

Since ARM64 enforces strict stack alignment, the need for checkStackPointerAlignment()
is not needed. Also, the implementation of checkStackPointerAlignment() would
need to be reworked given the limits on the operations that can be done with
the stack pointer register in ARM64. Therefore conditionally disabled
checkStackPointerAlignment() for ARM64.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkStackPointerAlignment):

5:44 PM Changeset in webkit [161389] by Brent Fulgham
  • 11 edits
    2 adds in trunk/Source/WebCore

[WebGL] Be safer about toggling OpenGL state by using a scoped object to control setting lifetime.
https://bugs.webkit.org/show_bug.cgi?id=126548

Reviewed by Anders Carlsson.

No new tests since there is no change in behavior.

  • GNUmakefile.list.am: Updated to build new TemporaryOpenGLSetting files.
  • PlatformBlackBerry.cmake: Ditto
  • PlatformEfl.cmake: Ditto
  • PlatformGTK.cmake: Ditto
  • PlatformNix.cmake: Ditto
  • WebCore.vcxproj/WebCore.vcxproj: Ditto
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Use new object.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture): Ditto
(WebCore::GraphicsContext3D::reshape): Ditto

  • platform/graphics/opengl/TemporaryOpenGLSetting.cpp: Added.

(WebCore::TemporaryOpenGLSetting::TemporaryOpenGLSetting):
(WebCore::TemporaryOpenGLSetting::~TemporaryOpenGLSetting):

  • platform/graphics/opengl/TemporaryOpenGLSetting.h: Added.
5:41 PM Changeset in webkit [161388] by Brent Fulgham
  • 1 edit
    1 add in trunk/LayoutTests

[WebGL] Unreviewed build fix for Mountain Lion drivers.

Add new TestExpectations file for Mountain Lion.

  • platform/mac-mountainlion/TestExpectations: Added.
4:57 PM Changeset in webkit [161387] by Simon Fraser
  • 17 edits in trunk/Source

Hook up the RemoteScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=126547

Source/WebCore:

Reviewed by Tim Horton.

Export lots of scrolling-related symbols for use by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

Reviewed by Tim Horton.

Hook up the RemoteScrollingCoordinator in WebKit2.

When the RemoteLayerTreeDrawingArea is in use, WebPageProxy creates
a RemoteScrollingCoordinator, and hands it mouseWheel events. It then
scrolls via a RemoteScrollingTree constructed from state tree commits from the
WebProcess.

Scrolling tree commits happen via a transaction received by RemoteLayerTreeDrawingAreaProxy,
atomically with layer tree transactions.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::RemoteScrollingCoordinatorTransaction::encode): Fix encoding for some
cases seen in WebKitTestRunner where a page has no ScrollingCoordinator.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage): Create the RemoteScrollingCoordinatorProxy
when using a remote layer tree drawing area.
(WebKit::WebPageProxy::handleWheelEvent): Pass to the scrolling coordinator.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::scrollingCoordinatorProxy):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: Include the RemoteScrollingCoordinatorTransaction.
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::getLayer): It's valid to get a 0 layerID (e.g. when
a layer disappears) so handle this case.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createScrollingCoordinator): Override to create the
RemoteScrollingCoordinator in the WebProcess.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scrollingCoordinator): Not inline to avoid polluting the
header with #includes.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Say that we want a ScrollingCoordinator.
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers): Add the scrollingTransaction to the
message.

4:56 PM Changeset in webkit [161386] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Use hasEnabledVerticalScrollbar instead of hasEnabledHorizontalScrollbar.
https://bugs.webkit.org/show_bug.cgi?id=126546

Reviewed by Simon Fraser.

hasEnabledHorizontalScrollbar is used twice.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):

4:52 PM Changeset in webkit [161385] by Seokju Kwon
  • 15 edits
    1 delete in trunk/Source

Web Inspector: Remove support for FileSystem in Frontend.
https://bugs.webkit.org/show_bug.cgi?id=126369

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No change in behavior.

Remove leftover codes from protocol after r156692.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:
  • inspector/protocol/FileSystem.json: Removed.

Source/WebInspectorUI:

Update InspectorWebBackendCommands after removing 'FileSystem' domain.

  • UserInterface/InspectorWebBackendCommands.js:
  • UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
  • UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
4:42 PM Changeset in webkit [161384] by zoltan@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Regions][CSS Shapes] ASSERTION FAILED: m_segmentRanges.size() < m_segments.size()
https://bugs.webkit.org/show_bug.cgi?id=125770

Reviewed by Bem Jones-Bey.

Source/WebCore:

When we have an e.g. up-side-down triangle, when the content doesn't fit in the bottom part of the shape,
and the adjusted content flows into the next region with a shape, we need to update the actual shape
and region. Since it wasn't updated, it led to a shape mismatch, which led to assert/layout error.

Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html

  • rendering/RenderBlockLineLayout.cpp:

(WebiCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Update current shape
and region, when adjustment occured.

LayoutTests:

  • fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html: Added.
4:35 PM Changeset in webkit [161383] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test correction.

  • webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html: Remove commented-out

line from debugging code.

  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js:

(WebGLTestUtils): Return to normal behavior of exiting immediately on test failure.

4:05 PM Changeset in webkit [161382] by Seokju Kwon
  • 8 edits
    1 delete in trunk/Source/WebCore

Web Inspector: Get rid of Inspector/BindingVisitors.h
https://bugs.webkit.org/show_bug.cgi?id=126374

Reviewed by Joseph Pecoraro.

No new tests, No change in behavior.

In r161204, methods related to BindingVisitors was removed.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptProfiler.h:
  • inspector/BindingVisitors.h: Removed.
  • inspector/InspectorCanvasAgent.cpp:
  • inspector/InspectorMemoryAgent.cpp:
3:50 PM Changeset in webkit [161381] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebCore

Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite()
https://bugs.webkit.org/show_bug.cgi?id=126537

Reviewed by Simon Fraser.

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::infiniteRect):
(WebCore::FloatRect::isInfinite):

  • platform/graphics/IntRect.h:

(WebCore::IntRect::infiniteRect):
(WebCore::IntRect::isInfinite):
Add infiniteRect() and isInfinite() to FloatRect and IntRect.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setNeedsDisplay):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::applyTransform):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::fragmentsBoundingBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::clipBox):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
Adopt the new functions.

3:35 PM Changeset in webkit [161380] by Seokju Kwon
  • 9 edits
    2 deletes in trunk

Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
https://bugs.webkit.org/show_bug.cgi?id=126312

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No changes in behavior.

It is a dead code as all ports in WebKit don't support it.
And this patch removes all things related to DOM.setFileInputFiles in Frontend.

  • inspector/InspectorClient.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::InspectorDOMAgent):

  • inspector/InspectorDOMAgent.h:

(WebCore::InspectorDOMAgent::create):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Update InspectorWebBackendCommands.js after removing DOM.setFileInputFiles.

  • UserInterface/InspectorWebBackendCommands.js:

LayoutTests:

  • inspector-protocol/dom/setFileInputFiles-expected.txt: Removed.
  • inspector-protocol/dom/setFileInputFiles.html: Removed.
3:28 PM Changeset in webkit [161379] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test update after r161375.

  • platform/mac/TestExpectations: Activate several tests that are now known to pass.
3:23 PM Changeset in webkit [161378] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] Revise String Concatenation (Follow-up to r161247)
https://bugs.webkit.org/show_bug.cgi?id=126411

Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Use more efficient string
concatenation per Darin Adler's suggestion.

3:04 PM Changeset in webkit [161377] by mhahnenberg@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add write barriers to the LLInt
https://bugs.webkit.org/show_bug.cgi?id=126527

Reviewed by Filip Pizlo.

This patch takes a similar approach to how write barriers work in the baseline JIT.
We execute the write barrier at the beginning of the opcode so we don't have to
worry about saving and restoring live registers across write barrier slow path calls
to C code.

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_write_barrier_slow):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/arm64.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
2:46 PM Changeset in webkit [161376] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Another build fix.

Need to look in the WebProcess/Scrolling directory for .messages.in files.

  • DerivedSources.make:
2:43 PM Changeset in webkit [161375] by Brent Fulgham
  • 4 edits in trunk

[WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
https://bugs.webkit.org/show_bug.cgi?id=126538
<rdar://problem/15201336>

Reviewed by Dean Jackson.

Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
type.

2:38 PM Changeset in webkit [161374] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix the build.

Need to add RemoteScrollingCoordinator to MESSAGE_RECEIVERS so that
RemoteScrollingCoordinatorMessages.h gets generated.

  • DerivedSources.make:
2:19 PM Changeset in webkit [161373] by Simon Fraser
  • 8 edits
    2 copies
    10 adds in trunk/Source

Add new files for UI-side scrolling
https://bugs.webkit.org/show_bug.cgi?id=126532

Source/WebCore:

Reviewed by Anders Carlson.

  • WebCore.xcodeproj/project.pbxproj: Make lots of scrolling-related headers Private

so WebKit2 can include them.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::scheduleUpdateScrollPositionForNode): Callback that
indicates that the given node has been scrolled asynchronously. Currently only
handles the main frame.

  • page/scrolling/ScrollingCoordinator.h: Add support for type-casts of a remote subclass

in another namespace.
(WebCore::ScrollingCoordinator::isRemoteScrollingCoordinator):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::isRemoteScrollingTree):

Source/WebKit2:

Reviewed by Anders Carlson.

Add RemoteScrollingCoordinator, RemoteScrollingCoordinatorProxy,
RemoteScrollingCoordinatorTransaction, RemoteScrollingTree.

These allow the scrolling tree to be used in the UI process.
RemoteScrollingCoordinator builds a ScrollingStateTree, which is
encoded by RemoteScrollingCoordinatorTransaction. Decoding the
transaction recreates that ScrollingStateTree in the UI process,
and RemoteScrollingCoordinatorProxy "commits" that to update
the RemoteScrollingTree.

New classes are not hooked up to anything yet.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: Added.

(ArgumentCoder<ScrollingStateNode>::encode):
(ArgumentCoder<ScrollingStateNode>::decode):
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFixedNode>::encode):
(ArgumentCoder<ScrollingStateFixedNode>::decode):
(ArgumentCoder<ScrollingStateStickyNode>::encode):
(ArgumentCoder<ScrollingStateStickyNode>::decode):
(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::encode):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: Added.

(WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
(WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Added.

(WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
(WebKit::RemoteScrollingCoordinatorProxy::~RemoteScrollingCoordinatorProxy):
(WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
(WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):

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

(WebKit::RemoteScrollingTree::create):
(WebKit::RemoteScrollingTree::RemoteScrollingTree):
(WebKit::RemoteScrollingTree::~RemoteScrollingTree):
(WebKit::RemoteScrollingTree::tryToHandleWheelEvent):
(WebKit::RemoteScrollingTree::handleWheelEventPhase):
(WebKit::RemoteScrollingTree::updateMainFrameScrollPosition):
(WebKit::RemoteScrollingTree::createNode):

  • UIProcess/Scrolling/RemoteScrollingTree.h: Added.

(WebKit::RemoteScrollingTree::scrollingCoordinatorProxy):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.h: Added.

(WebKit::RemoteScrollingCoordinator::create):

  • WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: Added.
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm: Added.

(WebKit::RemoteScrollingCoordinator::RemoteScrollingCoordinator):
(WebKit::RemoteScrollingCoordinator::~RemoteScrollingCoordinator):
(WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit):
(WebKit::RemoteScrollingCoordinator::createScrollingTreeNode):
(WebKit::RemoteScrollingCoordinator::isRubberBandInProgress):
(WebKit::RemoteScrollingCoordinator::setScrollPinningBehavior):
(WebKit::RemoteScrollingCoordinator::buildTransaction):
(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

2:18 PM Changeset in webkit [161372] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: JSLock drop and grab lock APIs should be private.
https://bugs.webkit.org/show_bug.cgi?id=126539.

Reviewed by Mark Hahnenberg.

We want the dropping and re-acquisition of the VM API lock to be via the
DropAllLocks raii object. Hence, we should not publicly publishing the
APIs for dropping and re-acquiring the locks.

  • runtime/JSLock.h:
2:03 PM Changeset in webkit [161371] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r161195): Acid2 regression tests frequently fail
https://bugs.webkit.org/show_bug.cgi?id=126432

1:52 PM Changeset in webkit [161370] by Martin Robinson
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [CMake] Improve the way that translations are built with the built-in gettext support CMake
https://bugs.webkit.org/show_bug.cgi?id=126453

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Use the built-in CMake support for gettext to simplify the way we

build translation files and to automatically take care of installing them. Also adjust
the pot file build location to make the CMake build more similar to autotools.

1:48 PM Changeset in webkit [161369] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

Follow up patch to remove the need for VMEntryScope::m_prevFirstEntryScope.
https://bugs.webkit.org/show_bug.cgi?id=126266.

Reviewed by Geoffrey Garen.

There can only be one firstEntryScope. Instead of saving the previous value of
VM::firstEntryScope, we now check if the firstEntryScope is the same as this
VMEntryScope in its destructor. If so, we will set VM::firstEntryScope to 0.

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:
1:31 PM Changeset in webkit [161368] by Martin Robinson
  • 4 edits in trunk/Source

Small build fix for the GTK+ CMake port

Source/WebKit:

  • PlatformGTK.cmake: Include a missing GeoClue include directory.

Source/WebKit2:

  • PlatformGTK.cmake: Include a missing GeoClue include directory.
1:30 PM Changeset in webkit [161367] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling()
https://bugs.webkit.org/show_bug.cgi?id=126529

Reviewed by Tim Horton.

Change function name from using "threaded" to "async" terminology.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::supportsAsyncScrolling):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1:14 PM Changeset in webkit [161366] by Martin Robinson
  • 11 edits
    85 copies
    7 adds
    2 deletes in trunk

[GTK] Move all GTK/GObject unit tests to Tools/TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=126342

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-01-04
Reviewed by Gustavo Noronha Silva.

.:

  • GNUmakefile.am: Remove unused variable.
  • Source/PlatformGTK.cmake: No longer include the old unit tests directories.

Source/WebKit/gtk:

  • tests/CMakeLists.txt: Removed.
  • tests/GNUmakefile.am: Removed.

Source/WebKit2:

  • UIProcess/API/gtk/tests/CMakeLists.txt: Removed.
  • UIProcess/API/gtk/tests/GNUmakefile.am: Removed.

Tools:

  • CMakeLists.txt: Include the new unit tests subdirectories.
  • Scripts/run-gtk-tests: Update to refer to the new build locations.
  • Scripts/webkitpy/style/checker.py: Update the style checker.
  • Scripts/webkitpy/style/checker_unittest.py:
  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/AccessibilityTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/DOMNodeTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/FrameTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/InspectorTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/LoadTrackingTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/LoadTrackingTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestAuthentication.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestContextMenu.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestDOMNode.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestFrame.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestInspector.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestMain.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestMain.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestMain.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestPrinting.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestSSL.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestUIClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebExtensions.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitVersion.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebViewEditor.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestBus.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestBus.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestServer.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTestRunner.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTestRunner.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebViewTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebViewTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/link-title.js.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/test-cert.pem: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/test-cert.pem.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/test-key.pem: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/test-key.pem.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml.
  • TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt: Added.
  • TestWebKitAPI/Tests/WebKitGtk/resources/blank.ico: Renamed from Source/WebKit/gtk/tests/resources/blank.ico.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.html: Renamed from Source/WebKit/gtk/tests/resources/test.html.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.ogg: Renamed from Source/WebKit/gtk/tests/resources/test.ogg.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.pdf: Renamed from Source/WebKit/gtk/tests/resources/test.pdf.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.txt: Renamed from Source/WebKit/gtk/tests/resources/test.txt.
  • TestWebKitAPI/Tests/WebKitGtk/test_utils.c: Renamed from Source/WebKit/gtk/tests/test_utils.c.
  • TestWebKitAPI/Tests/WebKitGtk/test_utils.h: Renamed from Source/WebKit/gtk/tests/test_utils.h.
  • TestWebKitAPI/Tests/WebKitGtk/testapplicationcache.c: Renamed from Source/WebKit/gtk/tests/testapplicationcache.c.
  • TestWebKitAPI/Tests/WebKitGtk/testatk.c: Renamed from Source/WebKit/gtk/tests/testatk.c.
  • TestWebKitAPI/Tests/WebKitGtk/testatkroles.c: Renamed from Source/WebKit/gtk/tests/testatkroles.c.
  • TestWebKitAPI/Tests/WebKitGtk/testcontextmenu.c: Renamed from Source/WebKit/gtk/tests/testcontextmenu.c.
  • TestWebKitAPI/Tests/WebKitGtk/testcopyandpaste.c: Renamed from Source/WebKit/gtk/tests/testcopyandpaste.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomdocument.c: Renamed from Source/WebKit/gtk/tests/testdomdocument.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomdomwindow.c: Renamed from Source/WebKit/gtk/tests/testdomdomwindow.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomnode.c: Renamed from Source/WebKit/gtk/tests/testdomnode.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdownload.c: Renamed from Source/WebKit/gtk/tests/testdownload.c.
  • TestWebKitAPI/Tests/WebKitGtk/testfavicondatabase.c: Renamed from Source/WebKit/gtk/tests/testfavicondatabase.c.
  • TestWebKitAPI/Tests/WebKitGtk/testglobals.c: Renamed from Source/WebKit/gtk/tests/testglobals.c.
  • TestWebKitAPI/Tests/WebKitGtk/testhittestresult.c: Renamed from Source/WebKit/gtk/tests/testhittestresult.c.
  • TestWebKitAPI/Tests/WebKitGtk/testhttpbackend.c: Renamed from Source/WebKit/gtk/tests/testhttpbackend.c.
  • TestWebKitAPI/Tests/WebKitGtk/testkeyevents.c: Renamed from Source/WebKit/gtk/tests/testkeyevents.c.
  • TestWebKitAPI/Tests/WebKitGtk/testloading.c: Renamed from Source/WebKit/gtk/tests/testloading.c.
  • TestWebKitAPI/Tests/WebKitGtk/testmimehandling.c: Renamed from Source/WebKit/gtk/tests/testmimehandling.c.
  • TestWebKitAPI/Tests/WebKitGtk/testnetworkrequest.c: Renamed from Source/WebKit/gtk/tests/testnetworkrequest.c.
  • TestWebKitAPI/Tests/WebKitGtk/testnetworkresponse.c: Renamed from Source/WebKit/gtk/tests/testnetworkresponse.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebbackforwardlist.c: Renamed from Source/WebKit/gtk/tests/testwebbackforwardlist.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebdatasource.c: Renamed from Source/WebKit/gtk/tests/testwebdatasource.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebframe.c: Renamed from Source/WebKit/gtk/tests/testwebframe.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebhistoryitem.c: Renamed from Source/WebKit/gtk/tests/testwebhistoryitem.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebinspector.c: Renamed from Source/WebKit/gtk/tests/testwebinspector.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebplugindatabase.c: Renamed from Source/WebKit/gtk/tests/testwebplugindatabase.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebresource.c: Renamed from Source/WebKit/gtk/tests/testwebresource.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebsettings.c: Renamed from Source/WebKit/gtk/tests/testwebsettings.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebview.c: Renamed from Source/WebKit/gtk/tests/testwebview.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwindow.c: Renamed from Source/WebKit/gtk/tests/testwindow.c.
1:00 PM Changeset in webkit [161365] by weinig@apple.com
  • 12 edits in trunk

[JS] Implement Promise.all()
https://bugs.webkit.org/show_bug.cgi?id=126510

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Add Promise.all() implementation and factor out performing resolves and rejects
on deferreds to share a bit of code. Also moves the abruptRejection helper to
JSPromiseDeferred so it can be used in JSPromiseFunctions.

  • runtime/CommonIdentifiers.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructorFuncCast):
(JSC::JSPromiseConstructorFuncResolve):
(JSC::JSPromiseConstructorFuncReject):
(JSC::JSPromiseConstructorFuncAll):

  • runtime/JSPromiseDeferred.cpp:

(JSC::updateDeferredFromPotentialThenable):
(JSC::performDeferredResolve):
(JSC::performDeferredReject):
(JSC::abruptRejection):

  • runtime/JSPromiseDeferred.h:
  • runtime/JSPromiseFunctions.cpp:

(JSC::promiseAllCountdownFunction):
(JSC::createPromiseAllCountdownFunction):

  • runtime/JSPromiseFunctions.h:
  • runtime/JSPromiseReaction.cpp:

(JSC::ExecutePromiseReactionMicrotask::run):

LayoutTests:

Enabled and fix the existing Promise.all() test case.

  • Promise.all() and Promise.all({}) should reject by my reading of the spec.

Also removes the Promise.all() shim used by the crypto tests.

  • crypto/subtle/resources/common.js:
  • js/dom/Promise-static-all-expected.txt:
  • js/dom/Promise-static-all.html:
12:41 PM Changeset in webkit [161364] by fpizlo@apple.com
  • 31 edits in trunk/Source

Get rid of ENABLE(VALUE_PROFILER). It's on all the time now.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::dumpRareCaseProfile):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::setNumParameters):
(JSC::CodeBlock::shrinkToFit):
(JSC::CodeBlock::shouldOptimizeNow):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfileForBytecodeOffset):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeFor):

  • bytecode/LazyOperandValueProfile.cpp:
  • bytecode/LazyOperandValueProfile.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/ValueProfile.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::newArrayProfile):
(JSC::BytecodeGenerator::newArrayAllocationProfile):
(JSC::BytecodeGenerator::emitProfiledOpcode):

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

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

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

(JSC::JIT::compileBinaryArithOp):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emit_op_div):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emit_op_div):

  • jit/JITCall.cpp:

(JSC::JIT::emitPutCallResult):

  • jit/JITCall32_64.cpp:

(JSC::JIT::emitPutCallResult):

  • jit/JITInlines.h:

(JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile):
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::emitArrayProfilingSiteForBytecodeIndex):
(JSC::JIT::emitArrayProfileStoreToHoleSpecialCase):
(JSC::JIT::emitArrayProfileOutOfBoundsSpecialCase):
(JSC::arrayProfileSaw):
(JSC::JIT::chooseArrayMode):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

  • runtime/CommonSlowPaths.cpp:

Source/WTF:

  • wtf/Platform.h:
12:35 PM Changeset in webkit [161363] by ap@apple.com
  • 4 edits in trunk/Tools

Gtk and Efl API test results confuse the dashboard
https://bugs.webkit.org/show_bug.cgi?id=126535

Reviewed by Tim Horton.

Added "API tests" step as "platform api tests".

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.platformAPITestResultsURLForIteration):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration):
(BuildbotIteration.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds):

12:33 PM Changeset in webkit [161362] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WTF

Remove using directives for the std namespace from WTF
https://bugs.webkit.org/show_bug.cgi?id=126524

Reviewed by Alexey Proskuryakov.

Remove the using directives for the std namespace throughout the WTF code.
The more explicit std:: nested name specifier should be used instead.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::createWithFloat):
(WTF::MediaTime::createWithDouble):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::create):
(WTF::StringImpl::lower):
(WTF::StringImpl::upper):
(WTF::StringImpl::foldCase):
(WTF::StringImpl::find):
(WTF::StringImpl::findIgnoringCase):
(WTF::reverseFindInner):
(WTF::StringImpl::reverseFind):
(WTF::reverseFindIgnoringCaseInner):
(WTF::StringImpl::reverseFindIgnoringCase):
(WTF::StringImpl::replace):
(WTF::StringImpl::utf8ForCharacters):
(WTF::StringImpl::utf8ForRange):

  • wtf/text/WTFString.cpp:

(WTF::String::append):
(WTF::String::appendInternal):
(WTF::String::insert):
(WTF::String::substringSharingImpl):
(WTF::String::fromUTF8):
(WTF::toIntegralType):

  • wtf/win/RunLoopWin.cpp:
12:23 PM Changeset in webkit [161361] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: jsStackLimit fixup should not exceed native stack limit.
https://bugs.webkit.org/show_bug.cgi?id=126487.

Reviewed by Michael Saboff.

In doCallToJavaScript, we fixup VM::m_jsStackLimit once we know what the
stackPointerAtVMEntry is. However, we also need to ensure that the fixed
up jsStackLimit does not exceed the native stack limit. This check was
missing, and resulted in an assertion failure when running testapi on
platforms that have smaller stacks. This is now fixed.

  • llint/LowLevelInterpreter64.asm:
12:10 PM Changeset in webkit [161360] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

build.webkit.org/dashboard should still function if localStorage is disabled
https://bugs.webkit.org/show_bug.cgi?id=126511

Reviewed by Alexey Proskuryakov.

If localStorage is disabled, we should carry on with a warning.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

Don't show the gear if localStorage isn't working.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js:

(QueueView.prototype._updateHiddenState):
Bail if localStorage isn't working.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:

(Settings.prototype.available):

12:03 PM Changeset in webkit [161359] by zandobersek@gmail.com
  • 3 edits in trunk

[GTK] configure errors out when building with libc++
https://bugs.webkit.org/show_bug.cgi?id=126431

Reviewed by Martin Robinson.

Ease up the Clang and libstdc++ combination test to only fail if libstdc++ < 4.8.1 is actually used.
This allows for libc++ to be used as well. The test is moved into SetupCompilerFlags.m4 and is done
after the CXXFLAGS variable is properly set up, that is when all the C++ compiler options are determined.

  • Source/autotools/CheckSystemAndBasicDependencies.m4:
  • Source/autotools/SetupCompilerFlags.m4:
11:44 AM Changeset in webkit [161358] by enrica@apple.com
  • 11 edits in trunk/Source/WebKit2

Add support to retrieve the autocorrection context.
https://bugs.webkit.org/show_bug.cgi?id=126479

Reviewed by Sam Weinig.

We are adding the support to retrieve the input context for autocorrection
and input methods on iOS. The implementation is provided both via synchronous
and asynchronous calls to the WebProcess.

  • Platform/IPC/HandleMessage.h: Added template with zero input parameters and six reply parameters.
  • UIProcess/API/ios/WKInteractionView.mm:

(autocorrectionData):
(-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
(autocorrectionResult):
(-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
(autocorrectionContext):
(-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKInteractionView hasMarkedText]):
(-[WKInteractionView _startAssistingNode]):
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
(-[WKAutocorrectionContext dealloc]):

  • UIProcess/AutoCorrectionCallback.h:

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

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):

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

(WebKit::WebPageProxy::autocorrectionContextCallback):
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::getAutocorrectionContext):

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

(WebKit::computeAutocorrectionContext):
(WebKit::WebPage::requestAutocorrectionContext):
(WebKit::WebPage::getAutocorrectionContext):

11:29 AM Changeset in webkit [161357] by barraclough@apple.com
  • 19 edits
    1 add
    1 delete in trunk/Source

Move ViewState to WebCore
https://bugs.webkit.org/show_bug.cgi?id=126488

Reviewed by Anders Carlson.

This change also partial reverts handling of LayerHostingMode, making this
a separate message again. With hindsight the new way of doing this wasn't
in all ways simpler, and it won't make sense to move this to WebCore.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • page/ViewState.h: Added.
    • Moved from WebKit2, will be used by Page & FocusController.

Source/WebKit2:

  • Shared/ViewState.h: Removed.
    • Moved to WebCore.
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
    • Added layerHostingMode.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::viewLayerHostingMode):

  • UIProcess/PageClient.h:

(WebKit::PageClient::viewLayerHostingMode):

  • Revert isLayerWindowServerHosted -> viewLayerHostingMode.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • Added back m_layerHostingMode.

(WebKit::WebPageProxy::updateViewState):

  • Removed IsLayerWindowServerHosted from ViewState.

(WebKit::WebPageProxy::viewStateDidChange):

  • Added SetLayerHostingMode message.

(WebKit::WebPageProxy::initializeCreationParameters):

  • Pass layerHostingMode.
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isInWindow):
(WebKit::WebPageProxy::isViewVisible):

  • ViewState moved to WebCore.
  • WebKit2.xcodeproj/project.pbxproj:
    • Removed ViewState.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setLayerHostingMode):
(WebKit::PluginView::platformViewStateDidChange):

  • Separated setLayerHostingMode from platformViewStateDidChange.
  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):
(WebKit::DrawingArea::setLayerHostingMode):

  • Added virtual function, overridden in TiledCoreAnimationDrawingArea.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setLayerHostingMode):

  • Separated setLayerHostingMode from platformViewStateDidChange.
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::isVisible):
(WebKit::WebPage::layerHostingMode):

  • ViewState moved to WebCore.
  • WebProcess/WebPage/WebPage.messages.in:
    • Added SetLayerHostingMode message.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):

  • viewStateDidChange no longer calls setLayerHostingMode (this is called by WebPage).
11:20 AM Changeset in webkit [161356] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

LLInt shouldn't check for ENABLE(JIT).

Rubber stamped by Mark Hahnenberg.

  • llint/LLIntCommon.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::entryOSR):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
11:19 AM Changeset in webkit [161355] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Set VSINSTALLDIR in win ews start script.
https://bugs.webkit.org/show_bug.cgi?id=126407

Reviewed by Brent Fulgham.

  • EWSTools/start-queue-win.sh:
11:01 AM Changeset in webkit [161354] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

[GTK] [CMake] Parallel builds still fail when building WebKit2 GObject API unit tests
https://bugs.webkit.org/show_bug.cgi?id=126465

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/tests/CMakeLists.txt: Explicitly link the libWebKit2APITestCore static object against

WebKit2, which seems to be necessary on my new system. Also create an explicit dependency between the
injected bundle tests and WebKit2, because they need to use the generated headers.

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

LLInt shouldnt check for ENABLE(JAVASCRIPT_DEBUGGER).

Rubber stamped by Mark Hahnenberg.

  • debugger/Debugger.h:

(JSC::Debugger::Debugger):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter.asm:
10:33 AM Changeset in webkit [161352] by Bem Jones-Bey
  • 2 edits in trunk/Tools

Adding myself as a reviewer.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
10:33 AM Changeset in webkit [161351] by Martin Robinson
  • 9 edits
    2 adds in trunk

[CMake] [GTK] Fix the build for the WebKitGTK+ developer configuration
https://bugs.webkit.org/show_bug.cgi?id=126505

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/FindGLIB.cmake: Add support for finding the gio-unix include directory location.
  • Source/cmake/FindGUdev.cmake: Added.
  • Source/cmake/FindGeoClue.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: When gamepad is enabled look for gio-unix and GUdev. When

geolocation is enabled look for GeoClue.

Source/WebCore:

  • CMakeLists.txt: Add missing IDLS and source files to the lists.
  • PlatformGTK.cmake: Add missing include directories and source files to the lists.

Use the GeoClue, GUdev, and gio-unix include paths and libraries and sort the list
of WebCore include directories.

  • UseJSC.cmake: Align the sourced list with the contents of the bindings/js directory.

Source/WebKit:

  • PlatformGTK.cmake: Add the geoclue platform directory to the include directory list.
10:25 AM Changeset in webkit [161350] by barraclough@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Unreviewed speculative Windows build fix.

  • WebCore.vcxproj/WebCore.vcxproj:
    • Added UserActivity.cpp/.h.
9:41 AM Changeset in webkit [161349] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

DoublyLinkedLists can't be concatenated
https://bugs.webkit.org/show_bug.cgi?id=125976

Reviewed by Filip Pizlo.

  • wtf/DoublyLinkedList.h:

(WTF::DoublyLinkedList<T>::append):

9:37 AM Changeset in webkit [161348] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Win] Link error.
https://bugs.webkit.org/show_bug.cgi?id=126526

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-06
Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.vcxproj: Include UserActivity files in build.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
9:22 AM Changeset in webkit [161347] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Mountain Lion build fix after r161332.

  • Carbon/HIWebView.h: Mountain Lion's version of CF_AVAILABLE_MAC doesn't accept a message

argument so remove it.

8:29 AM Changeset in webkit [161346] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

8:25 AM Changeset in webkit [161345] by Lucas Forschler
  • 1 copy in tags/Safari-538.11

New Tag.

7:23 AM Changeset in webkit [161344] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations:

Mark accessibility/menu-list-sends-change-notification.html as flaky.

7:07 AM Changeset in webkit [161343] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Adding screenRect implementation to PlatformScreenNix
https://bugs.webkit.org/show_bug.cgi?id=126231

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • platform/nix/PlatformScreenNix.cpp:

(WebCore::screenRect):

6:27 AM Changeset in webkit [161342] by thiago.lacerda@openbossa.org
  • 5 edits in trunk/Source/WebCore

[Nix] Adding missing platform #ifs to WebCore files
https://bugs.webkit.org/show_bug.cgi?id=126227

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • platform/LocalizedStrings.h:
6:07 AM Changeset in webkit [161341] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Adding failure expectations for the set of currently failing tests.

  • platform/gtk/TestExpectations:
4:44 AM Changeset in webkit [161340] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed. Unbreaking JSC tests after r161328.

  • Scripts/webkitdirs.pm:

(cmakeBasedPortName): Only recognize the GTK port as CMake-based if actually building
through the CMake build system (i.e. passing --gtkcmake to build-webkit).

3:22 AM Changeset in webkit [161339] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Adding new strings to LocalizedStringsNix
https://bugs.webkit.org/show_bug.cgi?id=126228

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • platform/nix/LocalizedStringsNix.cpp:

(WebCore::submitButtonDefaultLabel):
(WebCore::inputElementAltText):
(WebCore::resetButtonDefaultLabel):
(WebCore::defaultDetailsSummaryText):
(WebCore::searchableIndexIntroduction):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonChooseMultipleFilesLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::fileButtonNoFilesSelectedLabel):
(WebCore::contextMenuItemTagOpenLinkInNewWindow):
(WebCore::contextMenuItemTagDownloadLinkToDisk):
(WebCore::contextMenuItemTagCopyLinkToClipboard):
(WebCore::contextMenuItemTagOpenImageInNewWindow):
(WebCore::contextMenuItemTagDownloadImageToDisk):
(WebCore::contextMenuItemTagCopyImageToClipboard):
(WebCore::contextMenuItemTagCopyImageUrlToClipboard):
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagDownloadVideoToDisk):
(WebCore::contextMenuItemTagDownloadAudioToDisk):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagShowMediaControls):
(WebCore::contextMenuitemTagHideMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagOpenFrameInNewWindow):
(WebCore::contextMenuItemTagCopy):
(WebCore::contextMenuItemTagDelete):
(WebCore::contextMenuItemTagSelectAll):
(WebCore::contextMenuItemTagUnicode):
(WebCore::contextMenuItemTagInputMethods):
(WebCore::contextMenuItemTagGoBack):
(WebCore::contextMenuItemTagGoForward):
(WebCore::contextMenuItemTagStop):
(WebCore::contextMenuItemTagReload):
(WebCore::contextMenuItemTagCut):
(WebCore::contextMenuItemTagPaste):
(WebCore::contextMenuItemTagNoGuessesFound):
(WebCore::contextMenuItemTagIgnoreSpelling):
(WebCore::contextMenuItemTagLearnSpelling):
(WebCore::contextMenuItemTagSearchWeb):
(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::contextMenuItemTagOpenLink):
(WebCore::contextMenuItemTagIgnoreGrammar):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckSpelling):
(WebCore::contextMenuItemTagCheckSpellingWhileTyping):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagFontMenu):
(WebCore::contextMenuItemTagBold):
(WebCore::contextMenuItemTagItalic):
(WebCore::contextMenuItemTagUnderline):
(WebCore::contextMenuItemTagOutline):
(WebCore::contextMenuItemTagInspectElement):
(WebCore::contextMenuItemTagRightToLeft):
(WebCore::contextMenuItemTagLeftToRight):
(WebCore::contextMenuItemTagWritingDirectionMenu):
(WebCore::contextMenuItemTagTextDirectionMenu):
(WebCore::contextMenuItemTagDefaultDirection):
(WebCore::searchMenuNoRecentSearchesText):
(WebCore::searchMenuRecentSearchesText):
(WebCore::searchMenuClearRecentSearchesText):
(WebCore::AXDefinitionText):
(WebCore::AXDescriptionListText):
(WebCore::AXDescriptionListTermText):
(WebCore::AXDescriptionListDetailText):
(WebCore::AXFooterRoleDescriptionText):
(WebCore::AXSearchFieldCancelButtonText):
(WebCore::AXButtonActionVerb):
(WebCore::AXRadioButtonActionVerb):
(WebCore::AXTextFieldActionVerb):
(WebCore::AXCheckedCheckBoxActionVerb):
(WebCore::AXUncheckedCheckBoxActionVerb):
(WebCore::AXLinkActionVerb):
(WebCore::unknownFileSizeText):
(WebCore::imageTitle):
(WebCore::AXListItemActionVerb):
(WebCore::localizedMediaControlElementString):
(WebCore::localizedMediaControlElementHelpText):
(WebCore::localizedMediaTimeDescription):
(WebCore::mediaElementLoadingStateText):
(WebCore::mediaElementLiveBroadcastStateText):
(WebCore::validationMessagePatternMismatchText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageStepMismatchText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageTypeMismatchText):
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageValueMissingText):
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
(WebCore::validationMessageBadInputForNumberText):
(WebCore::missingPluginText):
(WebCore::AXMenuListPopupActionVerb):
(WebCore::AXMenuListActionVerb):
(WebCore::multipleFileUploadText):
(WebCore::crashedPluginText):
(WebCore::blockedPluginByContentSecurityPolicyText):
(WebCore::insecurePluginVersionText):
(WebCore::inactivePluginText):
(WebCore::unacceptableTLSCertificate):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffMenuItemText):
(WebCore::textTrackAutomaticMenuItemText):
(WebCore::textTrackNoLabelText):
(WebCore::snapshottedPlugInLabelTitle):
(WebCore::snapshottedPlugInLabelSubtitle):

3:17 AM Changeset in webkit [161338] by commit-queue@webkit.org
  • 37 edits in trunk/Source

Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
https://bugs.webkit.org/show_bug.cgi?id=124579

Patch by László Langó <lango@inf.u-szeged.hu> on 2014-01-06
Reviewed by Anders Carlsson.

Source/WebCore:

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

(WebCore::NetscapePlugInStreamLoader::didReceiveData):

  • loader/NetscapePlugInStreamLoader.h:
  • loader/PingLoader.h:
  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::ResourceBuffer):

  • loader/ResourceBuffer.h:

(WebCore::ResourceBuffer::create):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::addDataOrBuffer):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didReceiveDataOrBuffer):
(WebCore::ResourceLoader::willStopBufferingData):

  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveData):

  • loader/SubresourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveData):

  • loader/appcache/ApplicationCacheGroup.h:
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::create):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(ResourceHandleStreamingClient::didReceiveData):

  • platform/network/BlobResourceHandle.cpp:
  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::didReceiveData):
(WebCore::ResourceHandleClient::willStopBufferingData):

  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::didReceiveData):

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/blackberry/BlobStream.cpp:

(WebCore::BlobStream::didReceiveData):

  • platform/network/blackberry/BlobStream.h:
  • platform/network/blackberry/ResourceHandleBlackBerry.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

  • platform/network/win/ResourceHandleWin.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

Source/WebKit/gtk:

  • webkit/webkitdownload.cpp:

(DownloadClient::didReceiveData):

Source/WebKit/win:

  • WebKitDLL.cpp:

(loadResourceIntoBuffer):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::willStopBufferingData):

  • NetworkProcess/NetworkResourceLoader.h:
  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveData):

2:39 AM Changeset in webkit [161337] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderBlock::clone() should return RenderPtr.
<https://webkit.org/b/126513>

Reviewed by Antti Koivisto.

  • rendering/RenderBlock.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clone):

Tweaked to return RenderPtr<RenderBlock>.

(WebCore::RenderBlock::splitBlocks):

Store cloned RenderBlocks in RenderPtrs. Use leakPtr() to sink
them into ownership-taking APIs that still use raw pointers.

  • rendering/RenderPtr.h:

Add a simple static_pointer_cast for RenderPtr&&.

1:49 AM Changeset in webkit [161336] by akling@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fix ChangeLog authors that got mixed up in last commit.

1:47 AM Changeset in webkit [161335] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderInline::clone() should return RenderPtr.
<https://webkit.org/b/126514>

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-06
Reviewed by Antti Koivisto.

  • rendering/RenderInline.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clone):

Tweaked to return RenderPtr<RenderInline>.

(WebCore::RenderInline::splitInlines):

Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
them into ownership-taking APIs that still use raw pointers.

1:04 AM Changeset in webkit [161334] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

<hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
https://bugs.webkit.org/show_bug.cgi?id=17674

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-06
Reviewed by Simon Fraser.

Source/WebCore:

The noshade attribute is a boolean attribute and when set on hr element
it shows a gray color. When there is color attribute the default gray
color should be replaced by the color mentioned by the color attribute.
Firefox and IE show the same behaviour but Webkit is different. Making
the behaviour of Webkit similiar to Firefox and IE's behaviour.

Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html

  • html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
When the color attribute is present that value is applied and the
default gray color is ignored. Incase of no color attribute the default
gray color is applied.

LayoutTests:

  • fast/dom/HTMLHrElement: Added.
  • fast/dom/HTMLHrElement/hr-color-noshade-attribute-expected.txt: Added.
  • fast/dom/HTMLHrElement/hr-color-noshade-attribute.html: Added.

Added new test cases to test the functionality of noshade and color
attribute of hr element when color attribute is present along with
noshade attribute, invalid color attribute and color noshade attributes
added via javascript.

12:56 AM Changeset in webkit [161333] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK] Use libc++ for C++11 on darwin
https://bugs.webkit.org/show_bug.cgi?id=126325

Reviewed by Martin Robinson.

  • Source/autotools/SetupCompilerFlags.m4: Don't default to libstdc++ when compiling with Clang.

Instead, the compiler should determine itself what standard library to use, except on Darwin,
where libc++ should be enforced. The standard library of user's choosing can still be enforced
through the CXXFLAGS environment variable.

12:15 AM Changeset in webkit [161332] by mrowe@apple.com
  • 13 edits
    2 adds in trunk/Source

<https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit
over using the system availability macros directly. The original vision was that
they'd serve a cross-platform purpose but that never came to be.

Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
availability macros to allow the headers to advertise the API as unavailable on OS X
without interfering with the ability to build on iOS. This is achieved by defining
WEBKIT-prefixed versions of the Foundation availability macros that are defined to
their NS-prefixed equivalents. The installed headers are post-processed to map these
macros back to their Foundation equivalents.

Part of <rdar://problem/15512304>.

Source/WebCore:

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it

will be needed by the Objective-C DOM bindings.

Source/WebKit:

Reviewed by Sam Weinig.

  • WebKit.xcodeproj/project.pbxproj: Change the Postprocess Headers build phase to

invoke mac/postprocess-headers.sh.

Source/WebKit/mac:

The OS X version used in the new availability macros is based on the mapping in
JavaScriptCore/WebKitAvailability.h.

Reviewed by Sam Weinig.

  • Carbon/CarbonUtils.h:
  • Carbon/HIWebView.h:
  • MigrateHeaders.make: Migrate WebKitAvailability.h from WebCore as an API header.
  • Plugins/WebPlugin.h:
  • Plugins/WebPluginViewFactory.h:
  • WebView/WebFrameLoadDelegate.h:
  • WebView/WebResourceLoadDelegatePrivate.h:
  • WebView/WebUIDelegate.h:
  • postprocess-headers.sh: Added. Extracted from the Xcode project. Extended to map the

WEBKIT-prefixed macros to their NS-prefixed equivalents on OS X and to remove them on iOS.

Jan 5, 2014:

11:54 PM Changeset in webkit [161331] by jinwoo7.song@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Fix failing WebKit1 API test of ewk_view_setting_tiled_backing_store
https://bugs.webkit.org/show_bug.cgi?id=126509

Reviewed by Gyuyoung Kim.

In WebKit1 EFL port, unit test was using a webview based on tiled backing store,
so ewk_view_setting_tiled_backing_store_enabled_set() was set as true as default.
As we do not need to use tiled backing store, we disable tiled backing store
and remove unnecessary EwkViewType in unit test webview.

  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::init):

  • tests/UnitTestUtils/EWKTestView.h:
  • tests/test_ewk_view.cpp: Fix wrong comment in the unit test.
8:18 PM Changeset in webkit [161330] by weinig@apple.com
  • 6 edits in trunk

[JS] Implement Promise.race()
https://bugs.webkit.org/show_bug.cgi?id=126506

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:

Add identifier for "cast".

  • runtime/JSPromiseConstructor.cpp:

(JSC::abruptRejection):
Helper for the RejectIfAbrupt abstract operation.

(JSC::JSPromiseConstructorFuncRace):
Add implementation of Promise.race()

LayoutTests:

Enabled and fix the existing Promise.race() test case.

  • Promise.race() and Promise.race({}) should reject by my reading of the spec.
  • js/dom/Promise-static-race-expected.txt:
  • js/dom/Promise-static-race.html:
8:09 PM Changeset in webkit [161329] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Add encoding of ViewportConstraint and ScrollingParameter types
https://bugs.webkit.org/show_bug.cgi?id=126497

Reviewed by Andreas Kling.

Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints
and StickyPositionViewportConstraints.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode):
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode):
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode):

  • Shared/WebCoreArgumentCoders.h:
8:09 PM Changeset in webkit [161328] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK][CMake] Add support for building the GTK+ port with cmake to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=126212

Reviewed by Daniel Bates.

Allow building the GTK+ cmake port with --gtkcmake.

  • Scripts/build-webkit: Use the new isGtkCMake function to head down the CMake path

when appropriate. Skip the autotoos path when isGtkAutotools is false.

  • Scripts/webkitdirs.pm: Add an isGtkCMake path in addition to the newly renamed isGtkAutotools.
Add isGtk which checks isGtkCMake
isGtkAutotools

(determineArchitecture): Use the CMake path for GTK+ when appropriate.
(argumentsForConfiguration): use --gtkcmake when appropriate.
(jscProductDir): Look in the CMake directory when appropriate.
(builtDylibPathForName): CMake builds the library into a different directory, so handle that.
(determineIsGtkCMake): Added.
(isGtkCMake): Added.
(isGtkAutotools): Renamed from isGtk.

(isGtk): New function which returns isGtkAutotools
isGtkCMake.

(determineIsGtkAutotools): Renamed from determineIsGtk.
(cmakeBasedPortName): Added a GTK+ path.

8:08 PM Changeset in webkit [161327] by Simon Fraser
  • 17 edits
    1 move in trunk/Source

Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
https://bugs.webkit.org/show_bug.cgi?id=126501

Source/WebCore:

Reviewed by Sam Weinig.

Add type-safe casting to GraphicsLayer.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::isGraphicsLayerCA):
(WebCore::GraphicsLayer::isGraphicsLayerCARemote):

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::isGraphicsLayerCA):

Source/WebKit2:

Reviewed by Sam Weinig.

Soon we shall need to do atomic commits of both the remote layer tree, and
the remote scrolling tree. Pave the way by moving responsibility for remote
layer tree committing to RemoteLayerTreeDrawingArea.

So move the flushing logic from RemoteLayerTreeHost to RemoteLayerTreeDrawingArea.
After this change, RemoteLayerTreeHost doesn't do much and could possibly be
removed in future.

Also add type-safe casting to GraphicsLayer and DrawingArea.

  • DerivedSources.make: Out with RemoteLayerTreeHost, in with RemoteLayerTreeDrawingAreaProxy
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:

(WebKit::RemoteLayerTreeDrawingAreaProxy::remoteLayerTreeHost):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: Renamed from Source/WebKit2/UIProcess/mac/RemoteLayerTreeHost.messages.in.
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Add message receiver.
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy): Remove message receiver.
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Hand the transaction off to the layer
tree host.

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

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): No longer a message receiver.
(WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
(WebKit::RemoteLayerTreeHost::updateLayerTree):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::type):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
(WebKit::RemoteLayerTreeContext::flushOutOfTreeLayers):
(WebKit::RemoteLayerTreeContext::buildTransaction):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
(WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
(WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

5:29 PM Changeset in webkit [161326] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 Fix other prologue and epilogue macros in LLInt
https://bugs.webkit.org/show_bug.cgi?id=126507

Reviewed by Mark Lam.

Fixed preserveCallerPCAndCFR() and restoreCallerPCAndCFR() for ARM64. Fixed
functionPrologue() so that the new callframe is set up from the stack pointer.

  • llint/LowLevelInterpreter.asm:
4:25 PM Changeset in webkit [161325] by Martin Robinson
  • 13 edits in trunk

[GTK] [CMake] Ensure that the autotools build and the CMake install the same files
https://bugs.webkit.org/show_bug.cgi?id=116379

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: Install the documentation.
  • Source/cmake/OptionsCommon.cmake: Add a LIBEXEC variable for WebKit2 executables, and

don't use the default locations on GTK+. We will get them from the CMake-provided GNU installation
variables.

  • Source/cmake/OptionsGTK.cmake: Setup the installation variables using the ones provided

by CMake's GNU installation directory support. Fix the definition of DATADIR. Always install
the jsc binary.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file.

Source/WebCore:

  • PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.

Install the GObject DOM bindings headers.

Source/WebKit:

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move

a couple installed and generated headers to the installed headers list.

Source/WebKit2:

  • CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which

for non-GTK+ platforms is the same as EXEC.

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move

a couple installed and generated headers to the installed headers list. Rename the
headers list to be consistent with the WebKit1 build. No longer use a variable for
the name of the plugin process, as it's unnecessary.

11:17 AM Changeset in webkit [161324] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] Updated Dutch translation
https://bugs.webkit.org/show_bug.cgi?id=126365

Patch by Reinout van Schouwen <reinouts@gnome.org> on 2014-01-05
Reviewed by Gustavo Noronha.

  • nl.po: Updated.
3:45 AM Changeset in webkit [161323] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Use lineageOfType to simplify two rendering helpers.
<https://webkit.org/b/126498>

Reviewed by Antti Koivisto.

  • rendering/RenderRuby.cpp:

(WebCore::findRubyRunParent):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::findTreeRootObject):

Simplify two functions that walk their parent chain to find the
closest ancestor of a certain type.

  • rendering/RenderRubyRun.h:

Add requisite isRendererOfType<RenderRubyRun>().

2:34 AM Changeset in webkit [161322] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] Stop installing WebKit2 C API headers
https://bugs.webkit.org/show_bug.cgi?id=126489

Reviewed by Martin Robinson.

.:

  • GNUmakefile.am:

Source/WebKit2:

We are not actually maintaining the API/ABI compatibility of the
WebKit2 C API, it's only used internally by the public GTK+ API
and nobody is using it.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
1:46 AM Changeset in webkit [161321] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the Mac build too.

  • page/PageThrottler.h:
1:27 AM Changeset in webkit [161320] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Weekend URTBF after r161319 to make non Mac builds work again.

  • page/PageThrottler.h:
12:28 AM Changeset in webkit [161319] by barraclough@apple.com
  • 13 edits in trunk/Source

Move process suppression of WebProcess to Page (from UIProcess)
https://bugs.webkit.org/show_bug.cgi?id=126480

Reviewed by Sam Weinig.

Let each page take a UserActivity rather than having to coalesce this state, and take different activity
tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.

Source/WebCore:

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

(WebCore::Page::setIsVisuallyIdle):

  • page/Page.h:
    • setThrottled -> setIsVisuallyIdle.
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • Initialize m_visuallyNonIdle.

(WebCore::PageThrottler::~PageThrottler):

  • setThrottled -> setIsVisuallyIdle.

(WebCore::PageThrottler::setIsVisuallyIdle):

  • Use m_visuallyNonIdle to disable supression when the page is not visually idle.
  • page/PageThrottler.h:
    • setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.

Source/WebKit2:

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize):

  • Don't start with process supression disabled; this is unnecessary, message from the UIProcess should wake.
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::updateProcessSuppressionState):

  • Don't send explicit messages to supress the WebProcess, it handles this for itself.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • call setIsVisuallyIdle.

(WebKit::WebPage::setViewState):

  • call setIsVisuallyIdle.

(WebKit::WebPage::updatePreferences):

  • Use m_suppressionDisabled to disable supression if the WebPreference is set.

(WebKit::WebPage::setIsVisuallyIdle):

  • setThrottled -> setIsVisuallyIdle.
  • WebProcess/WebPage/WebPage.h:
    • setThrottled -> setIsVisuallyIdle, added m_suppressionDisabled.
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:

(WebKit::WebProcess::shouldForceScreenFontSubstitution):

  • Removed setProcessSuppressionEnabled - WebPage now detects the supression change.

Jan 4, 2014:

11:29 PM Changeset in webkit [161318] by msaboff@apple.com
  • 6 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 needs push/pop pair macro assembler instructions
https://bugs.webkit.org/show_bug.cgi?id=126474

Reviewed by Mark Lam.

Added templated ldp() and stp() instruction generators to the ARM64 assembler.
Added popPair() and pushPair() to the ARM64 macro assembler. Added ARM64
version of emitFunctionPrologue() and emitFunctionEpilogue() to AssemblyHelpers.h
that use the pushPair() and popPair() macro instructions. Added disassembler support
for the newly added load/store pair instructions.

Verified that we correctly generate the new instructions and that they disassemble
the same as what the debugger shows.

  • assembler/ARM64Assembler.h:

(JSC::isInt7):
(JSC::isInt11):
(JSC::PairPostIndex::PairPostIndex):
(JSC::PairPostIndex::operator int):
(JSC::PairPreIndex::PairPreIndex):
(JSC::PairPreIndex::operator int):
(JSC::ARM64Assembler::memPairOffsetShift):
(JSC::ARM64Assembler::ldp):
(JSC::ARM64Assembler::stp):
(JSC::ARM64Assembler::loadStoreRegisterPairPostIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairPreIndex):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::popPair):
(JSC::MacroAssemblerARM64::pushPair):

  • disassembler/ARM64/A64DOpcode.cpp:

(JSC::ARM64Disassembler::A64DOpcode::appendRegisterName):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::opName):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::format):

  • disassembler/ARM64/A64DOpcode.h:

(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::rt2):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::immediate7):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::offsetMode):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::lBit):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogue):

6:15 PM Changeset in webkit [161317] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Use Compiler macros instead of raw "final" and "override"
https://bugs.webkit.org/show_bug.cgi?id=126490

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-01-04
Reviewed by Sam Weinig.

  • runtime/JSPromiseReaction.cpp:
4:28 PM Changeset in webkit [161316] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Move a few more functions from RenderBlock to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=126494

Reviewed by Andreas Kling.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::textAlignmentForLine):
(WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
(WebCore::RenderBlockFlow::startAlignedOffsetForLine):
These are only used by RenderBlockFlow, so move them there.

1:48 PM Changeset in webkit [161315] by Simon Fraser
  • 9 edits in trunk/Source/WebCore

Prepare the ScrollingTree for remote use
https://bugs.webkit.org/show_bug.cgi?id=126493

Reviewed by Sam Weinig.

When committing the scrolling tree, we clone the ScrollingStateTree
to hand off to another thread, or (in future) to encode to send to the
UI process. During this cloning process, two types of layer transformations
take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
Allow the ScrollingCoordinator to specify which type of transformation occurs
by giving ScrollingStateTree a LayerRepresentation::Type member,
which is consulted during ScrollingStateNode cloning.

Also only copy layers that have changed to avoid setting dirty bits.

Expose some other stuff on ScrollingStateTree which will be needed for
remote scrolling.

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):

  • page/scrolling/ScrollingStateNode.h:

(WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
(WebCore::LayerRepresentation::toRepresentation):
(WebCore::ScrollingStateNode::changedProperties):
(WebCore::ScrollingStateNode::setChangedProperties):
(WebCore::ScrollingStateNode::parentNodeID):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::commit):
(WebCore::ScrollingStateTree::setRemovedNodes):
(WebCore::ScrollingStateTree::stateNodeForID):

  • page/scrolling/ScrollingStateTree.h:

(WebCore::ScrollingStateTree::nodeCount):
(WebCore::ScrollingStateTree::nodeMap):
(WebCore::ScrollingStateTree::preferredLayerRepresentation):
(WebCore::ScrollingStateTree::setPreferredLayerRepresentation):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::commitTreeState):

12:53 PM Changeset in webkit [161314] by weinig@apple.com
  • 6 edits in trunk/Source/WebCore

Move LineBreaker functions to LineBreaker.cpp
https://bugs.webkit.org/show_bug.cgi?id=126491

Reviewed by Simon Fraser.

  • Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to LineBreaker.cpp from RenderBlockLineLayout.cpp
  • Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp so it can be shared.
  • Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid duplicate symbols.
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateLogicalInlinePositions):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::nextLineBreak):
(WebCore::LineBreaker::nextSegmentBreak):

  • rendering/line/LineWidth.cpp:

(WebCore::requiresIndent):

  • rendering/line/LineWidth.h:
10:31 AM Changeset in webkit [161313] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 add of stack pointer not valid as second source operand
https://bugs.webkit.org/show_bug.cgi?id=126486

Reviewed by Mark Lam.

Swap the source operands in add64() if the second argument is the stack pointer
to work around ARM64 limitations for using the stack pointer as a second source operand.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::add64):

10:30 AM Changeset in webkit [161312] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: slowPathFor() should emit an epilogue instead of popping the callFrameRegister
https://bugs.webkit.org/show_bug.cgi?id=126478

Reviewed by Mark Lam.

Changed the pop(callFrameRegister) to emitFunctionEpilogue().

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):

9:46 AM Changeset in webkit [161311] by Martin Robinson
  • 8 edits
    1 add in trunk

[GTK] [CMake] Improve the way we locate gobject-introspection
https://bugs.webkit.org/show_bug.cgi?id=126452

Reviewed by Philippe Normand.

.:

  • Source/cmake/FindGObjectIntrospection.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Load the new FindGObjectIntrospection file.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Use the new introspection variables.

Source/WebKit:

  • PlatformGTK.cmake: Use the new introspection variables.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new introspection variables.
9:44 AM Changeset in webkit [161310] by Martin Robinson
  • 6 edits in trunk

[GTK] [CMake] Fix the video and audio build
https://bugs.webkit.org/show_bug.cgi?id=126464

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: GStreamer files look for USE(GSTREAMER) and USE(WEBAUDIO_GSTREAMER),

so define those when appropriate. Web audio is one by default in autotools, so turn it on for cmake
as well.

Source/WebCore:

  • PlatformGTK.cmake: Complete the audio and video source lists.

Tools:

  • GtkLauncher/CMakeLists.txt: Add GStreamer includes and libraries, since GtkLauncher uses it.
9:26 AM Changeset in webkit [161309] by zandobersek@gmail.com
  • 65 edits in trunk/Source

Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
https://bugs.webkit.org/show_bug.cgi?id=126439

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • bytecode/Opcode.cpp:

(JSC::compareOpcodePairIndices):
(JSC::OpcodeStats::~OpcodeStats):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeBinaryNode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseIfStatement):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::contains):
(JSC::StructureTransitionTable::get):
(JSC::StructureTransitionTable::add):

Source/WebCore:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::rowIndexRange):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):

  • accessibility/AccessibilityARIAGridCell.h:
  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::mathPrescripts):
(WebCore::AccessibilityRenderObject::mathPostscripts):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):

  • accessibility/AccessibilityTableCell.h:
  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(webkitAccessibleTableGetColumnAtIndex):
(webkitAccessibleTableGetRowAtIndex):
(webkitAccessibleTableGetColumnExtentAt):
(webkitAccessibleTableGetRowExtentAt):
(webkitAccessibleTableGetColumnHeader):
(webkitAccessibleTableGetRowHeader):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityRowRange]):
(-[WebAccessibilityObjectWrapper accessibilityColumnRange]):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertMathPairsToNSArray):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • bindings/js/SerializedScriptValue.cpp:
  • dom/ContainerNode.cpp:
  • dom/StyledElement.cpp:

(WebCore::attributeNameSort):

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::parseTimeFragment):

  • html/parser/HTMLMetaCharsetParser.h:
  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
(WebCore::ContentSearchUtils::searchInTextByLines):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::diff):
(WebCore::DOMPatchSupport::innerPatchChildren):

  • inspector/DOMPatchSupport.h:
  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::enable):
(WebCore::InspectorAgent::evaluateForTestInFrontend):

  • inspector/InspectorAgent.h:
  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::brokenImage):

  • loader/cache/CachedImage.h:
  • platform/URL.cpp:

(WebCore::findHostnamesInMailToURL):
(WebCore::encodeHostnames):

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::getCachedFontData):

  • platform/graphics/WidthIterator.cpp:
  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::adopt):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::parseCacheHeader):

  • platform/text/AtomicStringKeyedMRUCache.h:
  • platform/text/LineBreakIteratorPoolICU.h:
  • rendering/InlineFlowBox.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::cachedCollapsedBorder):

  • rendering/RenderTableSection.h:
  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::constructFromString):
(WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedIntegerOptionalInteger.cpp:

(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberOptionalNumber.cpp:

(WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedType.cpp:

(WebCore::SVGAnimatedType::createIntegerOptionalInteger):
(WebCore::SVGAnimatedType::createNumberOptionalNumber):

  • svg/SVGAnimatedType.h:

(WebCore::SVGAnimatedType::integerOptionalInteger):
(WebCore::SVGAnimatedType::numberOptionalNumber):

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):

  • svg/SVGParserUtilities.h:
  • svg/animation/SMILTimeContainer.h:

Source/WebKit/mac:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):

Source/WebKit2:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • Shared/mac/ArgumentCodersMac.mm:

(IPC::encode):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::show):
(WebKit::WebNotificationManagerProxy::cancel):
(WebKit::WebNotificationManagerProxy::didDestroyNotification):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):

  • UIProcess/WebContext.h:

Source/WTF:

  • wtf/VectorTraits.h: Stop bringing std::pair into the current scope.

Jan 3, 2014:

11:43 PM Changeset in webkit [161308] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Attempt to fix EFL build.

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::setHasChangedProperties):

8:59 PM Changeset in webkit [161307] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

Build brake after 161045 on EFL port with WebKit2 and gcc 4.6.3
https://bugs.webkit.org/show_bug.cgi?id=126383

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-03
Reviewed by Sam Weinig.

Class identifier was missing.

  • DatabaseProcess/DatabaseProcess.h:
  • NetworkProcess/NetworkProcess.h:
  • PluginProcess/PluginProcess.h:
  • Shared/mac/CookieStorageShim.h:
  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/WebPageProxy.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebProcess.h:
7:55 PM Changeset in webkit [161306] by Simon Fraser
  • 12 edits in trunk/Source/WebCore

Clean up the means of committing the scrolling state tree
https://bugs.webkit.org/show_bug.cgi?id=126482

Reviewed by Tim Horton.

ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
after setPropertyChanged() in lots of places, which was repetitive, and
AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.

Clean up both of these with a clearer trigger for state tree commits.
ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
which turns around and tells the ScrollingCoordinator that the state tree became dirty.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
(WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
(WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
(WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
(WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
(WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
(WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):

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

(WebCore::ScrollingStateFixedNode::updateConstraints):

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::setPropertyChanged):
(WebCore::ScrollingStateNode::setLayer):

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::setViewportRect):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateScrollingNode::setFooterHeight):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::updateConstraints):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::create):
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::setHasChangedProperties):
(WebCore::ScrollingStateTree::didRemoveNode):

  • page/scrolling/ScrollingStateTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):

  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):

7:41 PM Changeset in webkit [161305] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Try to fix CoordinatedGraphics build after r161303. Remove implementations
which are now in the cross-platform file.

  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:

(WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
(WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):

  • page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
  • page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
6:18 PM Changeset in webkit [161304] by dfarler@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[super dealloc] missing in Source/JavaScriptCore/API/tests/testapi.mm, fails to build with -Werror,-Wobjc-missing-super-calls
https://bugs.webkit.org/show_bug.cgi?id=126454

Reviewed by Geoffrey Garen.

  • API/tests/testapi.mm:

(-[TextXYZ dealloc]):
add [super dealloc]
(-[EvilAllocationObject dealloc]):
add [super dealloc]

6:04 PM Changeset in webkit [161303] by Simon Fraser
  • 13 edits in trunk/Source/WebCore

Simplify ScrollingStateNode references to various layer types
https://bugs.webkit.org/show_bug.cgi?id=126477

Reviewed by Tim Horton.

ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
confusing ways. In the main thread they have a GraphicsLayer*, but need
to check to see if the underlying PlatformLayer changed. Then, when
cloned to commit to the scrolling thread, they drop the GraphicsLayer
and store a PlatformLayer.

Hide the complexity (and prepare for the future) by adding LayerRepresentation,
which wraps various different flavors of layers, and knows how to check whether
the PlatformLayer underlying a GraphicsLayer changed.

ScrollingStateNode layer setters then just take and compare LayerRepresentations.
Copy constructors convert to a PlatformLayer representation (though not really
in the right place currently), and ScrollingTreeNodes get PlatformLayers.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::setLayer):

  • page/scrolling/ScrollingStateNode.h:

(WebCore::LayerRepresentation::LayerRepresentation):
(WebCore::LayerRepresentation::operator GraphicsLayer*):
(WebCore::LayerRepresentation::operator PlatformLayer*):
(WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
(WebCore::LayerRepresentation::operator ==):
(WebCore::LayerRepresentation::toPlatformLayer):
(WebCore::LayerRepresentation::representsGraphicsLayer):
(WebCore::LayerRepresentation::representsPlatformLayer):
(WebCore::LayerRepresentation::representsPlatformLayerID):
(WebCore::ScrollingStateNode::layer):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

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

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):

  • page/scrolling/mac/ScrollingStateNodeMac.mm:
  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateBeforeChildren):

6:01 PM Changeset in webkit [161302] by Seokju Kwon
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix on non-Mac port

  • Shared/API/c/WKDeprecatedFunctions.cpp: Add ENABLE(MAC) guard for "WKContextPrivateMac.h".
5:57 PM Changeset in webkit [161301] by barraclough@apple.com
  • 12 edits in trunk/Source/WebKit2

Simplify process suppression state calculation
https://bugs.webkit.org/show_bug.cgi?id=126473

Reviewed by Geoffrey Garen & Sam Weinig.

Don't check the application occlusion state (this is covered by the pages already),
and let the page check visually idle. Remove layers of functions.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didFinishLaunching):

  • Let the network process nap if all processes in its context are napping.* (* Except not really. We currently leak a boost onto the process anyway.)
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • Let the plugin process nap if all processes in all contexts are napping.
  • UIProcess/WebContext.h:
    • Remove canEnableProcessSuppressionForNetworkProcess & canEnableProcessSuppressionForWebProcess
    • canEnableProcessSuppressionForGlobalChildProcesses -> processSuppressionIsEnabledForAllContexts
    • combine updateProcessSuppressionStateOfChildProcesses & updateProcessSuppressionStateOfGlobalChildProcesses

-> updateProcessSuppressionState

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::isProcessSuppressible):

  • WebProcess is supressible if IsVisuallyIdle.

(WebKit::WebPageProxy::viewStateDidChange):

  • WebProcessProxy should updateProcessSuppressionState when IsVisuallyIdle changes.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

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

  • pageIsProcessSuppressible -> isProcessSuppressible
  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::updateProcessSuppressionState):

  • Update supression state of network & plugin processes.

(WebKit::WebContext::processSuppressionIsEnabledForAllContexts):

  • Changed iterator style, made a static member of WebContext.
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::updateProcessSuppressionState):

  • Ask the WebContext to update supression state.
  • UIProcess/mac/WindowServerConnection.h:
  • UIProcess/mac/WindowServerConnection.mm:

(WebKit::WindowServerConnection::windowServerConnectionStateChanged):
(WebKit::WindowServerConnection::WindowServerConnection):

  • Remove application occlusion state.
5:27 PM Changeset in webkit [161300] by msaboff@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

cstack Branch: ARM64 LLInt fails to compile due to instructions limitations with sp
https://bugs.webkit.org/show_bug.cgi?id=126423

Reviewed by Filip Pizlo.

Disabled the checkStackPointerAlignment macro for ARM64 since it will fault on any
improper changes to the stack pointer that result in bad alignment.

Changed uses of sp to either move into a temp register for certain operations, or
changed the order of subtract operands. The operand ordering includes branch
compare pseudo ops. In the process discovered that sanitizeStackForVM was plain
wrong and never executed the clear loop, so I fixed that while changing the operand
ordering of the compares.

The ARM64 build also complains that we are doing a compare and branch to a
non-local label so I changed branchIfException to branch around a jmp to
a possible global label.

Tested on X86-64.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
5:20 PM Changeset in webkit [161299] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r161274.
http://trac.webkit.org/changeset/161274
https://bugs.webkit.org/show_bug.cgi?id=126475

Volates ECMA and WebGL Specification (Requested by bfulgham on
#webkit).

  • webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:
4:58 PM Changeset in webkit [161298] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Make emitPutToCallFrameHeaderBeforePrologue and friends work for all platforms
https://bugs.webkit.org/show_bug.cgi?id=126421

Reviewed by Filip Pizlo.

Added new helper prologueStackPointerDelta() that returns the amount the stack
pointer should be adjusted when accessing a CallFrame via the stack pointer
before the function prologue has been executed.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::prologueStackPointerDelta):
(JSC::AssemblyHelpers::emitFunctionEpilogue):
(JSC::AssemblyHelpers::emitPutToCallFrameHeaderBeforePrologue):
(JSC::AssemblyHelpers::emitPutPayloadToCallFrameHeaderBeforePrologue):
(JSC::AssemblyHelpers::emitPutTagToCallFrameHeaderBeforePrologue):

4:52 PM Changeset in webkit [161297] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
https://bugs.webkit.org/show_bug.cgi?id=126470
<rdar://problem/15201370>

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
test while we do our blit, then reactivate if necessary.

4:35 PM Changeset in webkit [161296] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

[iOS] [WK2] TileController creates all tiles on first paint, making it slow and consuming lots of memory
https://bugs.webkit.org/show_bug.cgi?id=126457

Reviewed by Simon Fraser.

Instead of making all of the tiles all of the time, we should use the
view-exposed-rect mechanism to inform TileController about what portion
of the WKContentView is currently exposed by the WKScrollView.

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

(-[WKContentView setViewportSize:]):
(-[WKContentView didFinishScrollTo:]):
(-[WKContentView didScrollTo:]):
Inform the WebPageProxy that our exposed rect changed.

  • UIProcess/API/ios/WKView.mm:

(-[WKView scrollViewDidScroll:]):
Inform the WKContentView that we've scrolled at all.
Rename the existing WKContentView didScrollTo: to didFinishScrollTo:,
because it is expected to only fire when a scroll lands. Add didScrollTo:,
which fires continually as scrolling progresses.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::viewExposedRectChanged):
(WebKit::WebPageProxy::exposedRectChangedTimerFired):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::viewExposedRect):

  • UIProcess/mac/WebPageProxyMac.mm:

Move view-exposed-rect stuff to WebPageProxy so it can be built on both
Mac and iOS, and un-!PLATFORM(IOS) some of the related members.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::mainFrameTiledBacking):
Steal TiledCoreAnimationDrawingArea's exposed-rect code.
Note that on iOS, we don't need to manually offset the exposed rect by
the scroll position, because the scroll position is already baked into
the exposed rect, and WebCore's notion of the scroll position will be
inaccurate until the scroll lands.

4:24 PM Changeset in webkit [161295] by ap@apple.com
  • 2 edits in trunk/Tools

It's confusing to have two elements link to the same URL at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126467

Reviewed by Geoffrey Garen.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView): Don't linkify the label text, the bubble is easier to target with mouse
pointer, or to tap.

4:20 PM Changeset in webkit [161294] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
https://bugs.webkit.org/show_bug.cgi?id=126468

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
(WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
method so we can turn on MSAA features when needed.

4:15 PM Changeset in webkit [161293] by Simon Fraser
  • 14 edits in trunk/Source

Give all PlatformCALayers a PlatformLayerID, not just remote ones
https://bugs.webkit.org/show_bug.cgi?id=126466

Reviewed by Tim Horton.

Source/WebCore:

The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
which is confusing, and is necessary because the underlying PlatformLayer
inside a GraphicsLayer can change. In order to hide some of this complexity,
expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
can hold onto to test for underlying layer swapping.

Also constify LayerType m_layerType on PlatformCALayer, which required
cleaning up the construction of PlatformCALayerMac in the case where a
PlatformCALayerMac is wrapping an existing CALayer (which happens for video).

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::primaryLayerID):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::primaryLayerID):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::generateLayerID):
(WebCore::PlatformCALayer::PlatformCALayer):

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::layerID):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::create):
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::commonInit):

Source/WebKit2:

The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
which is confusing, and is necessary because the underlying PlatformLayer
inside a GraphicsLayer can change. In order to hide some of this complexity,
expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
can hold onto to test for underlying layer swapping.

GraphicsLayerCARemote and PlatformCALayerRemote can now just use the
primaryLayerID() function exposed via the base class.

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::PlatformCALayerRemote):
(PlatformCALayerRemote::recursiveBuildTransaction):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
4:04 PM Changeset in webkit [161292] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose session state API
https://bugs.webkit.org/show_bug.cgi?id=126463

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
(-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
WebPageProxy::restoreFromSessionState.

4:03 PM Changeset in webkit [161291] by barraclough@apple.com
  • 6 edits in trunk/Source/WebKit2

Remove SPI, user default for disabling process suppression
https://bugs.webkit.org/show_bug.cgi?id=126458

Reviewed by Sam Weinig.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKContextGetProcessSuppressionEnabled):
(WKContextSetProcessSuppressionEnabled):

  • depracated SPI.
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:
    • depracated SPI.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

  • removed m_processSuppressionEnabled.
  • UIProcess/WebContext.h:
    • removed setProcessSuppressionEnabled, processSuppressionEnabled implementation, processSuppressionEnabledChanged, m_processSuppressionEnabled.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitialize):

  • removed m_processSuppressionEnabled.

(WebKit::WebContext::processSuppressionEnabled):

  • check whether all pages in all processes are suppressible.

(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):

  • removed call to omitProcessSuppression, m_processSuppressionEnabled -> processSuppressionEnabled().

(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):

  • removed call to omitProcessSuppression, processSuppressionEnabled (we don't care if a page in a difference process is not suppresible).

(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):

  • removed call to omitProcessSuppression, s_processSuppressionEnabledForAllContexts -> processSuppressionIsEnabledForAllContexts().
3:38 PM Changeset in webkit [161290] by ap@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard says "failed build" even if it's another step that failed
https://bugs.webkit.org/show_bug.cgi?id=126461

Reviewed by Geoffrey Garen.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Link to main
build page if it's not the compilation that failed. Use text from buildbot for description.
Show a yellow icon if it's a different kind of failure.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.update): Record whether it was compile-webkit step that failed.

3:25 PM Changeset in webkit [161289] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] Removing repeated protected keyword in WebView
https://bugs.webkit.org/show_bug.cgi?id=126462

Reviewed by Simon Fraser.

  • UIProcess/CoordinatedGraphics/WebView.h:
3:19 PM Changeset in webkit [161288] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Add lineageOfType renderer iterator and start using it.
<https://webkit.org/b/126456>

Add a convenient way to iterate over a renderers ancestry *including*
the starting point renderer (if it meets the type criteria.)

This works just like lineageOfType for Elements.

Reviewed by Geoffrey Garen.

  • rendering/RenderAncestorIterator.h:

(WebCore::lineageOfType):

Added. Returns an adapter for walking a renderer's entire lineage
matching any renderer of the given type.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderLayerModelObject.h:

Add the requisite isRendererOfType<T> helpers.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::enclosingFloatPaintingLayer):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::enclosingLayer):
(WebCore::RenderObject::enclosingBox):
(WebCore::RenderObject::enclosingBoxModelObject):

Simplify with lineageOfType. Added some FIXMEs about functions
that should return references instead of pointers.

3:05 PM Changeset in webkit [161287] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

Small build fix for the GTK+ CMake port

  • PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs

used to generate GObject DOM bindings.

2:28 PM Changeset in webkit [161286] by dbates@webkit.org
  • 12 edits
    1 add in trunk/Source/WebCore

[iOS] Upstream WebCore/css changes
https://bugs.webkit.org/show_bug.cgi?id=126237

Reviewed by Simon Fraser.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext): Ditto.
(WebCore::CSSParser::parseValue): Ditto.

  • css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
  • css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.

  • css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
  • css/MediaQueryEvaluator.cpp:

(WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
(WebCore::video_playable_inlineMediaFeatureEval): Added.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
(WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.

  • css/html.css: Added iOS-specific CSS styles.

(input, textarea, keygen, select, button, isindex):
(isindex):
(input[type="date"]):
(input[type="datetime"]):
(input[type="datetime-local"]):
(input[type="month"]):
(input[type="time"]):
(textarea):
(input:-webkit-autofill):
(input[type="radio"], input[type="checkbox"]):
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="range"]::-webkit-slider-thumb:active):
(input:disabled, textarea:disabled):
(input[readonly], textarea[readonly]):
(textarea::-webkit-input-placeholder):
(input[type="checkbox"]):
(input[type="radio"]):
(input[type="checkbox"]:checked, input[type="radio"]:checked):
(input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
(select:focus):
(select):

  • css/mathml.css: Added iOS-specific CSS styles.

(math, mfenced > *):
(mo, mfenced):

  • css/mediaControlsiOS.css: Added.
  • css/svg.css: Added iOS-specific CSS styles.

(text, tspan, tref):

1:45 PM Changeset in webkit [161285] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] glScissor test is not accounted for when generating internal rendering textures.
https://bugs.webkit.org/show_bug.cgi?id=126455
<rdar://problem/15744206>

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
our internal drawing, then turn them back on for further processing.

1:40 PM Changeset in webkit [161284] by Bem Jones-Bey
  • 3 edits in trunk/Tools

setup-git-clone fails to get email address from git
https://bugs.webkit.org/show_bug.cgi?id=126446

Reviewed by Ryosuke Niwa.

The setup-git-clone command fails to get an email address from git
because of a bug in VCSUtils. This patch fixes that bug, and also
makes it so that when VCSUtils fails for real because of a local
misconfiguration, the error message is actually presented to the user
of setup-git-clone.

  • Scripts/VCSUtils.pm:

(gitConfig): Call isGit() instead of accessing $isGit directly to make

sure that $isGit is properly initialized.

  • Scripts/webkitpy/tool/commands/setupgitclone.py:

(SetupGitClone.execute): Pull out username and email acquistion to

it's own method.

(SetupGitClone._get_username_and_email): Catch the exception thrown

when VCSUtils fails and print out the error message so that the
user actually knows why the command failed.

1:28 PM Changeset in webkit [161283] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Maybe fix Windows build.

  • WebCore.vcxproj/copyForwardingHeaders.cmd:
1:25 PM Changeset in webkit [161282] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Attempt to fix EFL build.

  • CMakeLists.txt:
1:02 PM Changeset in webkit [161281] by ap@apple.com
  • 2 edits in trunk/Tools

It feels too hard to get rid of a popover at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126451

Reviewed by Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css:

(.popover.fade-out): Reduced the timeout - 200 ms is enough to not have flicker
when moving the mouse from an element to its popover.

12:50 PM Changeset in webkit [161280] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

[MediaControls][iOS] Enable JavaScript Media Controls on iOS.
https://bugs.webkit.org/show_bug.cgi?id=126440

Reviewed by Eric Carlson.

Drive-by misspelling fix, and add a convenience function to check if the
controls are currently hidden:

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleWrapperMouseOut):
(Controller.prototype.updatePlaying):
(Controller.prototype.controlsAreHidden): Added.

Add a new subclass of Controller for iOS and a matching CSS:

  • Modules/mediacontrols/mediaControlsiOS.css: Added.
  • Modules/mediacontrols/mediaControlsiOS.js: Added.

(createControls): Override the createControls() in mediaControlsApple.js.
(ControllerIOS): Define a new class.
(ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent

prototype methods.

(ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
(ControllerIOS.prototype.createControls): Ditto.
(ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full

screen butttons.

(ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
(ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
(ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
(ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
(ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
(ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
(ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
(ControllerIOS.prototype.handlePanelTouchCancel): Ditto.

Drive-by fix to enable the JavaScript controls when the plugin is disabled:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::mediaControlsScript):

Add new files to project:

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
12:45 PM Changeset in webkit [161279] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Allow the ChromeClient to provide a custom ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=126450

Reviewed by Tim Horton.

Some platforms will want to provide a custom ScrollingCoordinator, so let
them do so by asking ChromeClient first for one.

  • page/ChromeClient.h:

(WebCore::ChromeClient::createScrollingCoordinator):

  • page/Page.cpp:

(WebCore::Page::scrollingCoordinator):

12:22 PM Changeset in webkit [161278] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Deploy more child renderer iterators in RenderBlockFlow.
<https://webkit.org/b/126434>

Reviewed by Sam Weinig.

  • rendering/RenderBlockFlow.cpp:

(WebCore::shouldCheckLines):

Make this helper take a RenderBlockFlow instead of a RenderObject
and simplified it a bit. RenderDeprecatedFlexibleBox does not
derive from RenderBlockFlow so those checks can be omitted.

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlockFlow::lineAtIndex):
(WebCore::RenderBlockFlow::lineCount):
(WebCore::RenderBlockFlow::clearTruncation):

Use childrenOfType to iterate over block and block-flow children.
Tweaked some early return/continue to reduce nesting.

12:16 PM Changeset in webkit [161277] by ap@apple.com
  • 2 edits in trunk/Tools

Please add a way to quick peek at failing tests at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122181

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._presentNoChangePopover): Update one more place for
popover.present signature change.

12:05 PM Changeset in webkit [161276] by Simon Fraser
  • 11 edits in trunk/Source/WebCore

Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
https://bugs.webkit.org/show_bug.cgi?id=126445

Reviewed by Tim Horton.

Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).

Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
since by definition a threaded scrolling tree uses an async coordinator.

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

(WebCore::ScrollingTree::updateTreeFromStateNode):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::create):
(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
(WebCore::ThreadedScrollingTree::createNode):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):

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

(WebCore::ScrollingTreeScrollingNodeMac::create):

11:52 AM Changeset in webkit [161275] by barraclough@apple.com
  • 2 edits in trunk/Source/WebCore

Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Unreviewed build fix.

  • platform/UserActivity.h:
    • case fix.
11:47 AM Changeset in webkit [161274] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Revise WebGL DataView test to match ECMAScript Draft Specification
https://bugs.webkit.org/show_bug.cgi?id=126032

Based on the ECMAScript specification, we believe that the current test is wrong. We are working to get this
fixed upstream.

Reviewed by Dean Jackson.

  • webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/data-view-test.html: Do not

prohibit using DataView as a function.

11:32 AM Changeset in webkit [161273] by ap@apple.com
  • 12 edits
    1 add in trunk/Tools

Please add a way to quick peek at failing tests at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122181

Reviewed by Timothy Hatcher and Timothy Horton.

Detailed results are saved by run-webkit-tests to full_results.json (which is actually
JSONP). Dashboard will load them on demand.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.layoutTestResultsURLForIteration): Moved from WebKitBuildbot.js
and made it use a function from WebKitBuildbot that builds results directory path.
(Buildbot.prototype.layoutTestFullResultsURLForIteration): Added a function that builds
a URL for full_results.json.
(Buildbot.prototype.layoutTestCrashLogForIteration): Added a function that builds
a URL for a crash log.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.loadLayoutTestResults): Load and cache layout test results for
the iteration.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Updated for changed
popover API (see below).
(BuildbotQueueView.prototype._presentPopoverForRevisionRange): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Added a check
for iterations that were interrupted (previously, they were displayed incorrectly,
often as passes). Install popover trackers for failure bubbles for which we can currently
display something useful.
(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions): Build
a popover for layout test regressions when we have the data loaded on demand.
We have test paths, special indicators for crashes/timeouts, and links to test history
at flakiness dashboard.
(BuildbotTesterQueueView.prototype._presentPopoverForLayoutTestRegressions): Show
the popover for layout test regressions. Just shows "Loading..." until the data is
loaded.
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): List
types of failures if there are multiple. There is a lot of similarity with
appendBuilderQueueStatus(), but I couldn't find a good way to share the code.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Create a global test history object, which is used for links in layout test popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Popover.js:

Changed the API to be more like WebInspector again, allowing for changing content
of an existing popover. As the size of a popover can change, making the mouse pointer
enter it without a mousenter event, install a handler for mousewheel instead, and block
document scrolling from this event handler when needed.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.get statusBubbleElement): Added an accessor for status
bubble element, making it possible to install a popover on it.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(JSON.load): Added the ability to load JSONP by providing an optional callback name.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot.prototype.layoutTestResultsDirectoryURLForIteration): Switched from
building a complete results URL to only building one for root results path. This is
the part that depends on specific buildbot installation, everything relative to it
is the same.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitTestHistory.js: Added.

Build a path to test history page. In the future, we may consider adding code to
load the data and display it inline.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Added styles for this new popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: Added

a new file, WebKitTestHistory.js.

11:13 AM Changeset in webkit [161272] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebKit2

Define WebProcess::usesNetworkProcess unconditionally
https://bugs.webkit.org/show_bug.cgi?id=126208

Reviewed by Martin Robinson.

Returning false when network process is not enabled like
WebContext does. This way we reduce the amount of ifdefs used when
checking whether network process is in use.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef
and only setup network features when not using network process.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadManager):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::usesNetworkProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformSetCacheModel): Remove #ifdef.
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Ditto.
(WebKit::WebProcess::platformClearResourceCaches): Ditto.
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
(WebKit::WebProcess::platformTerminate): Only remove the language
observer when not using network process.
(WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is
called with network process enabled.
(WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto.

11:06 AM Changeset in webkit [161271] by barraclough@apple.com
  • 11 edits
    3 adds in trunk/Source

Source/WebCore: Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Reviewed by Sam Weinig.

UserActivity is a mechanism to express to the operating system (where appropriate)
that a user initiated activity is taking place, and as such that resources should be
made available to the process accordingly.

Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
to hold different activity tokens for different user actions (which simplifies the
handling, and aides debugging since the token can more accurately express the activity
taking place), and also will allow us to avoid the layering difficulty of calling back
up the stack to WebKit to register that an activity is taking place.

  • WebCore.xcodeproj/project.pbxproj:
    • added new files.
  • platform/UserActivity.cpp: Added.

(WebCore::UserActivity::UserActivity):

  • nop implementation - ignore description.

(WebCore::UserActivity::beginActivity):
(WebCore::UserActivity::endActivity):

  • nop implementation - just inc/dec m_count.
  • platform/UserActivity.h: Added.

(WebCore::UserActivity::isActive):

  • returns true if one or more instance of this activity is in progress.
  • platform/mac/UserActivityMac.mm: Added.

(WebCore::UserActivity::UserActivity):

  • constructor accepts one argument, a description string.

(WebCore::UserActivity::isValid):

  • used by assertions.

(WebCore::UserActivity::beginActivity):
(WebCore::UserActivity::endActivity):

  • track start/end of an activity - calls to these methods should be balanced.

(WebCore::UserActivity::hysteresisTimerFired):

  • used to implement hysteresis in releasing NSActivity.

Source/WebKit2: VibrationPattern should allocate an single vector instance for single integer input
https://bugs.webkit.org/show_bug.cgi?id=126417

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2014-01-03
Reviewed by Gyuyoung Kim.

Fix a vibration unit test regression after r161139. Also remove unnecessary test cases.

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

(EWK2ViewTest::loadVibrationHTMLString):
(TEST_F):

Source/WTF: Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Reviewed by Sam Weinig.

UserActivity is a mechanism to express to the operating system (where appropriate)
that a user initiated activity is taking place, and as such that resources should be
made available to the process accordingly.

Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
to hold different activity tokens for different user actions (which simplifies the
handling, and aides debugging since the token can more accurately express the activity
taking place), and also will allow us to avoid the layering difficulty of calling back
up the stack to WebKit to register that an activity is taking place.

  • wtf/Platform.h:
    • added HAVE_NS_ACTIVITY.
11:05 AM Changeset in webkit [161270] by fpizlo@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

Unreviewed, some trivial 32-bit build fixes.

32-bit is still broken but this takes care of some easy things. This is part of
the work for https://bugs.webkit.org/show_bug.cgi?id=116888.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::storePtr):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterRestoration):

10:59 AM Changeset in webkit [161269] by ap@apple.com
  • 3 edits
    2 adds in trunk

Line ending conversion should be able to handle strings with null chars
https://bugs.webkit.org/show_bug.cgi?id=126202

This is a merge from Blink.

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html

  • platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.

LayoutTests:

  • http/tests/local/formdata/send-form-data-with-string-containing-null-expected.txt: Added.
  • http/tests/local/formdata/send-form-data-with-string-containing-null.html: Added.
10:49 AM Changeset in webkit [161268] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

REGRESSION(r161214): [GTK] WebKit2 C API tests fail to run after r161214
https://bugs.webkit.org/show_bug.cgi?id=126430

Reviewed by Martin Robinson.

  • Scripts/run-gtk-tests:

(TestRunner._setup_testing_environment):

  • gtk/common.py: Use common.tests_library_build_path() instead.

(tests_library_build_path): Helper funtion that returns the path
where the tests libraries are built.

10:41 AM Changeset in webkit [161267] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

WebKit-GTK 1.8.1 does not build on OS X 10.7
https://bugs.webkit.org/show_bug.cgi?id=88407

Reviewed by Carlos Garcia Campos.

Replace non-portable 'echo -n' with 'true'.

  • GNUmakefile.am:
9:37 AM Changeset in webkit [161266] by alex.christensen@flexsim.com
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Enable video using GStreamer.
https://bugs.webkit.org/show_bug.cgi?id=126015

Reviewed by Darin Adler.

  • win/tools/vsprops/FeatureDefinesCairo.props:

Define ENABLE_MEDIA_CONTROLS_SCRIPT, ENABLE_VIDEO_TRACK, and ENABLE_VIDEO.

9:35 AM Changeset in webkit [161265] by alex.christensen@flexsim.com
  • 2 edits in trunk/Websites/webkit.org

Added GStreamer to list of required tools for compiling webkit.
https://bugs.webkit.org/show_bug.cgi?id=126319

Reviewed by Philippe Normand.

  • building/tools.html:

Mentioned that QuickTime and QuickTime SDK are only required for AppleWin.
Added GStreamer installers to list of required tools for WinCairo.

9:21 AM Changeset in webkit [161264] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=126428

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-03
Reviewed by Brent Fulgham.

The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.

  • loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
  • loader/cache/MemoryCache.h: Ditto.
9:03 AM Changeset in webkit [161263] by Martin Robinson
  • 2 edits in trunk

[CMake] The forwarding headers generated by WebKitMacros.m4 are incompatible with the headers generated by generate-forwarding-headers.pl
https://bugs.webkit.org/show_bug.cgi?id=126361

Reviewed by Philippe Normand.

Make the forwarding headers generated by WebKitMacros.m4 compatible with the headers
generated by the WebKit2 forwarding headers generation script.

  • Source/cmake/WebKitMacros.cmake: Try to convert absolute paths in the forwarding headers

to ones that are relative to the Source directory.

9:02 AM Changeset in webkit [161262] by Martin Robinson
  • 2 edits in trunk/Tools

[CMake] Build TestWebKitAPI tests into a directory structure
https://bugs.webkit.org/show_bug.cgi?id=126358

Reviewed by Gyuyoung Kim.

WebKitGTK+ builds the TestWebKitAPI tests into a "TestWebKitAPI" directory. This
is useful for keeping the "bin" directory tidy during building and will make it easier
to integrate the CMake build into the existing WebKitGTK+ scripts.

  • TestWebKitAPI/CMakeLists.txt: Set the output directory of all TestWebKitAPI binaries

and make the names simpler now that the directory identifies what category the test is in.

9:00 AM Changeset in webkit [161261] by ap@apple.com
  • 4 edits in trunk/Tools

Provide a visual clue when element has a popover at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126281

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:

(PopoverTracker): Add a class name to elements with popovers.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(*): We have -webkit-user-select:none, so let's also not show text selection cursor.
I might have broke that recently.
(*:link): Show hand cursor over links.
(.popover-tracking:hover): Put a shadow on hover over element with popovers.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .message .revision-number): Show text selection cursor on our only
selectable text element.
(.status-line .bubble.popover-tracking:hover): Text in a bubble looks better with
a white shadow than with a dark one on hover.

8:57 AM Changeset in webkit [161260] by hmuller@adobe.com
  • 9 edits in trunk/Source/WebCore

[CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
https://bugs.webkit.org/show_bug.cgi?id=125995

Reviewed by Andreas Kling.

Cleanup of various internal Shape issues:

  • Removed unnecessary Shape() initialization list entries in Shape subclasses per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
  • Used const references instead of pointers for non-deprecated Shape:createShape() logic.
  • Replaced createShape() overloads for Rasters and Boxes with functions named createRasterShape() and createBoxShape().
  • Added a FloatRoundedRect::Radii() constructor to reduce the parameter list length of the FloatRoundedRect constructor in createBoxShape().

There are no new tests, this is just internal refactoring.

  • platform/graphics/FloatRoundedRect.h:

(WebCore::FloatRoundedRect::Radii::Radii):

  • rendering/shapes/BoxShape.h:

(WebCore::BoxShape::BoxShape):

  • rendering/shapes/PolygonShape.h:

(WebCore::PolygonShape::PolygonShape):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShape::RasterShape):

  • rendering/shapes/RectangleShape.h:

(WebCore::RectangleShape::RectangleShape):

  • rendering/shapes/Shape.cpp:

(WebCore::createInsetShape):
(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createBoxShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::ShapeInfo<RenderType>::computedShape):

3:44 AM Changeset in webkit [161259] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused Document::openSearchDescriptionURL().
<https://webkit.org/b/126419>

Reviewed by Antti Koivisto.

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

Scrub leftovers from the defunct Chromium port.

1:06 AM Changeset in webkit [161258] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Add failure and flakiness expectations for a couple of tests.
  • platform/gtk/svg/custom/object-no-size-attributes-expected.txt: Rebaseline.
12:45 AM Changeset in webkit [161257] by jinwoo7.song@samsung.com
  • 4 edits in trunk/Source

VibrationPattern should allocate an single vector instance for single integer input
https://bugs.webkit.org/show_bug.cgi?id=126417

Reviewed by Gyuyoung Kim.

Source/WebCore:

When the Vibration pattern is set with a single integer, the VibrationPattern should
be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
initialized with a single parameter, the vibration time, so the time was used to set
the size of vector.

  • Modules/vibration/NavigatorVibration.cpp:

(WebCore::NavigatorVibration::vibrate):

Source/WebKit2:

Fix a vibration unit test regression after r161139. Also remove unnecessary test cases.

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

(EWK2ViewTest::loadVibrationHTMLString):
(TEST_F):

12:42 AM Changeset in webkit [161256] by Carlos Garcia Campos
  • 10 edits in trunk

[GTK] Add API to WebKitResponsePolicyDecision to check if the MIME type can be shown
https://bugs.webkit.org/show_bug.cgi?id=124652

Reviewed by Martin Robinson.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitPolicyClient.cpp:

(decidePolicyForResponse): Pass canShowMIMEType to
webkitResponsePolicyDecisionCreate.

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:

(webkit_response_policy_decision_is_mime_type_supported): Return
canShowMIMEType.
(webkitResponsePolicyDecisionCreate): Set the canShowMIMEType
member from the given parameter.

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
  • UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewDecidePolicy): Use the new API instead of
webkit_web_view_can_show_mime_type() since it's more efficient.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  • UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:

(testResponsePolicy): Test the new API.

Tools:

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewDecidePolicy): Use the new API instead of
webkit_web_view_can_show_mime_type().

Note: See TracTimeline for information about the timeline view.