WebKit-https.git
2 years agoHTMLMediaElement: WebKitMediaKeys member name should be prefixed
zandobersek@gmail.com [Tue, 14 Feb 2017 12:56:15 +0000 (12:56 +0000)]
HTMLMediaElement: WebKitMediaKeys member name should be prefixed
https://bugs.webkit.org/show_bug.cgi?id=168297

Reviewed by Xabier Rodriguez-Calvar.

Rename the LEGACY_ENCRYPTED_MEDIA m_mediaKeys variable to m_webkitMediaKeys
so that it contains the legacy prefix, just like the API. This will make
room for the MediaKeys member variable that will be implemented under
the ENCRYPTED_MEDIA guards.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCachedKeyForKeyId):
(WebCore::HTMLMediaElement::webkitSetMediaKeys):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::webkitKeys):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Add platform specific resuls for http/tests/security/modul...
carlosgc@webkit.org [Tue, 14 Feb 2017 12:03:02 +0000 (12:03 +0000)]
Unreviewed GTK+ gardening. Add platform specific resuls for http/tests/security/module-no-mime-type.html.

libsoup sniffer correctly guesses the perl MIME type as text/plain which is still an invalid JavaScript MIME type.

* platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Make DragImageRef a RefPtr instead of a plain pointer
carlosgc@webkit.org [Tue, 14 Feb 2017 11:58:13 +0000 (11:58 +0000)]
[GTK] Make DragImageRef a RefPtr instead of a plain pointer
https://bugs.webkit.org/show_bug.cgi?id=168296

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use RefPtr<cairo_surface_t> as DragImageRef for GTK+ port to avoid memory leaks.

* platform/DragImage.h:
* platform/gtk/DragImageGtk.cpp:
(WebCore::dragImageSize):
(WebCore::deleteDragImage):
(WebCore::scaleDragImage):
(WebCore::dissolveDragImageToFraction):
(WebCore::createDragImageFromImage):
(WebCore::createDragImageIconForCachedImageFilename):

Source/WebKit2:

* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[SOUP] Ensure a response MIME type when Content-Type is missing and sniffing not...
carlosgc@webkit.org [Tue, 14 Feb 2017 11:54:59 +0000 (11:54 +0000)]
[SOUP] Ensure a response MIME type when Content-Type is missing and sniffing not allowed
https://bugs.webkit.org/show_bug.cgi?id=168299

Reviewed by Sergio Villar Senin.

Sniffing is not allowed but we can try to guess the MIME using the response path, or at least fallback to
default MIME type instead of leaving an empty string. This matches what mac port does.

Fixes: http/tests/inspector/network/fetch-response-body.html
       http/tests/inspector/network/xhr-response-body.html

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::didSendRequest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GStreamer][MSE] Some GStreamer log messages are generated with the 'default' category
commit-queue@webkit.org [Tue, 14 Feb 2017 11:30:46 +0000 (11:30 +0000)]
[GStreamer][MSE] Some GStreamer log messages are generated with the 'default' category
https://bugs.webkit.org/show_bug.cgi?id=168015

Patch by Vanessa Chipirrás Navalón <vchipirras@igalia.com> on 2017-02-14
Reviewed by Xabier Rodriguez-Calvar.

The elements AppendPipeline, PlaybackPipeline, MediaSourceClientGstreamerMSE do not have
a defined Gstreamer log category, then the webkitmse category has been added to them.
WebKitMediaSourceGstreamer has its own category but was not declared at the beginning of
the .cpp file.

* platform/graphics/gstreamer/mse/AppendPipeline.cpp: Added webkitmse category.
* platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
Added webkitmse category and gst header.
* platform/graphics/gstreamer/mse/PlaybackPipeline.cpp: Added webkitmse category.
* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
Added webkitmediasrc category.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed, rolling out r212237.
commit-queue@webkit.org [Tue, 14 Feb 2017 10:50:32 +0000 (10:50 +0000)]
Unreviewed, rolling out r212237.
https://bugs.webkit.org/show_bug.cgi?id=168298

This was a wrong fix (Requested by rniwa on #webkit).

Reverted changeset:

"Nwtr unexpectedly passes mismatch ref test if the hashes
doesn't match but no diff"
https://bugs.webkit.org/show_bug.cgi?id=168221
http://trac.webkit.org/changeset/212237

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoCookieManager only works with the default session
carlosgc@webkit.org [Tue, 14 Feb 2017 10:43:14 +0000 (10:43 +0000)]
CookieManager only works with the default session
https://bugs.webkit.org/show_bug.cgi?id=168229

Reviewed by Alex Christensen.

Source/WebCore:

Update cookie observer API to use a std::function instead of a function pointer and make it work with multiple
sessions in the backends that support it.

* platform/network/CookieStorage.h:
* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::cookieChangeCallbackMap):
(WebCore::notifyCookiesChanged):
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):
* platform/network/mac/CookieStorageMac.mm:
(-[WebCookieStorageObjCAdapter startListeningForCookieChangeNotificationsWithCallback:]):
(-[WebCookieStorageObjCAdapter stopListeningForCookieChangeNotifications]):
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):
* platform/network/soup/CookieStorageSoup.cpp:
(WebCore::cookieChangeCallbackMap):
(WebCore::soupCookiesChanged):
(WebCore::startObservingCookieChanges):
(WebCore::stopObservingCookieChanges):

Source/WebKit2:

Make CookieManager session aware by adding a SessionID parameter to all its functions, and update all the callers
to pass the default session ID, preserving the current
behavior. WebCookieManagerProxy::startObservingCookieChanges() now also receives an optional callback to be
called on every change.

* UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerGetHostnamesWithCookies):
(WKCookieManagerDeleteCookiesForHostname):
(WKCookieManagerDeleteAllCookies):
(WKCookieManagerDeleteAllCookiesModifiedAfterDate):
(WKCookieManagerStartObservingCookieChanges):
(WKCookieManagerStopObservingCookieChanges):
* UIProcess/API/gtk/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_get_domains_with_cookies):
(webkit_cookie_manager_delete_cookies_for_domain):
(webkit_cookie_manager_delete_all_cookies):
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::addCookie):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::cookiesDidChange):
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebCookieManagerProxy.messages.in:
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::WebCookieManager):
(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteCookiesForHostname):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManager::addCookie):
(WebKit::WebCookieManager::startObservingCookieChanges):
(WebKit::WebCookieManager::stopObservingCookieChanges):
* WebProcess/Cookies/WebCookieManager.h:
* WebProcess/Cookies/WebCookieManager.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix typo in performance-observer-callback-mutate.html
commit-queue@webkit.org [Tue, 14 Feb 2017 10:09:10 +0000 (10:09 +0000)]
Fix typo in performance-observer-callback-mutate.html
https://bugs.webkit.org/show_bug.cgi?id=168294

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-14
Reviewed by Ryosuke Niwa.

* performance-api/performance-observer-callback-mutate-expected.txt:
* performance-api/performance-observer-callback-mutate.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed, fix documentation typo
tpopela@redhat.com [Tue, 14 Feb 2017 09:43:58 +0000 (09:43 +0000)]
Unreviewed, fix documentation typo

* UIProcess/API/gtk/WebKitEditingCommands.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoREGRESSION: Update volume and scrubbing slider to match HI designs
graouts@webkit.org [Tue, 14 Feb 2017 08:11:34 +0000 (08:11 +0000)]
REGRESSION: Update volume and scrubbing slider to match HI designs
https://bugs.webkit.org/show_bug.cgi?id=168170
<rdar://problem/28095266>

Reviewed by Dean Jackson.

Source/WebCore:

We bring the designs of the control's background materials, scrubber and
volume slider up to spec.

The first important set of changes is that, on macOS, the materials and colors
were incorrect. Buttons and time labels now set a mix-blend-mode to correctly
appear vibrant against the media, and the controls bar, volume container
and tracks menu now use a new BackgroundTint node to correctly apply both
a backdrop-filter and blended tint above it.

The second important set of changes is the rendering of the sliders. Up to now
we would simply style the <input type="range"> track and thumb, applying solid
fills and strokes. We now draw sliders in two ways depending on the platform.

On macOS, we draw the whole slider with a <canvas> element with "mix-blend-mode"
set to "plus-lighter". On iOS, we draw the track as a <div> with "mix-blend-mode"
set to "plus-darker" and draw the fill (up to the thumb) in the <canvas> with
no blend mode to obtain a pure white color, finally the thumb is rendered by the
<input> element. We couldn't draw the pure white color with the track in the
same <canvas> due to the "plus-darker" blend mode.

Test: media/modern-media-controls/background-tint/background-tint.html

* Modules/modern-media-controls/controls/airplay-button.css:
(button.airplay.on):
* Modules/modern-media-controls/controls/background-tint.css: Added.
(.background-tint):
(.background-tint,):
(.background-tint > .blur):
(.background-tint > .tint):
* Modules/modern-media-controls/controls/background-tint.js: Added.
(BackgroundTint):
* Modules/modern-media-controls/controls/ios-inline-media-controls.css:
(.media-controls.ios.inline .scrubber.slider):
(.media-controls.ios.inline .scrubber.slider > div):
(.media-controls.ios.inline .scrubber.slider > input::-webkit-slider-thumb):
(.media-controls.ios.inline .scrubber.slider > .fill): Deleted.
* Modules/modern-media-controls/controls/macos-compact-inline-media-controls.css:
(.media-controls.mac.inline.compact .volume-slider-container):
(.media-controls.mac.inline.compact .volume.slider):
(.media-controls.mac.inline.compact .scrubber.slider > input::-webkit-slider-thumb): Deleted.
* Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css:
(.media-controls.mac.fullscreen > .controls-bar):
(.media-controls.mac.fullscreen > .controls-bar > .background-tint > div):
(.media-controls.mac.fullscreen .volume.slider):
(.media-controls.mac.fullscreen button.volume-up):
(.media-controls.mac.fullscreen button.rewind):
(.media-controls.mac.fullscreen button.forward):
(.media-controls.mac.fullscreen .buttons-container.right button):
(.media-controls.mac.fullscreen .scrubber):
(.media-controls.mac.fullscreen > .controls-bar button): Deleted.
(.media-controls.mac.fullscreen button.airplay): Deleted.
(.media-controls.mac.fullscreen button.aspect-ratio): Deleted.
(.media-controls.mac.fullscreen button.pip): Deleted.
(.media-controls.mac.fullscreen button.tracks): Deleted.
(.media-controls.mac.fullscreen button.fullscreen): Deleted.
* Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
* Modules/modern-media-controls/controls/macos-inline-media-controls.css:
(.media-controls.mac.inline .scrubber.slider):
(.media-controls.mac.inline .volume-slider-container):
(.media-controls.mac.inline .volume-slider-container > .background-tint):
(.media-controls.mac.inline .volume-slider-container > .background-tint > div):
(.media-controls.mac.inline .volume.slider):
(.media-controls.mac.inline button): Deleted.
(.media-controls.mac.inline button:active): Deleted.
(.media-controls.mac.inline > .controls-bar button): Deleted.
(.media-controls.mac.inline > .controls-bar,): Deleted.
(.media-controls.mac.inline .volume-slider-container:before): Deleted.
* Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls.prototype.layout):
* Modules/modern-media-controls/controls/macos-media-controls.css: Added.
(.media-controls.mac button:active):
(.media-controls.mac > .controls-bar button):
(.media-controls.mac > .controls-bar .time-label):
(.media-controls.mac > .controls-bar .slider > canvas):
(.media-controls.mac > .controls-bar .slider > input::-webkit-slider-thumb):
* Modules/modern-media-controls/controls/scrubber.css: Removed.
* Modules/modern-media-controls/controls/scrubber.js:
(Scrubber):
(Scrubber.prototype.get buffered):
(Scrubber.prototype.set buffered):
(Scrubber.prototype.draw):
(Scrubber.prototype._drawMacOS):
(Scrubber.prototype._drawiOS):
* Modules/modern-media-controls/controls/slider.css:
(.slider):
(.slider > canvas,):
(.slider > canvas):
(.slider > input):
(.slider > input,): Deleted.
(.slider > .fill): Deleted.
(.slider > input::-webkit-slider-thumb): Deleted.
* Modules/modern-media-controls/controls/slider.js:
(Slider.prototype.set value):
(Slider.prototype.set width):
(Slider.prototype.commitProperty):
(Slider.prototype.layout):
(Slider.prototype.draw):
(Slider.prototype._handleInputEvent):
(Slider.prototype._handleChangeEvent):
(addRoundedRect):
(Slider.prototype._updateFill): Deleted.
* Modules/modern-media-controls/controls/start-button.css:
(button.start):
* Modules/modern-media-controls/controls/time-control.js:
* Modules/modern-media-controls/controls/time-label.css:
(.time-label):
* Modules/modern-media-controls/controls/tracks-panel.css:
(.tracks-panel):
(.tracks-panel > .background-tint > div):
(.tracks-panel > section):
(.tracks-panel > section:first-of-type):
(.tracks-panel > section > h3):
(.tracks-panel > section > ul):
(.tracks-panel > section > ul > li):
(.tracks-panel > section > ul > li:focus):
(.tracks-panel > section > ul > li.selected:before):
(.tracks-panel > section > ul > li.animated):
(.tracks-panel-section): Deleted.
(.tracks-panel-section:first-of-type): Deleted.
(.tracks-panel-section > h3): Deleted.
(.tracks-panel-section > ul): Deleted.
(.tracks-panel-section > ul > li): Deleted.
(.tracks-panel-section > ul > li:focus): Deleted.
(.tracks-panel-section > ul > li.selected:before): Deleted.
(.tracks-panel-section > ul > li.animated): Deleted.
* Modules/modern-media-controls/controls/tracks-panel.js:
(TracksPanel.prototype._childrenFromDataSource):
(TracksPanel.prototype._childrenFromDataSource.): Deleted.
* Modules/modern-media-controls/controls/volume-slider.js:
(VolumeSlider):
(VolumeSlider.prototype.handleEvent):
(VolumeSlider.prototype.draw):
* Modules/modern-media-controls/js-files:
* Modules/modern-media-controls/media/scrubbing-support.js:
(ScrubbingSupport.prototype.get mediaEvents):
(ScrubbingSupport.prototype.syncControl):
(ScrubbingSupport):

LayoutTests:

Rebaselining a host of existing tests to account for new DOM structure, metrics,
colors, blend modes, etc. We're also adding a new test for the BackgroundTint
class and removing one for the slider fill which is no longer appopriate since
we're drawing the slider's fill with a <canvas> element rather than a DOM element.

* media/modern-media-controls/background-tint/background-tint-expected.txt: Added.
* media/modern-media-controls/background-tint/background-tint.html: Added.
* media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles-expected.txt:
* media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles-expected.txt:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-constructor.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-resize-with-hidden-controls-bar.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt:
* media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html:
* media/modern-media-controls/resources/media-controls-loader.js:
* media/modern-media-controls/scrubber/scrubber.html:
* media/modern-media-controls/slider/slider-constructor-expected.txt:
* media/modern-media-controls/slider/slider-constructor.html:
* media/modern-media-controls/slider/slider-fill-expected.txt: Removed.
* media/modern-media-controls/slider/slider-fill.html: Removed.
* media/modern-media-controls/slider/slider-styles-expected.txt:
* media/modern-media-controls/slider/slider-styles.html:
* media/modern-media-controls/time-label/time-label-expected.txt:
* media/modern-media-controls/time-label/time-label.html:
* media/modern-media-controls/tracks-panel/tracks-panel-population-expected.txt:
* media/modern-media-controls/tracks-panel/tracks-panel-population.html:
* media/modern-media-controls/tracks-support/tracks-support-show-and-populate-panel.html:
* media/modern-media-controls/volume-slider/volume-slider-value-expected.txt:
* media/modern-media-controls/volume-slider/volume-slider-value.html:
* media/modern-media-controls/volume-slider/volume-slider.html:
* media/modern-media-controls/volume-support/volume-support-click-expected.txt:
* media/modern-media-controls/volume-support/volume-support-click.html:
* media/modern-media-controls/volume-support/volume-support-drag-expected.txt:
* media/modern-media-controls/volume-support/volume-support-drag.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoURLs with an invalid IPv4 address should be invalid
achristensen@apple.com [Tue, 14 Feb 2017 07:43:28 +0000 (07:43 +0000)]
URLs with an invalid IPv4 address should be invalid
https://bugs.webkit.org/show_bug.cgi?id=168260

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

* web-platform-tests/url/a-element-expected.txt:
* web-platform-tests/url/a-element-xhtml-expected.txt:
* web-platform-tests/url/url-constructor-expected.txt:

Source/WebCore:

All URL hosts are fed through the IPv4 parser.  https://webkit.org/ doesn't
look enough like an IPv4 address to be considered an invalid IPv4 address, so
we continue to the String host processing.  http://127.0.0.257 does, though, and
according to https://url.spec.whatwg.org/#concept-ipv4-parser parsing that URL
should fail.

Covered by newly passing web platform tests.

* platform/URLParser.cpp:
(WebCore::URLParser::parseIPv4Host):
(WebCore::URLParser::parseHostAndPort):
* platform/URLParser.h:

Source/WTF:

* wtf/Expected.h:
(WTF::Expected::value):
Added missing WTFMove for rvalue Expected::value().

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
Update tests to reflect new correct behavior.

LayoutTests:

* fetch/fetch-url-serialization-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebKit shouldn't re-export ScrollTypes.h and WebCoreFrameView.h
ap@apple.com [Tue, 14 Feb 2017 07:16:57 +0000 (07:16 +0000)]
WebKit shouldn't re-export ScrollTypes.h and WebCoreFrameView.h
https://bugs.webkit.org/show_bug.cgi?id=168282

Reviewed by Dan Bernstein.

* MigrateHeaders.make:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoReverted r212275. It still breaks some Apple-internal builds.
mitz@apple.com [Tue, 14 Feb 2017 07:00:43 +0000 (07:00 +0000)]
Reverted r212275. It still breaks some Apple-internal builds.

* platform/spi/mac/TUCallSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAddress ESLint warnings in modern-media-controls
commit-queue@webkit.org [Tue, 14 Feb 2017 05:57:45 +0000 (05:57 +0000)]
Address ESLint warnings in modern-media-controls
https://bugs.webkit.org/show_bug.cgi?id=168224

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-13
Reviewed by Alexey Proskuryakov.

* Modules/modern-media-controls/controls/controls-bar.js:
* Modules/modern-media-controls/controls/fullscreen-button.js:
* Modules/modern-media-controls/controls/layout-node.js:
* Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
* Modules/modern-media-controls/controls/media-controls.js:
* Modules/modern-media-controls/controls/scheduler.js:
* Modules/modern-media-controls/controls/seek-button.js:
* Modules/modern-media-controls/controls/tracks-panel.js:
* Modules/modern-media-controls/controls/volume-slider.js:
* Modules/modern-media-controls/gesture-recognizers/gesture-recognizer.js:
* Modules/modern-media-controls/gesture-recognizers/pinch.js:
* Modules/modern-media-controls/media/fullscreen-support.js:
* Modules/modern-media-controls/media/media-controller.js:
* Modules/modern-media-controls/media/placard-support.js:
* Modules/modern-media-controls/media/status-support.js:
Address pedantic warnings.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRestored changes from r212210 in a way that does not break the build.
mitz@apple.com [Tue, 14 Feb 2017 05:40:15 +0000 (05:40 +0000)]
Restored changes from r212210 in a way that does not break the build.

* platform/spi/mac/TUCallSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFontCascade::widthForSimpleText should skip applyTransforms() when kerning and ligatu...
zalan@apple.com [Tue, 14 Feb 2017 03:27:17 +0000 (03:27 +0000)]
FontCascade::widthForSimpleText should skip applyTransforms() when kerning and ligatures are off.
https://bugs.webkit.org/show_bug.cgi?id=168251
<rdar://problem/30498102>

Reviewed by Antti Koivisto.

Covered by existing (perf)tests.

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWeb Inspector: provide a way to show current value of CSS variables in style rules
commit-queue@webkit.org [Tue, 14 Feb 2017 02:29:38 +0000 (02:29 +0000)]
Web Inspector: provide a way to show current value of CSS variables in style rules
https://bugs.webkit.org/show_bug.cgi?id=168172

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2017-02-13
Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Images/CSSVariable.svg: Added.

* UserInterface/Models/TextMarker.js:
(WebInspector.TextMarker.Type):

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor._createInlineSwatches.update):

* UserInterface/Views/CodeMirrorTextMarkers.js:
(createCodeMirrorTextMarkers):
(createCodeMirrorVariableTextMarkers):

* UserInterface/Views/InlineSwatch.css:
(.inline-swatch.variable):
(.inline-swatch:matches(.bezier, .spring, .variable)):
(.inline-swatch:matches(.bezier, .spring, .variable):hover):
(.inline-swatch:matches(.bezier, .spring, .variable):active):
(.inline-swatch-variable-popover):
(.inline-swatch-variable-popover .CodeMirror):
(.inline-swatch-variable-popover .CodeMirror pre):
(.inline-swatch:matches(.bezier, .spring):hover): Deleted.
(.inline-swatch:matches(.bezier, .spring):active): Deleted.

* UserInterface/Views/InlineSwatch.js:
(WebInspector.InlineSwatch):
(WebInspector.InlineSwatch.prototype._fallbackValue):
(WebInspector.InlineSwatch.prototype._swatchElementClicked):
(WebInspector.InlineSwatch.prototype._valueEditorValueDidChange):
(WebInspector.InlineSwatch.Type):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWeb Inspector: expose system user interface layout direction through InspectorFronten...
bburg@apple.com [Tue, 14 Feb 2017 02:28:55 +0000 (02:28 +0000)]
Web Inspector: expose system user interface layout direction through InspectorFrontendHost
https://bugs.webkit.org/show_bug.cgi?id=168209
<rdar://problem/11573736>

Reviewed by Joseph Pecoraro.

Forward the UserInterfaceLayoutDirection of the inspector page. If the WebKit client has
properly set the UI directionality from system settings in PageClient, this will get inherited
automatically by the Inspector's WebPage instance.

Source/WebCore:

* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::userInterfaceLayoutDirection):
* inspector/InspectorFrontendClientLocal.h:

* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::userInterfaceLayoutDirection):
Expose the directionality to the frontend as "ltr" or "rtl" strings.

Source/WebKit2:

* WebProcess/WebPage/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::userInterfaceLayoutDirection):
* WebProcess/WebPage/RemoteWebInspectorUI.h:
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::userInterfaceLayoutDirection):
* WebProcess/WebPage/WebInspectorUI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoSimple line layout: Do not measure runs with trailing whitespace when kerning and...
zalan@apple.com [Tue, 14 Feb 2017 02:20:50 +0000 (02:20 +0000)]
Simple line layout: Do not measure runs with trailing whitespace when kerning and ligatures are off.
https://bugs.webkit.org/show_bug.cgi?id=168247
<rdar://problem/30497288>

Reviewed by Antti Koivisto.

The width of the run is supposed to be the same with or without the trailing whitespace.

Covered by performance test.

* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::textWidth):
* rendering/SimpleLineLayoutTextFragmentIterator.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoSource/WebCore:
commit-queue@webkit.org [Tue, 14 Feb 2017 02:11:09 +0000 (02:11 +0000)]
Source/WebCore:
Added the other missing BSTR roles tag names.
https://bugs.webkit.org/show_bug.cgi?id=165545

Patch by Karim H <karim@karhm.com> on 2017-02-13
Reviewed by Chris Fleizach.

Test: accessibility/win/bstr-elements-role.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::shouldReturnTagNameAsRoleForMSAA):

LayoutTests:
Added the BSTR roles tag test for Windows.
https://bugs.webkit.org/show_bug.cgi?id=165545

Patch by Karim H <karim@karhm.com> on 2017-02-13
Reviewed by Chris Fleizach.

* accessibility/win/bstr-elements-role-expected.txt: Added.
* accessibility/win/bstr-elements-role.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WebRTC] Creating RTCPeerConnection with libwebrtc backend is crashing on rwt
commit-queue@webkit.org [Tue, 14 Feb 2017 02:09:03 +0000 (02:09 +0000)]
[WebRTC] Creating RTCPeerConnection with libwebrtc backend is crashing on rwt
https://bugs.webkit.org/show_bug.cgi?id=168250

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-13
Reviewed by Alex Christensen.

Source/WebCore:

Covered by webrtc tests in LayoutTests and in web-platform-tests.
Making mock peer connection factory keep a ref of the real libwebrtc peer connection factory.
That way, it can create real libwebrtc backends whenever requested by tests.

Moving LibWebRTCUtils.h routines as static LibWebRTCProvider methods.
In the future, we should make them no longer static.

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer):
(WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: Renamed from Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCUtils.cpp.
(WebCore::LibWebRTCProvider::callOnWebRTCNetworkThread):
(WebCore::LibWebRTCProvider::callOnWebRTCSignalingThread):
(WebCore::LibWebRTCProvider::factory):
(WebCore::LibWebRTCProvider::setPeerConnectionFactory):
(WebCore::createActualPeerConnection):
(WebCore::LibWebRTCProvider::createPeerConnection):
* platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* platform/mediastream/libwebrtc/LibWebRTCUtils.h: Removed.
* platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):
* testing/Internals.cpp:
* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::useMockRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionForIceCandidates::gotLocalDescription):
(WebCore::releaseInNetworkThread):
(WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):
(WebCore::MockLibWebRTCPeerConnection::CreateOffer):
(WebCore::MockLibWebRTCPeerConnection::CreateAnswer):

Source/WebKit2:

* WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::createPeerConnection):
* WebProcess/Network/webrtc/LibWebRTCProvider.h:
* WebProcess/Network/webrtc/LibWebRTCSocket.h:
* WebProcess/Network/webrtc/WebRTCMonitor.cpp:
(WebKit::WebRTCMonitor::StartUpdating):
(WebKit::WebRTCMonitor::networksChanged):
* WebProcess/Network/webrtc/WebRTCMonitor.h:
* WebProcess/Network/webrtc/WebRTCResolver.cpp:
(WebKit::WebRTCResolver::setResolvedAddress):
(WebKit::WebRTCResolver::resolvedAddressError):
* WebProcess/Network/webrtc/WebRTCSocket.cpp:
(WebKit::WebRTCSocket::signalOnNetworkThread):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WinCairo] Add Build Slave
commit-queue@webkit.org [Tue, 14 Feb 2017 01:46:01 +0000 (01:46 +0000)]
[WinCairo] Add Build Slave
https://bugs.webkit.org/show_bug.cgi?id=168263

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-02-13
Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/config.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoSimplify DragController::startDrag
andersca@apple.com [Tue, 14 Feb 2017 01:44:31 +0000 (01:44 +0000)]
Simplify DragController::startDrag
https://bugs.webkit.org/show_bug.cgi?id=168240

Reviewed by Tim Horton.

Use early returns instead of assigning to a variable that's returned at the end of the function.

* page/DragController.cpp:
(WebCore::DragController::startDrag):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212267 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoImplement Drag cancels
megan_gardner@apple.com [Tue, 14 Feb 2017 01:32:37 +0000 (01:32 +0000)]
Implement Drag cancels
https://bugs.webkit.org/show_bug.cgi?id=168266

Reviewed by Wenson Hsieh.

Adds support for the UI Process to cancel already started drag events.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::cancelledDrag):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::cancelledDrag):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoThe current frame of an image should not deleted if another frame is asynchronously...
commit-queue@webkit.org [Tue, 14 Feb 2017 01:29:24 +0000 (01:29 +0000)]
The current frame of an image should not deleted if another frame is asynchronously being decoded
https://bugs.webkit.org/show_bug.cgi?id=167618

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-02-13
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/images/animated-image-draw-while-decode.html

If the memory cache asks the BitmapImage to destroy all its frames while
the next frame is being decoded, a thread contention may happen. This can
happen when BitmapImage::draw() is called and the next frame is not ready
yet for drawing, so the current frame has to be drawn. This will invoke
a frame decoding in the same image from the drawing committing thread.

We can avoid that by destroying all the frames except the current frame if
the image is asynchronously decoding its frames. This should not add extra
memory overhead because building the image frame cache and then destroying
it, when needed, is an on-going process. The frames will be allocated and
decoded all the time and all of them can be destroyed except the current one.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
The logic of destroying the ImageFrames was split among BitmapImage, ImageSource
and ImageFrameCache. Move all the logic to BitmapImage and have ImageFrameCache
be responsible only for destroying a range of ImageFrames.

(WebCore::BitmapImage::draw): add an ASSERT_IMPLIES to ensure the current frame
is ready to be rendered if the next frame is being decoded.

* platform/graphics/BitmapImage.h: Move a const from ImageFrameCache.h to BitmapImage.h.

* platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::destroyDecodedData):
(WebCore::ImageFrameCache::destroyDecodedDataIfNecessary): Deleted.
* platform/graphics/ImageFrameCache.h:
(WebCore::ImageFrameCache::destroyAllDecodedData):
(WebCore::ImageFrameCache::destroyAllDecodedDataExcludeFrame):
(WebCore::ImageFrameCache::destroyDecodedDataBeforeFrame):
Make ImageFrameCache be responsible for destroying a range of ImageFrames.
This range might include all the frames, all the frames but up to a specific
frame, or all the frames but exclude one frame in the middle.

* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::clear): No need to call clearFrameBufferCache() from clear().
The decision to call clearFrameBufferCache() or clear() is moved to
BitmapImage::destroyDecodedData().

(WebCore::ImageSource::destroyDecodedData): Deleted.
(WebCore::ImageSource::destroyDecodedDataIfNecessary): Deleted.
These functions are replaced by another set of functions in ImageSource.h.

* platform/graphics/ImageSource.h:
(WebCore::ImageSource::destroyAllDecodedData):
(WebCore::ImageSource::destroyAllDecodedDataExcludeFrame):
(WebCore::ImageSource::destroyDecodedDataBeforeFrame):
(WebCore::ImageSource::hasDecodingQueue):
These are new wrappers which call the corresponding ImageFrameCache functions.

Source/WTF:

Add ASSERT_IMPLIES() which should fire when a condition is true but the
assertion is false.

* wtf/Assertions.h:

LayoutTests:

This test did not crash on Mac when running it without this patch. But
the new ASSERT_IMPLIES(), which is added to BitmapImage::draw(), fires
when the other changes are not included. So the bug could have happened
without the patch but the crash did not since it requires a thread
contention in the system underlying components.

* fast/images/animated-image-draw-while-decode-expected.txt: Added.
* fast/images/animated-image-draw-while-decode.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix the build after r212254
wenson_hsieh@apple.com [Tue, 14 Feb 2017 01:18:59 +0000 (01:18 +0000)]
Fix the build after r212254

* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _currentLocation]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[Cocoa] Stop soft-linking CTRunGetBaseAdvancesAndOrigins()
mmaxfield@apple.com [Tue, 14 Feb 2017 01:17:12 +0000 (01:17 +0000)]
[Cocoa] Stop soft-linking CTRunGetBaseAdvancesAndOrigins()
https://bugs.webkit.org/show_bug.cgi?id=168256

Reviewed by Alex Christensen.

Use of this function is already behind a platform guard.

No new tests because there is no behavior change.

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoasyncDisassembly crashes on iOS
msaboff@apple.com [Tue, 14 Feb 2017 01:08:54 +0000 (01:08 +0000)]
asyncDisassembly crashes on iOS
https://bugs.webkit.org/show_bug.cgi?id=168259

Reviewed by Filip Pizlo.

Eliminated the dumping of  the disassembly for the JIT write thunk.
Not only does it fix the crash, but given the nature of the JIT
write thunk, we probably don't want to disassemble it anyway.

* jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::jitWriteThunkGenerator):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WebCrypto] WebInspector should indicate webkitSubtle is deprecated
jiewen_tan@apple.com [Tue, 14 Feb 2017 01:07:03 +0000 (01:07 +0000)]
[WebCrypto] WebInspector should indicate webkitSubtle is deprecated
https://bugs.webkit.org/show_bug.cgi?id=165913
<rdar://problem/30477222>

Reviewed by Joseph Pecoraro.

Source/WebCore:

Covered by existing tests.

* page/Crypto.cpp:
(WebCore::Crypto::webkitSubtle):

LayoutTests:

* crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html:
Change webkitSubtle to subtle.
* crypto/webkitSubtle/aes-cbc-192-encrypt-decrypt-expected.txt:
* crypto/webkitSubtle/aes-cbc-256-encrypt-decrypt-expected.txt:
* crypto/webkitSubtle/aes-cbc-encrypt-decrypt-expected.txt:
* crypto/webkitSubtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
* crypto/webkitSubtle/aes-cbc-generate-key-expected.txt:
* crypto/webkitSubtle/aes-cbc-import-jwk-expected.txt:
* crypto/webkitSubtle/aes-cbc-invalid-length-expected.txt:
* crypto/webkitSubtle/aes-cbc-unwrap-failure-expected.txt:
* crypto/webkitSubtle/aes-cbc-unwrap-rsa-expected.txt:
* crypto/webkitSubtle/aes-cbc-wrap-rsa-expected.txt:
* crypto/webkitSubtle/aes-cbc-wrap-rsa-non-extractable-expected.txt:
* crypto/webkitSubtle/aes-cbc-wrong-key-class-expected.txt:
* crypto/webkitSubtle/aes-export-key-expected.txt:
* crypto/webkitSubtle/aes-kw-key-manipulation-expected.txt:
* crypto/webkitSubtle/aes-kw-wrap-unwrap-aes-expected.txt:
* crypto/webkitSubtle/aes-postMessage-expected.txt:
* crypto/webkitSubtle/argument-conversion-expected.txt:
* crypto/webkitSubtle/array-buffer-view-offset-expected.txt:
* crypto/webkitSubtle/gc-2-expected.txt:
* crypto/webkitSubtle/gc-expected.txt:
* crypto/webkitSubtle/hmac-check-algorithm-expected.txt:
* crypto/webkitSubtle/hmac-export-key-expected.txt:
* crypto/webkitSubtle/hmac-generate-key-expected.txt:
* crypto/webkitSubtle/hmac-import-jwk-expected.txt:
* crypto/webkitSubtle/hmac-postMessage-expected.txt:
* crypto/webkitSubtle/hmac-sign-verify-empty-key-expected.txt:
* crypto/webkitSubtle/hmac-sign-verify-expected.txt:
* crypto/webkitSubtle/import-jwk-expected.txt:
* crypto/webkitSubtle/jwk-export-use-values-expected.txt:
* crypto/webkitSubtle/jwk-import-use-values-expected.txt:
* crypto/webkitSubtle/rsa-export-generated-keys-expected.txt:
* crypto/webkitSubtle/rsa-export-key-expected.txt:
* crypto/webkitSubtle/rsa-export-private-key-expected.txt:
* crypto/webkitSubtle/rsa-indexeddb-expected.txt:
* crypto/webkitSubtle/rsa-indexeddb-non-exportable-expected.txt:
* crypto/webkitSubtle/rsa-indexeddb-non-exportable-private-expected.txt:
* crypto/webkitSubtle/rsa-indexeddb-private-expected.txt:
* crypto/webkitSubtle/rsa-oaep-generate-non-extractable-key-expected.txt:
* crypto/webkitSubtle/rsa-oaep-key-manipulation-expected.txt:
* crypto/webkitSubtle/rsa-oaep-plaintext-length-expected.txt:
* crypto/webkitSubtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
* crypto/webkitSubtle/rsa-postMessage-expected.txt:
* crypto/webkitSubtle/rsaes-pkcs1-v1_5-decrypt-expected.txt:
* crypto/webkitSubtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt:
* crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-expected.txt:
* crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent-expected.txt:
* crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
* crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-small-key-expected.txt:
* crypto/webkitSubtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt:
* crypto/webkitSubtle/sha-1-expected.txt:
* crypto/webkitSubtle/sha-224-expected.txt:
* crypto/webkitSubtle/sha-256-expected.txt:
* crypto/webkitSubtle/sha-384-expected.txt:
* crypto/webkitSubtle/sha-512-expected.txt:
* crypto/webkitSubtle/unimplemented-unwrap-crash-expected.txt:
* crypto/webkitSubtle/unwrapKey-check-usage-expected.txt:
* crypto/webkitSubtle/wrapKey-check-usage-expected.txt:
* fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoCall WKDestroyRenderingResources() on iOS when tabs are backgrounded
simon.fraser@apple.com [Tue, 14 Feb 2017 00:47:41 +0000 (00:47 +0000)]
Call WKDestroyRenderingResources() on iOS when tabs are backgrounded
https://bugs.webkit.org/show_bug.cgi?id=168261
rdar://problem/30481079

Reviewed by Tim Horton.

Source/WebCore:

Add CABackingStoreCollectBlocking() to QuartzCoreSPI.h, and fix files in WebCore
that do a framework include.

* platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
* platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h:
* platform/spi/cocoa/QuartzCoreSPI.h:
* platform/spi/mac/NSViewSPI.h:

Source/WebKit2:

There's code to call CABackingStoreCollectBlocking() on a 10s timer that exists for Mac, but on iOS
the web processes are suspended before this timer fires. So call CABackingStoreCollectBlocking()
from WebProcess::actualPrepareToSuspend(), which is where we also trigger the markAllLayersVolatile()
code.

Also add CABackingStoreCollectBlocking() to QuartzCoreSPI.h so we can use it without using WKSI.

Release-log how long this takes, in case we get reports of bad performance. In my testing it could be up to 10ms.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::destroyRenderingResources):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark media/modern-media-controls/layout-node/addChild.html as flaky on El Capitan...
ryanhaddad@apple.com [Tue, 14 Feb 2017 00:44:54 +0000 (00:44 +0000)]
Mark media/modern-media-controls/layout-node/addChild.html as flaky on El Capitan WK1.
https://bugs.webkit.org/show_bug.cgi?id=168074

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark media/modern-media-controls/forward-button/forward-button.html as flaky on mac...
ryanhaddad@apple.com [Tue, 14 Feb 2017 00:26:17 +0000 (00:26 +0000)]
Mark media/modern-media-controls/forward-button/forward-button.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=168265

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoASSERTION FAILED: !m_bodyLoader
commit-queue@webkit.org [Tue, 14 Feb 2017 00:16:10 +0000 (00:16 +0000)]
ASSERTION FAILED: !m_bodyLoader
https://bugs.webkit.org/show_bug.cgi?id=166986

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

Refactoring to make the unset/set pending activity part of body loader.
This allows ensuring to not forget to do that by simply deleting the body loader.

* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::BodyLoader):
(WebCore::FetchResponse::BodyLoader::~BodyLoader):
(WebCore::FetchResponse::stop):
* Modules/fetch/FetchResponse.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFollowup to: Replace all WebKit Library Version checks in WK2 with SDK version checks.
beidson@apple.com [Mon, 13 Feb 2017 23:26:46 +0000 (23:26 +0000)]
Followup to: Replace all WebKit Library Version checks in WK2 with SDK version checks.
https://bugs.webkit.org/show_bug.cgi?id=168124

Reviewed by Geoffrey Garen.

Source/WebKit2:

* UIProcess/Cocoa/VersionChecks.h:

Source/WTF:

* wtf/spi/darwin/dyldSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove unused WebCoreThreadSafe.h
aakash_jain@apple.com [Mon, 13 Feb 2017 23:10:12 +0000 (23:10 +0000)]
Remove unused WebCoreThreadSafe.h
https://bugs.webkit.org/show_bug.cgi?id=168236

Reviewed by Dan Bernstein.

* platform/ios/wak/WebCoreThreadSafe.h: Removed.
* WebCore.xcodeproj/project.pbxproj: Removed WebCoreThreadSafe.h
* platform/ios/wak/WebCoreThread.mm: Removed WebCoreThreadSafe.h and included WAKWindow.h directly

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WK2] Add test infrastructure and unit tests for data interaction
wenson_hsieh@apple.com [Mon, 13 Feb 2017 23:10:10 +0000 (23:10 +0000)]
[WK2] Add test infrastructure and unit tests for data interaction
https://bugs.webkit.org/show_bug.cgi?id=168159
<rdar://problem/30477634>

Reviewed by Tim Horton.

Source/WebKit2:

Adds support at the WebKit2 layer for testing data interaction. Introduces the _WKTestingDelegate, which a
protocol which can specified for a WKWebView and used to install mock objects and simulate the state of the
platform. By default, this delegate is nil, which results in normal behavior. For data interaction, we are able
to specify a mock data interaction gesture recognizer for use by the WKContentView to simulate firing a long
press and subsequent movement. This gesture recognizer is used in place of the regular data interaction gesture
recognizer, and allows for TestWebKitAPI to drive interaction without actually sending events through the
UIApplication. The _WKTestingDelegate also contains optional method hooks which are invoked at key points in
time when performing a data interaction gesture.

Since all methods of the testing delegate are optional, the testing delegate can be easily extended to support
testing for other features -- the idea is that leaving all but the relevant methods in the protocol
unimplemented will result in default behavior for everything other than those methods, so a client need only
implement and add WebKit2 hooks for a few methods to support testing for a new feature.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _testingDelegate]):
(-[WKWebView _setTestingDelegate:]):

Specify the testing delegate to use for this WKWebView (see above for more details).

(-[WKWebView _simulateDataInteractionGestureRecognized]):
(-[WKWebView _simulateDataInteractionEntered:]):
(-[WKWebView _simulateDataInteractionUpdated:]):
(-[WKWebView _simulateDataInteractionPerformOperation:]):
(-[WKWebView _simulateDataInteractionEnded:]):
(-[WKWebView _simulateDataInteractionSessionDidEnd:withOperation:]):
(-[WKWebView _simulateFailedDataInteractionWithIndex:]):
(-[WKWebView _simulateWillBeginDataInteractionWithIndex:withSession:]):
(-[WKWebView _simulatedItemsForDataInteractionWithIndex:]):

Used by TestWebKitAPI to drive data interaction tests. See DataInteractionTests.mm.

* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/_WKTestingDelegate.h: Added.
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView _dataInteractionGestureRecognizer]):
* WebKit2.xcodeproj/project.pbxproj:

Tools:

Uses the testing delegate introduced in WebKit2 to override the gesture recognizer used to initiate data
interaction. Instead of being driven by UIKit, the DataInteractionSimulator drives this overridden gesture
recognizer by making the WKContentView call its dataInteractionGestureRecognized method. To simulate an actual
gesture being performed, we fire the gesture recognizer (or call the data interaction delegate methods, if the
gesture has already been recognized) at regular intervals over the course of the test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Added.

New test pages for data interaction.

* TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Added.
(TestWebKitAPI::runTestsExpectingToObserveEvents):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView stringByEvaluatingJavaScript:]):
* TestWebKitAPI/ios/DataInteractionSimulator.h: Added.
* TestWebKitAPI/ios/DataInteractionSimulator.mm: Added.
(-[MockLongPressGestureRecognizer initWithWindow:]):
(-[MockLongPressGestureRecognizer locationInView:]):
(-[MockLongPressGestureRecognizer state]):
(-[MockLongPressGestureRecognizer numberOfTouches]):
(-[DataInteractionSimulator initWithWebView:startLocation:endLocation:]):
(-[DataInteractionSimulator dealloc]):
(-[DataInteractionSimulator run]):

Performs a data interaction gesture from the start location to the end location with linear interpolation. For
now, the timestep and progress per tick are 30ms and 3.33%, respectively, which means that tests should complete
in a little under 1 second, though this can be easily changed to be configurable in the future if needed.

(-[DataInteractionSimulator _advanceProgress]):

Fired periodically to drive the data interaction gesture. Schedules a call of itself until the test is
completed, and calls _finishDataInteraction when progress is at 1.

(-[DataInteractionSimulator _finishDataInteraction]):
(-[DataInteractionSimulator _currentLocation]):
(-[DataInteractionSimulator _scheduleAdvanceProgress]):
(-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]):
(-[DataInteractionSimulator dataInteractionGestureRecognizer]):
(-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]):
(-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix iOS build.
andersca@apple.com [Mon, 13 Feb 2017 23:07:44 +0000 (23:07 +0000)]
Fix iOS build.

* platform/ios/DragImageIOS.mm:
(WebCore::deleteDragImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212253 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRename MediaQueryExp.h/cpp to MediaQueryExpression.h/cpp
commit-queue@webkit.org [Mon, 13 Feb 2017 23:06:26 +0000 (23:06 +0000)]
Rename MediaQueryExp.h/cpp to MediaQueryExpression.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=168249

Patch by Sam Weinig <sam@webkit.org> on 2017-02-13
Reviewed by Dean Jackson.

Fix a FIXME and rename MediaQueryExp.h/cpp to match the class it contains, MediaQueryExpression.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/MediaQuery.h:
* css/MediaQueryEvaluator.h:
* css/MediaQueryExp.cpp: Removed.
* css/MediaQueryExp.h: Removed.
* css/MediaQueryExpression.cpp: Copied from Source/WebCore/css/MediaQueryExp.cpp.
* css/MediaQueryExpression.h: Copied from Source/WebCore/css/MediaQueryExp.h.
* css/parser/MediaQueryParser.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212252 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWAKResponder should be exported from WebCore
aakash_jain@apple.com [Mon, 13 Feb 2017 22:55:55 +0000 (22:55 +0000)]
WAKResponder should be exported from WebCore
https://bugs.webkit.org/show_bug.cgi?id=168245

Reviewed by Dan Bernstein.

* platform/ios/wak/WAKResponder.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212251 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoLog to the History Channel in a few more places
simon.fraser@apple.com [Mon, 13 Feb 2017 22:53:46 +0000 (22:53 +0000)]
Log to the History Channel in a few more places
https://bugs.webkit.org/show_bug.cgi?id=168252

Reviewed by Brady Eidson.

*** Aliens ***

* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):
(WebCore::HistoryController::updateForReload):
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::scheduleHistoryNavigation):
(WebCore::NavigationScheduler::timerFired):
(WebCore::NavigationScheduler::cancel):
* page/History.cpp:
(WebCore::History::go):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoPercent should be allowed in non-special URL hosts
achristensen@apple.com [Mon, 13 Feb 2017 22:52:34 +0000 (22:52 +0000)]
Percent should be allowed in non-special URL hosts
https://bugs.webkit.org/show_bug.cgi?id=168255

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

* web-platform-tests/url/a-element-expected.txt:
* web-platform-tests/url/a-element-xhtml-expected.txt:
* web-platform-tests/url/url-constructor-expected.txt:

Source/WebCore:

In the last few weeks, the spec has consolidated its sets of code points.
Now forbidden host code points replace the old invalid host code points with
the modification that percents are allowed in non-special hosts because we
percent-encode non-ascii code points in non-special hosts.
See https://url.spec.whatwg.org/#concept-opaque-host-parser

Covered by newly passing web platform tests.

* platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isInUserInfoEncodeSet):
(WebCore::URLParser::hasForbiddenHostCodePoint):
(WebCore::URLParser::parseHostAndPort):
(WebCore::isInvalidDomainCharacter): Deleted.
(WebCore::URLParser::hasInvalidDomainCharacter): Deleted.
* platform/URLParser.h:

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoSimple line layout: Add performance test with text-rendering: optimizeSpeed
zalan@apple.com [Mon, 13 Feb 2017 21:55:55 +0000 (21:55 +0000)]
Simple line layout: Add performance test with text-rendering: optimizeSpeed
https://bugs.webkit.org/show_bug.cgi?id=168248

Reviewed by Simon Fraser.

* Layout/simple-line-layout-with-varying-content-and-optimized-speed.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[MediaStream Mac] Video capture needs access to /Library/CoreMediaIO/Plug-Ins/DAL/
eric.carlson@apple.com [Mon, 13 Feb 2017 21:39:43 +0000 (21:39 +0000)]
[MediaStream Mac] Video capture needs access to /Library/CoreMediaIO/Plug-Ins/DAL/
https://bugs.webkit.org/show_bug.cgi?id=168244
<rdar://problem/30461158>

Reviewed by Brady Eidson.

* WebProcess/com.apple.WebProcess.sb.in: Grant read-access to the video capture
plug-in directory when enabling video capture.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark tiled-drawing/scrolling/latched-to-deleted-node.html as flaky on mac-wk2.
ryanhaddad@apple.com [Mon, 13 Feb 2017 21:37:41 +0000 (21:37 +0000)]
Mark tiled-drawing/scrolling/latched-to-deleted-node.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=168085

Unreviewed testg gardening.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark imported/w3c/web-platform-tests/dom/events/EventListener-invoke-legacy.html...
ryanhaddad@apple.com [Mon, 13 Feb 2017 21:37:34 +0000 (21:37 +0000)]
Mark imported/w3c/web-platform-tests/dom/events/EventListener-invoke-legacy.html as flaky on debug.
https://bugs.webkit.org/show_bug.cgi?id=168238

Unreviewed test gardening.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoDisable mmap'd cache files if container is class A
antti@apple.com [Mon, 13 Feb 2017 21:30:21 +0000 (21:30 +0000)]
Disable mmap'd cache files if container is class A
https://bugs.webkit.org/show_bug.cgi?id=168241
<rdar://problem/23676252>

Reviewed by JF Bastien and Chris Dumez.

If the mmap'd cache file gets evicted and the device is locked,
then WebContent won't be able to bring the file back in under
class A, causing SIGBUS.

In those circumstances, don't use mmap'd files.

* NetworkProcess/cache/NetworkCache.h:
(WebKit::NetworkCache::Cache::canUseSharedMemoryForBodyData):
* NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):

    Don't initialize the shareable resource handle for the map if forbidden.

* NetworkProcess/cache/NetworkCacheFileSystem.cpp:
(WebKit::NetworkCache::canUseSharedMemoryForPath):

    Query the system for the protection status of the cache path.

* NetworkProcess/cache/NetworkCacheFileSystem.h:
* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::Storage):
* NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::canUseSharedMemoryForBodyData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix Windows build.
andersca@apple.com [Mon, 13 Feb 2017 21:11:36 +0000 (21:11 +0000)]
Fix Windows build.

* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::setDragImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTestExpectations gardening for imported/w3c/web-platform-tests/html/semantics/embedde...
ryanhaddad@apple.com [Mon, 13 Feb 2017 21:05:57 +0000 (21:05 +0000)]
TestExpectations gardening for imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click.html.

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:
* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix Yosemite build after r211765
achristensen@apple.com [Mon, 13 Feb 2017 20:57:00 +0000 (20:57 +0000)]
Fix Yosemite build after r211765
https://bugs.webkit.org/show_bug.cgi?id=168246
<rdar://problem/30494174>

Reviewed by Brady Eidson.

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAdd a DragImage class that wraps a DragImageRef
andersca@apple.com [Mon, 13 Feb 2017 20:31:24 +0000 (20:31 +0000)]
Add a DragImage class that wraps a DragImageRef
https://bugs.webkit.org/show_bug.cgi?id=168131

Reviewed by Beth Dakin.

This allows us to get rid of the explicit deleteDragImage calls and will make additional cleanup of the
various drag code paths possible. No functionality change.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::updateDragImage):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):
* page/DragController.h:
* platform/DragImage.cpp:
(WebCore::DragImage::DragImage):
(WebCore::DragImage::operator=):
(WebCore::DragImage::~DragImage):
* platform/DragImage.h:
* platform/Pasteboard.h:
* platform/StaticPasteboard.h:
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::setDragImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212239 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRegression(r211455): ASSERTION FAILED: frameView || pageCacheState() == InPageCache...
cdumez@apple.com [Mon, 13 Feb 2017 20:19:21 +0000 (20:19 +0000)]
Regression(r211455): ASSERTION FAILED: frameView || pageCacheState() == InPageCache in com.apple.WebCore: WebCore::Document::destroyRenderTree
https://bugs.webkit.org/show_bug.cgi?id=168237
<rdar://problem/30494165>

Reviewed by Gavin Barraclough.

Drop bad assertion under document::destroyRenderTree() that was introduced in r211455.
The assertion seemed like a good idea but the issue is that CachedFrame::destroy()
reset's the document's pageCacheState before calling Document::prepareForDestruction().

No new tests, this fixes assertion hits on our bots.

* dom/Document.cpp:
(WebCore::Document::destroyRenderTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212238 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoNwtr unexpectedly passes mismatch ref test if the hashes doesn't match but no diff
commit-queue@webkit.org [Mon, 13 Feb 2017 19:58:38 +0000 (19:58 +0000)]
Nwtr unexpectedly passes mismatch ref test if the hashes doesn't match but no diff
https://bugs.webkit.org/show_bug.cgi?id=168221

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-02-13
Reviewed by Ryosuke Niwa.

There is a logic error in comparing mismatch ref test images. In
mismatch ref tests, it should be failed if two images has no diff.
But, if the hashes are different, nwtr unexpectedly pass the
mismatch ref test.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference): Fail the
mismatch ref test if hashes of two images are equal. Invoke
ImageDiff if the hashes don't match.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212237 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoREGRESSION(r188138): Web Inspector: cannot edit next/previous DOM attribute by using...
mattbaker@apple.com [Mon, 13 Feb 2017 19:14:46 +0000 (19:14 +0000)]
REGRESSION(r188138): Web Inspector: cannot edit next/previous DOM attribute by using tab/shift-tab
https://bugs.webkit.org/show_bug.cgi?id=168120
<rdar://problem/30466065>

Reviewed by Joseph Pecoraro.

DOMTreeElement's attribute editing committed handler shouldn't early return
when a `moveDirection` has been specified.

* UserInterface/Views/DOMTreeElement.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212236 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUpdate custom line breaking iterators to the latest version of Unicode
mmaxfield@apple.com [Mon, 13 Feb 2017 19:07:43 +0000 (19:07 +0000)]
Update custom line breaking iterators to the latest version of Unicode
https://bugs.webkit.org/show_bug.cgi?id=168182

Reviewed by Zalan Bujtas.

Source/WebCore:

Clean up our breaking code to be more descriptive about the difference between
line-break: auto vs line-break: loose | normal | strict. The only difference is
that we have some hardcoded tables to speed up character iteration for
line-break: auto.

Tests: TestWebKitAPI WebKit2.LineBreaking

* rendering/BreakLines.h:
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionIgnoringNBSP):
(WebCore::nextBreakablePositionWithoutShortcut):
(WebCore::nextBreakablePositionIgnoringNBSPWithoutShortcut):
(WebCore::isBreakable):
(WebCore::nextBreakablePositionNonLoosely): Deleted.
(WebCore::nextBreakablePositionLoosely): Deleted.
(WebCore::nextBreakablePositionLoose): Deleted.
(WebCore::nextBreakablePositionIgnoringNBSPLoose): Deleted.
* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::nextBreakablePositionInSegment):
* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

Source/WTF:

ICU 55.1 supports loose / normal / strict line breaking rules. The oldest platform we ship
on has a version of ICU >= that one. Therefore, we don't need to compile our own rules;
we can just use ICU's rules.

* wtf/text/LineBreakIteratorPoolICU.h:
(WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
(WTF::LineBreakIteratorPool::take):
* wtf/text/TextBreakIterator.cpp:
(WTF::acquireLineBreakIterator):
(WTF::openLineBreakIterator):
(WTF::mapLineIteratorModeToRules): Deleted.
(WTF::isCJKLocale): Deleted.
* wtf/text/TextBreakIterator.h:
(WTF::LazyLineBreakIterator::LazyLineBreakIterator):
(WTF::LazyLineBreakIterator::mode):
(WTF::LazyLineBreakIterator::get):
(WTF::LazyLineBreakIterator::resetStringAndReleaseIterator):
(WTF::LazyLineBreakIterator::isLooseCJKMode): Deleted.

Tools:

Treat the system's ICU as the source of truth to compare breaking positions against.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/LineBreaking.mm: Added.
(generateJavaScriptForTest):
(breakingLocationsFromICU):
(testAFewStrings):
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Renamed from LayoutTests/css3/line-break/resources/AllAhem.svg.
* TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Added.

LayoutTests:

Migrated to TestWebKitAPI.

* css3/line-break/line-break-auto-centered-2-expected.html: Removed.
* css3/line-break/line-break-auto-centered-2.html: Removed.
* css3/line-break/line-break-auto-centered-expected.html: Removed.
* css3/line-break/line-break-auto-centered.html: Removed.
* css3/line-break/line-break-auto-half-kana-2-expected.html: Removed.
* css3/line-break/line-break-auto-half-kana-2.html: Removed.
* css3/line-break/line-break-auto-half-kana-3-expected.html: Removed.
* css3/line-break/line-break-auto-half-kana-3.html: Removed.
* css3/line-break/line-break-auto-half-kana-4-expected.html: Removed.
* css3/line-break/line-break-auto-half-kana-4.html: Removed.
* css3/line-break/line-break-auto-half-kana-5-expected.html: Removed.
* css3/line-break/line-break-auto-half-kana-5.html: Removed.
* css3/line-break/line-break-auto-half-kana-expected.html: Removed.
* css3/line-break/line-break-auto-half-kana.html: Removed.
* css3/line-break/line-break-auto-hyphens-expected.html: Removed.
* css3/line-break/line-break-auto-hyphens.html: Removed.
* css3/line-break/line-break-auto-inseparables-expected.html: Removed.
* css3/line-break/line-break-auto-inseparables.html: Removed.
* css3/line-break/line-break-auto-iteration-marks-expected.html: Removed.
* css3/line-break/line-break-auto-iteration-marks.html: Removed.
* css3/line-break/line-break-auto-postfixes-expected.html: Removed.
* css3/line-break/line-break-auto-postfixes.html: Removed.
* css3/line-break/line-break-auto-prefixes-expected.html: Removed.
* css3/line-break/line-break-auto-prefixes.html: Removed.
* css3/line-break/line-break-auto-sound-marks-expected.html: Removed.
* css3/line-break/line-break-auto-sound-marks.html: Removed.
* css3/line-break/line-break-loose-centered-2-expected.html: Removed.
* css3/line-break/line-break-loose-centered-2.html: Removed.
* css3/line-break/line-break-loose-centered-expected.html: Removed.
* css3/line-break/line-break-loose-centered.html: Removed.
* css3/line-break/line-break-loose-half-kana-2-expected.html: Removed.
* css3/line-break/line-break-loose-half-kana-2.html: Removed.
* css3/line-break/line-break-loose-half-kana-3-expected.html: Removed.
* css3/line-break/line-break-loose-half-kana-3.html: Removed.
* css3/line-break/line-break-loose-half-kana-4-expected.html: Removed.
* css3/line-break/line-break-loose-half-kana-4.html: Removed.
* css3/line-break/line-break-loose-half-kana-5-expected.html: Removed.
* css3/line-break/line-break-loose-half-kana-5.html: Removed.
* css3/line-break/line-break-loose-half-kana-expected.html: Removed.
* css3/line-break/line-break-loose-half-kana.html: Removed.
* css3/line-break/line-break-loose-hyphens-expected.html: Removed.
* css3/line-break/line-break-loose-hyphens.html: Removed.
* css3/line-break/line-break-loose-inseparables-expected.html: Removed.
* css3/line-break/line-break-loose-inseparables.html: Removed.
* css3/line-break/line-break-loose-iteration-marks-expected.html: Removed.
* css3/line-break/line-break-loose-iteration-marks.html: Removed.
* css3/line-break/line-break-loose-postfixes-expected.html: Removed.
* css3/line-break/line-break-loose-postfixes.html: Removed.
* css3/line-break/line-break-loose-prefixes-expected.html: Removed.
* css3/line-break/line-break-loose-prefixes.html: Removed.
* css3/line-break/line-break-loose-sound-marks-expected.html: Removed.
* css3/line-break/line-break-loose-sound-marks.html: Removed.
* css3/line-break/line-break-normal-centered-2-expected.html: Removed.
* css3/line-break/line-break-normal-centered-2.html: Removed.
* css3/line-break/line-break-normal-centered-expected.html: Removed.
* css3/line-break/line-break-normal-centered.html: Removed.
* css3/line-break/line-break-normal-half-kana-2-expected.html: Removed.
* css3/line-break/line-break-normal-half-kana-2.html: Removed.
* css3/line-break/line-break-normal-half-kana-3-expected.html: Removed.
* css3/line-break/line-break-normal-half-kana-3.html: Removed.
* css3/line-break/line-break-normal-half-kana-4-expected.html: Removed.
* css3/line-break/line-break-normal-half-kana-4.html: Removed.
* css3/line-break/line-break-normal-half-kana-5-expected.html: Removed.
* css3/line-break/line-break-normal-half-kana-5.html: Removed.
* css3/line-break/line-break-normal-half-kana-expected.html: Removed.
* css3/line-break/line-break-normal-half-kana.html: Removed.
* css3/line-break/line-break-normal-hyphens-expected.html: Removed.
* css3/line-break/line-break-normal-hyphens.html: Removed.
* css3/line-break/line-break-normal-inseparables-expected.html: Removed.
* css3/line-break/line-break-normal-inseparables.html: Removed.
* css3/line-break/line-break-normal-iteration-marks-expected.html: Removed.
* css3/line-break/line-break-normal-iteration-marks.html: Removed.
* css3/line-break/line-break-normal-postfixes-expected.html: Removed.
* css3/line-break/line-break-normal-postfixes.html: Removed.
* css3/line-break/line-break-normal-prefixes-expected.html: Removed.
* css3/line-break/line-break-normal-prefixes.html: Removed.
* css3/line-break/line-break-normal-sound-marks-expected.html: Removed.
* css3/line-break/line-break-normal-sound-marks.html: Removed.
* css3/line-break/line-break-strict-centered-2-expected.html: Removed.
* css3/line-break/line-break-strict-centered-2.html: Removed.
* css3/line-break/line-break-strict-centered-expected.html: Removed.
* css3/line-break/line-break-strict-centered.html: Removed.
* css3/line-break/line-break-strict-half-kana-2-expected.html: Removed.
* css3/line-break/line-break-strict-half-kana-2.html: Removed.
* css3/line-break/line-break-strict-half-kana-3-expected.html: Removed.
* css3/line-break/line-break-strict-half-kana-3.html: Removed.
* css3/line-break/line-break-strict-half-kana-4-expected.html: Removed.
* css3/line-break/line-break-strict-half-kana-4.html: Removed.
* css3/line-break/line-break-strict-half-kana-5-expected.html: Removed.
* css3/line-break/line-break-strict-half-kana-5.html: Removed.
* css3/line-break/line-break-strict-half-kana-expected.html: Removed.
* css3/line-break/line-break-strict-half-kana.html: Removed.
* css3/line-break/line-break-strict-hyphens-expected.html: Removed.
* css3/line-break/line-break-strict-hyphens.html: Removed.
* css3/line-break/line-break-strict-inseparables-expected.html: Removed.
* css3/line-break/line-break-strict-inseparables.html: Removed.
* css3/line-break/line-break-strict-iteration-marks-expected.html: Removed.
* css3/line-break/line-break-strict-iteration-marks.html: Removed.
* css3/line-break/line-break-strict-postfixes-expected.html: Removed.
* css3/line-break/line-break-strict-postfixes.html: Removed.
* css3/line-break/line-break-strict-prefixes-expected.html: Removed.
* css3/line-break/line-break-strict-prefixes.html: Removed.
* css3/line-break/line-break-strict-sound-marks-expected.html: Removed.
* css3/line-break/line-break-strict-sound-marks.html: Removed.
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212235 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTestExpectations gardening for imported/w3c/web-platform-tests/html/semantics/text...
ryanhaddad@apple.com [Mon, 13 Feb 2017 18:58:32 +0000 (18:58 +0000)]
TestExpectations gardening for imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click.html.

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212234 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WebRTC] libwebrtc socket factory is not assigning the right socket type
commit-queue@webkit.org [Mon, 13 Feb 2017 18:37:27 +0000 (18:37 +0000)]
[WebRTC] libwebrtc socket factory is not assigning the right socket type
https://bugs.webkit.org/show_bug.cgi?id=168233

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-13
Reviewed by Brent Fulgham.

* WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:
(WebKit::LibWebRTCSocketFactory::CreateUdpSocket):
(WebKit::LibWebRTCSocketFactory::CreateClientTcpSocket):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove @getUserMedia identifier
commit-queue@webkit.org [Mon, 13 Feb 2017 18:32:46 +0000 (18:32 +0000)]
Remove @getUserMedia identifier
https://bugs.webkit.org/show_bug.cgi?id=168216

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

No change of behavior.

* Modules/mediastream/MediaDevices.idl:
* bindings/js/WebCoreBuiltinNames.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212231 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Unreviewed, add missing precondition check
mcatanzaro@igalia.com [Mon, 13 Feb 2017 17:28:54 +0000 (17:28 +0000)]
[GTK] Unreviewed, add missing precondition check

* WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.cpp:
(webkit_web_editor_get_page):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212230 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed, fix another docs typo.
mcatanzaro@igalia.com [Mon, 13 Feb 2017 17:26:49 +0000 (17:26 +0000)]
Unreviewed, fix another docs typo.

* UIProcess/API/gtk/WebKitEditingCommands.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212229 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Non-accelerated drawing is broken with HiDPI
carlosgc@webkit.org [Mon, 13 Feb 2017 13:42:04 +0000 (13:42 +0000)]
[GTK] Non-accelerated drawing is broken with HiDPI
https://bugs.webkit.org/show_bug.cgi?id=168128

Reviewed by Michael Catanzaro.

When device scale factor changes, the page notifies the page overlay controller about it. Then overlay root
layers are created to be notified about the device scale factor. That causes us to enter in accelerated
compositing mode, because the graphics layer factory is called. But the render layer compositor doesn't really
enter in accelerated mode, because there aren't page overlays, the accelerated mode is not forced and the website
doesn't require acceleration either. This leaves our drawing area in an inconsistent state, it thinks it's in AC
mode because it has a layer tree host, but without a root layer attached, so nothing is rendered. The page
overlay controller doesn't need to create the layers when device scale factor changes, when an overlay is
installed, layers will be created with the current device scale factor anyway.

* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::didChangeDeviceScaleFactor): Return early if not initialized yet.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoREGRESSION(r210845) Build broken with ENABLE_MHTML disabled
ossy@webkit.org [Mon, 13 Feb 2017 09:53:11 +0000 (09:53 +0000)]
REGRESSION(r210845) Build broken with ENABLE_MHTML disabled
https://bugs.webkit.org/show_bug.cgi?id=167771

Reviewed by Daniel Bates.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWeb Inspector: Assertion failed: !this._items.has(item) (at Collection.js:50)
bburg@apple.com [Mon, 13 Feb 2017 06:49:59 +0000 (06:49 +0000)]
Web Inspector: Assertion failed: !this._items.has(item) (at Collection.js:50)
https://bugs.webkit.org/show_bug.cgi?id=168212

Reviewed by Joseph Pecoraro.

When turning on DebugUI, WebKit-internal scripts were being added to the
Collection that is the represented object for the Extra Scripts folder.
This was not balanced out by removing the scripts when DebugUI is turned
off, so switching DebugUI on and off several times hit a multiple-add assertion.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._scriptWasRemoved):
Remove the script from its Collection if applicable.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Improve documentation of webkit_context_menu_set_user_data()
mcatanzaro@igalia.com [Mon, 13 Feb 2017 06:47:22 +0000 (06:47 +0000)]
[GTK] Improve documentation of webkit_context_menu_set_user_data()
https://bugs.webkit.org/show_bug.cgi?id=168214

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebKitContextMenu.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Several failing WebViewEditor API tests
mcatanzaro@igalia.com [Mon, 13 Feb 2017 06:41:10 +0000 (06:41 +0000)]
[GTK] Several failing WebViewEditor API tests
https://bugs.webkit.org/show_bug.cgi?id=161608

Reviewed by Carlos Garcia Campos.

Selection.collapse() requires arguments; passing no arguments means the JS that selects the
text range here never gets evaluated. Perhaps there was a DOM API change? Changing it to use
Selection.removeAllRanges(), which seems like a better function anyway, fixes all the tests
except the first one, which is still broken due to unrelated bug #151654.

* Scripts/run-gtk-tests:
(TestRunner):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.
mitz@apple.com [Mon, 13 Feb 2017 06:39:11 +0000 (06:39 +0000)]
Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

* platform/spi/mac/TUCallSPI.h: Reverted to r212210.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.
mitz@apple.com [Mon, 13 Feb 2017 06:34:48 +0000 (06:34 +0000)]
Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

* platform/spi/mac/TUCallSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.
mitz@apple.com [Mon, 13 Feb 2017 06:21:32 +0000 (06:21 +0000)]
Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

* platform/spi/mac/TUCallSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212221 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.
mitz@apple.com [Mon, 13 Feb 2017 06:13:17 +0000 (06:13 +0000)]
Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

Source/WebCore:

* platform/spi/mac/NSMenuSPI.h: Replaced declaration of deprecated method with its current
  equivalent.

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(createShareMenuItem): Use non-deprecated method.

Source/WebKit2:

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createShareMenuItem): Use non-deprecated method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.
mitz@apple.com [Mon, 13 Feb 2017 06:04:00 +0000 (06:04 +0000)]
Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

* platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoparserRemoveChild should unload subframes
rniwa@webkit.org [Mon, 13 Feb 2017 04:21:03 +0000 (04:21 +0000)]
parserRemoveChild should unload subframes
https://bugs.webkit.org/show_bug.cgi?id=168151

Reviewed by Darin Adler.

Source/WebCore:

Fix the bug that the adoption agency algorithm does not unload subframes as it disconnects nodes.

Also moved calls to nodeWillBeRemoved inside NoEventDispatchAssertion to expand on r211965.

Tests: fast/parser/adoption-agency-clear-focus-range.html
       fast/parser/adoption-agency-unload-iframe-1.html
       fast/parser/adoption-agency-unload-iframe-2.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom): Rewritten using idioms used in removeChildren and parserAppendChild.

Disconnect all subframes first since this can synchronously dispatch an unload event. Then update DOM ranges,
the focused element, and other states in the document.

Second, use the regular removeBetween, notifyChildNodeRemoved, childrenChanged sequence of calls to disconnect nodes
instead of a single call to removeDetachedChildren to properly disconnect child nodes since those nodes may have
already come live due to execution of synchronous scripts prior to the adoption agency algorithm has run, or in
response to the unload event we just dispatched.

Third, append these nodes using parserAppendChild to avoid dispatching mutation events.

(WebCore::willRemoveChild): Removed the call to nodeWillBeRemoved. It's now called within NoEventDispatchAssertion
in each call site of willRemoveChild and willRemoveChildren.
(WebCore::willRemoveChildren): Ditto.
(WebCore::ContainerNode::removeChild): Call nodeWillBeRemoved inside NoEventDispatchAssertion.
(WebCore::ContainerNode::replaceAllChildren): Call nodeWillBeRemoved inside NoEventDispatchAssertion.
(WebCore::ContainerNode::parserRemoveChild): Disconnect subframes and update document's states.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::executeTakeAllChildrenAndReparentTask): Add a release assert that new parent does not already have a parent.

LayoutTests:

Add two W3C-style testharness tests for unloading iframes inside the adoption agency algorithm.

Also added a test to make sure ContainerNode::takeAllChildrenFrom adjusts the focused element and DOM ranges.

* fast/css/stylesheet-candidate-nodes-crash-expected.txt: Rebaselined. The difference comes from the fact
iframe now is unloaded in parserRemoveChild as expected and then reloaded in parserAppendChild inside
insertErrorMessageBlock as opposed to after the parser had completed as if the iframe had never been detached.
* fast/parser/adoption-agency-clear-focus-range-expected.txt: Added.
* fast/parser/adoption-agency-clear-focus-range.html: Added.
* fast/parser/adoption-agency-unload-iframe-1-expected.txt: Added.
* fast/parser/adoption-agency-unload-iframe-1.html: Added.
* fast/parser/adoption-agency-unload-iframe-2-expected.txt: Added.
* fast/parser/adoption-agency-unload-iframe-2.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212218 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoREGRESSION (r179497): Crash inside setAttributeNode
rniwa@webkit.org [Mon, 13 Feb 2017 02:01:26 +0000 (02:01 +0000)]
REGRESSION (r179497): Crash inside setAttributeNode
https://bugs.webkit.org/show_bug.cgi?id=168161
<rdar://problem/30451581>

Reviewed by Andreas Kling.

Source/WebCore:

The bug was caused by setAttributeNode calling setAttributeInternal with the same element data as the one used
to call removeAttributeInternal despite of the fact removeAttributeInternal could have invoked arbitrary scripts
and mutated element's m_elementData.

Fixed the bug by calling with setAttributeInternal with the result of new invocation of ensureUniqueElementData().

Test: fast/dom/Attr/make-unique-element-data-while-replacing-attr.html

* dom/Element.cpp:
(WebCore::Element::setAttributeNode):

LayoutTests:

Added a regression test.

* fast/dom/Attr/make-unique-element-data-while-replacing-attr-expected.txt: Added.
* fast/dom/Attr/make-unique-element-data-while-replacing-attr.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212214 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRebaseline bindings tests after r212207.
rniwa@webkit.org [Mon, 13 Feb 2017 01:59:20 +0000 (01:59 +0000)]
Rebaseline bindings tests after r212207.

* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoC loop build fix attempt after r212207.
rniwa@webkit.org [Mon, 13 Feb 2017 01:56:41 +0000 (01:56 +0000)]
C loop build fix attempt after r212207.

* runtime/Lookup.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[Cocoa] Some -respondsToSelector: checks are unnecessary
mitz@apple.com [Sun, 12 Feb 2017 22:01:24 +0000 (22:01 +0000)]
[Cocoa] Some -respondsToSelector: checks are unnecessary
https://bugs.webkit.org/show_bug.cgi?id=168183

Reviewed by Tim Horton.

Source/WebCore:

* English.lproj/Localizable.strings: Removed a string that’s no longer needed after the
  change to WebKit2/Platform/mac/MenuUtilities.mm.

* editing/mac/DictionaryLookup.mm:
(WebCore::showPopupOrCreateAnimationController): Removed check whether
  LULookupDefinitionModule responds to +showDefinitionForTerm:relativeToRect:ofView:options:.

* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::initialize): Changed to use
  -[NEFilterSource setSourceAppIdentifier:], without checking, instead of
  -setSourceAppBundleID:, which does not exist.

* platform/cocoa/ScrollController.mm:
(systemUptime): Deleted.
(WebCore::ScrollController::snapRubberBand): Use -[NSProcessInfo systemUptime] directly.

* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Remove unnecessary check.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck): Replaced
  -respondsToSelector: check with -isKindOfClass: check corresponding to the above cast.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep): Removed unnecessary
  check.

* platform/graphics/avfoundation/objc/VideoFullscreenLayerManager.mm:
(WebCore::VideoFullscreenLayerManager::setVideoFullscreenLayer): Removed unnecessary checks.

* platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer initWithGraphicsContext3D:]): Ditto.

* platform/mac/PlatformEventFactoryMac.mm:
(WebCore::typeForEvent): Removed check whether NSMenu responds to +menuTypeForEvent: and
  all code to handle that case that it doesn’t.

* platform/mac/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController applicationDidResignActive:]): Removed check whether
  NSWindow responds to -isOnActiveSpace.
(-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Removed check whether
  NSApplication responds to -setPresentationOptions:

* platform/mac/WebVideoFullscreenInterfaceMac.mm:
(-[WebVideoFullscreenInterfaceMacObjC updateIsPlaying:newPlaybackRate:]): Removed
  unnecessary -respondsToSelector: check.
(-[WebVideoFullscreenInterfaceMacObjC setVideoDimensions:]): Ditto.
(-[WebVideoFullscreenInterfaceMacObjC setUpPIPForVideoView:withFrame:inWindow:]): Ditto.

* platform/spi/cf/CFNetworkSPI.h: Moved declarations of
  -[NSURLCache _initWithMemoryCapacity:diskCapacity:relativePath:] and
  -[NSURLCache _CFURLCache] to the !USE(APPLE_INTERNAL_SDK) section.

* platform/spi/cocoa/NEFilterSourceSPI.h: Added declaration of NEFilterSource’
  sourceAppIdentifier property to the !USE(APPLE_INTERNAL_SDK) section and deleted
  unconditional declaration of sourceAppBundleID property, which doesn’t exist.

* platform/spi/cocoa/QuartzCoreSPI.h: Removed redundant declarations.

* platform/spi/ios/DataDetectorsUISPI.h: Moved declarations of DDDetectionController methods
  from WebKit2/UIProcess/ios/{WKActionSheetAssistant,WKContentViewInteraction}.mm to here.
  Removed an unused declaration.

* platform/spi/mac/LookupSPI.h: Moved redundant declarations into the
  !USE(APPLE_INTERNAL_SDK) section.

* platform/spi/mac/NSMenuSPI.h: Changed to import NSMenu_Private.h when using the
  Apple internal SDK. Cleaned up the declarations for the other case.

* platform/spi/mac/TUCallSPI.h: Changed to import TUCall_Strings.h when use the Apple
  internal SDK.

Source/WebKit/mac:

* WebView/WebFullScreenController.mm:
(-[WebFullScreenController applicationDidResignActive:]): Removed check whether NSWindow
  responds to -isOnActiveSpace.
(-[WebFullScreenController exitFullScreen]): Ditto.
(-[WebFullScreenController _updateMenuAndDockForFullScreen]): Removed check whether
  NSApplication responds to -setPresentationOptions.

* WebView/WebHTMLView.mm:
(createShareMenuItem): Removed unnecessary -respondsToSelector: check.
(-[WebHTMLView otherMouseDown:]): Ditto.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]): Ditto.
(-[WebImmediateActionController _animationControllerForDataDetectedText]): Ditto.

* WebView/WebView.mm:
(-[WebView _didStartProvisionalLoadForFrame:]): Removed redundant nil check.
(+[WebView _setCacheModel:]): Removed unnecessary -respondsToSelector: check.

Source/WebKit2:

* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::setColorMatchUntaggedContent): Removed unnecessary
  -respondsToSelector: check.
(WebKit::LayerHostingContext::colorMatchUntaggedContent): Ditto.

* Platform/mac/MenuUtilities.mm:
(WebKit::menuItemTitleForTelephoneNumberGroup): Ditto.

* Platform/spi/ios/UIKitSPI.h: Moved declaration of
  -[UIScrollView _isInterruptingDeceleration] from WKWebView.mm to the
  !USE(APPLE_INTERNAL_SDK) section here.

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setSharedHTTPCookieStorage): Removed unnecessary -respondsToSelector:
  check.

* Shared/mac/WebEventFactory.mm:
(WebKit::typeForEvent): Ditto.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateVisibleContentRectAfterScrollInView:]): Ditto.

* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup): Ditto.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly): Ditto.

* UIProcess/WKImagePreviewViewController.mm:
(-[WKImagePreviewViewController previewActions]): Removed check whether _WKElementAction
  responds to -runActionWithElementInfo:.

* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showDataDetectorsSheet]): Ditto.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _lookup:]): Ditto.
(-[WKContentView _share:]): Ditto.
(-[WKContentView _addShortcut:]): Ditto.
(-[WKContentView _promptForReplace:]): Ditto.
(-[WKContentView _transliterateChinese:]): Ditto.
(-[WKContentView _didHandleKeyEvent:eventWasHandled:]): Removed call to
  -[UIKeyboardImpl didHandleWebKeyEvent], which is a no-op.
(-[WKContentView _interpretKeyEvent:isCharEvent:]): Removed unnecessary -respondsToSelector:
  check.
(-[WKContentView _dataForPreviewItemController:atPosition:type:]): Ditto.

* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::createFence): Ditto.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _animationControllerForDataDetectedText]): Ditto.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createShareMenuItem): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Unreviewed, minor documentation improvements
mcatanzaro@igalia.com [Sun, 12 Feb 2017 21:19:38 +0000 (21:19 +0000)]
[GTK] Unreviewed, minor documentation improvements

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkit_web_page_class_init):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed, skip flaky WebKitPrintOperation/custom-widget test
mcatanzaro@igalia.com [Sun, 12 Feb 2017 19:53:29 +0000 (19:53 +0000)]
Unreviewed, skip flaky WebKitPrintOperation/custom-widget test

* Scripts/run-gtk-tests:
(TestRunner):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212209 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed, skip flaky form-controls-associated-signal test
mcatanzaro@igalia.com [Sun, 12 Feb 2017 19:28:16 +0000 (19:28 +0000)]
Unreviewed, skip flaky form-controls-associated-signal test

* Scripts/run-gtk-tests:
(TestRunner):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove the remaining functions out of JSDOMBinding
weinig@apple.com [Sun, 12 Feb 2017 18:29:15 +0000 (18:29 +0000)]
Remove the remaining functions out of JSDOMBinding
https://bugs.webkit.org/show_bug.cgi?id=168179

Reviewed by Darin Adler.

Move utility functions into more appropriate locations.
Source/JavaScriptCore:

- Move hasIteratorMethod to IteratorOperations.
- Move nonCachingStaticFunctionGetter to Lookup

* runtime/IteratorOperations.cpp:
(JSC::hasIteratorMethod):
* runtime/IteratorOperations.h:
* runtime/Lookup.h:
(JSC::nonCachingStaticFunctionGetter):

Source/WebCore:

- Move hasIteratorMethod to runtime/IteratorOperations.h
- Move nonCachingStaticFunctionGetter to runtime/Lookup.h
- Move addImpureProperty to CommonVM

Remove toJS overload that took a Vector<T>. Replace it's usage
with toJS<IDLSequence<T>> usage. To make this work, added two
new types, IDLIDBKeyData and IDLIDBValue.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
Adopt JSDOMConvert infrastructure for conversions using new types.

* bindings/IDLTypes.h:
* bindings/js/JSDOMConvertIndexedDB.h:
(WebCore::JSConverter<IDLIDBKeyData>::convert):
(WebCore::JSConverter<IDLIDBValue>::convert):
Add new types for IDBKeyData and IDBValue.

* bindings/js/CommonVM.cpp:
(WebCore::addImpureProperty):
* bindings/js/CommonVM.h:
Move addImpureProperty here from JSDOMBinding.

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyDataToScriptValue): Deleted.
* bindings/js/IDBBindingUtilities.h:
Remove unused idbKeyDataToScriptValue, and group like functions
together.

* bindings/js/JSDOMBinding.cpp: Removed.
* bindings/js/JSDOMBinding.h:
(WebCore::nonCachingStaticFunctionGetter): Deleted.
(WebCore::toJS): Deleted.
Move/remove functions.

* bindings/js/JSDOMConvertUnion.h:
Update for move of hasIteratorMethod to runtime/IteratorOperations.h

* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSHTMLDocumentCustom.cpp:
* bindings/js/JSLocationCustom.cpp:
Update for move of nonCachingStaticFunctionGetter to runtime/Lookup.h

* bindings/js/JSSubtleCryptoCustom.cpp:
Remove unneeded include of runtime/IteratorOperations.h

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateOverloadedFunctionOrConstructor):
Include runtime/IteratorOperations when needing to distinguish a sequence.

* html/HTMLDocument.cpp:
Replace include of JSDOMBinding.h with CommonVM.h for addImpureProperty.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[SOUP] Downloads fail when the given destination is not a URI
commit-queue@webkit.org [Sun, 12 Feb 2017 17:05:41 +0000 (17:05 +0000)]
[SOUP] Downloads fail when the given destination is not a URI
https://bugs.webkit.org/show_bug.cgi?id=168187

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-12
Reviewed by Michael Catanzaro.

It always expects a uri, and fails if a local path is given.

Fixes: http/tests/download/anchor-download-no-extension.html
       http/tests/download/area-download.html
       http/tests/security/anchor-download-allow-data.html
       http/tests/security/anchor-download-allow-sameorigin.html

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::download): Use g_file_new_for_path() if the pending destination is a path instead
of a URI.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK] Handle caps lock indicator in event modifiers
carlosgc@webkit.org [Sun, 12 Feb 2017 16:48:03 +0000 (16:48 +0000)]
[GTK] Handle caps lock indicator in event modifiers
https://bugs.webkit.org/show_bug.cgi?id=168186

Reviewed by Michael Catanzaro.

Source/WebCore:

Add helper function to check if caps lock is present in the given modifiers. We need this because in GDK
GDK_LOCK_MASK might be either CapsLock or ShiftLock in X11. We use this new method in all platform event
implementations to add the appropriate modifiers.

Fixes: fast/events/special-key-events-in-input-text.html

* platform/PlatformKeyboardEvent.h:
* platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::modifiersForGdkKeyEvent):
(WebCore::PlatformKeyboardEvent::modifiersContainCapsLock):
* platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):

Source/WebKit2:

Use PlatformKeyboardEvent::modifiersContainCapsLock() to check if modifiers contain the caps lock and add
Modifiers::CapsLockKey in that case.

* Shared/gtk/WebEventFactory.cpp:
(WebKit::modifiersForEvent):
* UIProcess/API/gtk/WebKitPrivate.cpp:
(wkEventModifiersToGdkModifiers):
(toGdkModifiers):

Tools:

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::webkitModifiersToGDKModifiers): Handle kWKEventModifiersCapsLockKey.

LayoutTests:

Add platform specific results for fast/events/special-key-events-in-input-text.html. This patch fixes the caps
lock key case, but we still have different results in the PrintScreen case.

* platform/gtk/fast/events/special-key-events-in-input-text-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212205 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Rebaseline some test and update expectations.
carlosgc@webkit.org [Sun, 12 Feb 2017 12:04:20 +0000 (12:04 +0000)]
Unreviewed GTK+ gardening. Rebaseline some test and update expectations.

* platform/gtk/TestExpectations:
* platform/gtk/fast/events/focus-label-legend-elements-with-tab-expected.txt: Added.
* platform/gtk/fast/events/touch/document-create-touch-expected.txt: Added.
* platform/gtk/fast/repaint/block-inputrange-repaint-expected.txt: Added.
* platform/gtk/http/tests/dom/document-attributes-null-handling-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212204 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[iOS] PDF page number indicator can show "0 of n" on short pages
aestes@apple.com [Sun, 12 Feb 2017 10:21:19 +0000 (10:21 +0000)]
[iOS] PDF page number indicator can show "0 of n" on short pages
https://bugs.webkit.org/show_bug.cgi?id=168185

Reviewed by Tim Horton.

When viewing a PDF with a last page that is shorter than the frame height, it's possible
(thanks to rubber-banding) to scroll down until the page no longer intersects the rect we
use to determine the center page. When this happens, the page number indicator displays
"0 of n".

Fix this by handling cases where the first page starts below the center page rect or the
last page ends above it.

* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _revalidateViews]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRefresh WPT tests up to 06c6c52e05e05483d3c844168a417ee27a554eb7
commit-queue@webkit.org [Sun, 12 Feb 2017 05:17:45 +0000 (05:17 +0000)]
Refresh WPT tests up to 06c6c52e05e05483d3c844168a417ee27a554eb7
https://bugs.webkit.org/show_bug.cgi?id=168175

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-11
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* resources/TestRepositories:
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/IndexedDB/OWNERS:
* web-platform-tests/IndexedDB/bindings-inject-key-expected.txt: Added.
* web-platform-tests/IndexedDB/bindings-inject-key.html: Added.
* web-platform-tests/IndexedDB/clone-before-keypath-eval-expected.txt: Added.
* web-platform-tests/IndexedDB/clone-before-keypath-eval.html: Added.
* web-platform-tests/IndexedDB/delete-request-queue-expected.txt: Added.
* web-platform-tests/IndexedDB/delete-request-queue.html: Added.
* web-platform-tests/IndexedDB/error-attributes-expected.txt: Added.
* web-platform-tests/IndexedDB/error-attributes.html: Added.
* web-platform-tests/IndexedDB/idb-binary-key-detached-expected.txt: Added.
* web-platform-tests/IndexedDB/idb-binary-key-detached.htm: Added.
* web-platform-tests/IndexedDB/idb-binary-key-roundtrip-expected.txt: Added.
* web-platform-tests/IndexedDB/idb-binary-key-roundtrip.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-advance-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbcursor-continue-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-delete-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-update-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbindex-getAll-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbindex-query-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbindex-query-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbkeyrange-includes-expected.txt:
* web-platform-tests/IndexedDB/idbkeyrange-includes.htm:
* web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-query-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore_getKey-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore_getKey.html: Added.
* web-platform-tests/IndexedDB/idbrequest-onupgradeneeded-expected.txt: Added.
* web-platform-tests/IndexedDB/idbrequest-onupgradeneeded.htm: Added.
* web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbversionchangeevent.htm:
* web-platform-tests/IndexedDB/key-conversion-exceptions-expected.txt: Added.
* web-platform-tests/IndexedDB/key-conversion-exceptions.htm: Added.
* web-platform-tests/IndexedDB/keypath-exceptions-expected.txt: Added.
* web-platform-tests/IndexedDB/keypath-exceptions.htm: Added.
* web-platform-tests/IndexedDB/keypath-special-identifiers-expected.txt: Added.
* web-platform-tests/IndexedDB/keypath-special-identifiers.htm: Added.
* web-platform-tests/IndexedDB/open-request-queue-expected.txt: Added.
* web-platform-tests/IndexedDB/open-request-queue.html: Added.
* web-platform-tests/IndexedDB/support.js:
(auto_fail):
(createdb_for_multiple_tests):
(assert_key_equals):
(indexeddb_test):
* web-platform-tests/IndexedDB/w3c-import.log:
* web-platform-tests/README.md:
* web-platform-tests/XMLHttpRequest/abort-during-done.htm:
* web-platform-tests/XMLHttpRequest/historical-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/historical.html: Added.
* web-platform-tests/XMLHttpRequest/resources/corsenabled.py:
(main):
* web-platform-tests/XMLHttpRequest/response-method-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/send-redirect-post-upload-expected.txt:
* web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm:
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/check_stability.py:
(do_delayed_imports):
(setup_logging):
(setup_action_filter.as):
(setup_action_filter.LogActionFilter):
(setup_action_filter.LogActionFilter.__init__):
(setup_action_filter.LogActionFilter.__call__):
(TravisFold):
(TravisFold.__init__):
(TravisFold.__enter__):
(TravisFold.__exit__):
(FilteredIO):
(FilteredIO.__init__):
(FilteredIO.__getattr__):
(FilteredIO.disable):
(FilteredIO.write):
(replace_streams):
(replace_streams.on_write):
(Browser):
(Browser.install):
(Browser.install_webdriver):
(Browser.version):
(Browser.wptrunner_args):
(Firefox):
(Firefox.install):
(Firefox._latest_geckodriver_version):
(Firefox.install_webdriver):
(Firefox.version):
(Firefox.wptrunner_args):
(Chrome):
(Chrome.install):
(Chrome.install_webdriver):
(Chrome.version):
(Chrome.wptrunner_args):
(get):
(call):
(get_git_cmd):
(seekable):
(untar):
(unzip):
(pwd):
(fetch_wpt_master):
(get_sha1):
(build_manifest):
(install_wptrunner):
(get_files_changed):
(get_affected_testfiles):
(wptrunner_args):
(setup_log_handler.as):
(setup_log_handler.LogHandler):
(is_inconsistent):
(err_string):
(process_results):
(format_comment_title):
(markdown_adjust):
(table):
(write_inconsistent):
(write_results):
(get_parser):
(main):
* web-platform-tests/ci_built_diff.sh:
* web-platform-tests/ci_stability.sh:
* web-platform-tests/common/OWNERS:
* web-platform-tests/custom-elements/reactions/DOMTokenList-expected.txt:
* web-platform-tests/custom-elements/reactions/DOMTokenList.html:
* web-platform-tests/dom/events/EventListener-invoke-legacy-expected.txt: Added.
* web-platform-tests/dom/events/EventListener-invoke-legacy.html: Added.
* web-platform-tests/dom/events/w3c-import.log:
* web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-iteration.html:
* web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
* web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
* web-platform-tests/dom/nodes/Document-createElementNS-expected.txt:
* web-platform-tests/dom/nodes/Document-createElementNS.html:
* web-platform-tests/dom/nodes/Document-createElementNS.js:
* web-platform-tests/dom/nodes/Node-isSameNode-expected.txt:
* web-platform-tests/dom/nodes/Node-isSameNode.html:
* web-platform-tests/dom/nodes/NodeList-Iterable-expected.txt:
* web-platform-tests/dom/nodes/NodeList-Iterable.html:
* web-platform-tests/dom/ranges/Range-selectNode-expected.txt:
* web-platform-tests/dom/ranges/Range-selectNode.html:
* web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.js:
(corsPreflight):
* web-platform-tests/fetch/api/headers/header-values-expected.txt: Added.
* web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt: Added.
* web-platform-tests/fetch/api/headers/header-values-normalize.html: Added.
* web-platform-tests/fetch/api/headers/header-values.html: Added.
* web-platform-tests/fetch/api/headers/w3c-import.log:
* web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin.js:
(promise_test):
* web-platform-tests/fetch/api/request/request-cache-default-conditional-expected.txt:
* web-platform-tests/fetch/api/request/request-cache-default-conditional.html:
* web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt:
* web-platform-tests/fetch/api/request/request-disturbed-expected.txt:
* web-platform-tests/fetch/api/request/request-disturbed.html:
* web-platform-tests/fetch/api/request/request-error-expected.txt:
* web-platform-tests/fetch/api/request/request-error.html:
* web-platform-tests/fetch/api/request/request-idl-expected.txt:
* web-platform-tests/fetch/api/request/request-idl.html:
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
* web-platform-tests/fetch/api/request/request-init-001.sub.html:
* web-platform-tests/fetch/api/resources/preflight.py:
(main):
* web-platform-tests/fetch/api/response/response-idl-expected.txt:
* web-platform-tests/fetch/api/response/response-idl.html:
* web-platform-tests/fonts/OWNERS: Added.
* web-platform-tests/fonts/w3c-import.log:
* web-platform-tests/hr-time/idlharness-expected.txt:
* web-platform-tests/hr-time/idlharness.html:
* web-platform-tests/hr-time/w3c-import.log:
* web-platform-tests/hr-time/window-worker-time-origin-expected.txt: Added.
* web-platform-tests/hr-time/window-worker-time-origin.html: Added.
* web-platform-tests/html/OWNERS:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name-0.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin.html:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/same-url-expected.txt: Added.
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/same-url.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-1.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-2.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-expected.txt: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment-1.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment-2.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment-expected.txt: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_same_origin-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_same_origin.html:
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-image-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-image.html:
* web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-video.html:
* web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/unload/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/w3c-import.log:
* web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-expected.txt:
* web-platform-tests/html/browsers/offline/browser-state/navigator_online_online-expected.txt:
* web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html:
* web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log:
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log:
* web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/empty.html: Added.
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/w3c-import.log:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/write-active-document-expected.txt: Added.
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/write-active-document.html: Added.
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt:
* web-platform-tests/html/dom/elements-forms.js:
* web-platform-tests/html/dom/elements-misc.js:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/dom/reflection-misc-expected.txt:
* web-platform-tests/html/semantics/embedded-content/image-maps/contains.json:
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.jpeg-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.jpeg.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.png-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.png.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-synchronously-discard-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-synchronously-discard.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html:
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-expected.txt: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-form.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-echo.py: Added.
(main):
* web-platform-tests/html/semantics/forms/form-submission-0/url-encoded-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm-expected.txt: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm-support.html: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
* web-platform-tests/html/semantics/forms/the-button-element/button-menu-historical-expected.txt: Added.
* web-platform-tests/html/semantics/forms/the-button-element/button-menu-historical.html: Added.
* web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-001.html:
* web-platform-tests/html/semantics/forms/the-input-element/date-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/date.html:
* web-platform-tests/html/semantics/forms/the-input-element/datetime-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/datetime.html:
* web-platform-tests/html/semantics/forms/the-input-element/number-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/number.html:
* web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/range.html:
* web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/selection.html:
* web-platform-tests/html/semantics/forms/the-input-element/time-2-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/time-2.html:
* web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/time.html:
* web-platform-tests/html/semantics/forms/the-input-element/week-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/week.html:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-menu-expected.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-menu.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-skip-no-boxes-expected.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-skip-no-boxes.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/w3c-import.log:
* web-platform-tests/html/semantics/links/linktypes/alternate-import.css: Added.
(body):
* web-platform-tests/html/semantics/links/linktypes/alternate.css:
(@import url("alternate-import.css");):
* web-platform-tests/html/semantics/links/linktypes/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-reflect-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-reflect.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/cocoa-module.js: Added.
(export.default.Cocoa.prototype.taste):
(export.default.Cocoa):
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/exports-cocoa.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/set-script-executed.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click-expected.txt: Added.
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click.html: Added.
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log:
* web-platform-tests/html/syntax/OWNERS: Added.
* web-platform-tests/html/syntax/w3c-import.log:
* web-platform-tests/html/webappapis/scripting/events/body-exposed-window-event-handlers-expected.txt: Added.
* web-platform-tests/html/webappapis/scripting/events/body-exposed-window-event-handlers.html: Added.
* web-platform-tests/html/webappapis/scripting/events/eventhandler-cancellation-expected.txt: Added.
* web-platform-tests/html/webappapis/scripting/events/eventhandler-cancellation.html: Added.
* web-platform-tests/html/webappapis/scripting/events/w3c-import.log:
* web-platform-tests/images/OWNERS:
* web-platform-tests/lint.whitelist:
* web-platform-tests/media-source/mediasource-duration-expected.txt:
* web-platform-tests/resource-timing/resource-timing-expected.txt:
* web-platform-tests/shadow-dom/HTMLSlotElement-interface-expected.txt:
* web-platform-tests/shadow-dom/HTMLSlotElement-interface.html:
* web-platform-tests/shadow-dom/event-inside-slotted-node-expected.txt:
* web-platform-tests/shadow-dom/event-inside-slotted-node.html:
* web-platform-tests/shadow-dom/event-with-related-target-expected.txt:
* web-platform-tests/shadow-dom/event-with-related-target.html:
* web-platform-tests/streams/OWNERS:
* web-platform-tests/streams/README.md: Added.
* web-platform-tests/streams/byte-length-queuing-strategy-expected.txt:
* web-platform-tests/streams/byte-length-queuing-strategy.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.dedicatedworker.html: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.html: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.https-expected.txt: Removed.
* web-platform-tests/streams/byte-length-queuing-strategy.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html.
* web-platform-tests/streams/byte-length-queuing-strategy.sharedworker-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.sharedworker.html: Added.
* web-platform-tests/streams/count-queuing-strategy-expected.txt:
* web-platform-tests/streams/count-queuing-strategy.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.dedicatedworker.html: Added.
* web-platform-tests/streams/count-queuing-strategy.html: Added.
* web-platform-tests/streams/count-queuing-strategy.https-expected.txt: Removed.
* web-platform-tests/streams/count-queuing-strategy.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/count-queuing-strategy.sharedworker-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.sharedworker.html: Added.
* web-platform-tests/streams/generate-test-wrappers.js: Added.
(const.arg.of.process.argv.slice):
(generateWrapper):
* web-platform-tests/streams/piping/close-propagation-backward-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/close-propagation-backward.html: Added.
* web-platform-tests/streams/piping/close-propagation-backward.js: Added.
(promise_test):
(promise_test.t.const.rs.recordingReadableStream.cancel):
(promise_test.t.string_appeared_here.then):
(string_appeared_here.promise_test):
(Symbol):
(promise_test.t.then):
* web-platform-tests/streams/piping/close-propagation-backward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/piping/close-propagation-backward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.sharedworker.html: Added.
* web-platform-tests/streams/piping/close-propagation-forward-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/close-propagation-forward.html: Added.
* web-platform-tests/streams/piping/close-propagation-forward.js: Added.
(promise_test):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.const.ws.recordingWritableStream.close):
(promise_test.t.string_appeared_here.then):
(string_appeared_here.promise_test):
(Symbol):
(promise_test.t.return.pipePromise.then):
(promise_test.t.setTimeout):
* web-platform-tests/streams/piping/close-propagation-forward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/piping/close-propagation-forward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.sharedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-backward-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-backward.html: Added.
* web-platform-tests/streams/piping/error-propagation-backward.js: Added.
(promise_test.t.const.ws.recordingWritableStream.start):
(promise_test.t.string_appeared_here.then):
(promise_test.t.const.ws.recordingWritableStream.write):
(promise_test.t.const.rs.recordingReadableStream.cancel):
(string_appeared_here.promise_test.t.const.ws.recordingWritableStream.write):
(string_appeared_here.promise_test.t.string_appeared_here.then):
(Symbol):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.pipePromise.then):
(promise_test):
(promise_test.t.then):
(promise_test.t.return.writeCalledPromise.then):
* web-platform-tests/streams/piping/error-propagation-backward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/piping/error-propagation-backward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.sharedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-forward-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-forward.html: Added.
* web-platform-tests/streams/piping/error-propagation-forward.js: Added.
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.string_appeared_here.then):
(promise_test.t.const.ws.recordingWritableStream.abort):
(string_appeared_here.promise_test.t.const.rs.recordingReadableStream.start):
(string_appeared_here.promise_test.t.string_appeared_here.then):
(Symbol):
(promise_test.t.return.pipePromise.then):
(promise_test.t.setTimeout):
(promise_test.t.const.ws.recordingWritableStream.write):
(promise_test.t.rs.pipeTo.ws.then):
(promise_test.t.return.writeCalledPromise.then):
(promise_test.t.then):
* web-platform-tests/streams/piping/error-propagation-forward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html.
* web-platform-tests/streams/piping/error-propagation-forward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.sharedworker.html: Added.
* web-platform-tests/streams/piping/flow-control-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/flow-control.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.https.html.
* web-platform-tests/streams/piping/flow-control.js: Added.
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.flushAsyncEvents.then):
(promise_test.t.string_appeared_here.then):
(promise_test):
(promise_test.const.rs.recordingReadableStream.):
* web-platform-tests/streams/piping/flow-control.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/flow-control.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.sharedworker.html: Added.
* web-platform-tests/streams/piping/general-expected.txt: Added.
* web-platform-tests/streams/piping/general.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/general.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/general.html: Added.
* web-platform-tests/streams/piping/general.js: Added.
(test):
(promise_test):
(promise_test.t.rs.pipeTo.ws.then):
(false.promise_test.t.const.rs.new.ReadableStream.pull):
(false.promise_test.t.return.rs.pipeTo.new.WritableStream):
(false.promise_test.t.const.ws.new.WritableStream.write):
* web-platform-tests/streams/piping/general.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/general.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/general.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/general.sharedworker.html: Added.
* web-platform-tests/streams/piping/multiple-propagation-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/multiple-propagation.html: Added.
* web-platform-tests/streams/piping/multiple-propagation.js: Added.
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.const.ws.recordingWritableStream.start):
(promise_test.t.string_appeared_here.then):
(promise_test):
* web-platform-tests/streams/piping/multiple-propagation.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/multiple-propagation.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.sharedworker.html: Added.
* web-platform-tests/streams/piping/pipe-through-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/pipe-through.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.https.html.
* web-platform-tests/streams/piping/pipe-through.js: Added.
(duckTypedPassThroughTransform):
(promise_test):
(promise_test.t.const.transform.writable.new.WritableStream.start):
(test):
* web-platform-tests/streams/piping/pipe-through.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/pipe-through.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.sharedworker.html: Added.
* web-platform-tests/streams/piping/transform-streams-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/transform-streams.html: Added.
* web-platform-tests/streams/piping/transform-streams.js: Added.
(promise_test):
* web-platform-tests/streams/piping/transform-streams.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/transform-streams.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.sharedworker.html: Added.
* web-platform-tests/streams/piping/w3c-import.log: Added.
* web-platform-tests/streams/readable-byte-streams/general-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-byte-streams/general.html: Added.
* web-platform-tests/streams/readable-byte-streams/general.js: Added.
(test):
(promise_test):
(promise_test.t.const.stream.new.ReadableStream.start):
(promise_test.t.return.reader.closed.then):
(promise_test.t.string_appeared_here.then):
(extractViewInfo):
(promise_test.t.const.stream.new.ReadableStream.cancel):
(promise_test.t.pump):
(promise_test.t.const.stream.new.ReadableStream.pull):
* web-platform-tests/streams/readable-byte-streams/general.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-byte-streams/general.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.sharedworker.html: Added.
* web-platform-tests/streams/readable-byte-streams/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log.
* web-platform-tests/streams/readable-streams/bad-strategies-expected.txt:
* web-platform-tests/streams/readable-streams/bad-strategies.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.html: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/bad-strategies.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/bad-strategies.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources-expected.txt:
* web-platform-tests/streams/readable-streams/bad-underlying-sources.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.html: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.js:
(promise_test.t.const.rs.new.ReadableStream.pull):
(promise_test.t.return.Promise.resolve.then):
* web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/brand-checks-expected.txt:
* web-platform-tests/streams/readable-streams/brand-checks.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/brand-checks.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.https.html.
* web-platform-tests/streams/readable-streams/brand-checks.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/brand-checks.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.serviceworker.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.https.html.
* web-platform-tests/streams/readable-streams/brand-checks.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/cancel-expected.txt:
* web-platform-tests/streams/readable-streams/cancel.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/cancel.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.https.html.
* web-platform-tests/streams/readable-streams/cancel.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/cancel.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/cancel.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration-expected.txt:
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.html: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https.html: Removed.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/garbage-collection-expected.txt:
* web-platform-tests/streams/readable-streams/garbage-collection.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.https.html.
* web-platform-tests/streams/readable-streams/garbage-collection.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/garbage-collection.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/garbage-collection.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/general-expected.txt:
* web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/general.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.https.html.
* web-platform-tests/streams/readable-streams/general.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/general.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/general.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/pipe-through-expected.txt:
* web-platform-tests/streams/readable-streams/pipe-through.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/pipe-through.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.https.html.
* web-platform-tests/streams/readable-streams/pipe-through.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/pipe-through.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/pipe-through.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader-expected.txt:
* web-platform-tests/streams/readable-streams/readable-stream-reader.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.html: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/readable-stream-reader.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html.
* web-platform-tests/streams/readable-streams/readable-stream-reader.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/tee-expected.txt:
* web-platform-tests/streams/readable-streams/tee.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/tee.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.https.html.
* web-platform-tests/streams/readable-streams/tee.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/tee.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/tee.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/templated-expected.txt:
* web-platform-tests/streams/readable-streams/templated.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/templated.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.https.html.
* web-platform-tests/streams/readable-streams/templated.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/templated.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/templated.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/w3c-import.log:
* web-platform-tests/streams/resources/recording-streams.js: Added.
(self.recordingReadableStream):
(self.recordingWritableStream):
* web-platform-tests/streams/resources/rs-test-templates.js:
(self.templatedRSEmpty):
(self.templatedRSClosed):
(self.templatedRSErrored):
(self.templatedRSErroredSyncOnly):
(self.templatedRSEmptyReader):
(self.templatedRSClosedReader):
(self.templatedRSErroredReader):
(self.templatedRSTwoChunksOpenReader):
(self.templatedRSTwoChunksClosedReader):
* web-platform-tests/streams/resources/test-initializer.js: Removed.
* web-platform-tests/streams/resources/test-utils.js:
(self.methodRejects):
* web-platform-tests/streams/resources/w3c-import.log:
* web-platform-tests/streams/w3c-import.log:
* web-platform-tests/test_keys_wdspec.html: Added.
* web-platform-tests/url/a-element-expected.txt:
* web-platform-tests/url/a-element-origin-xhtml.xhtml:
* web-platform-tests/url/a-element-origin.html:
* web-platform-tests/url/a-element-xhtml-expected.txt:
* web-platform-tests/url/a-element-xhtml.xhtml:
* web-platform-tests/url/a-element.html:
* web-platform-tests/url/interfaces-expected.txt:
* web-platform-tests/url/setters_tests.json:
* web-platform-tests/url/url-constructor-expected.txt:
* web-platform-tests/url/url-setters-expected.txt:
* web-platform-tests/url/url-tojson-expected.txt:
* web-platform-tests/url/urltestdata.json:
* web-platform-tests/url/w3c-import.log:
* web-platform-tests/user-timing/resources/webperftestharness.js:
(has_required_interfaces):
* web-platform-tests/user-timing/test_user_timing_clear_marks.html:
* web-platform-tests/user-timing/test_user_timing_clear_measures.html:
* web-platform-tests/user-timing/test_user_timing_mark.html:
* web-platform-tests/user-timing/test_user_timing_mark_exceptions.html:
* web-platform-tests/user-timing/test_user_timing_measure.html:
* web-platform-tests/user-timing/test_user_timing_measure_exceptions.html:
* web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure_navigation_timing.html:
* web-platform-tests/w3c-import.log:
* web-platform-tests/webrtc/datachannel-emptystring-expected.txt:
* web-platform-tests/webrtc/no-media-call-expected.txt:
* web-platform-tests/webrtc/promises-call-expected.txt:

LayoutTests:

* TestExpectations: Marking some tests as failing/skipping.
* tests-options.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove custom bindings for XSLTProcessor.idl
weinig@apple.com [Sun, 12 Feb 2017 04:59:10 +0000 (04:59 +0000)]
Remove custom bindings for XSLTProcessor.idl
https://bugs.webkit.org/show_bug.cgi?id=168174

Reviewed by Andreas Kling.

Source/WebCore:

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSXSLTProcessorCustom.cpp: Removed.
Remove file.

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsStringOrUndefined): Deleted.
* bindings/js/JSDOMBinding.h:
Remove now unused jsStringOrUndefined.

* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::setParameter):
(WebCore::XSLTProcessor::getParameter):
(WebCore::XSLTProcessor::removeParameter):
* xml/XSLTProcessor.idl:
Replace custom bindings bindings with early returns. One subtle difference
between the custom bindings and this, is that getParameter will return
jsNull() rather than jsUndefined() for null String returns. This matches
all other bindings.

LayoutTests:

* fast/xsl/xslt-processor-expected.txt:
* fast/xsl/xslt-processor.html:
Update test / results for subtle new no-result behavior.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GStreamer][MSE][EME] Fix decryptor assignment
commit-queue@webkit.org [Sun, 12 Feb 2017 04:14:22 +0000 (04:14 +0000)]
[GStreamer][MSE][EME] Fix decryptor assignment
https://bugs.webkit.org/show_bug.cgi?id=168122

Patch by Olivier Blin <olivier.blin@softathome.com> on 2017-02-11
Reviewed by Michael Catanzaro.

The new decryptor is a floating reference so we should not use the
adopt GRefPtr constructor, but use the regular assignment operator
that will sink the object (clear the floating flag).

This fixes assertions in debug build.

See previous pipeline fix in r210851 and WPE commit
06020b18831e1c0eead34e2c1a5a4b7d026c227d.

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
Do not use adoptGRef(), it prevented the object from being sunk.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoLayoutTest fast/scrolling/page-cache-back-overflow-scroll-restore.html is a flaky...
akling@apple.com [Sun, 12 Feb 2017 04:11:56 +0000 (04:11 +0000)]
LayoutTest fast/scrolling/page-cache-back-overflow-scroll-restore.html is a flaky failure
<https://webkit.org/b/168084>

Reviewed by Michael Catanzaro.

Wait for a scroll event before triggering a navigation. This removes the flakiness.
Also use element.scrollTop to scroll the overflow:scroll element instead of eventSender.

* fast/scrolling/page-cache-back-overflow-scroll-restore.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix crashes after [NSURLSession invalidateAndCancel]
achristensen@apple.com [Sun, 12 Feb 2017 04:10:20 +0000 (04:10 +0000)]
Fix crashes after [NSURLSession invalidateAndCancel]
https://bugs.webkit.org/show_bug.cgi?id=168181
<rdar://problem/29813868>

Reviewed by Brady Eidson.

When we call NetworkSessionCocoa::invalidateAndCancel, we intend for the session to immediately
become invalid and stop doing things. [NSURLSession invalidateAndCancel] asynchronously cancels
everything and then calls the delegate's didBecomeInvalidWithError, so before this change there
is a time when we have torn down the session with SessionTracker::destroySession but we can still
get a delegate callback which assumes the session and its NetworkStorageSession exists.  If we
get any delegate callbacks after a NetworkSession has been invalidated, we will want to ignore them.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate sessionInvalidated]):
(-[WKNetworkSessionDelegate URLSession:didBecomeInvalidWithError:]):
(-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
The pointer to the NetworkSessionCocoa can now be null. We need to check it.
(WebKit::NetworkSessionCocoa::invalidateAndCancel):
Synchronously remove the connection between the delegates and the NetworkSessionCocoa.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAvoid a redundant scroll to 0,0 when navigating back to a url with no fragment
simon.fraser@apple.com [Sun, 12 Feb 2017 03:18:09 +0000 (03:18 +0000)]
Avoid a redundant scroll to 0,0 when navigating back to a url with no fragment
https://bugs.webkit.org/show_bug.cgi?id=168177

Reviewed by Sam Weinig.

FrameView::scrollToFragment() is called from FrameLoader::scrollToFragmentWithParentBoundary()
when navigating within the page. If the URL had no fragment identifier, this code would
call into FrameView::scrollToAnchor() with an empty name, where maintainScrollPositionAtAnchor()
used the document as the anchor, thus scrolling to 0,0. Later, history().restoreScrollPositionAndViewState()
the restores the scroll position from history.

This scroll to 0,0 happened to be not visible to the page because of scroll event
coalescing, but it makes implementation of history.scrollRestoration harder, so avoid it
by just returning early from FrameView::scrollToFragment() if there is no fragment,
making sure to clear the document's CSSTarget.

* dom/Document.cpp:
(WebCore::Document::setCSSTarget):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToFragment):
(WebCore::FrameView::scrollToAnchor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212197 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[JSC] Implement (Shared)ArrayBuffer.prototype.byteLength
utatane.tea@gmail.com [Sat, 11 Feb 2017 22:12:36 +0000 (22:12 +0000)]
[JSC] Implement (Shared)ArrayBuffer.prototype.byteLength
https://bugs.webkit.org/show_bug.cgi?id=166476

Reviewed by Saam Barati.

JSTests:

* ChakraCore/test/typedarray/arraybufferType.baseline-jsc:
* stress/array-buffer-byte-length.js: Added.
(shouldBe):
(shouldThrow):
(Symbol):
* stress/reflect-set.js:

Source/JavaScriptCore:

`byteLength` becomes getter and is set in ArrayBuffer.prototype
and SharedArrayBuffer.prototype. This patch implements the
above getter in native function. We do not have any optimization
path for that for now since ArrayBuffer.prototype.byteLength is
not considered a hot function: while TypedArrays have [] accesses,
ArrayBuffer does not have that. Thus byteLength getter is not so
meaningful for a hot paths like iterations.

* runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::getOwnPropertySlot): Deleted.
(JSC::JSArrayBuffer::put): Deleted.
(JSC::JSArrayBuffer::defineOwnProperty): Deleted.
(JSC::JSArrayBuffer::deleteProperty): Deleted.
(JSC::JSArrayBuffer::getOwnNonIndexPropertyNames): Deleted.
* runtime/JSArrayBuffer.h:
(JSC::JSArrayBuffer::impl): Deleted.
* runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoGetterFuncByteLength):
(JSC::sharedArrayBufferProtoGetterFuncByteLength):
(JSC::JSArrayBufferPrototype::finishCreation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMiniBrowser WK1 fails to update URL for within-page navigations
simon.fraser@apple.com [Sat, 11 Feb 2017 22:12:09 +0000 (22:12 +0000)]
MiniBrowser WK1 fails to update URL for within-page navigations
https://bugs.webkit.org/show_bug.cgi?id=168173

Reviewed by Tim Horton.

Implement -webView:didChangeLocationWithinPageForFrame: so that clicking on named
anchors updates the URL field.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:didChangeLocationWithinPageForFrame:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Mark resource load stats tests as crashing.
carlosgc@webkit.org [Sat, 11 Feb 2017 17:07:14 +0000 (17:07 +0000)]
Unreviewed GTK+ gardening. Mark resource load stats tests as crashing.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoImplement URL's toJSON()
cdumez@apple.com [Sat, 11 Feb 2017 15:14:47 +0000 (15:14 +0000)]
Implement URL's toJSON()
https://bugs.webkit.org/show_bug.cgi?id=167979

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Re-sync URL tests from upstream to gain test coverage for
URL's toJSON().

* web-platform-tests/url/interfaces-expected.txt:
* web-platform-tests/url/interfaces.html:
* web-platform-tests/url/url-tojson-expected.txt: Added.
* web-platform-tests/url/url-tojson.html: Added.
* web-platform-tests/url/w3c-import.log:

Source/WebCore:

Implement URL's toJSON() as per:
- https://url.spec.whatwg.org/#dom-url-tojson

This is already supported by Firefox.

Also, drop URLUtils.idl as it is no longer in the specification.
Merge its content to DOMURL.idl as per the URL specification.

Finally, mark href attribute as stringifier and drop the toString()
operation to match the specification. This fixes a bug where our
toString property was not enumerable but should have been.

Tests: fast/url/url-tojson.html
       imported/w3c/web-platform-tests/url/url-tojson.html

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/DOMURL.idl:
* html/URLUtils.h:
(WebCore::URLUtils<T>::toJSON):
* html/URLUtils.idl: Removed.

LayoutTests:

Extend test coverage.

* fast/url/url-tojson-expected.txt: Added.
* fast/url/url-tojson.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GTK][EFL] Implement MIMETypeRegistry::getPreferredExtensionForMIMEType
carlosgc@webkit.org [Sat, 11 Feb 2017 14:29:52 +0000 (14:29 +0000)]
[GTK][EFL] Implement MIMETypeRegistry::getPreferredExtensionForMIMEType
https://bugs.webkit.org/show_bug.cgi?id=168163

Reviewed by Michael Catanzaro.

It's missing causing several HTML anchor download tests to fail because the suggested filename missed the
extension. This patch moves MIMETypeRegistry::appendFileExtensionIfNecessary() from the cocoa specific file to the
common file because it's not actually platform specific. MIMETypeRegistry::getPreferredExtensionForMIMEType() is
what platforms should implement.

Fixes: fast/dom/HTMLAnchorElement/anchor-download-user-triggered-synthetic-click.html
       fast/dom/HTMLAnchorElement/anchor-download.html
       fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html
       fast/dom/HTMLAnchorElement/anchor-nodownload-set.html

* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):
* platform/cocoa/MIMETypeRegistryCocoa.mm:
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary): Deleted.
* platform/efl/MIMETypeRegistryEfl.cpp:
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
* platform/gtk/MIMETypeRegistryGtk.cpp:
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212192 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Update several tests expected to timeout that are failing...
carlosgc@webkit.org [Sat, 11 Feb 2017 14:03:23 +0000 (14:03 +0000)]
Unreviewed GTK+ gardening. Update several tests expected to timeout that are failing now.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Updated expectations of several WebCryptoAPI tests that...
carlosgc@webkit.org [Sat, 11 Feb 2017 13:46:34 +0000 (13:46 +0000)]
Unreviewed GTK+ gardening. Updated expectations of several WebCryptoAPI tests that are failing.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212190 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Mark tests using drag and drop as crashing in Wayland.
carlosgc@webkit.org [Sat, 11 Feb 2017 12:17:16 +0000 (12:17 +0000)]
Unreviewed GTK+ gardening. Mark tests using drag and drop as crashing in Wayland.

* platform/gtk-wayland/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212189 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Rebaseline several tests.
carlosgc@webkit.org [Sat, 11 Feb 2017 12:02:32 +0000 (12:02 +0000)]
Unreviewed GTK+ gardening. Rebaseline several tests.

* platform/gtk/fast/css/font_property_normal-expected.png:
* platform/gtk/fast/css/font_property_normal-expected.txt:
* platform/gtk/fast/dynamic/text-combine-expected.png:
* platform/gtk/fast/dynamic/text-combine-expected.txt:
* platform/gtk/fast/forms/select-empty-option-height-expected.png:
* platform/gtk/fast/forms/select-empty-option-height-expected.txt:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.png:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
* platform/gtk/fast/forms/validation-message-appearance-expected.png:
* platform/gtk/fast/forms/validation-message-appearance-expected.txt:
* platform/gtk/fast/images/icon-decoding-expected.png:
* platform/gtk/fast/images/icon-decoding-expected.txt: Added.
* platform/gtk/fast/inline/continuation-outlines-with-layers-expected.png:
* platform/gtk/fast/inline/continuation-outlines-with-layers-expected.txt:
* platform/gtk/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
* platform/gtk/fast/layers/video-layer-expected.png:
* platform/gtk/fast/layers/video-layer-expected.txt:
* platform/gtk/fast/repaint/4776765-expected.txt: Added.
* platform/gtk/fast/repaint/focus-ring-repaint-expected.txt: Added.
* platform/gtk/fast/repaint/zoomed-fixed-background-expected.txt: Added.
* platform/gtk/fast/scrolling/page-cache-back-overflow-scroll-restore-expected.txt: Added.
* platform/gtk/http/tests/plugins/plugin-javascript-access-expected.txt:
* platform/gtk/http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe-expected.txt: Added.
* platform/gtk/inspector/css/get-system-fonts-expected.txt:
* platform/gtk/plugins/plugin-javascript-access-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/text-align-06-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/text-align-06-b-expected.txt: Added.
* platform/gtk/svg/batik/text/verticalText-expected.png:
* platform/gtk/svg/batik/text/verticalText-expected.txt: Added.
* platform/gtk/svg/batik/text/verticalTextOnPath-expected.png:
* platform/gtk/svg/batik/text/verticalTextOnPath-expected.txt: Added.
* platform/gtk/svg/text/text-align-06-b-expected.png:
* platform/gtk/svg/text/text-align-06-b-expected.txt: Added.
* platform/gtk/tables/mozilla/bugs/bug4427-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4427-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212188 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Remove more platform specific results.
carlosgc@webkit.org [Sat, 11 Feb 2017 12:00:14 +0000 (12:00 +0000)]
Unreviewed GTK+ gardening. Remove more platform specific results.

* platform/gtk/fast/media/w3c/test_media_queries-expected.txt: Removed.
* platform/gtk/http/tests/eventsource/eventsource-cors-non-http-expected.txt: Removed.
* platform/gtk/http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/failure-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed. Update imageTitle translatable string.
carlosgc@webkit.org [Sat, 11 Feb 2017 11:05:30 +0000 (11:05 +0000)]
Unreviewed. Update imageTitle translatable string.

To match mac port. Fixes fast/images/imageDocument-title.html.

* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::imageTitle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Update platform specific results for fast/css-generated...
carlosgc@webkit.org [Sat, 11 Feb 2017 10:38:16 +0000 (10:38 +0000)]
Unreviewed GTK+ gardening. Update platform specific results for fast/css-generated-content/malformed-url.html and fast/events/mouse-cursor-image-set.html

Remove platform specific results of fast/css-generated-content/malformed-url.html and add platform specific
results for fast/events/mouse-cursor-image-set.html, because this test fails only for the missing scale due to
MOUSE_CURSOR_SCALE not implemented in GTK+ port.

* platform/gtk/TestExpectations:
* platform/gtk/fast/css-generated-content/malformed-url-expected.txt: Removed.
* platform/gtk/fast/events/mouse-cursor-image-set-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212185 268f45cc-cd09-0410-ab3c-d52691b4dbfc