⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jun 14, 2017:

11:58 PM Changeset in webkit [218318] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Don't always recalc the style of display: contents elements.
https://bugs.webkit.org/show_bug.cgi?id=172753

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-06-15
Reviewed by Antti Koivisto.

No new tests (no functionality change). This only removes an
inefficiency.

  • dom/Element.cpp:

(WebCore::Element::existingComputedStyle):

  • dom/Element.h:
  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::updateElementRenderer):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
(WebCore::Style::shouldResolveElement):
(WebCore::Style::TreeResolver::resolveComposedTree):

11:23 PM Changeset in webkit [218317] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: trac.webkit.org/export returns Content-Type application/xhtml+xml for .html files
https://bugs.webkit.org/show_bug.cgi?id=173191

Add a MIME type to one test to check if this changes the behavior.

  • http/tests/security/contentSecurityPolicy/allow-favicon.html: Added property svn:mime-type.
10:57 PM Changeset in webkit [218316] by mitz@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

[Cocoa] Objective-C class whose name begins with an underscore can’t be exported to JavaScript
https://bugs.webkit.org/show_bug.cgi?id=168578

Reviewed by Geoff Garen.

  • API/JSWrapperMap.mm:

(allocateConstructorForCustomClass): Updated for change to forEachProtocolImplementingProtocol.
(-[JSObjCClassInfo allocateConstructorAndPrototype]): Ditto.
(-[JSWrapperMap classInfoForClass:]): If the class name begins with an underscore, check if

it defines conformance to a JSExport-derived protocol and if so, avoid using the
superclass as a substitute as we’d normally do.

  • API/ObjcRuntimeExtras.h:

(forEachProtocolImplementingProtocol): Added a "stop" argument to the block to let callers

bail out.

  • API/tests/JSExportTests.mm:

(+[JSExportTests classNamePrefixedWithUnderscoreTest]): New test for this.
(runJSExportTests): Run new test.

10:38 PM Changeset in webkit [218315] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

WKErrorGetErrorCode should not return the API::Error enum values directly
https://bugs.webkit.org/show_bug.cgi?id=173367

Reviewed by Alex Christensen.

Even if the values are the same, we should use a switch to ensure we return the C API values, and not all
API::Error enum values are exposed in the C API.

  • Shared/API/c/WKErrorRef.cpp:

(WKErrorGetErrorCode):

9:01 PM Changeset in webkit [218314] by tpopela@redhat.com
  • 2 edits in trunk/Tools

[GTK] integer expression expected if running Tools/gtk/install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=173356

Reviewed by Michael Catanzaro.

Use the correct operator to compare the strings.

  • gtk/install-dependencies:
8:36 PM Changeset in webkit [218313] by commit-queue@webkit.org
  • 10 edits in trunk

Rebaseline media/modern-media-controls/media-documents
https://bugs.webkit.org/show_bug.cgi?id=173394

Patch by Antoine Quint <Antoine Quint> on 2017-06-14
Reviewed by Dean Jackson.

Source/WebCore:

We found two issues related to media documents while rebaselining the dedicated tests.

First, we needed to expose the --inline-controls-bar-height CSS variable to <video>
elements in media documents that are actually showing an audio UI. Previously we would
only expose the variable to <audio> elements.

Also, due to webkit.org/b/173387, we would fail to identify certain media documents as
video because the videoTracks weren't set yet when the "loadedmetadata" event would be
triggered. So now we also look at the videoWidth and videoHeight properties, which should
provide accurate information in the "loadedmetadata" event handler.

  • Modules/modern-media-controls/controls/media-controls.css:

(:host(audio), :host(video.media-document.audio), *):
(:host(audio), *): Deleted.

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype.get isAudio):

LayoutTests:

  • media/modern-media-controls/media-documents/click-on-video-should-not-pause-expected.txt:
  • media/modern-media-controls/media-documents/click-on-video-should-not-pause.html:
  • media/modern-media-controls/media-documents/media-document-audio-mac-sizing-expected.txt:
  • media/modern-media-controls/media-documents/media-document-audio-mac-sizing.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
8:31 PM Changeset in webkit [218312] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, suppress invalid register alloation validation assertion in 32 bit part 2
https://bugs.webkit.org/show_bug.cgi?id=172421

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):

7:36 PM Changeset in webkit [218311] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

animations-paused-in-background-page.html and animated-svg-image-removed-from-document-paused.html fail after r218284
https://bugs.webkit.org/show_bug.cgi?id=173393

Reviewed by Simon Fraser.

Testing cares really about whether the animation has initiated.

  • platform/graphics/Image.h:

(WebCore::Image::animationPending):

  • testing/Internals.cpp:

(WebCore::Internals::isImageAnimating):

7:15 PM Changeset in webkit [218310] by matthew_hanson@apple.com
  • 7 edits in tags/Safari-604.1.26.1/Source

Versioning.

7:02 PM Changeset in webkit [218309] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.26.1

New tag.

6:57 PM Changeset in webkit [218308] by matthew_hanson@apple.com
  • 1 move in tags/Safari-604.1.26

New tag.

6:57 PM Changeset in webkit [218307] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-604.1.26

Delete tag.

6:57 PM Changeset in webkit [218306] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.26-tmp

New tag.

6:44 PM Changeset in webkit [218305] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Pretty print / type info / code coverage buttons disappear after switching tabs
https://bugs.webkit.org/show_bug.cgi?id=162515
<rdar://problem/28455322>

Reviewed by Joseph Pecoraro.

Each ContentView owns a list of NavigationItems. When the ContentView moves across
Tabs (ContentBrowsers) it removes its NavigationItems from the old Tab's NavigationBar
and adds them to the new Tab's NavigationBar. When switching back to the original tab
the ContentView is restored, but its NavigationItems are not carried back.

  • UserInterface/Views/ContentBrowser.js:

(WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
Add a forceUpdate parameter that is needed when navigationItems are unchanged but navigationBar is
different.

(WebInspector.ContentBrowser.prototype._removeAllNavigationItems):
Remove navigation items even when their navigationBar is no longer a current navigationBar,
e.g. a navigationBar of the previous tab.

(WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype._takeOwnershipOfContentView):

6:33 PM Changeset in webkit [218304] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.26

Tag Safari-604.1.26.

6:33 PM Changeset in webkit [218303] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-604.1.26

Delete tag.

6:29 PM Changeset in webkit [218302] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.26/trunk

Tag Safari-604.1.26.

6:27 PM Changeset in webkit [218301] by matthew_hanson@apple.com
  • 7 edits in branches/safari-604.1.25.3-branch/Source

Versioning.

6:01 PM Changeset in webkit [218300] by dino@apple.com
  • 6 edits
    1 copy
    1 move
    3 adds in trunk

Restrict filtered painting across cross-origin boundaries with transforms
https://bugs.webkit.org/show_bug.cgi?id=173388
<rdar://problem/27362159>

Reviewed by Simon Fraser.

Source/WebCore:

Make sure all cases of LayerPaintingInfo maintain the security
flag. In this case there was only one new place, and since
everything is scalar, there was no need for a real copy constructor.

Test: http/tests/css/filters-on-iframes-transform.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerByApplyingTransform): Make sure the cross
origin flag is used in the call to paint the layer children.

  • rendering/RenderLayer.h: Fix some typos.

LayoutTests:

New test that checks painting across a origin boundary when in
a transformed container. Also clean up the existing test
to make it smfr-compliant (green is good, red is bad).

  • http/tests/css/filters-on-iframes-expected.html:
  • http/tests/css/filters-on-iframes-transform-expected.html: Added.
  • http/tests/css/filters-on-iframes-transform.html: Added.
  • http/tests/css/filters-on-iframes.html:
  • http/tests/css/resources/references-external-green.html: Copied from LayoutTests/http/tests/css/resources/references-external.html.
  • http/tests/css/resources/references-external-red.html: Renamed from LayoutTests/http/tests/css/resources/references-external.html.
  • http/tests/css/resources/solid-green.html: Added.
5:39 PM Changeset in webkit [218299] by commit-queue@webkit.org
  • 21 edits
    1 delete in trunk

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

API test fails on iOS (Requested by alexchristensen on
#webkit).

Reverted changeset:

"Add SPI for immediate injection of user scripts"
https://bugs.webkit.org/show_bug.cgi?id=173342
http://trac.webkit.org/changeset/218285

5:36 PM Changeset in webkit [218298] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: SVG files and favicon don't display properly
https://bugs.webkit.org/show_bug.cgi?id=173389
<rdar://problem/32774281>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ImageResourceContentView.css:

(.content-view.resource.image img):
Don't set a min-width as it has odd interactions with flexbox.

5:24 PM Changeset in webkit [218297] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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

"The previous rollout of r218263, r218265, and r218266 by
mlewis13 on bug 173383 missed r218267 and broke the GTK+
build" (Requested by clopez_ on #webkit).

Reverted changeset:

"[GTK] Use API::InjectedBundle::ResourceLoadClient in
WebKitWebPage"
https://bugs.webkit.org/show_bug.cgi?id=173364
http://trac.webkit.org/changeset/218267

4:39 PM Changeset in webkit [218296] by matthew_hanson@apple.com
  • 7 edits in trunk/Source

Versioning.

3:49 PM Changeset in webkit [218295] by Chris Dumez
  • 11 edits
    1 add in trunk

WebKit falsely reports that a web process is unresponsive if you close a page shortly after stopping a load
https://bugs.webkit.org/show_bug.cgi?id=173384
<rdar://problem/32723779>

Reviewed by Dan Bernstein.

Source/WebKit2:

WebKit falsely reports that a web process is unresponsive if you close a page shortly after stopping a load.
This is because WebPageProxy::stopLoad() starts the responsiveness timer and expects a StopResponsinessTimer
IPC from the WebProcess to stop the timer so we don't report the process as unresponsive. However, if
WebPageProxy::close() is called before the StopResponsinessTimer IPC has been received, the page will remove
itself from the message receiver map and we would no longer be able to receive the StopResponsinessTimer
IPC and stop the timer, even if the WebProcess sent it to the UIProcess.

To address the issue, we now send the IPC Message to the WebProcessProxy instead of the WebPageProxy, so we
can stop the responsiveness timer, even after the WebPageProxy has been called.

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

(WebKit::WebProcessProxy::stopResponsivenessTimer):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::SendStopResponsivenessTimer::~SendStopResponsivenessTimer):
(WebKit::WebPage::tryClose):
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::stopLoading):
(WebKit::WebPage::reload):
(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Added.

Add API test coverage.

  • TestWebKitAPI/cocoa/UtilitiesCocoa.mm:

(TestWebKitAPI::Util::sleep):
Update implementation of Util::sleep() so that we actually run the run loop.
Otherwise, we don't process events while sleeping.

3:19 PM Changeset in webkit [218294] by commit-queue@webkit.org
  • 16 edits
    2 deletes in trunk/Source/WebKit2

Unreviewed, rolling out r218263, r218265, and r218266.
https://bugs.webkit.org/show_bug.cgi?id=173383

"These revisions caused multiple API test to Time out on
macOS" (Requested by mlewis13 on #webkit).

Reverted changesets:

"Add API::InjectedBundle::Client"
https://bugs.webkit.org/show_bug.cgi?id=173357
http://trac.webkit.org/changeset/218263

"[GTK] Use API::InjectedBundle::Client in WebKitWebExtension"
https://bugs.webkit.org/show_bug.cgi?id=173358
http://trac.webkit.org/changeset/218265

"Add API::InjectedBundle::ResourceLoadClient"
https://bugs.webkit.org/show_bug.cgi?id=173362
http://trac.webkit.org/changeset/218266

3:17 PM Changeset in webkit [218293] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 33

Added a tag for Safari Technology Preview release 33.

2:06 PM Changeset in webkit [218292] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit2

[WK2][iOS] Remove dead-code "import "removed-dev-nodes.sb” from sandboxes (173378)
https://bugs.webkit.org/show_bug.cgi?id=173378
<rdar://problem/32773230>

Reviewed by Alexey Proskuryakov.

Clean up the sandboxes to remove a couple of dead functions (and imports):

  1. Remove the import "removed-dev-nodes.sb" from the sandbox, since this file is now empty.
  2. Also remove the call to "instruments-support" as this is a no-op function in modern iOS.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
1:47 PM Changeset in webkit [218291] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

Video flashes black when switching back to a tab https://www.apple.com/homepod/
https://bugs.webkit.org/show_bug.cgi?id=173377

Reviewed by Eric Carlson.

Previously, we had set the background color of the video layer to black in order to make the rect
occupied by the HTMLMediaElement fully opaque. This worked around a graphics corruption bug. Since
then, the code in RenderVideo::foregroundIsKnownToBeOpaqueInRect(...) has been fixed to fully account
for whether the HTMLMediaElement has a valid frame to display, making the black layer background
unnecessary.

Remove all the instances where we were setting the background color of the video layer to black.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):

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

(WebCore::VideoFullscreenLayerManager::setVideoLayer):
(WebCore::VideoFullscreenLayerManager::setVideoFullscreenLayer):

1:15 PM Changeset in webkit [218290] by jfbastien@apple.com
  • 1 edit
    3 deletes in trunk/JSTests

WebAssembly: remove empty test files

1:12 PM Changeset in webkit [218289] by matthew_hanson@apple.com
  • 4 edits
    3 deletes in tags/Safari-604.1.26

Revert r218157. rdar://problem/32554450

1:12 PM Changeset in webkit [218288] by matthew_hanson@apple.com
  • 36 edits
    13 deletes in tags/Safari-604.1.26

Revert r218161. rdar://problem/21125708

1:01 PM Changeset in webkit [218287] by Matt Lewis
  • 36 edits
    13 deletes in trunk

Unreviewed, rolling out r218161.

Introduced bot API test failures and Layout Test Failures.

Reverted changeset:

"[Cocoa] Expand system-ui to include every item in the Core
Text cascade list"
https://bugs.webkit.org/show_bug.cgi?id=173043
http://trac.webkit.org/changeset/218161

1:00 PM Changeset in webkit [218286] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.26

Tag Safari-604.1.26.

12:51 PM Changeset in webkit [218285] by commit-queue@webkit.org
  • 21 edits
    1 add in trunk

Add SPI for immediate injection of user scripts
https://bugs.webkit.org/show_bug.cgi?id=173342
<rdar://problem/29202285>

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

Source/WebCore:

The new SPI is WKUserContentController._addUserScriptImmediately.
It is covered by new API tests.

  • page/Frame.cpp:

(WebCore::Frame::injectUserScripts):
(WebCore::Frame::injectUserScriptImmediately):
Move injection functionality to allow us to call it directly from the new SPI.

  • page/Frame.h:
  • page/Page.cpp:

(WebCore::Page::forEachPage):

  • page/Page.h:

Source/WebKit2:

  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserScript):

  • UIProcess/API/C/WKUserContentControllerRef.cpp:

(WKUserContentControllerAddUserScript):

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addUserScript:]):
(-[WKUserContentController _addUserScriptImmediately:]):

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addUserScript):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserScripts):
(WebKit::WebUserContentController::addUserScriptInternal):
If we are to inject the script internally, inject it into the appropriate pages.
If we're injecting into the top frame only, there's no need to traverse the frame tree.
(WebKit::WebUserContentController::addUserScript):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_cpuLimit):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:

(waitForMessage):
(TEST):

12:36 PM Changeset in webkit [218284] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Crash in WebCore::RenderStyle::colorIncludingFallback.
https://bugs.webkit.org/show_bug.cgi?id=173347
<rdar://problem/32675317>

Reviewed by Chris Dumez.

Source/WebCore:

Starting an SVG image animation synchronously might trigger recursive style recalc.
We should kick off the animation on a zero timer to reduce callstack complexity.

Test: svg/as-image/svg-css-animation.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didAddClient):

  • platform/graphics/Image.cpp:

(WebCore::Image::Image):
(WebCore::Image::startAnimationAsynchronously):

  • platform/graphics/Image.h:

LayoutTests:

  • svg/animations/animated-svg-image-removed-from-document-paused.html: animations are not started synchronously anymore.
  • svg/as-image/svg-css-animation-expected.txt: Added.
  • svg/as-image/svg-css-animation.html: Added.
12:21 PM Changeset in webkit [218283] by Claudio Saavedra
  • 5 edits in trunk/Tools

Add WPE to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=173365

Reviewed by Carlos Alberto Lopez Perez.

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(resetGlobals):

  • TestResultServer/static-dashboards/loader_unittests.js:
12:20 PM Changeset in webkit [218282] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebKit2

Cherry-pick r218206. rdar://problem/32751025

12:20 PM Changeset in webkit [218281] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebKit2

Cherry-pick r218187. rdar://problem/32751025

12:20 PM Changeset in webkit [218280] by matthew_hanson@apple.com
  • 3 edits in branches/safari-603-branch/Source/WebKit/win

<rdar://problem/32585333> SUIsottaGasket 5G21 / Jordan 6A96: WebKit-7603.3.4 fails to build: error LNK2001: unresolved external symbol allowsPageCacheWithWindowOpener

12:20 PM Changeset in webkit [218279] by Matt Lewis
  • 1 edit
    2 moves
    1 add in trunk/LayoutTests

Fixed typo error for re-baselined editing/execCommand/strikethrough-uses-strike-tag.html.
https://bugs.webkit.org/show_bug.cgi?id=173375

Unreviewed test gardening.

  • platform/mac-wk1/editing/execCommand/strikethrough-uses-strike-tag-expected.txt: Renamed from LayoutTests/platform/mac-wk1/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt.
  • platform/win/editing/execCommand/strikethrough-uses-strike-tag-expected.txt: Renamed from LayoutTests/platform/win/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt.
12:17 PM Changeset in webkit [218278] by beidson@apple.com
  • 4 edits
    1 add in trunk

WKIconLoadingDelegate never gets asked about the default favicon if touch/touch-precomposed icons are in the <head>
<rdar://problem/32614328> and https://bugs.webkit.org/show_bug.cgi?id=173376

Reviewed by Alex Christensen.

Source/WebCore:

Covered by new API test

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startIconLoading): Previously we applied the default favicon if the set of LinkIcons was empty.

Now, apply the default favicon if the set of LinkIcons contains no explicit favicon.

Tools:

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

(-[IconLoadingDelegate webView:shouldLoadIconWithParameters:completionHandler:]):
(-[IconLoadingSchemeHandler initWithData:mimeType:]):
(-[IconLoadingSchemeHandler webView:startURLSchemeTask:]):
(-[IconLoadingSchemeHandler webView:stopURLSchemeTask:]):
(TEST):

11:42 AM Changeset in webkit [218277] by Chris Dumez
  • 6 edits in trunk/LayoutTests

transitions/created-while-suspended.html is slow and flaky
https://bugs.webkit.org/show_bug.cgi?id=173370

Reviewed by Zalan Bujtas.

The test was waiting 8 seconds at the end, unnecessarily.
Instead, end the test as soon as the transition ends, after resuming
the animations.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • transitions/created-while-suspended-expected.txt:
  • transitions/created-while-suspended.html:
11:22 AM Changeset in webkit [218276] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

WKContentViewEditingActions API test always fails
https://bugs.webkit.org/show_bug.cgi?id=173374

Reviewed by Wenson Hsieh.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm:

(TEST):
selectAll isn't working, because canPerformAction for selectAll returns NO
if selectionIsNone (which is true in the non-contenteditable case).
Instead, make use of r218180's test page, which knows how to select itself.
Also, reset the pasteboard at the beginning of the test to reduce confusion
(I landed the test broken because my simulator had the correct text
stuck in its pasteboard).

11:15 AM Changeset in webkit [218275] by Jonathan Bedard
  • 13 edits
    1 move in trunk

Configure screen scale for running layout tests on plus devices
https://bugs.webkit.org/show_bug.cgi?id=173319

Reviewed by Tim Horton.

Source/WebKit2:

  • Platform/spi/ios/UIKitSPI.h: Both this and UIKitTestSPI.h define UIKeyboard. Use

a define guard to prevent re-definition.

Tools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Include UIKitTestSPI.h in project.
  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpRenderTree): Set screen scale to 2.0.

  • TestRunnerShared/spi/UIKitTestSPI.h: Copied from Tools/WebKitTestRunner/ios/UIKitSPI.h,

add _setScale for UIScreen.

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Include UIKitTestSPI.h in project.
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: Import UIKitTestSPI.h instead of UIKitSPI.h.
  • WebKitTestRunner/ios/HIDEventGenerator.h: Ditto.
  • WebKitTestRunner/ios/HIDEventGenerator.mm: Ditto.
  • WebKitTestRunner/ios/PlatformWebViewIOS.mm: Ditto.
  • WebKitTestRunner/ios/TestControllerIOS.mm: Ditto.

(WTR::TestController::platformInitialize): Set screen scale to 2.0.

  • WebKitTestRunner/ios/UIKitSPI.h: Moved to TestRunnerShared/spi/UIKitTestSPI.h.
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm: Import UIKitTestSPI.h instead of UIKitSPI.h.
  • WebKitTestRunner/ios/mainIOS.mm: Ditto.
11:14 AM Changeset in webkit [218274] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout Test media/modern-media-controls/placard-support/placard-support-pip.html is failing
https://bugs.webkit.org/show_bug.cgi?id=173373

Patch by Antoine Quint <Antoine Quint> on 2017-06-14
Reviewed by Antoine Quint.

  • platform/mac/TestExpectations:
11:12 AM Changeset in webkit [218273] by Matt Lewis
  • 1 edit
    4 adds in trunk/LayoutTests

Rebaselined editing/execCommand/strikethrough-uses-strike-tag.html.
https://bugs.webkit.org/show_bug.cgi?id=173375

Unreviewed test gardening.

  • platform/mac-wk1/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt: Added.
  • platform/win/editing/exeCommand/strikethrough-uses-strike-tag-expected.txt: Added.
11:09 AM Changeset in webkit [218272] by Claudio Saavedra
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION: 15 new jsc failures in WPE and GTK+
https://bugs.webkit.org/show_bug.cgi?id=173349

Reviewed by JF Bastien.

Recent changes to generateWasm.py are not accounted for from
CMake, which leads to WasmOps.h not being regenerated in partial
builds. Make generateWasm.py an additional dependency.

  • CMakeLists.txt:
11:07 AM Changeset in webkit [218271] by ap@apple.com
  • 3 edits
    4 adds in trunk/Tools

Add iOS 11 support to the bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=173369

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
10:58 AM Changeset in webkit [218270] by clopez@igalia.com
  • 4 edits
    1 copy in trunk/Tools

[GTK][WPE] Raise the timeout values for layout tests
https://bugs.webkit.org/show_bug.cgi?id=173368

Reviewed by Carlos Garcia Campos.

Raise the values to 15 seconds in Release builds and 30 seconds (2x) in Debug builds.
When running under valgrind a 10x multiplier is applied.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.default_timeout_ms):

  • Scripts/webkitpy/port/gtk_unittest.py:

(GtkPortTest.test_default_timeout_ms):

  • Scripts/webkitpy/port/wpe.py:

(WPEPort.default_timeout_ms):

  • Scripts/webkitpy/port/wpe_unittest.py: Copied from Tools/Scripts/webkitpy/port/gtk_unittest.py.

(WPEPortTest):
(WPEPortTest.make_port):
(WPEPortTest.test_default_timeout_ms):
(WPEPortTest.test_get_crash_log):

10:56 AM Changeset in webkit [218269] by achristensen@apple.com
  • 2 edits in trunk/Tools

Test persistent WKHTTPCookieStorages on iOS.
https://bugs.webkit.org/show_bug.cgi?id=173284

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:

(TEST):
Make the bots green again for now. There's still a problem, and I'll investigate and fix.

10:32 AM Changeset in webkit [218268] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

Flaky Test: media/media-source/media-source-unnecessary-seek-seeked.html
https://bugs.webkit.org/show_bug.cgi?id=173344

Reviewed by Eric Carlson.

Separate the concept of "the page has asked us to seek" from "we have asked the
media player to seek". When the media engine tells us its ready state has changed
after the page has requested a seek, but before the media element has asked its
player to perform the seek, we were previously firing a seeked event. Now we'll
check this new ivar and see that we aren't expecting a seek to finish yet.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::finishSeek):
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):

  • html/HTMLMediaElement.h:
10:22 AM Changeset in webkit [218267] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use API::InjectedBundle::ResourceLoadClient in WebKitWebPage
https://bugs.webkit.org/show_bug.cgi?id=173364

Reviewed by Michael Catanzaro.

Instead of the C API.

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

(webkitWebPageCreate):
(didInitiateLoadForResource): Deleted.
(willSendRequestForFrame): Deleted.
(didReceiveResponseForResource): Deleted.
(didReceiveContentLengthForResource): Deleted.
(didFinishLoadForResource): Deleted.
(didFailLoadForResource): Deleted.

10:10 AM Changeset in webkit [218266] by Carlos Garcia Campos
  • 9 edits
    1 copy in trunk/Source/WebKit2

Add API::InjectedBundle::ResourceLoadClient
https://bugs.webkit.org/show_bug.cgi?id=173362

Reviewed by Alex Christensen.

It will be used by the GTK+ port instead of the C API.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h.

(API::InjectedBundle::ResourceLoadClient::didInitiateLoadForResource):
(API::InjectedBundle::ResourceLoadClient::willSendRequestForFrame):
(API::InjectedBundle::ResourceLoadClient::didReceiveResponseForResource):
(API::InjectedBundle::ResourceLoadClient::didReceiveContentLengthForResource):
(API::InjectedBundle::ResourceLoadClient::didFinishLoadForResource):
(API::InjectedBundle::ResourceLoadClient::didFailLoadForResource):
(API::InjectedBundle::ResourceLoadClient::shouldCacheResponse):
(API::InjectedBundle::ResourceLoadClient::shouldUseCredentialStorage):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetResourceLoadClient):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(setUpResourceLoadClient):
(-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):

  • WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:

(WebKit::InjectedBundlePageResourceLoadClient::InjectedBundlePageResourceLoadClient):
(WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
(WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):

  • WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
(WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
(WebKit::WebFrameLoaderClient::willCacheResponse):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setInjectedBundleResourceLoadClient):
(WebKit::WebPage::close):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::injectedBundleResourceLoadClient):

9:45 AM Changeset in webkit [218265] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use API::InjectedBundle::Client in WebKitWebExtension
https://bugs.webkit.org/show_bug.cgi?id=173358

Reviewed by Michael Catanzaro.

Instead of the C API.

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

(webkitWebExtensionCreate):
(webkitWebExtensionPageCreated): Deleted.
(webkitWebExtensionPageDestroy): Deleted.
(webkitWebExtensionDidReceiveMessage): Deleted.
(didCreatePage): Deleted.
(willDestroyPage): Deleted.
(didReceiveMessage): Deleted.
(didReceiveMessageToPage): Deleted.

9:40 AM Changeset in webkit [218264] by Matt Lewis
  • 4 edits
    3 deletes in trunk

Unreviewed, rolling out r218157.

This patch caused multiple API failures on iOS Simulator.

Reverted changeset:

"@font-face rules with invalid primary fonts never download
their secondary fonts"
https://bugs.webkit.org/show_bug.cgi?id=173138
http://trac.webkit.org/changeset/218157

9:37 AM Changeset in webkit [218263] by Carlos Garcia Campos
  • 9 edits
    1 copy in trunk/Source/WebKit2

Add API::InjectedBundle::Client
https://bugs.webkit.org/show_bug.cgi?id=173357

Reviewed by Alex Christensen.

It will be used by the GTK+ port instead of the C API.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/APIInjectedBundleBundleClient.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleClient.h.

(API::InjectedBundle::Client::didCreatePage):
(API::InjectedBundle::Client::willDestroyPage):
(API::InjectedBundle::Client::didInitializePageGroup):
(API::InjectedBundle::Client::didReceiveMessage):
(API::InjectedBundle::Client::didReceiveMessageToPage):

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetClient):

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

(webkitWebExtensionPageCreated): Deleted.
(webkitWebExtensionPageDestroy): Deleted.
(webkitWebExtensionDidReceiveMessage): Deleted.
(didCreatePage): Deleted.
(willDestroyPage): Deleted.
(didReceiveMessage): Deleted.
(didReceiveMessageToPage): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setClient):
(WebKit::InjectedBundle::didCreatePage):
(WebKit::InjectedBundle::willDestroyPage):
(WebKit::InjectedBundle::didInitializePageGroup):
(WebKit::InjectedBundle::didReceiveMessage):
(WebKit::InjectedBundle::didReceiveMessageToPage):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/InjectedBundleClient.cpp:

(WebKit::InjectedBundleClient::InjectedBundleClient):
(WebKit::InjectedBundleClient::didCreatePage):
(WebKit::InjectedBundleClient::willDestroyPage):
(WebKit::InjectedBundleClient::didInitializePageGroup):
(WebKit::InjectedBundleClient::didReceiveMessage):
(WebKit::InjectedBundleClient::didReceiveMessageToPage):

  • WebProcess/InjectedBundle/InjectedBundleClient.h:
9:24 AM Changeset in webkit [218262] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use API::InjectedBundleClient in WebKitInjectedBundleClient
https://bugs.webkit.org/show_bug.cgi?id=173351

Reviewed by Michael Catanzaro.

Instead of the C API.

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(attachInjectedBundleClientToContext):
(didReceiveWebViewMessageFromInjectedBundle): Deleted.
(didReceiveMessageFromInjectedBundle): Deleted.
(getInjectedBundleInitializationUserData): Deleted.

9:21 AM Changeset in webkit [218261] by Carlos Garcia Campos
  • 8 edits
    1 copy in trunk/Source/WebKit2

Add API::InjectedBundleClient
https://bugs.webkit.org/show_bug.cgi?id=173350

Reviewed by Alex Christensen.

It will be used by the GTK+ port instead of the C API.

  • UIProcess/API/APIInjectedBundleClient.h: Copied from Source/WebKit2/UIProcess/WebContextInjectedBundleClient.h.

(API::InjectedBundleClient::didReceiveMessageFromInjectedBundle):
(API::InjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
(API::InjectedBundleClient::getInjectedBundleInitializationUserData):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetInjectedBundleClient):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextDispose):

  • UIProcess/WebContextInjectedBundleClient.cpp:

(WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient):
(WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
(WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
(WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):

  • UIProcess/WebContextInjectedBundleClient.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::setInjectedBundleClient):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::handleMessage):
(WebKit::WebProcessPool::handleSynchronousMessage):

  • UIProcess/WebProcessPool.h:
  • WebKit2.xcodeproj/project.pbxproj:
9:17 AM Changeset in webkit [218260] by Carlos Garcia Campos
  • 8 edits
    1 copy in trunk/Source/WebKit2

Add API::NotificationProvider
https://bugs.webkit.org/show_bug.cgi?id=173309

Reviewed by Alex Christensen.

It will be used by the GTK+ port instead of the C API.

  • UIProcess/API/APINotificationProvider.h: Copied from Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.h.

(API::NotificationProvider::show):
(API::NotificationProvider::cancel):
(API::NotificationProvider::didDestroyNotification):
(API::NotificationProvider::clearNotifications):
(API::NotificationProvider::addNotificationManager):
(API::NotificationProvider::removeNotificationManager):
(API::NotificationProvider::notificationPermissions):

  • UIProcess/API/C/WKNotificationManager.cpp:

(WKNotificationManagerSetProvider):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
(WebKit::WebNotificationManagerProxy::setProvider):
(WebKit::WebNotificationManagerProxy::processPoolDestroyed):
(WebKit::WebNotificationManagerProxy::notificationPermissions):
(WebKit::WebNotificationManagerProxy::show):
(WebKit::WebNotificationManagerProxy::cancel):
(WebKit::WebNotificationManagerProxy::didDestroyNotification):
(WebKit::WebNotificationManagerProxy::clearNotifications):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/Notifications/WebNotificationProvider.cpp:

(WebKit::WebNotificationProvider::WebNotificationProvider):
(WebKit::WebNotificationProvider::show):
(WebKit::WebNotificationProvider::cancel):
(WebKit::WebNotificationProvider::didDestroyNotification):
(WebKit::WebNotificationProvider::addNotificationManager):
(WebKit::WebNotificationProvider::removeNotificationManager):
(WebKit::WebNotificationProvider::notificationPermissions):

  • UIProcess/Notifications/WebNotificationProvider.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):

  • WebKit2.xcodeproj/project.pbxproj:
9:13 AM Changeset in webkit [218259] by Carlos Garcia Campos
  • 13 edits in trunk/Source/WebKit2

API clients should not be passed by value to the setters
https://bugs.webkit.org/show_bug.cgi?id=173266

Reviewed by Alex Christensen.

By using a rvalue reference we make it more explicit that the ownership is transferred and we avoid the
parameter construction.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::setClient):

  • UIProcess/Automation/WebAutomationSession.h:
  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::setProvider):

  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::setClient):

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

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setHistoryClient):
(WebKit::WebPageProxy::setNavigationClient):
(WebKit::WebPageProxy::setLoaderClient):
(WebKit::WebPageProxy::setPolicyClient):
(WebKit::WebPageProxy::setFormClient):
(WebKit::WebPageProxy::setUIClient):
(WebKit::WebPageProxy::setIconLoadingClient):
(WebKit::WebPageProxy::setFindClient):
(WebKit::WebPageProxy::setFindMatchesClient):
(WebKit::WebPageProxy::setDiagnosticLoggingClient):
(WebKit::WebPageProxy::setContextMenuClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::setFullscreenClient):
(WebKit::WebPageProxy::getLoadDecisionForIcon):

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

(WebKit::WebProcessPool::setHistoryClient):
(WebKit::WebProcessPool::setDownloadClient):
(WebKit::WebProcessPool::setAutomationClient):

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

(WebKit::WebPage::setInjectedBundleContextMenuClient):
(WebKit::WebPage::setInjectedBundleEditorClient):
(WebKit::WebPage::setInjectedBundleFormClient):
(WebKit::WebPage::setInjectedBundlePageLoaderClient):
(WebKit::WebPage::setInjectedBundleUIClient):

  • WebProcess/WebPage/WebPage.h:
9:01 AM Changeset in webkit [218258] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[Win64] Fails to build Asm.lib (PaintHooks.asm) since Bug 173132
https://bugs.webkit.org/show_bug.cgi?id=173308

Patch by Fujii Hironori <Fujii Hironori> on 2017-06-14
Reviewed by Alex Christensen.

Use the same method to process asm file as well as JSC does (Bug 170833).

  • PlatformWin.cmake: Use add_custom_command to assemble PaintHooks.asm.
8:40 AM Changeset in webkit [218257] by Chris Dumez
  • 3 edits
    4 adds in trunk

REGRESSION (r217997): mint.com header renders incorrectly when initially loaded
https://bugs.webkit.org/show_bug.cgi?id=173302
<rdar://problem/32731747>

Reviewed by Darin Adler.

Source/WebCore:

r217997 updated ImplicitAnimation::reset() to not call updateStateMachine(AnimationStateInput::RestartAnimation)
if the compositeAnimation is suspended. If the compositeAnimation is suspended, we would call
updateStateMachine(AnimationStateInput::AnimationStateInput::PlayStatePaused), which was expected to be a no-op.
This was needed because otherwise, changing the style of the animated element would restart the animation
even though it was supposed to be suspended. One thing I did not realize is that calling
updateStateMachine(AnimationStateInput::AnimationStateInput::PlayStatePaused) on an animation that is already
in PausedNew state, will cause it to move to PausedWaitResponse state. This is an issue because upon resuming
we would call AnimationBase::updatePlayState(AnimPlayStatePlaying) which would return early because
AnimationBase::paused() would return false. To address the issue, we no longer call updateStateMachine(PlayStatePaused)
in ImplicitAnimation::reset() when the compositeAnimation is suspended, so that the animation stays in
PausedNew state until we resume. When we resume, AnimationBase::paused() returns false and we actually resume
the animation.

Tests:
fast/animation/css-animation-resuming-when-visible-with-style-change.html
fast/animation/css-animation-resuming-when-visible-with-style-change2.html

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::reset):

LayoutTests:

Add layout test coverage. We change the style of the animated element while the animation is paused,
and then we resume the animations.

  • fast/animation/css-animation-resuming-when-visible-with-style-change-expected.txt: Added.
  • fast/animation/css-animation-resuming-when-visible-with-style-change.html: Added.
  • fast/animation/css-animation-resuming-when-visible-with-style-change2-expected.txt: Added.
  • fast/animation/css-animation-resuming-when-visible-with-style-change2.html: Added.
8:15 AM Changeset in webkit [218256] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Win] WebKit fails to paint the bottom lines of the window at 125% scale.
https://bugs.webkit.org/show_bug.cgi?id=173318

Reviewed by Darin Adler.

The logical frame size is currently calculated by scaling the frame size in pixels,
and rounding the coordinates to the nearest integers. The computed logical frame
size will in some cases be smaller than the scaled frame size in pixels, since it is
represented as an IntSize. In these cases, the bottom line will not be painted.
Instead of calculating the logical frame size by rounding the scaled frame in
pixels, find the enclosing rectangle of the scaled frame rectangle in pixels.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::transitionToCommittedForNewPage):

7:56 AM Changeset in webkit [218255] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] DRT should not use disk cache.
https://bugs.webkit.org/show_bug.cgi?id=173361

Reviewed by Darin Adler.

Like on macOS/iOS, DRT on Windows should only use memory cache.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(setDefaultsToConsistentValuesForTesting):
(prepareConsistentTestingEnvironment):

5:58 AM Changeset in webkit [218254] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437

Unreviewed test gardening, update test expectations for failing tests.

  • platform/win/TestExpectations:
4:23 AM Changeset in webkit [218253] by magomez@igalia.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r216901): ImageDecoders: rendering of large images is broken since r216901
https://bugs.webkit.org/show_bug.cgi?id=172502

Reviewed by Carlos Garcia Campos.

When using GTK and WPE image decoders, the decoded frames are stored inside a Vector of
ImageFrames inside the decoders. These ImageFrames have and ImageBackingStore with the
pixels. When a NativeImagePtr is requested, a cairo surface is created from the data
in those ImageBackingStores, but the data keeps being owned by the backing stores. Due
to this, if the decoder that created the image gets destroyed, the backing stores for
the decoded frames get destroyed as well, causing the cairo surfaces that were using
that data to contain garbage (and potentially cause a crash).

To fix this, we change ImageBackingStore so the pixels are stored in a SharedBuffer. The
buffer will be reffed everytime a cairo surface is created with it, and the cairo surfaces
will unref the buffer when they are destroyed. This way, the pixel data won't be freed
while there are cairo surfaces using it.

No new tests, no behaviour change.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::ImageBackingStore):

  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image):

4:12 AM Changeset in webkit [218252] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[WPE] IndexedDB gardening

Unreviewed gardening.

Mark a few expected crashers. We don't use IndexedDB in workers,
storage/indexeddb/modern/worker-getall.html is expected to fail.
storage/indexeddb/modern/idbkey-array-equality.html is now passing.

  • platform/wpe/TestExpectations:
3:49 AM Changeset in webkit [218251] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use API::InjectedBundle::EditorClient in WebKitWebEditor
https://bugs.webkit.org/show_bug.cgi?id=173355

Reviewed by Žan Doberšek.

Instead of the C API.

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

(webkitWebEditorCreate):
(didChangeSelection): Deleted.

3:41 AM Changeset in webkit [218250] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build with GCC 4.9 after r218244.

It seems that GCC 4.9 gets confused by enum named General and value of Print enum named General too. This
renames the Print enum value as Generic.

  • Shared/API/APIError.h:
  • Shared/gtk/WebErrorsGtk.cpp:

(WebKit::printError):

  • UIProcess/API/gtk/WebKitPrivate.cpp:

(toWebKitError):
(toWebCoreError):

3:06 AM Changeset in webkit [218249] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[WPE] Rebaseline imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess.html

Unreviewed gardening.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess-expected.txt:
1:56 AM Changeset in webkit [218248] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[GStreamer] Align GstBus signal watch priorities with RunLoop dispatches
https://bugs.webkit.org/show_bug.cgi?id=173348

Reviewed by Carlos Garcia Campos.

When adding GstBus signal watches, use the gst_bus_add_signal_watch_full()
function to also specify the GLib priority that's used for the underlying
GSource object.

RunLoopSourcePriority::RunLoopDispatcher should be a good priority value
to use here, matching the RunLoop::dispatch() priority that's e.g. used
in the MainThreadNotifier class.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):

1:44 AM Changeset in webkit [218247] by nael.ouedraogo@crf.canon.fr
  • 10 edits in trunk

MediaSource duration attribute should not be equal to Infinity when set to a value greater than 264
https://bugs.webkit.org/show_bug.cgi?id=171668

Reviewed by Jer Noble.

MediaSource duration attribute is a double represented in MediaSource by a MediaTime instance created with
MediaTime::CreateWithDouble(). This method implements an overflow control mechanism which sets MediaTime to
Infinity when the double value passed as argument is greater than 264.

This patch removes the overflow control mechanism when time value is represented as a double. This patch also
modifies the behavior of mathematical operations between a double MediaTime and rational MediaTime: the rational
MediaTime is converted to a double before applying the operation. Double MediaTime precision is the same as for
double. Overflow mechanisms still apply to the conversion of a double MediaTime to rational with setTimescale()
method. No behavior change for rational MediaTime.

LayoutTests/imported/w3c:

Update test expectations.

  • web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt:

Source/WTF:

  • wtf/MediaTime.cpp:

(WTF::MediaTime::createWithFloat):
(WTF::MediaTime::createWithDouble):
(WTF::MediaTime::operator+):
(WTF::MediaTime::operator-):

Tools:

  • TestWebKitAPI/Tests/WTF/MediaTime.cpp: Add tests to check operation results between double and rational MediaTime.

(TestWebKitAPI::TEST):

LayoutTests:

Update test expectations.

  • media/media-source/media-source-timeoffset-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt:
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt:
12:04 AM Changeset in webkit [218246] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaStream iOS] Back camera view rendered upside down when in portrait mode
https://bugs.webkit.org/show_bug.cgi?id=173346
<rdar://problem/32713675>

Reviewed by Youenn Fablet.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::computeSampleRotation): Use different rotations for front and
back cameras when device is in portrait orientation.

Jun 13, 2017:

11:59 PM Changeset in webkit [218245] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WTF

[GTK][WPE] Use CMAKE_THREAD_LIBS_INIT in WTF platform CMake files
https://bugs.webkit.org/show_bug.cgi?id=173310

Reviewed by Xabier Rodriguez-Calvar.

In the WTF platform CMake files for the GTK+ and WPE ports, use the
CMAKE_THREAD_LIBS_INIT variable to specify the threading library we
should be linking against. On some platforms this variable will be
empty because the given compiler will automatically handle the -pthread
compiler flag and sort out linking on its own.

The same approach is already used for the JSCOnly configuration.

  • wtf/PlatformGTK.cmake:
  • wtf/PlatformWPE.cmake:
11:31 PM Changeset in webkit [218244] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

Do not mix C and C++ API error constants
https://bugs.webkit.org/show_bug.cgi?id=173311

Reviewed by Alex Christensen.

In r214934 I added error constants to API::Error, but not for all errors exposed in the C API. Because of this
we are mixing both constants in WebErrors and in GTk+ WebKitPrivate.

  • Shared/API/APIError.h:
  • Shared/WebErrors.cpp:

(WebKit::blockedError):
(WebKit::blockedByContentBlockerError):
(WebKit::cannotShowURLError):
(WebKit::interruptedForPolicyChangeError):
(WebKit::blockedByContentFilterError):
(WebKit::cannotShowMIMETypeError):
(WebKit::pluginWillHandleLoadError):
(WebKit::internalError):

  • UIProcess/API/gtk/WebKitPrivate.cpp:

(toWebKitError):
(toWebCoreError):

9:55 PM Changeset in webkit [218243] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console: Message icons overlay source location
https://bugs.webkit.org/show_bug.cgi?id=173291

Reviewed by Matt Baker.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message-location.call-frame):
This should be a safe change since a method name and a source link already have
max-width set to 20vw and 30vw respectively.

8:48 PM Changeset in webkit [218242] by Chris Dumez
  • 5 edits
    4 adds in trunk

Event handlers should not be called in frameless documents
https://bugs.webkit.org/show_bug.cgi?id=173233

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline W3C test now that it is passing.

  • web-platform-tests/html/webappapis/scripting/events/uncompiled_event_handler_with_scripting_disabled-expected.txt:

Source/WebCore:

As per the HTML specification [1], for event handlers on elements, we should use the
element's document to check if scripting is disabled [2]. Scripting is considered to
be disabled if the document has no browsing context (i.e. a frame in WebKit terms).

In JSLazyEventListener::initializeJSFunction(), instead of using the element's
document to do the checks, we would use the script execution context. In most cases,
a node's document and its script execution context are the same so this is not an
issue. However, if the node's document is a document created via JS, its nodes'
script execution context will be the document's context document (i.e the one that
created the document, see implementation of Node::scriptExecutionContext()). In those
cases, using the wrong document is an issue because the document's context document
(aka script execution context) may allow scripting but we still do not want to call
the event handler because its document is frameless.

This impacts documents created by JS, using the following APIs:

  • DOMParser.parseFromHTML
  • new Document()
  • DOMImplementation.createDocument / createHTMLDocument
  • XHRs whose responseType is Document.

[1] https://html.spec.whatwg.org/multipage/webappapis.html#getting-the-current-value-of-the-event-handler (step 1.1.)
[2] https://html.spec.whatwg.org/multipage/webappapis.html#concept-n-noscript

Tests: fast/events/event-handler-detached-document-dispatchEvent.html

fast/events/event-handler-detached-document.html

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

LayoutTests:

Extend layout test coverage.

  • fast/events/event-handler-detached-document-dispatchEvent-expected.txt: Added.
  • fast/events/event-handler-detached-document-dispatchEvent.html: Added.
  • fast/events/event-handler-detached-document-expected.txt: Added.
  • fast/events/event-handler-detached-document.html: Added.
7:44 PM Changeset in webkit [218241] by graouts@webkit.org
  • 16 edits in trunk

Rebaseline media/modern-media-controls/placard-support
https://bugs.webkit.org/show_bug.cgi?id=173340

Reviewed by Dean Jackson.

Source/WebCore:

We make a source change to use a "placard" getter/setter to show or hide a placard, making it
more convenient to test whether a placard has been set.

  • Modules/modern-media-controls/controls/inline-media-controls.js:

(InlineMediaControls.prototype.get placard):
(InlineMediaControls.prototype.set placard):
(InlineMediaControls.prototype.showPlacard): Deleted.
(InlineMediaControls.prototype.hidePlacard): Deleted.

  • Modules/modern-media-controls/media/placard-support.js:

(PlacardSupport.prototype._updatePlacard):
(PlacardSupport):

LayoutTests:

We update tests to use the new "placard" property rather than "showsPlacard" which this patch removes.

  • media/modern-media-controls/placard-support/placard-support-airplay-expected.txt:
  • media/modern-media-controls/placard-support/placard-support-airplay.html:
  • media/modern-media-controls/placard-support/placard-support-error-expected.txt:
  • media/modern-media-controls/placard-support/placard-support-error-recover-expected.txt:
  • media/modern-media-controls/placard-support/placard-support-error-recover.html:
  • media/modern-media-controls/placard-support/placard-support-error.html:
  • media/modern-media-controls/placard-support/placard-support-pip-expected.txt:
  • media/modern-media-controls/placard-support/placard-support-pip.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
7:39 PM Changeset in webkit [218240] by graouts@webkit.org
  • 3 edits
    2 moves in trunk/LayoutTests

Rebaseline media/modern-media-controls/mute-support
https://bugs.webkit.org/show_bug.cgi?id=173345

Reviewed by Dean Jackson.

  • media/modern-media-controls/mute-support/mute-support-press-on-button-expected.txt: Renamed from LayoutTests/media/modern-media-controls/mute-support/mute-support-button-click-expected.txt.
  • media/modern-media-controls/mute-support/mute-support-press-on-button.html: Renamed from LayoutTests/media/modern-media-controls/mute-support/mute-support-button-click.html.
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:30 PM Changeset in webkit [218239] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/tracks-button
https://bugs.webkit.org/show_bug.cgi?id=173220

Reviewed by Dean Jackson.

Use SVG assets.

  • media/modern-media-controls/tracks-button/tracks-button-expected.txt:
  • media/modern-media-controls/tracks-button/tracks-button.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:23 PM Changeset in webkit [218238] by graouts@webkit.org
  • 5 edits
    2 deletes in trunk/LayoutTests

Rebaseline media/modern-media-controls/time-control
https://bugs.webkit.org/show_bug.cgi?id=173218

Reviewed by Dean Jackson.

There no longer is a Scrubber class and the useSixDigitsForTimeLabels property no longer exists.

  • media/modern-media-controls/time-control/time-control-expected.txt:
  • media/modern-media-controls/time-control/time-control-use-six-digits-for-time-labels-expected.txt: Removed.
  • media/modern-media-controls/time-control/time-control-use-six-digits-for-time-labels.html: Removed.
  • media/modern-media-controls/time-control/time-control.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:22 PM Changeset in webkit [218237] by graouts@webkit.org
  • 5 edits
    2 moves
    2 deletes in trunk/LayoutTests

Rebaseline media/modern-media-controls/status-label
https://bugs.webkit.org/show_bug.cgi?id=173217

Reviewed by Dean Jackson.

There is no need for macOS and iOS-specific tests, they share the same styles.

  • media/modern-media-controls/status-label/status-label-expected.txt:
  • media/modern-media-controls/status-label/status-label-in-controls-expected.txt: Renamed from LayoutTests/media/modern-media-controls/status-label/status-label-macos-expected.txt.
  • media/modern-media-controls/status-label/status-label-in-controls.html: Renamed from LayoutTests/media/modern-media-controls/status-label/status-label-macos.html.
  • media/modern-media-controls/status-label/status-label-ios-expected.txt: Removed.
  • media/modern-media-controls/status-label/status-label-ios.html: Removed.
  • media/modern-media-controls/status-label/status-label.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:19 PM Changeset in webkit [218236] by graouts@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

Remove media/modern-media-controls/start-button
https://bugs.webkit.org/show_bug.cgi?id=173216

Reviewed by Dean Jackson.

The StartButton class was removed.

  • media/modern-media-controls/start-button/start-button-expected.txt: Removed.
  • media/modern-media-controls/start-button/start-button-styles-expected.txt: Removed.
  • media/modern-media-controls/start-button/start-button-styles.html: Removed.
  • media/modern-media-controls/start-button/start-button.html: Removed.
6:18 PM Changeset in webkit [218235] by graouts@webkit.org
  • 7 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/slider
https://bugs.webkit.org/show_bug.cgi?id=173215

Reviewed by Dean Jackson.

  • media/modern-media-controls/slider/slider-constructor-expected.txt:
  • media/modern-media-controls/slider/slider-constructor.html:
  • media/modern-media-controls/slider/slider-styles-expected.txt:
  • media/modern-media-controls/slider/slider-styles.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:16 PM Changeset in webkit [218234] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/skip-back-button
https://bugs.webkit.org/show_bug.cgi?id=173213

Reviewed by Dean Jackson.

Use SVG assets.

  • media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
  • media/modern-media-controls/skip-back-button/skip-back-button.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:12 PM Changeset in webkit [218233] by achristensen@apple.com
  • 2 edits in trunk/Tools

Test persistent WKHTTPCookieStorages on iOS
https://bugs.webkit.org/show_bug.cgi?id=173284
<rdar://problem/32260156>

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:

(TEST):

6:04 PM Changeset in webkit [218232] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Rebaseline media/modern-media-controls/time-label
https://bugs.webkit.org/show_bug.cgi?id=173219

Reviewed by Dean Jackson.

We update the content of the time-label.html test to be relevant to its new API.

  • media/modern-media-controls/time-label/time-label-expected.txt:
  • media/modern-media-controls/time-label/time-label.html:
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
6:03 PM Changeset in webkit [218231] by graouts@webkit.org
  • 7 edits
    2 moves
    1 delete in trunk

Rebaseline media/modern-media-controls/fullscreen-support
https://bugs.webkit.org/show_bug.cgi?id=173199

Reviewed by Simon Fraser.

Source/WebCore:

Test: media/modern-media-controls/fullscreen-support/fullscreen-support-press.html

We no longer need to track the "error" event for FullscreenSupport since we don't actually
enable or disable the fullscreen button when an error happens, instead the media controls
code will simply not present it since we'll be showing a placard instead.

  • Modules/modern-media-controls/media/fullscreen-support.js:

(FullscreenSupport.prototype.get mediaEvents):

LayoutTests:

We no longer need to test the "error" event for FullscreenSupport since we don't actually
enable or disable the fullscreen button when an error happens, instead the media controls
code will simply not present it since we'll be showing a placard instead.

We also remove the iPad-specific test since the fullscreen button is now accessible on an
iPhone as well, so it no longer needs a special iPad test.

  • media/modern-media-controls/fullscreen-support/fullscreen-support-enabled-expected.txt:
  • media/modern-media-controls/fullscreen-support/fullscreen-support-enabled.html:
  • media/modern-media-controls/fullscreen-support/fullscreen-support-press-expected.txt: Renamed from LayoutTests/media/modern-media-controls/fullscreen-support/fullscreen-support-click-expected.txt.
  • media/modern-media-controls/fullscreen-support/fullscreen-support-press.html: Renamed from LayoutTests/media/modern-media-controls/fullscreen-support/fullscreen-support-click.html.
  • media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap-expected.txt: Removed.
  • media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html: Removed.
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
5:36 PM Changeset in webkit [218230] by clopez@igalia.com
  • 3 edits
    2 deletes in trunk/LayoutTests

[GTK] Fix linter warnings on the GTK Debug TestExpectation file and update some expectations for Debug.

Unreviewed test gardening.

  • TestExpectations: Merge expectations for imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html
  • platform/gtk/TestExpectations: Mark observed timeouts on Debug and fix linter warnings related to tests renamed or deleted.
  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Removed.
5:32 PM Changeset in webkit [218229] by mrajca@apple.com
  • 15 edits in trunk

WebsitePolicies: let clients select specific autoplay quirks
https://bugs.webkit.org/show_bug.cgi?id=173343

Reviewed by Alex Christensen.
Source/WebCore:

Tests: Updated API tests accordingly to use new values.

Replace the 'allowsAutoplayQuirks' bool with an OptionSet so clients can selectively
pick auto-play quirks.

  • dom/Document.cpp:

(WebCore::Document::processingUserGestureForMedia):

  • html/HTMLMediaElement.cpp:

(WebCore::needsAutoplayPlayPauseEventsQuirk):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::allowedAutoplayQuirks):
(WebCore::DocumentLoader::setAllowedAutoplayQuirks):
(WebCore::DocumentLoader::allowsAutoplayQuirks): Deleted.
(WebCore::DocumentLoader::setAllowsAutoplayQuirks): Deleted.

Source/WebKit2:

Replace the 'allowsAutoplayQuirks' bool with an OptionSet so clients can selectively
pick auto-play quirks.

  • Shared/WebsitePolicies.h:

(WebKit::WebsitePolicies::encode):
(WebKit::WebsitePolicies::decode):

  • UIProcess/API/APIWebsitePolicies.h:
  • UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesSetAllowedAutoplayQuirks):
(WKWebsitePoliciesGetAllowedAutoplayQuirks):
(WKWebsitePoliciesSetAllowsAutoplayQuirks): Deleted.
(WKWebsitePoliciesGetAllowsAutoplayQuirks): Deleted.

  • UIProcess/API/C/WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:

(-[_WKWebsitePolicies setAllowedAutoplayQuirks:]):
(-[_WKWebsitePolicies allowedAutoplayQuirks]):
(-[_WKWebsitePolicies setAllowsAutoplayQuirks:]): Deleted.
(-[_WKWebsitePolicies allowsAutoplayQuirks]): Deleted.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updateWebsitePolicies):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:

(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST): Updated tests.

5:19 PM Changeset in webkit [218228] by Alan Bujtas
  • 4 edits in trunk

Synchronous media query callbacks on nested frames could produced a detached FrameView.
https://bugs.webkit.org/show_bug.cgi?id=173330

Reviewed by Simon Fraser.

Source/WebCore:

This patch fixes the crash when the nested frame's media query callback triggers navigation on the mainframe.
webkit.org/b/173329 is to track whether we should allow synchronous callback firing from FrameView::layout().

Covered by show-modal-dialog-during-execCommand.html.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

LayoutTests:

  • TestExpectations: ASSERT(frame()->view() == this) still fires due to the unexpected navigation, but we clearly

manage to recover from it. Unskip it (debug) when webkit.org/b/173329 is resolved.

5:14 PM Changeset in webkit [218227] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.25.3.1

Tag Safari-604.1.25.3.1.

5:12 PM Changeset in webkit [218226] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX[macOS]: Expose Inline property as an accessibility attribute
https://bugs.webkit.org/show_bug.cgi?id=173131
<rdar://problem/32667686>

Reviewed by Joanmarie Diggs.

Source/WebCore:

Expose whether a renderer is inline so that VoiceOver can make better use of that data when deciding what to output.

Test: accessibility/mac/inline-text-attribute.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/mac/inline-text-attribute.html: Added.
  • accessibility/mac/inline-text-attribute-expected.txt: Added.
5:10 PM Changeset in webkit [218225] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.25.4.1

Tag Safari-604.1.25.4.1.

5:10 PM Changeset in webkit [218224] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit2

Add missing availability declarations to SPI in WKUIDelegatePrivate.h
https://bugs.webkit.org/show_bug.cgi?id=173336

Reviewed by Tim Horton.

Add missing availability macros to two recently-introduced SPI delegate methods.
No change in behavior.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
4:57 PM Changeset in webkit [218223] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Debugger has unexpected effect on program correctness
https://bugs.webkit.org/show_bug.cgi?id=172683

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-06-13
Reviewed by Saam Barati.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
(InjectedScript.RemoteObject.prototype._isPreviewableObjectInternal):
(BasicCommandLineAPI):
Eliminate for..of use with Arrays from InjectedScriptSource as it can be observable.
We still use it for Set / Map iteration which we can eliminate when moving to builtins.

LayoutTests:

  • inspector/injected-script/observable-expected.txt: Added.
  • inspector/injected-script/observable.html: Added.
4:51 PM Changeset in webkit [218222] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Updated test expectations for imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg.
https://bugs.webkit.org/show_bug.cgi?id=173333

Unreviewed test gardening.

4:26 PM Changeset in webkit [218221] by Matt Lewis
  • 4 edits in trunk/LayoutTests

LayoutTests/imported/w3c:
Re-baselined imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html.
https://bugs.webkit.org/show_bug.cgi?id=173335

Unreviewed test gardening.

  • web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt:

LayoutTests:
Re-baselined imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html and fixed text expectations.
https://bugs.webkit.org/show_bug.cgi?id=173335

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:05 PM Renames edited by sam@webkit.org
(diff)
3:45 PM Changeset in webkit [218220] by jfbastien@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

WebAssembly: fix erroneous signature comment
https://bugs.webkit.org/show_bug.cgi?id=173334

Reviewed by Keith Miller.

  • wasm/WasmSignature.h:
3:44 PM Changeset in webkit [218219] by Jon Davis
  • 2 edits in trunk/Source/WebCore

Update Subresource Integrity status to Supported In Preview
https://bugs.webkit.org/show_bug.cgi?id=173324

Reviewed by Sam Weinig.

  • features.json:
3:39 PM Changeset in webkit [218218] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Refactor AbsenceOfSetter to AbsenceOfSetEffects
https://bugs.webkit.org/show_bug.cgi?id=173322

Reviewed by Filip Pizlo.

  • bytecode/ObjectPropertyCondition.h:

(JSC::ObjectPropertyCondition::absenceOfSetEffectWithoutBarrier):
(JSC::ObjectPropertyCondition::absenceOfSetEffect):
(JSC::ObjectPropertyCondition::absenceOfSetterWithoutBarrier): Deleted.
(JSC::ObjectPropertyCondition::absenceOfSetter): Deleted.

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::generateConditionsForPropertySetterMiss):
(JSC::generateConditionsForPropertySetterMissConcurrently):

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::dumpInContext):
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint):
(JSC::PropertyCondition::isStillValid):
(WTF::printInternal):

  • bytecode/PropertyCondition.h:

(JSC::PropertyCondition::absenceOfSetEffectWithoutBarrier):
(JSC::PropertyCondition::absenceOfSetEffect):
(JSC::PropertyCondition::hasPrototype):
(JSC::PropertyCondition::hash):
(JSC::PropertyCondition::operator==):
(JSC::PropertyCondition::absenceOfSetterWithoutBarrier): Deleted.
(JSC::PropertyCondition::absenceOfSetter): Deleted.

3:31 PM Changeset in webkit [218217] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Add API::InjectedBundle::PageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=173265

Reviewed by Alex Christensen.

Add missing null check that is causing crashes on iOS.

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::userAgentForURL):

3:31 PM Changeset in webkit [218216] by jfbastien@apple.com
  • 60 edits
    15 adds
    3 deletes in trunk

WebAssembly: import updated spec tests
https://bugs.webkit.org/show_bug.cgi?id=173287
<rdar://problem/32725975>

Reviewed by Saam Barati.

Import spec tests as of 31c641cc15f2aedbec2fa45a5185f68416df578b,
with a few modifications so things work.

Fix a bunch of bugs found through this process, and punt a few tests (which I
marked as blocked by this bug).

Fixes:

Fix load / store alignment: r216908 erroneously implemented it as bit alignment
instead of byte alignment. It was also missing memory-alignment.js despite it
being in the ChangeLog, so add it too. This allows spec-test/align.wast.js to
pass.

Tables can be imported or in a section. There can be only one, but sections can
be empty. An Elements section can exist if there's no Table, as long as it is
also empty.

Memories can be imported or in a section. There can be only one, but sections
can be empty. A Data section can exist if there's no Memory, as long as it is
also empty.

Prototypes: stringify without .prototype. in the string.

WebAssembly.Table.prototype.grow was plain wrong: it takes a delta parameter,
not a final size, and throws a RangeError on failure, not a TypeError.

Fix compile / instantiate so the reject the promise if given an argument of the
wrong type (instead of failing instantly).

Fix async on neuter test.

Element section shouldn't affect any Table if any of the elements are out of
bounds. We need to process it in two passes.

Segment section shouldn't affect any Data if any of the segments are out of
bounds. We need to process it in two passes.

Empty data segments are valid, but only when there is no memory. Their index
still gets validated, and has to be zero.

Punts:

Error messages with context, the test seems overly restrictive but this is
minor.

compile/instantiate/validate property descriptors.

UTF-8 bugs.

Temporarily disable NaN tests. We need to go back and implement the following
semantics: https://github.com/WebAssembly/spec/pull/414 This doesn't matter as
much as getting all the other tests passing.

Worth noting for NaNs: f64.no_fold_mul_one (also a NaN test) as well as
no_fold_promote_demote (an interesting corner case which we get wrong). mul by
one is (assert_return (invoke \"f64.no_fold_mul_one\" (i64.const
0x7ff4000000000000)) (i64.const 0x7ff8000000000000)) which means converting sNaN
to qNaN, and promote/demote is (assert_return (invoke \"no_fold_promote_demote\"
(i32.const 0x7fa00000)) (i32.const 0x7fc00000)) which is the same. I'm not sure
why they're not allowed.

JSTests:

  • wasm.yaml:
  • wasm/function-tests/i32-load8-s.js:
  • wasm/function-tests/memory-access-past-4gib.js:

(const.op.of.WASM.opcodes):

  • wasm/function-tests/memory-alignment.js: Added.

(const.op.of.WASM.opcodes):

  • wasm/function-tests/memory-section-and-import.js:
  • wasm/js-api/Module-compile.js:

(async.testPromiseAPI):

  • wasm/js-api/dont-mmap-zero-byte-memory.js:

(testMems):

  • wasm/js-api/element.js:

(assert.throws.new.WebAssembly.Module.builder.WebAssembly):

  • wasm/js-api/neutered-inputs.js:

(const.testFunction): Deleted.
(const.testConstructor): Deleted.

  • wasm/js-api/table.js:

(assert.throws.new.WebAssembly.Module.builder.WebAssembly):
(new.WebAssembly.Module):
(assert.throws):
(assertBadTableImport):
(assert.throws.WebAssembly.Table.prototype.grow):
(assertBadTableInstance): Deleted.

  • wasm/js-api/test_Data.js:

(DataSectionWithoutMemory):

  • wasm/spec-harness/index.js:

(module):
(uniqueTest): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(register): Deleted.
(call): Deleted.
(get instance): Deleted.
(exports): Deleted.
(run): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(try.f): Deleted.
(catch): Deleted.
(assert_exhaustion): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.

  • wasm/spec-harness/testharness.css: Removed.
  • wasm/spec-harness/testharness.js: Removed.
  • wasm/spec-harness/testharnessreport.js: Removed.
  • wasm/spec-harness/wasm-constants.js:

(assertTraps):
(assertWasmThrows):

  • wasm/spec-harness/wasm-module-builder.js:

(Binary.prototype.emit_section):
(Binary):
(WasmFunctionBuilder.prototype.addBody):
(WasmFunctionBuilder.prototype.end):
(WasmFunctionBuilder):
(WasmModuleBuilder.prototype.stringToBytes):
(WasmModuleBuilder.prototype.addCustomSection):
(WasmModuleBuilder.prototype.addFunctionTableInit):
(WasmModuleBuilder.prototype.appendToTable):
(WasmModuleBuilder.prototype.toArray):
(WasmModuleBuilder.prototype.toBuffer):
(WasmModuleBuilder.prototype.instantiate):
(WasmModuleBuilder):

  • wasm/spec-tests/address.wast.js:
  • wasm/spec-tests/align.wast.js: Added.
  • wasm/spec-tests/binary.wast.js:
  • wasm/spec-tests/block.wast.js:
  • wasm/spec-tests/br.wast.js:
  • wasm/spec-tests/br_if.wast.js:
  • wasm/spec-tests/br_table.wast.js:
  • wasm/spec-tests/call.wast.js:
  • wasm/spec-tests/call_indirect.wast.js:
  • wasm/spec-tests/comments.wast.js:
  • wasm/spec-tests/const.wast.js: Added.
  • wasm/spec-tests/conversions.wast.js: Added.
  • wasm/spec-tests/custom_section.wast.js:
  • wasm/spec-tests/exports.wast.js:
  • wasm/spec-tests/f32.wast.js: Added.
  • wasm/spec-tests/f64.wast.js: Added.
  • wasm/spec-tests/fac.wast.js:
  • wasm/spec-tests/float_exprs.wast.js: Added.
  • wasm/spec-tests/float_misc.wast.js: Added.
  • wasm/spec-tests/func.wast.js:
  • wasm/spec-tests/globals.wast.js:
  • wasm/spec-tests/if.wast.js:
  • wasm/spec-tests/imports.wast.js:
  • wasm/spec-tests/inline-module.wast.js: Added.
  • wasm/spec-tests/jsapi.js:

(testJSAPI.test):
(testJSAPI):

  • wasm/spec-tests/labels.wast.js:
  • wasm/spec-tests/loop.wast.js:
  • wasm/spec-tests/memory.wast.js:
  • wasm/spec-tests/memory_trap.wast.js: Added.
  • wasm/spec-tests/names.wast.js:
  • wasm/spec-tests/nop.wast.js:
  • wasm/spec-tests/return.wast.js:
  • wasm/spec-tests/stack.wast.js:
  • wasm/spec-tests/token.wast.js: Added.
  • wasm/spec-tests/type.wast.js: Added.
  • wasm/spec-tests/typecheck.wast.js:
  • wasm/spec-tests/unreachable.wast.js:
  • wasm/spec-tests/unreached-invalid.wast.js:
  • wasm/spec-tests/unwind.wast.js:
  • wasm/spec-tests/utf8-custom-section-id.wast.js: Added.
  • wasm/spec-tests/utf8-import-field.wast.js: Added.
  • wasm/spec-tests/utf8-import-module.wast.js: Added.

Source/JavaScriptCore:

  • wasm/WasmB3IRGenerator.cpp:
  • wasm/WasmFunctionParser.h:
  • wasm/WasmModuleParser.cpp:
  • wasm/WasmModuleParser.h:
  • wasm/WasmParser.h:

(JSC::Wasm::Parser<SuccessType>::consumeUTF8String):

  • wasm/generateWasm.py:

(memoryLog2Alignment):

  • wasm/js/JSWebAssemblyTable.cpp:

(JSC::JSWebAssemblyTable::grow):

  • wasm/js/JSWebAssemblyTable.h:
  • wasm/js/WebAssemblyCompileErrorPrototype.cpp:
  • wasm/js/WebAssemblyInstancePrototype.cpp:
  • wasm/js/WebAssemblyLinkErrorPrototype.cpp:
  • wasm/js/WebAssemblyMemoryPrototype.cpp:
  • wasm/js/WebAssemblyModulePrototype.cpp:
  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::evaluate):

  • wasm/js/WebAssemblyPrototype.cpp:

(JSC::webAssemblyCompileFunc):
(JSC::resolve):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::webAssemblyInstantiateFunc):

  • wasm/js/WebAssemblyRuntimeErrorPrototype.cpp:
  • wasm/js/WebAssemblyTablePrototype.cpp:

(JSC::webAssemblyTableProtoFuncGrow):

3:27 PM Changeset in webkit [218215] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=173335

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:23 PM Changeset in webkit [218214] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Add logging for layout tests when rAF callbacks get suspended and resumed
https://bugs.webkit.org/show_bug.cgi?id=173326

Patch by Antoine Quint <Antoine Quint> on 2017-06-13
Reviewed by Simon Fraser.

In order to help diagnose webkit.org/b/168409 we log the ScriptedAnimationController
suspend count when it changes and log the backtrace so that we may understand why it
fails to be set back to 0 when some modern-media-controls tests run.

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::suspend):
(WebCore::ScriptedAnimationController::resume):
(WebCore::ScriptedAnimationController::logSuspendCount):

  • dom/ScriptedAnimationController.h:
  • page/Settings.in:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::resetToConsistentState):
(WebCore::InternalSettings::shouldLogScritedAnimationControllerSuspensionChange):
(WebCore::InternalSettings::setShouldLogScritedAnimationControllerSuspensionChange):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:
3:21 PM Changeset in webkit [218213] by bshafiei@apple.com
  • 4 edits in tags/Safari-604.1.25.0.2

Merged r218121. rdar://problem/32701257

3:17 PM Changeset in webkit [218212] by bshafiei@apple.com
  • 7 edits in tags/Safari-604.1.25.0.2/Source

Versioning.

3:09 PM Changeset in webkit [218211] by bshafiei@apple.com
  • 1 copy in tags/Safari-604.1.25.0.2

New tag.

3:08 PM Changeset in webkit [218210] by bshafiei@apple.com
  • 1 delete in tags/Safari-604.1.25.0.2

Delete tag.

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

Crash when MSE backed media element changes src/srcObject during PiP
https://bugs.webkit.org/show_bug.cgi?id=173288

Reviewed by Alex Christensen.

Tear down the MediaPlayerPrivateMediaSourceAVFObjC's layers fully whe the player
is destroyed, which includes removing the player's AVSampleBufferDisplayLayer from
the HTMLMediaElement's fullscreen layer.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):

3:06 PM Changeset in webkit [218208] by bshafiei@apple.com
  • 1 copy in tags/Safari-604.1.25.0.2/Safari-604.1.25.0.1

New tag.

3:03 PM Changeset in webkit [218207] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg as a timeout.
https://bugs.webkit.org/show_bug.cgi?id=173333

Unreviewed test gardening.

2:58 PM Changeset in webkit [218206] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[WK2][macOS] Allow AppleEvents in Citrix View Plugin
https://bugs.webkit.org/show_bug.cgi?id=173280
<rdar://problem/31913624>

Reviewed by Alexey Proskuryakov.

A slightly better fix: Allow AppleEvents for non-sandboxed plugins. This should
avoid inadvertently breaking custom plugins, etc.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializeProcess): Switch check from a specific Citrix
test, to just allowing non-sandboxed plugins to use AppleEvents.

2:54 PM Changeset in webkit [218205] by Ryan Haddad
  • 3 edits in trunk/JSTests

Unreviewed JSC test gardening.

  • stress/check-string-ident.js:
  • stress/new-largeish-contiguous-array-with-size.js:
2:52 PM Changeset in webkit [218204] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.25.0.2

New tag.

2:52 PM Changeset in webkit [218203] by msaboff@apple.com
  • 4 edits
    1 add in trunk

DFG doesn't properly handle a property that is change to read only in a prototype
https://bugs.webkit.org/show_bug.cgi?id=173321

Reviewed by Filip Pizlo.

JSTests:

  • ChakraCore.yaml: Renabled fieldopts/objtypespec-newobj-invalidation.1.js.
  • stress/regress-173321.js: Added new regression test.

(shouldBe):
(SimpleObject):
(test):

Source/JavaScriptCore:

We need to check for ReadOnly as well as a not being a Setter when checking
an AbsenceOfSetter.

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint):

2:03 PM Changeset in webkit [218202] by Nikita Vasilyev
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Don't use -webkit-user-modify CSS property
https://bugs.webkit.org/show_bug.cgi?id=173232

Reviewed by Devin Rousso.

Replace -webkit-user-modify CSS property with contentEditable HTML attribute.

  • UserInterface/Views/Editing.css:

(.editing):

  • UserInterface/Views/EditingSupport.js:

(cleanUpAfterEditing):

  • UserInterface/Views/VisualStyleSelectorTreeItem.css:

(.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
(WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):

1:58 PM Changeset in webkit [218201] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

Include PID in some UIProcess-side release logging that relates to a particular WebProcess
https://bugs.webkit.org/show_bug.cgi?id=173299

Reviewed by Ryosuke Niwa.

  • UIProcess/BackgroundProcessResponsivenessTimer.cpp:

(WebKit::BackgroundProcessResponsivenessTimer::setResponsive):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didExceedActiveMemoryLimit):
(WebKit::WebProcessProxy::didExceedInactiveMemoryLimit):
(WebKit::WebProcessProxy::didExceedCPULimit):

1:37 PM Changeset in webkit [218200] by matthew_hanson@apple.com
  • 7 edits in branches/safari-604.1.25.4-branch/Source

Versioning.

1:37 PM Changeset in webkit [218199] by matthew_hanson@apple.com
  • 8 edits
    2 adds in branches/safari-604.1.25.4-branch

Cherry-pick r218180. rdar://problem/32440918

1:31 PM Changeset in webkit [218198] by matthew_hanson@apple.com
  • 7 edits in branches/safari-604.1.25.3-branch/Source

Versioning.

1:27 PM Changeset in webkit [218197] by matthew_hanson@apple.com
  • 4 edits in branches/safari-604.1.25.3-branch

Cherry-pick r218121. rdar://problem/32701257

1:21 PM Changeset in webkit [218196] by dbates@webkit.org
  • 31 edits
    3 adds in trunk

Implement W3C Secure Contexts Draft Specification
https://bugs.webkit.org/show_bug.cgi?id=158121
<rdar://problem/26012994>

Reviewed by Brent Fulgham.

Part 4

Source/JavaScriptCore:

Adds isSecureContext to the list of common identifiers as needed to support
toggling its exposure from a runtime enabled feature flag.

  • runtime/CommonIdentifiers.h:

Source/WebCore:

Adds runtime enabled feature flag, isSecureContextAttributeEnabled, to toggle exposing
the global object property isSecureContext (defaults: true - expose the property).

Test: security/isSecureContext-disabled.html

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setIsSecureContextAttributeEnabled):
(WebCore::RuntimeEnabledFeatures::isSecureContextAttributeEnabled):

  • page/WindowOrWorkerGlobalScope.idl:

Source/WebKit/mac:

Adds a preference to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences isSecureContextAttributeEnabled]):
(-[WebPreferences setIsSecureContextAttributeEnabled:]):

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

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Adds a preference to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.

  • Interfaces/IWebPreferencesPrivate.idl: Bump the version.
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::QueryInterface):
(WebPreferences::setIsSecureContextAttributeEnabled):
(WebPreferences::isSecureContextAttributeEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Adds a preference to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetIsSecureContextAttributeEnabled):
(WKPreferencesGetIsSecureContextAttributeEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Expose the isSecureContext attribute by default in DumpRenderTree and WebKitTestRunner.
Teach DumpRenderTree for Mac and WebKitTestRunner to parse the test option enableIsSecureContextAttribute
to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.

  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/TestOptions.mm:

(TestOptions::TestOptions):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setWebPreferencesForTestOptions):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions):

LayoutTests:

Adds a test to ensure that the global object property isSecureContext is not
exposed (is undefined) when the runtime enabled feature flag isSecureContextAttributeEnabled
is disabled.

  • platform/win/TestExpectations: Skip the test as DumpRenderTree on Windows does not support

parsing of test options. See <https://bugs.webkit.org/show_bug.cgi?id=173281> for more details.

  • security/isSecureContext-disabled-expected.txt: Added.
  • security/isSecureContext-disabled.html: Added.
  • security/resources/worker-isSecureContext-disabled.js: Added.
1:12 PM Changeset in webkit [218195] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Test persistent WKHTTPCookieStorages on iOS
https://bugs.webkit.org/show_bug.cgi?id=173284
<rdar://problem/32260156>

Patch by Alex Christensen <achristensen@webkit.org> on 2017-06-13
Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:

(TEST):

12:31 PM Changeset in webkit [218194] by matthew_hanson@apple.com
  • 1 copy in branches/safari-604.1.25.4-branch

New branch.

12:31 PM Changeset in webkit [218193] by matthew_hanson@apple.com
  • 1 copy in branches/safari-604.1.25.3-branch

New branch.

12:28 PM Changeset in webkit [218192] by matthew_hanson@apple.com
  • 1 delete in branches/safari-604.1.25.1-branch

Delete branch.

12:28 PM Changeset in webkit [218191] by matthew_hanson@apple.com
  • 1 delete in branches/safari-604.1.25.0-branch

Delete branch.

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

Protect lifetime of media element during HTMLMediaElement::notifyAboutPlaying()
https://bugs.webkit.org/show_bug.cgi?id=173320
<rdar://problem/32590276>

Reviewed by Brent Fulgham.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::notifyAboutPlaying):

12:12 PM Changeset in webkit [218189] by matthew_hanson@apple.com
  • 1 copy in branches/safari-604.1.25.1-branch

New branch.

12:12 PM Changeset in webkit [218188] by matthew_hanson@apple.com
  • 1 copy in branches/safari-604.1.25.0-branch

New branch.

11:39 AM Changeset in webkit [218187] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[WK2][macOS] Allow AppleEvents in Citrix View Plugin
https://bugs.webkit.org/show_bug.cgi?id=173280
<rdar://problem/31913624>

Reviewed by Alexey Proskuryakov.

Allow the Citrix Viewer plugin to issue Apple Events.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializeProcess): Allow AppleEvents for the Citrix Viewer plugin.

11:03 AM Changeset in webkit [218186] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Win] WebKit fails to paint the bottom lines of the window at 125% scale.
https://bugs.webkit.org/show_bug.cgi?id=173318

Reviewed by Alex Christensen.

The logical frame size is currently calculated by scaling the frame size in pixels,
and rounding the coordinates to the nearest integers. The computed logical frame
size will in some cases be smaller than the scaled frame size in pixels, since it is
represented as an IntSize. In these cases, the bottom line will not be painted.
Instead of calculating the logical frame size by rounding the scaled frame in
pixels, find the enclosing rectangle of the scaled frame rectangle in pixels.

  • WebView.cpp:

(WebView::sizeChanged):

10:55 AM Changeset in webkit [218185] by Carlos Garcia Campos
  • 7 edits in trunk

[GTK] Blob download doesn't work
https://bugs.webkit.org/show_bug.cgi?id=172442

Reviewed by Carlos Alberto Lopez Perez.

Source/WebKit2:

GTK+ API uses URIs for download destination paths, and passes that URIs to the WebKit internals. But WebKit
expects download destination location to be a local path. This is not a problem for normal downloads, because
the soup backend handles the cases of download destination being a URI and a path. For blob downloads
NetworkDataTaskBlob is used, and it always expects the download destination to be a local path, failing in
FileSystem::openFile() when a URI is passed. We need to keep using local files internally and convert to URIs
only when exposing those paths to the API.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::download): Stop handling URIs here, we should always expect local files.

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadDecideDestinationWithSuggestedFilename): Convert destination URI to filanme before pasing it to DownloadClient.
(webkitDownloadDestinationCreated): Convert the destination path to a URI before passing it to WebKitDownload::created-destionation signal.

  • UIProcess/API/gtk/WebKitDownloadClient.cpp:
  • UIProcess/API/gtk/WebKitDownloadPrivate.h:

Tools:

Add a unit test to check blob downloads.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:

(testBlobDownload):
(beforeAll):

10:50 AM Changeset in webkit [218184] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Do not include WTR, DumpRendererTree and ImageDiff in tarballs
https://bugs.webkit.org/show_bug.cgi?id=173316

Reviewed by Alex Christensen.

It's not really possible to run layout tests from the tarball, so it's better not to include those files.

  • gtk/manifest.txt.in:
10:48 AM Changeset in webkit [218183] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

[WTR] Crash in WebGeolocationManagerProxy::~WebGeolocationManagerProxy() when running several tests
https://bugs.webkit.org/show_bug.cgi?id=173315

Reviewed by Darin Adler.

This has started to happen after r218165, but I don't think it's a regression, but that r218165 revealed the bug
somehow in WTR. The problem is that GeolocationProviderMock keeps a pointer to the WKGeolocationManagerRef
returned by WKContextGetGeolocationManager. But in TestController::generatePageConfiguration() the context is
freed before the GeolocationProviderMock. When the GeolocationProviderMock is then destroyed, it calls
WKGeolocationManagerSetProvider(m_geolocationManager, 0); but the WKGeolocationManagerRef has already been
destroyed. GeolocationProviderMock should keep a reference to the WKContext to ensure the
WKGeolocationManagerRef is not destroyed.

  • WebKitTestRunner/GeolocationProviderMock.cpp:

(WTR::GeolocationProviderMock::GeolocationProviderMock):

  • WebKitTestRunner/GeolocationProviderMock.h:
10:41 AM Changeset in webkit [218182] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

getReceivers() should return transceivers that have only an active receiver
https://bugs.webkit.org/show_bug.cgi?id=173313

Patch by Youenn Fablet <youenn@apple.com> on 2017-06-13
Reviewed by Alex Christensen.

Source/WebCore:

Test: webrtc/video-receivers.html

Creating transceivers for receivers created from an offer.
Setting these as recvonly.

  • Modules/mediastream/RTCRtpTransceiver.h:
  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::videoReceiver):
(WebCore::LibWebRTCPeerConnectionBackend::audioReceiver):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt:
  • webrtc/video-receivers-expected.txt: Added.
  • webrtc/video-receivers.html: Added.
10:31 AM Changeset in webkit [218181] by commit-queue@webkit.org
  • 132 edits
    7 copies
    107 adds
    5 deletes in trunk/LayoutTests

Refresh WPT tests up to cb7017e654fb4daddb9dee8d654c78b26e61fa9f
https://bugs.webkit.org/show_bug.cgi?id=173260

Patch by Youenn Fablet <youenn@apple.com> on 2017-06-13
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • resources/TestRepositories:
  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
  • web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
  • web-platform-tests/IndexedDB/large-nested-cloning-expected.txt: Added.
  • web-platform-tests/IndexedDB/large-nested-cloning.html: Added.
  • web-platform-tests/IndexedDB/large-requests-abort-expected.txt: Added.
  • web-platform-tests/IndexedDB/large-requests-abort.html: Added.
  • web-platform-tests/IndexedDB/request-event-ordering-expected.txt: Added.
  • web-platform-tests/IndexedDB/request-event-ordering.html: Added.
  • web-platform-tests/IndexedDB/support-promises.js:
  • web-platform-tests/IndexedDB/w3c-import.log:
  • web-platform-tests/README.md:
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt:
  • web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt:
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
  • web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-after-setrequestheader-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-referer-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin-expected.txt:
  • web-platform-tests/XMLHttpRequest/resources/infinite-redirects.py:

(main):

  • web-platform-tests/XMLHttpRequest/responsetype-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-accept-language-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-allow-whitespace-in-value-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader-expected.txt:
  • web-platform-tests/XMLHttpRequest/timeout-sync-expected.txt:
  • web-platform-tests/check_stability.py:

(Browser.wptrunner_args):
(Chrome.wptrunner_args):
(main):

  • web-platform-tests/ci_unittest.sh:
  • web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-namespace-expected.html: Added.
  • web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-namespace.html: Added.
  • web-platform-tests/css/css-scoping-1/w3c-import.log:
  • web-platform-tests/css/css-shapes-1/OWNERS: Added.
  • web-platform-tests/css/selectors4/w3c-import.log:
  • web-platform-tests/cssom/w3c-import.log:
  • web-platform-tests/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt:
  • web-platform-tests/dom/nodes/Document-constructor-svg-expected.txt: Added.
  • web-platform-tests/dom/nodes/Document-constructor-svg.svg: Added.
  • web-platform-tests/dom/nodes/Document-constructor-xml-expected.txt: Added.
  • web-platform-tests/dom/nodes/Document-constructor-xml.xml: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor.html.
  • web-platform-tests/dom/nodes/Document-constructor.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
  • web-platform-tests/dom/nodes/Element-matches-expected.txt:
  • web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-content.html:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-content.xht:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All.js:

(setupSpecialElements):

  • web-platform-tests/dom/nodes/getElementsByClassName-14-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-14.htm:
  • web-platform-tests/dom/nodes/selectors.js:
  • web-platform-tests/dom/nodes/w3c-import.log:
  • web-platform-tests/encrypted-media/scripts/requestmediakeysystemaccess.js:
  • web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
  • web-platform-tests/fetch/api/headers/headers-record-expected.txt:
  • web-platform-tests/fetch/api/headers/headers-record.html:
  • web-platform-tests/fetch/dangling-markup-mitigation.tentative-expected.txt: Added.
  • web-platform-tests/fetch/dangling-markup-mitigation.tentative.html: Added.
  • web-platform-tests/fetch/w3c-import.log:
  • web-platform-tests/html/browsers/history/the-location-interface/location-origin-idna.sub.window.js: Added.
  • web-platform-tests/html/browsers/history/the-location-interface/resources/post-your-origin.html: Added.
  • web-platform-tests/html/browsers/history/the-location-interface/resources/w3c-import.log:
  • web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
  • web-platform-tests/html/browsers/the-window-object/window-open-noopener-expected.txt:
  • web-platform-tests/html/dom/documents/resource-metadata-management/document-lastModified-expected.txt:
  • web-platform-tests/html/dom/elements-metadata.js:
  • web-platform-tests/html/dom/elements-misc.js:
  • web-platform-tests/html/dom/elements/elements-in-the-dom/historical-expected.txt:
  • web-platform-tests/html/dom/elements/elements-in-the-dom/historical.html:
  • web-platform-tests/html/dom/interfaces.worker-expected.txt:
  • web-platform-tests/html/dom/reflection.js:

(ReflectionTests.reflects):
(ReflectionTests.enumExpected):

  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/not-in-shadow-tree-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/srclang-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/language-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/img-ismap-coordinates-iframe-after.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/img-ismap-coordinates-iframe-before.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/img-ismap-coordinates-iframe-inside.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/resources/w3c-import.log.
  • web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/valueMode.html:
  • web-platform-tests/html/semantics/forms/the-option-element/option-element-constructor-expected.txt:
  • web-platform-tests/html/semantics/forms/the-option-element/option-element-constructor.html:
  • web-platform-tests/html/semantics/interactive-elements/contextmenu-historical-expected.txt: Added.
  • web-platform-tests/html/semantics/interactive-elements/contextmenu-historical.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/w3c-import.log.
  • web-platform-tests/html/semantics/interfaces.js:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/checked-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/checked.html:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/enabled-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html:
  • web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-onauxclick-expected.txt: Removed.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-onauxclick.html: Removed.
  • web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering.html:
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html:
  • web-platform-tests/html/webappapis/scripting/events/w3c-import.log:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw-expected.txt:
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker-expected.txt:
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/w3c-import.log:
  • web-platform-tests/lint.whitelist:
  • web-platform-tests/resources/OWNERS: Added.
  • web-platform-tests/resources/idlharness.js:

(IdlArray.prototype.assert_type_is):
(IdlInterface.prototype.test_self):
(IdlInterface.prototype.test_member_const):
(IdlInterface.prototype.test_member_attribute):
(IdlInterface.prototype.do_member_operation_asserts):
(IdlInterface.prototype.test_member_iterable):
(IdlInterface.prototype.test_member_stringifier):
(IdlInterface.prototype.do_interface_attribute_asserts):

  • web-platform-tests/resources/test/README.md: Added.
  • web-platform-tests/resources/test/config.test.json: Added.
  • web-platform-tests/resources/test/conftest.py: Added.

(pytest_collect_file):
(pytest_configure):
(HTMLItem):
(HTMLItem.init):
(HTMLItem.reportinfo):
(HTMLItem.repr_failure):
(HTMLItem.runtest):
(HTMLItem._assert_sequence):
(HTMLItem._scrub_stack):
(HTMLItem._expand_status):
(HTMLItem._summarize_test):
(HTMLItem._summarize_status):

  • web-platform-tests/resources/test/harness.html: Added.
  • web-platform-tests/resources/test/tests/add_cleanup.html: Added.
  • web-platform-tests/resources/test/tests/add_cleanup_err.html: Added.
  • web-platform-tests/resources/test/tests/add_cleanup_err_multi.html: Added.
  • web-platform-tests/resources/test/tests/api-tests-1.html: Added.
  • web-platform-tests/resources/test/tests/api-tests-2.html: Added.
  • web-platform-tests/resources/test/tests/api-tests-3.html: Added.
  • web-platform-tests/resources/test/tests/generate-callback.html: Added.
  • web-platform-tests/resources/test/tests/iframe-callback.html: Added.
  • web-platform-tests/resources/test/tests/iframe-consolidate-errors.html: Added.
  • web-platform-tests/resources/test/tests/iframe-consolidate-tests.html: Added.
  • web-platform-tests/resources/test/tests/iframe-msg.html: Added.
  • web-platform-tests/resources/test/tests/order.html: Added.
  • web-platform-tests/resources/test/tests/promise-async.html: Added.
  • web-platform-tests/resources/test/tests/promise.html: Added.
  • web-platform-tests/resources/test/tests/single-page-test-fail.html: Added.
  • web-platform-tests/resources/test/tests/single-page-test-no-assertions.html: Added.
  • web-platform-tests/resources/test/tests/single-page-test-no-body.html: Added.
  • web-platform-tests/resources/test/tests/single-page-test-pass.html: Added.
  • web-platform-tests/resources/test/tests/uncaught-exception-handle.html: Added.
  • web-platform-tests/resources/test/tests/uncaught-exception-ignore.html: Added.
  • web-platform-tests/resources/test/tests/w3c-import.log: Added.
  • web-platform-tests/resources/test/tests/worker-dedicated.html: Added.
  • web-platform-tests/resources/test/tests/worker-error.js: Added.
  • web-platform-tests/resources/test/tests/worker-service.html: Added.
  • web-platform-tests/resources/test/tests/worker-shared.html: Added.
  • web-platform-tests/resources/test/tests/worker.js: Added.

(test):
(async_test):

  • web-platform-tests/resources/test/tox.ini: Added.
  • web-platform-tests/resources/test/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/w3c-import.log.
  • web-platform-tests/resources/test/wptserver.py: Added.

(WPTServer):
(WPTServer.init):
(WPTServer.start):
(WPTServer.stop):
(WPTServer.url):

  • web-platform-tests/resources/testharness.js:
  • web-platform-tests/resources/w3c-import.log:
  • web-platform-tests/shadow-dom/slotchange-event-expected.txt:
  • web-platform-tests/shadow-dom/slotchange-event.html:
  • web-platform-tests/shadow-dom/slots-expected.txt:
  • web-platform-tests/shadow-dom/slots-fallback-expected.txt:
  • web-platform-tests/shadow-dom/slots-fallback-in-document-expected.txt:
  • web-platform-tests/shadow-dom/slots-fallback-in-document.html:
  • web-platform-tests/shadow-dom/slots-fallback.html:
  • web-platform-tests/shadow-dom/slots.html:
  • web-platform-tests/streams/piping/general-expected.txt:
  • web-platform-tests/tools/OWNERS: Added.
  • web-platform-tests/tools/browserutils/browser.py:

(Firefox.install):
(Firefox.find_certutil):
(Firefox.install_webdriver):
(Chrome.install_webdriver):
(Chrome.prepare_environment):
(Edge):
(Edge.install):
(Edge.find_webdriver):
(Edge.install_webdriver):
(Edge.version):
(Servo):
(Servo.install):
(Servo.find_binary):
(Servo.find_webdriver):
(Servo.install_webdriver):
(Servo.version):

  • web-platform-tests/tools/browserutils/install.py: Added.
  • web-platform-tests/tools/browserutils/requirements.txt: Added.
  • web-platform-tests/tools/browserutils/utils.py:

(get):

  • web-platform-tests/tools/browserutils/virtualenv.py:

(Virtualenv.create):
(Virtualenv.install):

  • web-platform-tests/tools/browserutils/w3c-import.log:
  • web-platform-tests/tools/runner/index.html:
  • web-platform-tests/tools/runner/runner.css:

(#current_test):
(#current_test a):
(#current_test .match):

  • web-platform-tests/tools/runner/runner.js:

(ManifestIterator.prototype.match_location):
(ManifestIterator.prototype.matches):
(VisualOutput.prototype.on_result):
(VisualOutput.prototype.steady_status):
(this.skip_button.onclick):
(Runner):
(Runner.prototype.run_next_test):
(Runner.prototype.display_current_test):

  • web-platform-tests/tools/w3c-import.log:
  • web-platform-tests/tools/wptrun.py:

(args_general):
(check_environ):
(args_edge):
(setup_edge):
(args_servo):
(setup_servo):
(setup_wptrunner):
(main):

  • web-platform-tests/tools/wptrunner/OWNERS: Added.
  • web-platform-tests/tools/wptrunner/requirements_edge.txt: Added.
  • web-platform-tests/tools/wptrunner/tox.ini:
  • web-platform-tests/tools/wptrunner/w3c-import.log:
  • web-platform-tests/tools/wptrunner/wptrunner/browsers/edge.py:

(browser_kwargs):

  • web-platform-tests/tools/wptrunner/wptrunner/environment.py:

(TestEnvironment.ensure_started):
(TestEnvironment):
(TestEnvironment.test_servers):

  • web-platform-tests/tools/wptrunner/wptrunner/executors/executorservo.py:

(ServoTestharnessExecutor.init):

  • web-platform-tests/update-built-tests.sh:
  • web-platform-tests/url/interfaces.any-expected.txt:
  • web-platform-tests/url/interfaces.any.js:
  • web-platform-tests/url/interfaces.any.worker-expected.txt:
  • web-platform-tests/url/toascii.json: Added.
  • web-platform-tests/url/toascii.window.js: Added.

(async_test.t.string_appeared_here.request.send.request.responseType.string_appeared_here.request.onload.t.step_func_done):
(string_appeared_here.makeURL):
(runTests):

  • web-platform-tests/url/w3c-import.log:
  • web-platform-tests/webrtc/OWNERS:
  • web-platform-tests/webrtc/RTCCertificate-expected.txt: Added.
  • web-platform-tests/webrtc/RTCCertificate.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-addTransceiver-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-constructor-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-constructor.html:
  • web-platform-tests/webrtc/RTCPeerConnection-createAnswer-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-createAnswer.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-createDataChannel-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html:
  • web-platform-tests/webrtc/RTCPeerConnection-createOffer-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-createOffer.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-generateCertificate-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-generateCertificate.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getTransceivers-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-getTransceivers.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-helper.js: Added.

(countLine):
(countAudioLine):
(countVideoLine):
(countApplicationLine):
(similarMediaDescriptions):
(assert_is_session_description):
(assert_session_desc_equals):
(assert_session_desc_not_equals):
(generateOffer):

  • web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-expected.txt: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html:
  • web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html:
  • web-platform-tests/webrtc/RTCSctpTransport-constructor-expected.txt: Added.
  • web-platform-tests/webrtc/RTCSctpTransport-constructor.html: Added.
  • web-platform-tests/webrtc/w3c-import.log:
  • web-platform-tests/wptrun:

LayoutTests:

  • TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker-expected.png: Added.
  • tests-options.json:
9:58 AM Changeset in webkit [218180] by Wenson Hsieh
  • 8 edits
    2 adds in trunk

Unable to paste text that was copied from a page into the universal search field
https://bugs.webkit.org/show_bug.cgi?id=173293
<rdar://problem/32440918>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Vend "public.utf8-plain-text" and "public.utf16-plain-text" as additional representations on the pasteboard when
copying both rich and plain web content in PlatformPasteboardIOS.mm. This is because UITextView no longer
supports pasting "public.text" as text in iOS 11.

Tests:
UIPasteboardTests.CopyPlainTextWritesConcreteTypes
UIPasteboardTests.CopyRichTextWritesConcreteTypes

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::writePlainText):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::write):

Source/WebKit2:

Add boilerplate SPI on WKPreferences to enable JavaScript access to copy and paste.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setJavaScriptCanAccessClipboard:]):
(-[WKPreferences _javaScriptCanAccessClipboard]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

Adds 2 new unit tests for copying plain and rich selected web content.
See WebCore and WebKit ChangeLogs for more detail.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Added.
  • TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: Added.

(TestWebKitAPI::dataForPasteboardType):
(TestWebKitAPI::setUpWebViewForPasteboardTests):
(TestWebKitAPI::TEST):

9:47 AM Changeset in webkit [218179] by commit-queue@webkit.org
  • 35 edits
    2 moves in trunk/Source

Rename JSDOMWindowShell to JSDOMWindowProxy to match the HTML5 spec.
https://bugs.webkit.org/show_bug.cgi?id=80733

Patch by Sam Weinig <sam@webkit.org> on 2017-06-13
Reviewed by Chris Dumez.

Source/WebCore:

Goodbye dear shell.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(WebCore::DOMWrapperWorld::clearWrappers):

  • bindings/js/DOMWrapperWorld.h:

(WebCore::DOMWrapperWorld::didCreateWindowProxy):
(WebCore::DOMWrapperWorld::didDestroyWindowProxy):
(WebCore::DOMWrapperWorld::didCreateWindowShell): Deleted.
(WebCore::DOMWrapperWorld::didDestroyWindowShell): Deleted.

  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::JSDOMWindowBase::willRemoveFromWindowProxy):
(WebCore::JSDOMWindowBase::proxy):
(WebCore::toJSDOMWindow):
(WebCore::JSDOMWindowBase::willRemoveFromWindowShell): Deleted.
(WebCore::JSDOMWindowBase::shell): Deleted.

  • bindings/js/JSDOMWindowBase.h:

(WebCore::toJS):
(WebCore::toJSDOMWindow):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::toWrapped):

  • bindings/js/JSDOMWindowCustom.h:
  • bindings/js/JSDOMWindowProperties.h:

(WebCore::JSDOMWindowProperties::JSDOMWindowProperties):

  • bindings/js/JSDOMWindowProxy.cpp: Copied from WebCore/bindings/js/JSDOMWindowShell.cpp.

(WebCore::JSDOMWindowProxy::JSDOMWindowProxy):
(WebCore::JSDOMWindowProxy::finishCreation):
(WebCore::JSDOMWindowProxy::destroy):
(WebCore::JSDOMWindowProxy::setWindow):
(WebCore::JSDOMWindowProxy::wrapped):
(WebCore::JSDOMWindowProxy::toWrapped):
(WebCore::toJS):
(WebCore::toJSDOMWindowProxy):
(WebCore::JSDOMWindowShell::JSDOMWindowShell): Deleted.
(WebCore::JSDOMWindowShell::finishCreation): Deleted.
(WebCore::JSDOMWindowShell::destroy): Deleted.
(WebCore::JSDOMWindowShell::setWindow): Deleted.
(WebCore::JSDOMWindowShell::wrapped): Deleted.
(WebCore::JSDOMWindowShell::toWrapped): Deleted.
(WebCore::toJSDOMWindowShell): Deleted.

  • bindings/js/JSDOMWindowProxy.h: Copied from WebCore/bindings/js/JSDOMWindowShell.h.

(WebCore::JSDOMWindowProxy::create):
(WebCore::toJSDOMWindowProxy):
(WebCore::JSDOMWindowShell::window): Deleted.
(WebCore::JSDOMWindowShell::create): Deleted.
(WebCore::JSDOMWindowShell::createStructure): Deleted.
(WebCore::JSDOMWindowShell::world): Deleted.
(WebCore::toJSDOMWindowShell): Deleted.

  • bindings/js/JSDOMWindowShell.cpp: Removed.
  • bindings/js/JSDOMWindowShell.h: Removed.
  • bindings/js/JSEventTargetCustom.cpp:

(WebCore::JSEventTarget::toWrapped):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::open):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptController.cpp:

(WebCore::collectGarbageAfterWindowProxyDestruction):
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::destroyWindowProxy):
(WebCore::ScriptController::createWindowProxy):
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::loadModuleScriptInWorld):
(WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld):
(WebCore::ScriptController::evaluateModule):
(WebCore::ScriptController::windowProxies):
(WebCore::ScriptController::clearWindowProxiesNotMatchingDOMWindow):
(WebCore::ScriptController::setDOMWindowForWindowProxy):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::setupModuleScriptHandlers):
(WebCore::ScriptController::eventHandlerPosition):
(WebCore::ScriptController::enableEval):
(WebCore::ScriptController::disableEval):
(WebCore::ScriptController::canAccessFromCurrentOrigin):
(WebCore::ScriptController::attachDebugger):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::createRootObject):
(WebCore::ScriptController::collectIsolatedContexts):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::cleanupScriptObjectsForPlugin):
(WebCore::ScriptController::clearScriptObjects):
(WebCore::ScriptController::executeIfJavaScriptURL):
(WebCore::collectGarbageAfterWindowShellDestruction): Deleted.
(WebCore::ScriptController::destroyWindowShell): Deleted.
(WebCore::ScriptController::createWindowShell): Deleted.
(WebCore::ScriptController::windowShells): Deleted.
(WebCore::ScriptController::clearWindowShellsNotMatchingDOMWindow): Deleted.
(WebCore::ScriptController::setDOMWindowForWindowShell): Deleted.

  • bindings/js/ScriptController.h:

(WebCore::ScriptController::windowProxy):
(WebCore::ScriptController::existingWindowProxy):
(WebCore::ScriptController::globalObject):
(WebCore::ScriptController::windowShell): Deleted.
(WebCore::ScriptController::existingWindowShell): Deleted.

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptState.cpp:

(WebCore::mainWorldExecState):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateOverloadDispatcher):
(GenerateImplementation):

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

(WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):

  • page/Frame.cpp:
  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::didCreateWindowProxy):
(WebCore::ContentSecurityPolicy::didCreateWindowShell): Deleted.

  • page/csp/ContentSecurityPolicy.h:

Source/WebInspectorUI:

  • UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:

(HeapSnapshot.prototype._isNodeGlobalObject):

Source/WebKit/mac:

  • DOM/DOMUtility.mm:

(createDOMWrapper):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):

  • WebView/WebFrame.mm:

(-[WebFrame _attachScriptDebugger]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowScriptNPObject):

9:21 AM Changeset in webkit [218178] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix typo in variable introduced in r218108.

  • page/cocoa/MemoryReleaseCocoa.mm:

(WebCore::platformReleaseMemory):
(WebCore::registerSQLiteMemoryPressureHandler):

5:42 AM Changeset in webkit [218177] by jdiggs@igalia.com
  • 9 edits
    2 moves
    2 adds in trunk

AX: [ATK] Implement missing AtkRelation types
https://bugs.webkit.org/show_bug.cgi?id=155494

Reviewed by Darin Adler.

Source/WebCore:

Add methods for getting the element(s) which reference a particular element via an
ARIA attribute. Then use those methods to identify and expose the expected reverse/
reciprocal AtkRelationType and targets. Also add ATK support for aria-owns.

Use SpaceSplitString in AccessibilityObject::elementsFromAttribute() so that unexpected
whitespace characters in an attribute's list of ids does not prevent the desired element
from being found.

Lastly, change the return type of AccessibilityObject::identifierAttribute() from a String
to a const AtomicString& for better efficiency.

Tests: accessibility/aria-owns.html

accessibility/gtk/relation-types.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::identifierAttribute):
(WebCore::AccessibilityObject::elementsFromAttribute):
(WebCore::AccessibilityObject::ariaElementsReferencedByAttribute):
(WebCore::AccessibilityObject::ariaControlsReferencingElements):
(WebCore::AccessibilityObject::ariaDescribedByReferencingElements):
(WebCore::AccessibilityObject::ariaFlowToReferencingElements):
(WebCore::AccessibilityObject::ariaLabelledByReferencingElements):
(WebCore::AccessibilityObject::ariaOwnsReferencingElements):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(setAtkRelationSetFromCoreObject):

Tools:

Add additional methods to test ARIA properties which are exposed via
AtkRelation. Implement ATK support for ariaOwnsElementAtIndex().

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:

(WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):

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

(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):

LayoutTests:

  • accessibility/aria-owns-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-owns-expected.txt.
  • accessibility/aria-owns.html: Renamed from LayoutTests/accessibility/mac/aria-owns.html.
  • accessibility/gtk/relation-types-expected.txt: Added.
  • accessibility/gtk/relation-types.html: Added.
5:39 AM Changeset in webkit [218176] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Remove unused code from GTK+ WebKitPrivate.

  • UIProcess/API/gtk/WebKitPrivate.cpp:

(wkEventModifiersToGdkModifiers): Deleted.
(wkEventMouseButtonToWebKitMouseButton): Deleted.

  • UIProcess/API/gtk/WebKitPrivate.h:
5:19 AM Changeset in webkit [218175] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[WPE] Ensure that fast/url/user-visible tests are skipped

Unreviewed gardening.

Tests under this directory are currently Mac specific, so skip the
directory altogether.

  • platform/wpe/TestExpectations:
5:00 AM Changeset in webkit [218174] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix return value of PageLoaderClient::shouldGoToBackForwardListItem after r218164.

It should return true as InjectedBundlePageLoaderClient does. This caused several timeouts in GTK+ unit tests
after r218171.

  • WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:

(API::InjectedBundle::PageLoaderClient::shouldGoToBackForwardListItem):

3:34 AM Changeset in webkit [218173] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Use API::GeolocationProvider in WebKitGeolocationProvider
https://bugs.webkit.org/show_bug.cgi?id=173151

Reviewed by Žan Doberšek.

Also cleanup a bit the WebKitGeolocationProvider implementation, it doesn't need to be refcounted.

  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp:

(WebKit::GeolocationProvider::GeolocationProvider):
(WebKit::WebKitGeolocationProvider::~WebKitGeolocationProvider):
(WebKit::WebKitGeolocationProvider::WebKitGeolocationProvider):
(toGeolocationProvider): Deleted.
(startUpdatingCallback): Deleted.
(stopUpdatingCallback): Deleted.
(WebKitGeolocationProvider::~WebKitGeolocationProvider): Deleted.
(WebKitGeolocationProvider::create): Deleted.
(WebKitGeolocationProvider::WebKitGeolocationProvider): Deleted.
(WebKitGeolocationProvider::startUpdating): Deleted.
(WebKitGeolocationProvider::stopUpdating): Deleted.
(WebKitGeolocationProvider::notifyPositionChanged): Deleted.
(WebKitGeolocationProvider::notifyErrorOccurred): Deleted.

  • UIProcess/API/gtk/WebKitGeolocationProvider.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):

3:31 AM Changeset in webkit [218172] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use API::IconDatabaseClient in WebKitFaviconDatabase
https://bugs.webkit.org/show_bug.cgi?id=173146

Reviewed by Žan Doberšek.

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(_WebKitFaviconDatabasePrivate::~_WebKitFaviconDatabasePrivate):
(webkitFaviconDatabaseCreate):
(didChangeIconForPageURLCallback): Deleted.
(iconDataReadyForPageURLCallback): Deleted.

3:30 AM Changeset in webkit [218171] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use API::InjectedBundle::PageLoaderClient in WebKitWebPage
https://bugs.webkit.org/show_bug.cgi?id=173304

Reviewed by Alex Christensen.

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

(webkitWebPageCreate):
(getDocumentLoaderURL): Deleted.
(didStartProvisionalLoadForFrame): Deleted.
(didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
(didSameDocumentNavigationForFrame): Deleted.
(didCommitLoadForFrame): Deleted.
(didFinishDocumentLoadForFrame): Deleted.
(didClearWindowObjectForFrame): Deleted.

1:29 AM Changeset in webkit [218170] by yoon@igalia.com
  • 17 edits in trunk/Source

[GStreamerGL] Release GstVideoFrame when there is a flush event from the pipeline
https://bugs.webkit.org/show_bug.cgi?id=172427

Reviewed by Žan Doberšek.

Source/WebCore:

Without GStreamerGL MediaPlayerPrivateGStreamer copies the video frame from
the decoder's buffer to the texture to display a video. So it makes possible
to release the GstSample when it got a flush start event to free the decoder's
buffer to the decoder without side-effects.

Unlike the traditional way to render video, GStreamer GL does not copy a
texture from the decoder to the texture mapper's buffer to draw video frame.
It uses same GstMemory with the gst pipeline to manage the texture to prevent
copy operations. So without releasing a layer buffer, there is no way to
return GstMemory to the buffer pool.

This patch releases current GstSample when the player got the flush start
event. It destructs the platform layer buffer any time there is a flush start
event.

However, it is not enough to release the GstMemory. The platform layer proxy
should copy current buffer to show it to the compositor instead of a blank
frame. It prevents flickerings until getting a new frame after handling flush
events.

No new tests, there shouldn't be behavior changes

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBufferData::swapBuffersIfNeeded):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink): Adds
handler for the flush event.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/texmap/BitmapTextureGL.cpp:

(WebCore::BitmapTextureGL::BitmapTextureGL):
(WebCore::BitmapTextureGL::copyFromExternalTexture): Copies
a external texture to the managed texture.

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::BitmapTextureGL::create):
To create the managed texture with specific format, this patch adds a
optional parameter for a texture format.

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:

(WebCore::TextureMapperGC3DPlatformLayer::swapBuffersIfNeeded):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::createTexture):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:

(WebCore::TextureMapperPlatformLayerBuffer::TextureMapperPlatformLayerBuffer):
(WebCore::TextureMapperPlatformLayerBuffer::clone):

  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:

(WebCore::TextureMapperPlatformLayerProxy::appendToUnusedBuffers): Added
to schedule releasing unused buffers in main thread.
(WebCore::TextureMapperPlatformLayerProxy::swapBuffer):
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):

  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::texmapGL):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:

Provides current texmapGL to platform layer proxies to create and copy
bitmap textures.

1:19 AM Changeset in webkit [218169] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Switch off Legacy WebRTC API flag by default
https://bugs.webkit.org/show_bug.cgi?id=173241

Patch by Youenn Fablet <youenn@apple.com> on 2017-06-13
Reviewed by Sam Weinig.

  • Shared/WebPreferencesDefinitions.h:
1:13 AM Changeset in webkit [218168] by commit-queue@webkit.org
  • 11 edits in trunk

Filter SDP from ICE candidates in case of local ICE candidate filtering
https://bugs.webkit.org/show_bug.cgi?id=173120

Patch by Youenn Fablet <youenn@apple.com> on 2017-06-13
Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

Adding filtering of local description in getters and createOffer promise.

  • Modules/mediastream/MediaEndpointSessionDescription.cpp:

(WebCore::MediaEndpointSessionDescription::toRTCSessionDescription):

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::filterICECandidate):
(WebCore::PeerConnectionBackend::filterSDP):

  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCSessionDescription.h:

(WebCore::RTCSessionDescription::setSdp):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::currentLocalDescription):
(WebCore::LibWebRTCPeerConnectionBackend::pendingLocalDescription):
(WebCore::LibWebRTCPeerConnectionBackend::localDescription):

Source/WTF:

Adding split helper routine with functor parameter.

  • wtf/text/WTFString.cpp:

(WTF::String::split):

  • wtf/text/WTFString.h:

(WTF::String::contains):

LayoutTests:

  • webrtc/datachannel/filter-ice-candidate.html: Minor clean-up and

adding assertions to ensure that ICE candidates are also filtered out.

1:04 AM Changeset in webkit [218167] by don.olmstead@sony.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove redundant includes in config.h
https://bugs.webkit.org/show_bug.cgi?id=173294

Reviewed by Alex Christensen.

  • config.h:
12:55 AM Changeset in webkit [218166] by don.olmstead@sony.com
  • 3 edits in trunk/Source/WTF

[WTF] Remove redundant includes in config.h
https://bugs.webkit.org/show_bug.cgi?id=173292

Reviewed by Alex Christensen.

  • config.h:
  • wtf/ExportMacros.h:
Note: See TracTimeline for information about the timeline view.