Timeline



Feb 13, 2017:

11:43 PM Changeset in webkit [212279] by achristensen@apple.com
  • 13 edits in trunk

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:
11:16 PM Changeset in webkit [212278] by ap@apple.com
  • 2 edits in trunk/Source/WebKit/mac

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:
11:00 PM Changeset in webkit [212277] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Reverted r212275. It still breaks some Apple-internal builds.

  • platform/spi/mac/TUCallSPI.h:
9:57 PM Changeset in webkit [212276] by commit-queue@webkit.org
  • 16 edits in trunk/Source/WebCore

Address ESLint warnings in modern-media-controls
https://bugs.webkit.org/show_bug.cgi?id=168224

Patch by Joseph Pecoraro <Joseph Pecoraro> 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.

9:40 PM Changeset in webkit [212275] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Restored changes from r212210 in a way that does not break the build.

  • platform/spi/mac/TUCallSPI.h:
7:27 PM Changeset in webkit [212274] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

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):

6:29 PM Changeset in webkit [212273] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/Source/WebInspectorUI

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 <Devin Rousso> 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):

6:28 PM Changeset in webkit [212272] by BJ Burg
  • 13 edits in trunk/Source

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:
6:20 PM Changeset in webkit [212271] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

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:
6:11 PM Changeset in webkit [212270] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

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.
6:09 PM Changeset in webkit [212269] by commit-queue@webkit.org
  • 16 edits
    1 move
    1 delete in trunk/Source

[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):

5:46 PM Changeset in webkit [212268] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[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:
5:44 PM Changeset in webkit [212267] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

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):

5:32 PM Changeset in webkit [212266] by Megan Gardner
  • 5 edits in trunk/Source/WebKit2

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:
5:29 PM Changeset in webkit [212265] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

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.
5:18 PM Changeset in webkit [212264] by Wenson Hsieh
  • 2 edits in trunk/Tools

Fix the build after r212254

  • TestWebKitAPI/ios/DataInteractionSimulator.mm:

(-[DataInteractionSimulator _currentLocation]):

5:17 PM Changeset in webkit [212263] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[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.

5:08 PM Changeset in webkit [212262] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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):

5:07 PM Changeset in webkit [212261] by jiewen_tan@apple.com
  • 62 edits in trunk

[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:
4:47 PM Changeset in webkit [212260] by Simon Fraser
  • 8 edits in trunk/Source

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):

4:44 PM Changeset in webkit [212259] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
4:26 PM Changeset in webkit [212258] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
4:16 PM Changeset in webkit [212257] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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:
3:26 PM Changeset in webkit [212256] by beidson@apple.com
  • 4 edits in trunk/Source

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:
3:10 PM Changeset in webkit [212255] by aakash_jain@apple.com
  • 3 edits
    1 delete in trunk/Source/WebCore

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
3:10 PM Changeset in webkit [212254] by Wenson Hsieh
  • 9 edits
    7 adds in trunk

[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:]):

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

Fix iOS build.

  • platform/ios/DragImageIOS.mm:

(WebCore::deleteDragImage):

3:06 PM Changeset in webkit [212252] by commit-queue@webkit.org
  • 7 edits
    2 moves in trunk/Source/WebCore

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:
2:55 PM Changeset in webkit [212251] by aakash_jain@apple.com
  • 2 edits in trunk/Source/WebCore

WAKResponder should be exported from WebCore
https://bugs.webkit.org/show_bug.cgi?id=168245

Reviewed by Dan Bernstein.

  • platform/ios/wak/WAKResponder.h:
2:53 PM Changeset in webkit [212250] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

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):

2:52 PM Changeset in webkit [212249] by achristensen@apple.com
  • 9 edits in trunk

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):

1:55 PM Changeset in webkit [212248] by Alan Bujtas
  • 1 edit
    1 add in trunk/PerformanceTests

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.
1:39 PM Changeset in webkit [212247] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

[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.

1:37 PM Changeset in webkit [212246] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
1:37 PM Changeset in webkit [212245] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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.

1:30 PM Changeset in webkit [212244] by Antti Koivisto
  • 8 edits in trunk/Source/WebKit2

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):

1:11 PM Changeset in webkit [212243] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows build.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::setDragImage):

1:05 PM Changeset in webkit [212242] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

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:
12:57 PM Changeset in webkit [212241] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

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):

12:35 PM Changeset in webkit [212240] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-603.1.27

Tag Safari-603.1.27.

12:31 PM Changeset in webkit [212239] by andersca@apple.com
  • 11 edits in trunk/Source/WebCore

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):

12:19 PM Changeset in webkit [212238] by Chris Dumez
  • 2 edits in trunk/Source/WebCore
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):

11:58 AM Changeset in webkit [212237] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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 <Fujii Hironori> 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.

11:14 AM Changeset in webkit [212236] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

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:
11:07 AM Changeset in webkit [212235] by mmaxfield@apple.com
  • 14 edits
    1 copy
    2 adds
    1 delete in trunk

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:
10:58 AM Changeset in webkit [212234] by Ryan Haddad
  • 4 edits in trunk/LayoutTests

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:
10:45 AM Changeset in webkit [212233] by matthew_hanson@apple.com
  • 5 edits in branches/safari-603-branch/Source

Versioning.

10:37 AM Changeset in webkit [212232] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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):

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

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:
9:28 AM Changeset in webkit [212230] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[GTK] Unreviewed, add missing precondition check

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

(webkit_web_editor_get_page):

9:26 AM Changeset in webkit [212229] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix another docs typo.

  • UIProcess/API/gtk/WebKitEditingCommands.h:
9:12 AM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
9:07 AM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
5:42 AM Changeset in webkit [212228] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[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.

1:53 AM Changeset in webkit [212227] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

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):

Feb 12, 2017:

10:49 PM Changeset in webkit [212226] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

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.

10:47 PM Changeset in webkit [212225] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[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:
10:41 PM Changeset in webkit [212224] by Michael Catanzaro
  • 3 edits in trunk/Tools

[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:
10:39 PM Changeset in webkit [212223] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

  • platform/spi/mac/TUCallSPI.h: Reverted to r212210.
10:34 PM Changeset in webkit [212222] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

  • platform/spi/mac/TUCallSPI.h:
10:21 PM Changeset in webkit [212221] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

  • platform/spi/mac/TUCallSPI.h:
10:13 PM Changeset in webkit [212220] by mitz@apple.com
  • 6 edits in trunk/Source

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.

10:04 PM Changeset in webkit [212219] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.

  • platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
8:21 PM Changeset in webkit [212218] by rniwa@webkit.org
  • 5 edits
    6 adds in trunk

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.
6:42 PM Changeset in webkit [212217] by bshafiei@apple.com
  • 5 edits in tags/Safari-603.1.26.0.1/Source

Versioning.

6:40 PM Changeset in webkit [212216] by bshafiei@apple.com
  • 1 copy in tags/Safari-603.1.26.0.1

New tag.

6:32 PM Changeset in webkit [212215] by bshafiei@apple.com
  • 2 edits in branches/safari-603-branch/Source/JavaScriptCore

Merge r211609. rdar://problem/30479663

6:01 PM Changeset in webkit [212214] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

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.
5:59 PM Changeset in webkit [212213] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Rebaseline bindings tests after r212207.

  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
5:56 PM Changeset in webkit [212212] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

C loop build fix attempt after r212207.

  • runtime/Lookup.h:
2:01 PM Changeset in webkit [212211] by mitz@apple.com
  • 39 edits in trunk/Source

[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.

1:19 PM Changeset in webkit [212210] by Michael Catanzaro
  • 3 edits in trunk/Source/WebKit2

[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):

11:53 AM Changeset in webkit [212209] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, skip flaky WebKitPrintOperation/custom-widget test

  • Scripts/run-gtk-tests:

(TestRunner):

11:28 AM Changeset in webkit [212208] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, skip flaky form-controls-associated-signal test

  • Scripts/run-gtk-tests:

(TestRunner):

10:29 AM Changeset in webkit [212207] by weinig@apple.com
  • 24 edits
    1 delete in trunk/Source

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.

9:05 AM Changeset in webkit [212206] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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.

8:48 AM Changeset in webkit [212205] by Carlos Garcia Campos
  • 11 edits
    1 add in trunk

[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.
4:04 AM Changeset in webkit [212204] by Carlos Garcia Campos
  • 2 edits
    6 adds in trunk/LayoutTests

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.
2:21 AM Changeset in webkit [212203] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[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]):

Feb 11, 2017:

9:17 PM Changeset in webkit [212202] by commit-queue@webkit.org
  • 196 edits
    22 copies
    12 moves
    292 adds
    15 deletes in trunk/LayoutTests

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:

8:59 PM Changeset in webkit [212201] by weinig@apple.com
  • 11 edits
    1 delete in trunk

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.

8:14 PM Changeset in webkit [212200] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer][MSE][EME] Fix decryptor assignment
https://bugs.webkit.org/show_bug.cgi?id=168122

Patch by Olivier Blin <Olivier Blin> 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.

8:11 PM Changeset in webkit [212199] by akling@apple.com
  • 2 edits in trunk/LayoutTests

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:
8:10 PM Changeset in webkit [212198] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

7:18 PM Changeset in webkit [212197] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

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):

2:12 PM Changeset in webkit [212196] by Yusuke Suzuki
  • 7 edits
    1 add in trunk

[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):

2:12 PM Changeset in webkit [212195] by Simon Fraser
  • 2 edits in trunk/Tools

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:]):

9:07 AM Changeset in webkit [212194] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Mark resource load stats tests as crashing.

  • platform/gtk/TestExpectations:
7:14 AM Changeset in webkit [212193] by Chris Dumez
  • 12 edits
    4 adds
    1 delete in trunk

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:

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.
6:29 AM Changeset in webkit [212192] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[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):

6:03 AM Changeset in webkit [212191] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Update several tests expected to timeout that are failing now.

  • platform/gtk/TestExpectations:
5:46 AM Changeset in webkit [212190] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Updated expectations of several WebCryptoAPI tests that are failing.

  • platform/gtk/TestExpectations:
4:17 AM Changeset in webkit [212189] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Mark tests using drag and drop as crashing in Wayland.

  • platform/gtk-wayland/TestExpectations:
4:02 AM Changeset in webkit [212188] by Carlos Garcia Campos
  • 26 edits
    10 adds in trunk/LayoutTests

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:
4:00 AM Changeset in webkit [212187] by Carlos Garcia Campos
  • 1 edit
    4 deletes in trunk/LayoutTests

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.
3:05 AM Changeset in webkit [212186] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update imageTitle translatable string.

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

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::imageTitle):

2:38 AM Changeset in webkit [212185] by Carlos Garcia Campos
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

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.

Feb 10, 2017:

11:44 PM Changeset in webkit [212184] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip CSS image-orientation and image-resolution tests.

  • platform/gtk/TestExpectations:
11:34 PM Changeset in webkit [212183] by wilander@apple.com
  • 36 edits
    15 adds in trunk

Updates to Resource Load Statistics: Get the right website data store and introduce timeout for user interaction
https://bugs.webkit.org/show_bug.cgi?id=167474
<rdar://problem/24681808>
<rdar://problem/24703286>
<rdar://problem/30290270>

Source/WebCore:

This patch does the following:

  1. Gets the right website data store. API::WebsiteDataStore::defaultDataStore()

does not provide the right data store.

  1. Introduces timeout for user interaction. A domain needs interaction every 30

days to stay in that category.

  1. Adds grandfathered to the statistics model in preparation for grandfathering of

existing data records.

  1. Adds test infrastructure to allow testing of the various rules in place for

data records removal.

  1. Fixes various smaller bugs that were found as part of setting up the tests.
  2. Regresses the data records removal counting. We need to come up with a thread

safe way of gathering removal statistics from more than one data store now
that we potentially interact with multiple stores.

  1. Adds a first set of layout tests for resource load statistics.

Reviewed by Andy Estes.

Tests: http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html

http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html
http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html
http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html
http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html

  • dom/Document.cpp:

(WebCore::Document::updateLastHandledUserGestureTimestamp):

This now calls ResourceLoadObserver::logUserInteraction() every time since
we want to keep track of the most recent user interaction.

  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::statisticsStore):

New getter used by WebResourceLoadStatisticsManager::resetToConsistentState().

(WebCore::reduceTimeResolutionToOneDay):

Convenience function.

(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):

Reduces time resolution for privacy reasons.

(WebCore::ResourceLoadObserver::logUserInteraction):
(WebCore::ResourceLoadObserver::clearUserInteraction):
(WebCore::ResourceLoadObserver::hasHadUserInteraction):
(WebCore::ResourceLoadObserver::setPrevalentResource):
(WebCore::ResourceLoadObserver::isPrevalentResource):
(WebCore::ResourceLoadObserver::clearPrevalentResource):
(WebCore::ResourceLoadObserver::setTimeToLiveUserInteraction):
(WebCore::ResourceLoadObserver::fireDataModificationHandler):

New functions that allow WebKitTestRunner to stage exact
statistics, fire the handler, and test the outcome.

  • loader/ResourceLoadObserver.h:
  • loader/ResourceLoadStatistics.cpp:

(WebCore::ResourceLoadStatistics::encode):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString):
(WebCore::ResourceLoadStatistics::merge):

Support for statistics mostRecentUserInteraction, grandfathered, and
dataRecordsRemoved.

  • loader/ResourceLoadStatistics.h:
  • loader/ResourceLoadStatisticsStore.cpp:

(WebCore::ResourceLoadStatisticsStore::setTimeToLiveUserInteraction):

New function that allows WebKitTestRunner to test
aging out of user interaction.

(WebCore::ResourceLoadStatisticsStore::hasHadRecentUserInteraction):

Now takes into account the timestamp and ages
out user interaction.

(WebCore::ResourceLoadStatisticsStore::prevalentResourceDomainsWithoutUserInteraction):

Now makes use of ResourceLoadStatisticsStore::hasHadRecentUserInteraction().

  • loader/ResourceLoadStatisticsStore.h:

Source/WebKit2:

This patch does the following:

  1. Gets the right website data store. API::WebsiteDataStore::defaultDataStore()

does not provide the right data store.

  1. Introduces timeout for user interaction. A domain needs interaction every 30

days to stay in that category.

  1. Adds grandfathered to the statistics model in preparation for grandfathering of

existing data records.

  1. Adds test infrastructure to allow testing of the various rules in place for

data records removal.

  1. Fixes various smaller bugs that were found as part of setting up the tests.
  2. Regresses the data records removal counting. We need to come up with a thread

safe way of gathering removal statistics from more than one data store now
that we potentially interact with multiple stores.

  1. Adds a first set of layout tests for resource load statistics.

Reviewed by Andy Estes.

  • PlatformEfl.cmake:

Added UIProcess/WebResourceLoadStatisticsManager.cpp and
UIProcess/API/C/WKResourceLoadStatisticsManager.cpp.

  • PlatformGTK.cmake:

Added UIProcess/WebResourceLoadStatisticsManager.cpp and
UIProcess/API/C/WKResourceLoadStatisticsManager.cpp.

  • PlatformMac.cmake:

Added UIProcess/WebResourceLoadStatisticsManager.cpp and
UIProcess/API/C/WKResourceLoadStatisticsManager.cpp.

  • Shared/API/APIObject.h:

Adds WebResourceLoadStatisticsManager to the Type enum.

  • Shared/API/c/WKBase.h:

Typedef of WKResourceLoadStatisticsManagerRef.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):

Adds support for statistics mostRecentUserInteraction, grandfathered, and
dataRecordsRemoved.

  • UIProcess/API/C/WKAPICast.h:

Adds API mapping between WKResourceLoadStatisticsManagerRef and
WebResourceLoadStatisticsManager.

  • UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: Added.

(WKResourceLoadStatisticsManagerGetTypeID):
(WKResourceLoadStatisticsManagerSetPrevalentResource):
(WKResourceLoadStatisticsManagerIsPrevalentResource):
(WKResourceLoadStatisticsManagerSetHasHadUserInteraction):
(WKResourceLoadStatisticsManagerIsHasHadUserInteraction):
(WKResourceLoadStatisticsManagerSetTimeToLiveUserInteraction):
(WKResourceLoadStatisticsManagerFireDataModificationHandler):
(WKResourceLoadStatisticsManagerSetNotifyPagesWhenDataRecordsWereScanned):
(WKResourceLoadStatisticsManagerSetShouldClassifyResourcesBeforeDataRecordsRemoval):
(WKResourceLoadStatisticsManagerSetMinimumTimeBetweeenDataRecordsRemoval):
(WKResourceLoadStatisticsManagerResetToConsistentState):

API level bridge to WebResourceLoadStatisticsManager functions.

  • UIProcess/API/C/WKResourceLoadStatisticsManager.h: Added.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyOwnedDomainsInAllPersistentDataStores):

A way to delete website data in persistent store(s) configured by the
embedding client. API::WebsiteDataStore::defaultDataStore() does not
do this which caused us to skip session storage.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebResourceLoadStatisticsManager.cpp: Added.

(WebKit::WebResourceLoadStatisticsManager::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsManager::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsManager::setHasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::setTimeToLiveUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::fireDataModificationHandler):
(WebKit::WebResourceLoadStatisticsManager::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebResourceLoadStatisticsManager::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsManager::resetToConsistentState):

Static functions to manage the state and behavior of the UI process'
resource load statistics store.

  • UIProcess/WebResourceLoadStatisticsManager.h: Added.

(WebKit::WebResourceLoadStatisticsManager::create):

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):

An effect of a member variable rename. See header file comment below.

(WebKit::WebResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebResourceLoadStatisticsStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval):

Three static functions for controlling the behavior of the store.

(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):

Changes:

  1. Covers all data record types.
  2. Allows data removal when m_lastTimeDataRecordsWereRemoved is not set.
  3. Moves the heavy lifting to WebsiteDataStore (see below).
  4. No longer counts removed data regressions.

(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):

See next comment.

(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):

WebResourceLoadStatisticsStore::processStatisticsAndDataRecords() is
broken out of WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated
to allow for statistics processing without prior classification.
Tests need to set statistics and a run of the classifier may
reset the data.

(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):

Sets the notification callback which calls
WebResourceLoadStatisticsStore::processStatisticsAndDataRecords().

  • UIProcess/WebResourceLoadStatisticsStore.h:

(WebKit::WebResourceLoadStatisticsStore::coreStore):

Renamed m_resourceStatisticsStore to m_resourceLoadStatisticsStore to
harmonize with other naming.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyOwnedDomains):

This is now where matching is made between prevalent resources
and data records. This function is used by
WebsiteDataStore::removeDataForTopPrivatelyOwnedDomains().

(WebKit::WebsiteDataStore::removeDataForTopPrivatelyOwnedDomains):

The function WebResourceLoadStatisticsStore::removeDataRecords()
calls to get data records removed in all persistent stores.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::m_resourceLoadStatisticsStore):
(WebKit::WebProcess::statisticsChangedTimerFired):
(WebKit::m_resourceLoadStatisticsStorage): Deleted.

Renamed m_resourceLoadStatisticsStorage to m_resourceLoadStatisticsStore
to harmonize with other naming.

  • WebProcess/WebProcess.h:

Tools:

This patch adds test infrastructure to allow testing
of the various rules in place for data records removal.

Reviewed by Andy Estes.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessageToPage):

Callback mechanism to tell pages that a website data store
scan has happened.

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setStatisticsPrevalentResource):
(WTR::TestRunner::isStatisticsPrevalentResource):
(WTR::TestRunner::setStatisticsHasHadUserInteraction):
(WTR::TestRunner::isStatisticsHasHadUserInteraction):
(WTR::TestRunner::setStatisticsTimeToLiveUserInteraction):
(WTR::TestRunner::installStatisticsDidModifyDataRecordsCallback):
(WTR::TestRunner::statisticsDidModifyDataRecordsCallback):
(WTR::TestRunner::statisticsFireDataModificationHandler):
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestRunner::setStatisticsMinimumTimeBetweeenDataRecordsRemoval):
(WTR::TestRunner::statisticsResetToConsistentState):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setStatisticsPrevalentResource):
(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::setStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::setStatisticsTimeToLiveUserInteraction):
(WTR::TestController::statisticsFireDataModificationHandler):
(WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestController::setStatisticsMinimumTimeBetweeenDataRecordsRemoval):
(WTR::TestController::statisticsResetToConsistentState):

  • WebKitTestRunner/TestController.h:

These are all configuration and test functions.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

Reviewed by Andy Estes.

Marked as general skip (see WK2 expectations below).

  • http/tests/loading/resourceLoadStatistics: Added.
  • http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html: Added.
  • http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html: Added.
  • http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: Added.
  • http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: Added.
  • http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: Added.
  • platform/wk2/TestExpectations:

Marked as valid for WebKit2 only.

10:01 PM Changeset in webkit [212182] by clopez@igalia.com
  • 4 edits in trunk/Tools

REGRESSION(r182916) run-perf-tests never timeouts
https://bugs.webkit.org/show_bug.cgi?id=167626

Reviewed by Ryosuke Niwa.

The --time-out-ms value (defaults to 600 seconds) of run-perf-tests
was beeing ignored because the driver was created with no_timeout=True
unconditionally.
This adds a new parameter --no-timeout (disabled by default), that
allows to use the driver with the expected timeout values.
It also passes --no-timeout to DRT/WTR to ensure that timeouts
are always controlled by the Python Driver.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._create_driver): Only disable timeout if --no-timeout is passed.
(PerfTest.run): Disabling timeout should be done when the Driver is created.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init): Ensure --no-timeout is passed to DRT/WTR
(PerfTestsRunner._parse_args): Add a --no-timeout parameter.
(_run_tests_set): Pass the no-timeout parameter.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_drt_notimeout): Test --no-timeout is passed to DRT/WTR
(MainTest.test_default_args): Test default values for additional_drt_flag and no_timeout.
(MainTest.test_parse_args): Test that the argument no-timeout.

9:49 PM Changeset in webkit [212181] by commit-queue@webkit.org
  • 12 edits in trunk

[WebIDL] Cleanup XMLHttpRequest's bindings
https://bugs.webkit.org/show_bug.cgi?id=168067

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

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt:

Update results now that we pass.

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsOwnedStringOrNull): Deleted.

  • bindings/js/JSDOMBinding.h:

Remove jsOwnedStringOrNull and inline it into it's one use
in JSXMLHttpRequestCustom.

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::responseText):
(WebCore::SendFunctor::SendFunctor): Deleted.
(WebCore::SendFunctor::line): Deleted.
(WebCore::SendFunctor::column): Deleted.
(WebCore::SendFunctor::url): Deleted.
(WebCore::SendFunctor::operator()): Deleted.
(WebCore::JSXMLHttpRequest::send): Deleted.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

  • xml/XMLHttpRequest.h:

Remove custom send, replacing it with a single send implementation that
takes a variant.

  • xml/XMLHttpRequest.idl:

Cleanup the IDL to better match the spec. Update correct types where trivial.

LayoutTests:

  • http/tests/xmlhttprequest/set-bad-headervalue.html:

Update test now that we throw the correct exceptions.

9:33 PM Changeset in webkit [212180] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

[Xcode] WTF installs extra copies of two headers outside /usr/local/include/wtf
https://bugs.webkit.org/show_bug.cgi?id=168160

Reviewed by Sam Weinig.

  • WTF.xcodeproj/project.pbxproj: Demoted OrdinalNumber.h MemoryFootprint.h from Private to Project.
8:54 PM Changeset in webkit [212179] by aakash_jain@apple.com
  • 2 edits in trunk/Source/WebKit/ios

WebKitLegacy doesn't re-export various symbols from WebCore required by clients
https://bugs.webkit.org/show_bug.cgi?id=168158
<rdar://problem/24527933>

Reviewed by Dan Bernstein.

  • WebKit.iOS.exp: Exporting various symbols which are required by clients. This

would enable clients to stop linking against WebCore and instead link against WebKit.

8:40 PM Changeset in webkit [212178] by Chris Dumez
  • 9 edits in trunk

document.origin doesn't match spec
https://bugs.webkit.org/show_bug.cgi?id=168022

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline test now that document.origin has the right format.

  • web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:

Source/WebCore:

Update document.origin to return the origin in the expected format:

Change: "https_webkit.org_0 -> "https://webkit.org".

The new behavior matches Firefox and Chrome.

No new tests, updated existing tests.

  • dom/Document.cpp:

(WebCore::Document::origin):

LayoutTests:

  • http/tests/media/media-stream/enumerate-devices-source-id-persistent.html:

Fix test that was passing only because the document.origin would never match the
expected string:

  • Move idCounts to the global scope has the handler function is called 3 times and we need to properly update the same idCounts object in all 3 calls.
  • Fix initialization of idCounts to start at 1, not 0. Otherwise, idCounts[uniqueID] is 0 instead of 1.
  • Use a Map instead of an array since the ids are UUID strings, not integers.
  • Fix check for non-unique ids, was idCounts[deviceId] == 1 instead of idCounts[deviceId] != 1.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade.html:
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html:
  • http/tests/ssl/iframe-upgrade.https.html:

Update / rebaseline now that document.origin has the right format.

8:33 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
8:32 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
8:29 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
8:18 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
8:14 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
8:05 PM Changeset in webkit [212177] by sbarati@apple.com
  • 5 edits
    1 add in trunk

Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object
https://bugs.webkit.org/show_bug.cgi?id=168140
<rdar://problem/30205880>

Reviewed by Filip Pizlo.

JSTests:

  • stress/allocation-sinking-puthint-control-flow.js: Added.

(e):
(bar):
(let.y):
(else.let.y):
(baz):
(foo):
(catch):

Source/JavaScriptCore:

This patch fixes a bug in allocation sinking phase where
we don't properly handle control flow when materializing
an object and also PutHinting that materialization into
a still sunken object. We were performing the PutHint
for the materialization at the point of materialization,
however, we may have materialized along both edges
of a control flow diamond, in which case, we need to
also PutHint at the join point. Consider this program:

`
bb#0:
b: PhantomActivation()
a: PhantomNewFunction()
c: PutHint(@a, @b, ActivationLoc)
Branch(#1, #2)

bb#1:
d: MaterializeActivation()
e: PutHint(@a, @d, ActivationLoc)
f: Upsilon(@d, p)
Jump(#3)

bb#2:
g: MaterializeActivation()
h: PutHint(@a, @g, ActivationLoc)
i: Upsilon(@d, p)
Jump(#3)

bb#3:
p: Phi()
What is PromotedHeapLocation(@a, ActivationLoc) here?
What would we do if we exited?
`
Before this patch, we didn't perform a PutHint of the Phi.
However, we need to, otherwise when exit, we won't know
the value of PromotedHeapLocation(@a, ActivationLoc)

The program we need then, for correctness, is this:
`
bb#0:
b: PhantomActivation()
a: PhantomNewFunction()
c: PutHint(@a, @b, ActivationLoc)
Branch(#1, #2)

bb#1:
d: MaterializeActivation()
e: PutHint(@a, @d, ActivationLoc)
f: Upsilon(@d, p)
Jump(#3)

bb#2:
g: MaterializeActivation()
h: PutHint(@a, @g, ActivationLoc)
i: Upsilon(@d, p)
Jump(#3)

bb#3:
p: Phi()
j: PutHint(@a, @p, ActivationLoc)
`

This patch makes it so that we emit the necessary PutHint at node j.
I've also added more validation to the OSRAvailabilityAnalysisPhase
to catch this problem during validation.

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

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

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

7:59 PM Changeset in webkit [212176] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Zero out some WKWebView state in the case of a web content crash
https://bugs.webkit.org/show_bug.cgi?id=168157

Reviewed by Tim Horton.

Reset some bits of state in WKWebView when the web content process crashes, in
to try to avoid states that might cause the web view to stay blank.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _processDidExit]):

7:32 PM Changeset in webkit [212175] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Attempt to fix the WinCairo 64-Bit Release build following <https://trac.webkit.org/changeset/212173>
(https://bugs.webkit.org/show_bug.cgi?id=166774)

Touch WebKit.idl in the hopes that it will cause CMake to regenerate the COM interface files.

  • Interfaces/WebKit.idl:
7:25 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
7:09 PM Changeset in webkit [212174] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the build following <https://trac.webkit.org/changeset/212173>
(https://bugs.webkit.org/show_bug.cgi?id=166774)

  • dom/Document.cpp:

(WebCore::Document::detachFromCachedFrame): Use ASSER_UNUSED() instead of ASSERT() since
the parameter cachedFrame is unused in non-debug build.

6:53 PM Changeset in webkit [212173] by dbates@webkit.org
  • 41 edits in trunk

Detach frame from document when entering page cache
https://bugs.webkit.org/show_bug.cgi?id=166774
<rdar://problem/29904368>

Reviewed by Chris Dumez.

Source/WebCore:

When a page enters the page cache it is unnecessary for it to hold a reference to its
associated frame because subsequent interactions with the page do not need to make use
of it. Once a page exits the page cache we associate it with its frame.

  • dom/Document.cpp:

(WebCore::Document::frameDestroyed): Update comment to reflect the renaming of disconnectFromFrame().
(WebCore::Document::attachToCachedFrame): Added.
(WebCore::Document::detachFromCachedFrame): Added.
(WebCore::Document::prepareForDestruction): Only call CSSAnimationController::detachFromDocument() if
we have a frame. Substitute detachFromFrame() for disconnectFromFrame() as the latter was renamed to
the former.
(WebCore::Document::hasEverCalledWindowOpen): Deleted.
(WebCore::Document::markHasCalledWindowOpen): Deleted.
(WebCore::Document::disconnectFromFrame): Renamed to detachFromFrame.

  • dom/Document.h:

(WebCore::Document::detachFromFrame): Renamed; formerly named disconnectFromFrame(). Changed
visibility from public to private and made this function inline.

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::pruneDetachedChildFrames): Remove cached child frames that were
removed from the page when it was in the page cache as there is no need to restore such frames.
(WebCore::CachedFrameBase::restore): Call pruneDetachedChildFrames() before restoring the
frame tree.
(WebCore::CachedFrame::CachedFrame): Detach from the frame.
(WebCore::CachedFrame::open): Assert that we have a document and re-attach the frame.
(WebCore::CachedFrame::destroy): Update assertion as this function should only be called for a
frameless document. Only detach the FrameView, DocumentLoader, and Page when the cached frame is for
subframe and is associated with a Page object. Call CSSAnimationController::detachFromDocument() to
detach the animation controller from the document as it is being destroyed. We have to do this here
because the document does not have a frame. And Document::prepareForDestruction() only calls
CSSAnimationController::detachFromDocument() if the document has a frame.

  • history/CachedFrame.h:
  • history/PageCache.cpp:

(WebCore::canCachePage): Remove logic that prevents caching of a page that called window.open()
or has an opener as it is feasible to keep such pages in the page cache.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::finishedInsertingSubtree): Fix style nit.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::frameDetached): Only stop all loaders and stop active DOM objects if the
page is not in- or about to enter- the page cache. A page in the page cache has finished loading
and its active DOM objects are suspended. Also fix style nit in comment.
(WebCore::FrameLoader::detachFromParent): Only stop all loaders if the page is not in- or about to
enter- the page cache. A page in the page cache has finished loading. Also added a comment to explain
that we protect the frame because stopAllLoaders() can cause the frame to be deallocated.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow): Remove logic to call markHasCalledWindowOpen() as this
function will be removed.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::hasCalledWindowOpenKey): Deleted.
(WebCore::DiagnosticLoggingKeys::hasOpenerKey): Deleted.

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

(WebCore::Page::openedByWindowOpen): Deleted.

  • page/Page.h:
  • page/Settings.in: Remove setting allowsPageCacheWithWindowOpener.

Source/WebKit/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences allowsPageCacheWithWindowOpener]): Deleted.
(-[WebPreferences setAllowsPageCacheWithWindowOpener:]): Deleted.

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

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::setAllowsPageCacheWithWindowOpener): Deleted.
(WebPreferences::allowsPageCacheWithWindowOpener): Deleted.

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

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

(WKPreferencesSetAllowsPageCacheWithWindowOpener): Deleted.
(WKPreferencesGetAllowsPageCacheWithWindowOpener): Deleted.

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

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

6:30 PM Changeset in webkit [212172] by Simon Fraser
  • 4 edits in trunk

REGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-color-masked.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168054

Reviewed by Tim Horton.

Source/WebCore:

When adding mask layers, there was an ordering dependency. There was a hack in GraphicsLayerCA::setVisibleAndCoverageRects()
to propagate m_intersectsCoverageRect to masks. However, if GraphicsLayerCA::setVisibleAndCoverageRects()
ran on the masked layer before the mask was added, nothing updated the "m_intersectsCoverageRect" state of the mask layer.

Fix by explicitly calling setVisibleAndCoverageRects() on the mask layer, passing the same rects and
viewport-constrained state as for its host layer (we already assume that their geometry matches).

Tested by compositing/masks/solid-color-masked.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):

LayoutTests:

Make the timeout 10ms so the test consistently fails with the old code.

  • compositing/masks/solid-color-masked.html:
6:25 PM Changeset in webkit [212171] by Matt Baker
  • 6 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Debugger sidebar panel should not have multiple tree selections
https://bugs.webkit.org/show_bug.cgi?id=166000
<rdar://problem/29721988>

Reviewed by Timothy Hatcher.

The method for synchronizing tree element selection across a sidebar's
tree outlines fails for selections made during startup, because it depends
on events which are being suppressed.

This adds a new class, TreeOutlineGroup, which restricts tree element selection
inside a group of tree outlines by receiving messages directly from TreeElement.

  • UserInterface/Main.html:

Add file for TreeOutlineGroup class.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject):
(WebInspector.ContentBrowserTabContentView):

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
Update createContentTreeOutline calls for new signature.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel):
Replace _visibleContentTreeOutlines with a TreeOutlineGroup, which
contains the single-selection behavior previously handled by the sidebar.

(WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlines):
(WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement):
Implement using the sidebar's tree outline group.
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Remove first parameter, which is always true.
(WebInspector.NavigationSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
(WebInspector.NavigationSidebarPanel.prototype.pruneStaleResourceTreeElements):
(WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
(WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie):
(WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): Deleted.
Remove unused setter.
(WebInspector.NavigationSidebarPanel.prototype.get visibleContentTreeOutlines): Deleted.
Renamed to contentTreeOutlines.
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineDidFocus): Deleted.
No longer needed.
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange): Deleted.
Selection across trees handled by the tree outline group.

  • UserInterface/Views/TreeElement.js:

(WebInspector.TreeElement.prototype.select):
Inform the element's tree outline group (if any), of the selection changed.

  • UserInterface/Views/TreeOutlineGroup.js: Added.

(WebInspector.TreeOutlineGroup):
(WebInspector.TreeOutlineGroup.groupForTreeOutline):
(WebInspector.TreeOutlineGroup.prototype.get selectedTreeElement):
(WebInspector.TreeOutlineGroup.prototype.itemAdded):
Associate tree outline with the group and wrap tree elements. If the
incoming tree outline has a selection, deselect the group's currently
selected tree element.

(WebInspector.TreeOutlineGroup.prototype.itemRemoved):
Disassociate the tree outline from the group.
(WebInspector.TreeOutlineGroup.prototype.didSelectTreeElement):
Called by TreeElement when it becomes selected.
(WebInspector.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
Deselect any selected items in all tree outlines belonging to the group,
except for the specified item.

6:20 PM Changeset in webkit [212170] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Unreviewed, rolling out r212154, r212154, and r212156.
https://bugs.webkit.org/show_bug.cgi?id=168156

broke internal builds (Requested by smfr on #webkit).

Reverted changesets:

"Add a DragImage class that wraps a DragImageRef"
https://bugs.webkit.org/show_bug.cgi?id=168131
http://trac.webkit.org/changeset/212154

"Add a DragImage class that wraps a DragImageRef"
https://bugs.webkit.org/show_bug.cgi?id=168131
http://trac.webkit.org/changeset/212154

"Try to fix the iOS and Windows builds."
http://trac.webkit.org/changeset/212156

5:27 PM Changeset in webkit [212169] by BJ Burg
  • 10 edits
    4 moves
    2 adds in trunk/Source

WebInspector: refactor RemoteInspector to move cocoa specific code to their own files
https://bugs.webkit.org/show_bug.cgi?id=166681

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

Source/JavaScriptCore:

Move RemoteConnectionToTarget.mm and RemoteInspector.mm to a cocoa directory renamed with a Cocoa prefix,
because those are now the cocoa implementation of RemoteConnectionToTarget and RemoteInspector. The
cross-platform parts of RemoteInspector have been moced to a new RemoteInspector.cpp file. Also moved to cocoa
directory RemoteInspectorXPCConnection.h and RemoteInspectorXPCConnection.mm keeping the same name. Other than
that there aren't important code changes, only some cocoa specific types like NSString used in common headers,
and some other platform ifdefs needed. This is in preparation for adding a remote inspector implementation for
the GTK+ port.

  • API/JSRemoteInspector.cpp:

(JSRemoteInspectorSetParentProcessInformation): Add PLATFORM(COCOA) to the ifdef.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • PlatformMac.cmake:
  • inspector/remote/RemoteConnectionToTarget.h: Add platform ifdefs for cocoa specific parts and change

sendMessageToTarget to receive a WTF String instead of an NSString.

  • inspector/remote/RemoteControllableTarget.h: Add platform ifdefs for CF specific parts.
  • inspector/remote/RemoteInspectionTarget.h:
  • inspector/remote/RemoteInspector.cpp: Added.

(Inspector::RemoteInspector::startDisabled):
(Inspector::RemoteInspector::nextAvailableTargetIdentifier):
(Inspector::RemoteInspector::registerTarget):
(Inspector::RemoteInspector::unregisterTarget):
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateClientCapabilities):
(Inspector::RemoteInspector::setRemoteInspectorClient):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupCompleted):
(Inspector::RemoteInspector::waitingForAutomaticInspection):
(Inspector::RemoteInspector::clientCapabilitiesDidChange):
(Inspector::RemoteInspector::stop):
(Inspector::RemoteInspector::listingForTarget):
(Inspector::RemoteInspector::updateHasActiveDebugSession):

  • inspector/remote/RemoteInspector.h: Add platform ifdefs for cocoa specific parts. Also add TargetListing

typedef to define platform specific types for the listings without more ifdefs.

  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm: Renamed from Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.mm.

(Inspector::RemoteTargetInitializeGlobalQueue):
(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::setupRunLoop):

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm: Renamed from Source/JavaScriptCore/inspector/remote/RemoteInspector.mm.

(Inspector::canAccessWebInspectorMachPort):
(Inspector::RemoteInspector::singleton):
(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.h: Renamed from Source/JavaScriptCore/inspector/remote/RemoteInspectorXPCConnection.h.
  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm: Renamed from Source/JavaScriptCore/inspector/remote/RemoteInspectorXPCConnection.mm.

(Inspector::RemoteInspectorXPCConnection::closeFromMessage):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Add PLATFORM(COCOA) to the ifdef.

5:12 PM Changeset in webkit [212168] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening.

5:09 PM Changeset in webkit [212167] by timothy_horton@apple.com
  • 4 edits
    1 add in trunk

Infinite UI process hang under ensurePositionInformationIsUpToDate
https://bugs.webkit.org/show_bug.cgi?id=168154
<rdar://problem/30428673>

Reviewed by Simon Fraser.

Source/WebKit2:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):
If the web process crashes or we're being torn down for another reason,
assume that we aren't ever going to receive any pending async interaction
information update. Otherwise, ensurePositionInformationIsUpToDate can end
up waiting for it forever.

Tools:

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

(recursiveFindHighlightLongPressRecognizer):
(TEST):
Add a somewhat nasty test that does an async interaction information update, but
kills the Web process before it arrives, and then does a sync interaction
information update, which will wait for the oustanding async interaction
information update if we still think it's coming. Before the patch, this
test times out with the UI process stuck under ensurePositionInformationIsUpToDate.

4:44 PM Changeset in webkit [212166] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: ContentViewContainer can have redundant back-forward entries after ContentView close
https://bugs.webkit.org/show_bug.cgi?id=168105

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/BackForwardEntry.js:

(WebInspector.BackForwardEntry.prototype.isEqual):
Make check for equal ContentView/cookie reusable.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.showContentView):
Use BackForwardEntry.prototype.isEqual.
(WebInspector.ContentViewContainer.prototype.replaceContentView):
(WebInspector.ContentViewContainer.prototype.closeContentView):
Clean-up the BackForwardEntry list after changes that can cause
identical entries to become adjacent.

(WebInspector.ContentViewContainer.prototype._removeIdenticalAdjacentBackForwardEntries):
Remove consecutive entries with the same ContentView and cookie.
(WebInspector.ContentViewContainer):
(WebInspector.ContentViewContainer.closeAllContentViewsOfPrototype): Deleted.
Drive-by cleanup: removed dead code.

4:19 PM Changeset in webkit [212165] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

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

Caused some assertions (Requested by JoePeck on #webkit).

Reverted changeset:

"Fix misleading comment in RunLoop.h"
https://bugs.webkit.org/show_bug.cgi?id=167832
http://trac.webkit.org/changeset/212139

4:12 PM Changeset in webkit [212164] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(WEBGL) build
https://bugs.webkit.org/show_bug.cgi?id=168112

Reviewed by Alex Christensen.

  • html/canvas/WebGLRenderingContextBase.h:
3:55 PM Changeset in webkit [212163] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Add mediaStreamEnabled property to WKPreferences for Cocoa.
https://bugs.webkit.org/show_bug.cgi?id=168080

Patch by Andrew Gold <agold@apple.com> on 2017-02-10
Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]): Sets the pageConfiguration's mediaStreamEnabled preference value.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]): Copies the mediaStreamEnabled property.
(-[WKWebViewConfiguration _mediaStreamEnabled]): Gets the mediaStreamEnabled property.
(-[WKWebViewConfiguration _setMediaStreamEnabled:]): Sets the mediaStreamEnabled property.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
3:53 PM Changeset in webkit [212162] by commit-queue@webkit.org
  • 5 edits in trunk

[Fetch API] fetch fails when undefined is passed as headers
https://bugs.webkit.org/show_bug.cgi?id=168043

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-10
Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/request/request-headers-expected.txt:
  • web-platform-tests/fetch/api/request/request-headers.html:

Source/WebCore:

Covered by updated test.

  • Modules/fetch/FetchInternals.js:

(fillFetchHeaders): Exit early in case of undefined headers, since it is an optional parameter.

3:51 PM Changeset in webkit [212161] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(WEB_TIMING) build
https://bugs.webkit.org/show_bug.cgi?id=168113

Reviewed by Alex Christensen.

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

3:49 PM Changeset in webkit [212160] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

WebProcess: remove unused m_inDidClose
https://bugs.webkit.org/show_bug.cgi?id=168121

Patch by Olivier Blin <Olivier Blin> on 2017-02-10
Reviewed by Alex Christensen.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didClose):

  • WebProcess/WebProcess.h:

m_inDidClose has been unused since r83774

3:48 PM Changeset in webkit [212159] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-603.1.26

Tag Safari-603.1.26.

3:47 PM Changeset in webkit [212158] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Update features.json for Performance Timing APIs
https://bugs.webkit.org/show_bug.cgi?id=168148

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-10
Reviewed by Simon Fraser.

  • features.json:
3:47 PM Changeset in webkit [212157] by BJ Burg
  • 3 edits in trunk/Source/JavaScriptCore

[Cocoa] Web Inspector: payload initializers for ObjC protocol types handles special-cased property names incorrectly
https://bugs.webkit.org/show_bug.cgi?id=168141

Reviewed by Joseph Pecoraro.

The generated code erroneously uses the ObjC variable name as the payload key,
rather than the raw type member name. For example, 'identifier' would be used instead of 'id'.

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload):

  • inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:

Rebaseline an affected test.

3:41 PM Changeset in webkit [212156] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Try to fix the iOS and Windows builds.

  • platform/ios/DragImageIOS.mm:

(WebCore::deleteDragImage):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::setDragImage):

3:24 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:14 PM Changeset in webkit [212155] by BJ Burg
  • 2 edits in trunk

Add basic debugging macros for CMake
https://bugs.webkit.org/show_bug.cgi?id=161538

Reviewed by Michael Catanzaro.

It's useful to be able to dump the state of everything when debugging
CMake build problems, especially when they happen on EWS (but not locally).

Start with macros for:

  • dumping out all CMake variables
  • dumping all executed commands (by turning off pretty-printing)
  • Source/cmake/WebKitMacros.cmake:
3:09 PM Changeset in webkit [212154] by andersca@apple.com
  • 11 edits in trunk/Source/WebCore

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):

3:02 PM Changeset in webkit [212153] by Simon Fraser
  • 8 edits
    10 adds in trunk

Make sure the "inwindow" flag propagates to TiledBackings for masks and reflections
https://bugs.webkit.org/show_bug.cgi?id=168127
rdar://problem/30467120

Reviewed by Tim Horton.
Source/WebCore:

Replace the special-case, but wrong, GraphicsLayer traversal in setIsInWindowIncludingDescendants()
which forgot to hit masks and replica layers with a generic traverse() function, which
is then used for setting 'inWindow' as well as resetting tracked repaints.

Tests: compositing/tiling/tiled-mask-inwindow.html

compositing/tiling/tiled-reflection-inwindow.html

  • page/PageOverlayController.cpp:

(WebCore::PageOverlayController::layerWithDocumentOverlays):
(WebCore::PageOverlayController::layerWithViewOverlays):

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::setIsInWindow):
(WebCore::GraphicsLayer::setReplicatedByLayer):
(WebCore::GraphicsLayer::traverse):
(WebCore::GraphicsLayer::setIsInWindowIncludingDescendants): Deleted.

  • platform/graphics/GraphicsLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::resetTrackedRepaintRects):
(WebCore::resetTrackedRepaintRectsRecursive): Deleted.

Tools:

Reparent the web view before we try to fetch it via:

[[[window contentView] subviews] objectAtIndex:0];

which would throw an exception if the test unparented it.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebViewToConsistentStateBeforeTesting):
(runTest):

LayoutTests:

  • compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
  • compositing/tiling/tiled-mask-inwindow.html: Added.
  • compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
  • compositing/tiling/tiled-reflection-inwindow.html: Added.
  • platform/ios-simulator-wk1/compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
  • platform/ios-simulator-wk1/compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
  • platform/ios-simulator-wk2/compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
  • platform/ios-simulator-wk2/compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
  • platform/mac-wk1/compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
  • platform/mac-wk1/compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
2:40 PM Changeset in webkit [212152] by Simon Fraser
  • 3 edits
    2 adds in trunk

Tiled layers are sometimes left with some tiles when outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=168104
Source/WebCore:

rdar://problem/30459055

Reviewed by Tim Horton.

When the coverage rect of a TiledBacking goes from a non-empty rect to an empty rect, we
shouldn't just early return from TileGrid::revalidateTiles(), otherwise we are left with some
tiles. Run through the function as normal, which will remove all the tiles for an empty coverage rect.

Minor logging changes.

Test: tiled-drawing/tile-coverage-iframe-to-zero-coverage.html

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::revalidateTiles):

LayoutTests:

Reviewed by Tim Horton.

  • tiled-drawing/tile-coverage-iframe-to-zero-coverage-expected.txt: Added.
  • tiled-drawing/tile-coverage-iframe-to-zero-coverage.html: Added.
2:36 PM Changeset in webkit [212151] by Alan Bujtas
  • 4 edits
    1 add in trunk

Mail hangs when removing multiple rows from large table.
https://bugs.webkit.org/show_bug.cgi?id=168103
<rdar://problem/30090186>

Reviewed by Ryosuke Niwa.

PerformanceTests:

  • DOM/large-table-edit.html: Added.

Source/WebCore:

DeleteSelectionCommand::removeNode doesn't actually destroy table structure items,
but instead it removes their content. In order to be able to continue editing the table after
the delete, we need to ensure that its cells' width and height are > 0. Currently we issue layout on
each table item recursively.
This patch delays the layout until after we've finished with the entire subtree delete (10x progression).

Performance test added.

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::insertBlockPlaceholderForTableCellIfNeeded):
(WebCore::DeleteSelectionCommand::removeNodeUpdatingStates):
(WebCore::shouldRemoveContentOnly):
(WebCore::DeleteSelectionCommand::removeNode):

  • editing/DeleteSelectionCommand.h:
2:28 PM Changeset in webkit [212150] by Joseph Pecoraro
  • 49 edits in trunk

[Resource Timing] Enable Resource Timing by default in Tests
https://bugs.webkit.org/show_bug.cgi?id=168145

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • loader/ResourceTimingInformation.cpp:

(WebCore::ResourceTimingInformation::addResourceTiming):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setResourceTimingEnabled): Deleted.

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

No longer needed for tests.

Source/WebKit/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences resourceTimingEnabled]):
(-[WebPreferences setResourceTimingEnabled:]):

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

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::setResourceTimingEnabled):
(WebPreferences::resourceTimingEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

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

(WKPreferencesSetResourceTimingEnabled):
(WKPreferencesGetResourceTimingEnabled):

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

(WebKit::WebPage::updatePreferences):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • fast/dom/Window/window-properties-performance-resource-timing.html:
  • http/tests/misc/resource-timing-resolution.html:
  • http/tests/performance/performance-resource-timing-cached-entries-expected.txt:
  • http/tests/performance/performance-resource-timing-cached-entries.html:
  • http/tests/performance/performance-resource-timing-entries-iterable.html:
  • http/tests/performance/performance-resource-timing-entries.html:
  • http/tests/performance/performance-resource-timing-initiator-css.html:
  • http/tests/performance/performance-resource-timing-initiator-no-override.html:
  • http/tests/performance/performance-resource-timing-xhr-single-entry.html:
  • http/tests/preload/dynamic_remove_preload_href-expected.txt:
  • http/tests/preload/dynamic_remove_preload_href.html:
  • http/tests/preload/dynamic_removing_preload.html:
  • http/tests/preload/not_evicting_preload_at_onload.html:
  • http/tests/preload/single_download_preload-expected.txt:
  • http/tests/preload/single_download_preload.html:
  • resources/testharnessreport.js:

Eliminate the internals setResourceTimingEnabled way to toggle a runtime feature.

  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:

Update results when ResourceTiming is enabled.

2:16 PM Changeset in webkit [212149] by mitz@apple.com
  • 7 edits in trunk/Source

[Cocoa] Add shouldChangeSelectedRange to WKWebProcessPlugInEditingDelegate
https://bugs.webkit.org/show_bug.cgi?id=168097

Reviewed by Tim Horton.

Source/WebCore:

Added a userTriggered argument to FrameSelection::setSelectedRange so that WebKit2 can
indicate that changes should be agreed to by the delegate.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectedRange): If the change is user-triggered, check with

shouldChangeSelection.

  • editing/FrameSelection.h:

Source/WebKit2:

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h: Declared new delegate method.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): Dispatch new delegate

method.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture): Pass UserTriggered whan calling

WebCore::Frame::Selection::setSelectedRange, so that the delegate is consulted.

(WebKit::WebPage::changeBlockSelection): Ditto.
(WebKit::WebPage::updateSelectionWithTouches): Ditto.
(WebKit::WebPage::selectWithTwoTouches): Ditto.
(WebKit::WebPage::extendSelection): Ditto.
(WebKit::WebPage::selectWordBackward): Ditto,
(WebKit::WebPage::moveSelectionByOffset): Ditto.
(WebKit::WebPage::selectPositionAtPoint): Ditto.
(WebKit::WebPage::selectPositionAtBoundaryWithDirection): Ditto.
(WebKit::WebPage::moveSelectionAtBoundaryWithDirection): Ditto.
(WebKit::WebPage::selectTextWithGranularityAtPoint): Ditto.
(WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): Ditto.
(WebKit::WebPage::updateSelectionWithExtentPoint): Ditto.

1:58 PM Changeset in webkit [212148] by Jonathan Bedard
  • 7 edits
    2 deletes in trunk

Removing LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=165927

Reviewed by Daniel Bates.
Part 2

LayoutTestRelay uses SPI, since recent versions of the iOS SDK allow for installing apps on
simulators through simctl (iOS 10 and later), use this functionality instead.

Source/WebCore:

  • platform/RuntimeApplicationChecks.mm:

(WebCore::IOSApplication::isDumpRenderTree): Update comment to reflect removal of LayoutTestRelay.

Tools:

  • BuildSlaveSupport/built-product-archive:

(archiveBuiltProduct): Remove archiving of LayoutTestRelay as it is no longer being built.
Added a FIXME that we will need to implement similar archiving machinery once we build
ImageDiff for Mac when building WebKit for iOS. Currently ImageDiff is built with the iOS SDK.

  • BuildSlaveSupport/kill-old-processes:

(main): Remove LayoutTestRelay from list of processes.

  • LayoutTestRelay: Removed LayoutTestRelay.
  • Makefile:
  • Scripts/build-layouttestrelay: Removed.
  • Scripts/build-webkit: Removed LayoutTestRelay references.
1:51 PM Changeset in webkit [212147] by Chris Dumez
  • 6 edits
    2 adds in trunk/LayoutTests

Update LayoutTests/resources/testharness.js
https://bugs.webkit.org/show_bug.cgi?id=168100

Reviewed by Youenn Fablet.

Update LayoutTests/resources/testharness.js to match the web-platform-tests
one landed in r211930.

  • media/track/w3c/interfaces/HTMLTrackElement/srclang-expected.txt:
  • media/track/w3c/interfaces/TextTrack/language-expected.txt:
  • resources/testharness.js:

(SharedWorkerTestEnvironment):
(ServiceWorkerTestEnvironment):
(create_test_environment):
(promise_test):
(EventWatcher):
(is_node):
(format_value):

  • streams/shadowing-Promise-expected.txt:
  • streams/shadowing-Promise.html:
  • streams/streams-public-array-api-expected.txt: Added.
  • streams/streams-public-array-api.html: Added.
1:43 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
1:34 PM Changeset in webkit [212146] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

StructureStubInfo::considerCaching() should write barrier its owner CodeBlock when buffering a new Structure.
https://bugs.webkit.org/show_bug.cgi?id=168137
<rdar://problem/28656664>

Reviewed by Filip Pizlo.

If we're adding a new structure to StructureStubInfo's bufferedStructures, we
should write barrier the StubInfo's owner CodeBlock because that structure may be
collected during the next GC. Write barrier-ing the owner CodeBlock ensures that
CodeBlock::finalizeBaselineJITInlineCaches() is called on it during the GC,
which, in turn, gives the StructureStubInfo the opportunity to filter out the
dead structure.

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::considerCaching):

  • jit/JITOperations.cpp:
1:31 PM Changeset in webkit [212145] by achristensen@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

Fix iOS libwebrtc build after r212127
https://bugs.webkit.org/show_bug.cgi?id=168134

  • Configurations/libwebrtc.xcconfig:
  • libwebrtc.xcodeproj/project.pbxproj:

I got a little carried away removing ObjC sources.
We still need RTCLogging.mm and RTCUIApplication.mm on iOS.
Also sorted the project file.

1:29 PM Changeset in webkit [212144] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk/Source/WebCore

[WebRTC] Implement Outgoing libwebrtc audio source support
https://bugs.webkit.org/show_bug.cgi?id=168118

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

No new automated tests as we need the audio rendering to work to test the whole loop.

Using an AudioSampleDataSource to convert the captured data to libwebrtc expected format.
Capturing and pushing data happens in the capture thread.
Pulling of converted data happens in libwebrtc thread.

Introducing LibWebRTCAudioFormat.h to centralize libwbebrtc expected audio format.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/WebAudioBufferList.cpp:

(WebCore::WebAudioBufferList::WebAudioBufferList): Missing initialization leads to assertion failure.

  • platform/audio/mac/AudioSampleBufferList.cpp:

(WebCore::AudioSampleBufferList::copyFrom): In case of interleaved channels, there is one buffer but two channels.

  • platform/audio/mac/AudioSampleDataSource.cpp:

(WebCore::AudioSampleDataSource::pushSamples):
(WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):

  • platform/audio/mac/AudioSampleDataSource.h:
  • platform/mediastream/libwebrtc/LibWebRTCAudioFormat.h: Added.
  • platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:

(WebCore::libwebrtcAudioFormat):
(WebCore::RealtimeOutgoingAudioSource::RealtimeOutgoingAudioSource):
(WebCore::RealtimeOutgoingAudioSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSource::pullAudioData):

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
1:24 PM Changeset in webkit [212143] by aakash_jain@apple.com
  • 2 edits in trunk/Source/WebKit/mac

cleanup WebLocalizableStrings.
https://bugs.webkit.org/show_bug.cgi?id=168078

Reviewed by Alexey Proskuryakov.

  • Misc/WebLocalizableStrings.h: Make visibility hidden for WebLocalizableStringsBundle

as it's for each framework's own consumption, and never needs to be exported.

1:17 PM Changeset in webkit [212142] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r211829): Web Inspector: Elements tab is blank when added after page load
https://bugs.webkit.org/show_bug.cgi?id=168142

Reviewed by Brian Burg.

The Elements tab can be shown in two ways: by adding the Elements tab
from the "New Tab" tab, or via Inspect Element. In both cases we should
be checking that the ContentView exists, and create it if needed.

  • UserInterface/Views/ElementsTabContentView.js:

(WebInspector.ElementsTabContentView.prototype.showRepresentedObject):
(WebInspector.ElementsTabContentView.prototype.shown):

1:15 PM Changeset in webkit [212141] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip some very slow WebCryptoAPI tests.

Unreviewed test gardening.

1:15 PM Changeset in webkit [212140] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

HTMLConstructionSiteTask::Insert should never be called on a node with a parent
https://bugs.webkit.org/show_bug.cgi?id=168099

Reviewed by Sam Weinig.

insertAlreadyParsedChild always use HTMLConstructionSiteTask::InsertAlreadyParsedChild instead
of using HTMLConstructionSiteTask::Insert when fostering a child.

Also combine the step to take all children and re-parenting into a single task instead of
separately issuing TakeAllChildren and Reparent tasks.

No new tests since this is a refactoring.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::insert): Now asserts that the child node never have a parent.
(WebCore::executeInsertAlreadyParsedChildTask): Moved the code to remove the parent here.
(WebCore::executeTakeAllChildrenAndReparentTask): Renamed from executeTakeAllChildrenTask
now that this function also does the reparenting.
(WebCore::executeTask):
(WebCore::HTMLConstructionSite::reparent): Removed the variant only used with takeAllChildren.
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Always use InsertAlreadyParsedChild
instead of calling fosterParent which uses Insert when fostering parents.
(WebCore::HTMLConstructionSite::takeAllChildrenAndReparent): Renamed from takeAllChildren.

  • html/parser/HTMLConstructionSite.h:

(WebCore::HTMLConstructionSiteTask:Operation):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

1:08 PM Changeset in webkit [212139] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Fix misleading comment in RunLoop.h
https://bugs.webkit.org/show_bug.cgi?id=167832

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-10
Reviewed by Sam Weinig.

  • wtf/RunLoop.h:

Mac initialization used to force using CFRunLoopGetMain(). Now however it just
uses RunLoop::current which uses CFRunLoopGetCurrent(). So this comment that
it can be done on any thread is misleading and can lead to incorrect behavior
if it is actually done on a non-main thread on Mac.

12:59 PM Changeset in webkit [212138] by jiewen_tan@apple.com
  • 3 edits
    1 delete in trunk/LayoutTests

[WebCrypto] Remove imported/w3c/WebCryptoAPI tests
https://bugs.webkit.org/show_bug.cgi?id=168064

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • WebCryptoAPI/OWNERS: Removed.
  • WebCryptoAPI/README.md: Removed.
  • WebCryptoAPI/WebCryptoAPI.idl: Removed.
  • WebCryptoAPI/digest/digest.js: Removed.
  • WebCryptoAPI/digest/digest.worker.js: Removed.
  • WebCryptoAPI/digest/test_digest-expected.txt: Removed.
  • WebCryptoAPI/digest/test_digest.html: Removed.
  • WebCryptoAPI/digest/w3c-import.log: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/rsa.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Removed.
  • WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Removed.
  • WebCryptoAPI/encrypt_decrypt/w3c-import.log: Removed.
  • WebCryptoAPI/generateKey/failures.js: Removed.
  • WebCryptoAPI/generateKey/failures.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_ECDH.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_HMAC.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Removed.
  • WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes.js: Removed.
  • WebCryptoAPI/generateKey/successes.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_ECDH.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_HMAC.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Removed.
  • WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Removed.
  • WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_aes-cbc.html: Removed.
  • WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_aes-ctr.html: Removed.
  • WebCryptoAPI/generateKey/test_failures-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_AES-KW.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_ECDH.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_ECDSA.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_HMAC.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Removed.
  • WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Removed.
  • WebCryptoAPI/generateKey/test_successes-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_AES-KW.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_ECDH.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_ECDSA.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_HMAC.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Removed.
  • WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Removed.
  • WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Removed.
  • WebCryptoAPI/generateKey/w3c-import.log: Removed.
  • WebCryptoAPI/getRandomValues.js: Removed.
  • WebCryptoAPI/getRandomValues.worker.js: Removed.
  • WebCryptoAPI/idlharness-expected.txt: Removed.
  • WebCryptoAPI/idlharness.html: Removed.
  • WebCryptoAPI/idlharness.worker.js: Removed.
  • WebCryptoAPI/test_getRandomValues-expected.txt: Removed.
  • WebCryptoAPI/test_getRandomValues.html: Removed.
  • WebCryptoAPI/tools/generate.py: Removed.
  • WebCryptoAPI/tools/w3c-import.log: Removed.
  • WebCryptoAPI/util/helpers.js: Removed.
  • WebCryptoAPI/util/w3c-import.log: Removed.
  • WebCryptoAPI/w3c-import.log: Removed.

LayoutTests:

Remove test expectations of imported/w3c/WebCryptoAPI tests.

12:51 PM Changeset in webkit [212137] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

Remove platform expectations without tests
https://bugs.webkit.org/show_bug.cgi?id=168139

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-10
Reviewed by Sam Weinig.

  • platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object-expected.txt: Removed.
  • platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Removed.
12:45 PM Changeset in webkit [212136] by Chris Dumez
  • 2 edits in trunk/LayoutTests

fast/forms/formsubmission-appendFormData-crash.html times out on WebKit1
https://bugs.webkit.org/show_bug.cgi?id=168133

Reviewed by Brent Fulgham.

Call testRunner.notifyDone() synchronously instead of doing it in a
setTimeout(). The test no longer times out on WK1 and still reproduces
the original bug.

  • fast/forms/formsubmission-appendFormData-crash.html:
12:39 PM Changeset in webkit [212135] by jiewen_tan@apple.com
  • 2 edits in trunk/Tools

[WebCrypto] Add WebCryptoAPI to watchlist
https://bugs.webkit.org/show_bug.cgi?id=168138

Reviewed by Youenn Fablet.

  • Scripts/webkitpy/common/config/watchlist:
12:38 PM Changeset in webkit [212134] by beidson@apple.com
  • 13 edits in trunk

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:

This change gets rid of WebKit Library Version checks and replaces them with SDK version checks.

To allow our tools to still be able to test new behaviors even when built against older SDKs,
it also opts them into an SPI default to have "linkedOnOrAfter()" always return true.

  • Shared/Cocoa/CompletionHandlerCallChecker.mm:

(WebKit::shouldThrowExceptionForDuplicateCompletionHandlerCall):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

  • UIProcess/Cocoa/VersionChecks.h:

(WebKit::linkedOnOrAfter): Deleted.

  • UIProcess/Cocoa/VersionChecks.mm:

(WebKit::linkedOnOrAfter):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::isNetworkCacheEnabled):

Tools:

For each of our tools that use WebKit2, opt them in to the new linkedOnOrAfter(Everything) setting.

  • MiniBrowser/mac/main.m:

(main):

  • MobileMiniBrowser/MobileMiniBrowser/main.m:

(main):

  • TestWebKitAPI/ios/mainIOS.mm:

(main):

  • TestWebKitAPI/mac/mainMac.mm:

(main):

  • WebKitTestRunner/ios/mainIOS.mm:

(main):

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

12:35 PM Changeset in webkit [212133] by matthew_hanson@apple.com
  • 21 edits in branches/safari-603-branch

Merge r212131. rdar://problem/30271744

12:34 PM Changeset in webkit [212132] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

LayoutTest workers/sab/postMessage-clones.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168129

Unreviewed, make this test more deterministic.

  • workers/sab/postMessage-clones.html:
12:26 PM Changeset in webkit [212131] by hyatt@apple.com
  • 21 edits in trunk

[CSS Parser] Make intercap property values serialize correctly
https://bugs.webkit.org/show_bug.cgi?id=168073

Reviewed by Zalan Bujtas.

Source/WebCore:

Fix CSS value keywords to preserve case when the value contains capital
letters. Examples include optimizeSpeed, translateX, scaleY, etc.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator TextRenderingMode):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):

  • css/MediaQueryEvaluator.cpp:

(WebCore::colorGamutEvaluate):

  • css/SVGCSSValueKeywords.in:
  • css/TransformFunctions.cpp:

(WebCore::transformOperationType):
(WebCore::transformsForValue):

  • css/makevalues.pl:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::parseTransformTranslateArguments):
(WebCore::parseSimpleTransformValue):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeTransformValue):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/image-rendering-parsing-expected.txt:
  • fast/css/parsing-text-rendering-expected.txt:
  • fast/css/resources/parsing-text-rendering.js:
  • fast/css/script-tests/image-rendering-parsing.js:
  • svg/css/getComputedStyle-basic-expected.txt:
  • svg/css/script-tests/shape-rendering-parsing.js:
  • svg/css/shape-rendering-parsing-expected.txt:
  • transforms/2d/transform-value-types-expected.txt:
  • transforms/2d/transform-value-types.html:
11:52 AM Changeset in webkit [212130] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Fix iOS libwebrtc build after r212127
https://bugs.webkit.org/show_bug.cgi?id=168134

  • libwebrtc.xcodeproj/project.pbxproj:

I got a little carried away removing -fobjc-arc. These files need it.
It was originally added in r211902 and these files are in the
EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] list in libwebrtc.xcconfig
so adding this flag won't break the 32-bit El Capitan build.

11:49 AM Changeset in webkit [212129] by fpizlo@apple.com
  • 2 edits in trunk/PerformanceTests

Beef up the ARES-6 explainer text
https://bugs.webkit.org/show_bug.cgi?id=167867

Reviewed by Saam Barati.

Added appropriate links.

Added text that explains the subscores.

  • ARES-6/index.html:
11:33 AM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
11:26 AM Changeset in webkit [212128] by aakash_jain@apple.com
  • 2 edits in trunk/Source/WebKit/mac

WebResourceLoadDelegatePrivate.h cannot be imported standalone
https://bugs.webkit.org/show_bug.cgi?id=168096

Reviewed by Alexey Proskuryakov.

  • WebView/WebResourceLoadDelegatePrivate.h: Change WebNSInteger to NSInteger.
11:16 AM Changeset in webkit [212127] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Remove unnecessary automatic reference counting in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=168134

Reviewed by Youenn Fablet.

  • libwebrtc.xcodeproj/project.pbxproj:
11:03 AM Changeset in webkit [212126] by commit-queue@webkit.org
  • 3 edits
    14 adds in trunk/Source/ThirdParty/libwebrtc

[WebRTC] Activate libwebrtc G711/G722 audio codecs
https://bugs.webkit.org/show_bug.cgi?id=168123

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

Adding G711/G722 missing codec files.
Activating use of these in the build system.

  • Configurations/libwebrtc.xcconfig:
  • Source/webrtc/modules/audio_coding/codecs/g711/g711.c: Added.

(ulaw_to_alaw):

  • Source/webrtc/modules/audio_coding/codecs/g711/g711.h: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.cc: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/audio_encoder_g722.cc: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/audio_encoder_g722.h: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/g722_decode.c: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/g722_enc_dec.h: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/g722_encode.c: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/g722_interface.c: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/g722_interface.h: Added.
  • Source/webrtc/modules/audio_coding/codecs/g722/test/testG722.cc: Added.
  • libwebrtc.xcodeproj/project.pbxproj:
10:56 AM Changeset in webkit [212125] by matthew_hanson@apple.com
  • 14 edits
    4 adds in branches/safari-603-branch

Merge r211910. rdar://problem/30358835

10:21 AM Changeset in webkit [212124] by jiewen_tan@apple.com
  • 5 edits
    261 adds in trunk/LayoutTests

[WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
https://bugs.webkit.org/show_bug.cgi?id=165723

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/WebCryptoAPI/OWNERS: Added.
  • web-platform-tests/WebCryptoAPI/README.md: Added.
  • web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/digest/digest.js: Added.
  • web-platform-tests/WebCryptoAPI/digest/digest.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/digest/digest.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/digest/digest.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/digest/test_digest-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/digest/test_digest.html: Added.
  • web-platform-tests/WebCryptoAPI/digest/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Added.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues.js: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/idlharness-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/idlharness.html: Added.
  • web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/idlharness.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/idlharness.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/ec_importKey.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/ecdsa_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/hmac.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/hmac_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss_vectors.js: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html: Added.
  • web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/test_getRandomValues-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/test_getRandomValues.html: Added.
  • web-platform-tests/WebCryptoAPI/tools/generate.py: Added.
  • web-platform-tests/WebCryptoAPI/tools/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/util/helpers.js: Added.
  • web-platform-tests/WebCryptoAPI/util/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.js: Added.

LayoutTests:

Skip superset/unsupported tests and mark slow tests as Slow.

  • tests-options.json:
10:01 AM Changeset in webkit [212123] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark compositing/masks/solid-color-masked.html as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=168054

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
9:54 AM Changeset in webkit [212122] by Brent Fulgham
  • 3 edits in branches/safari-603-branch/Source/WebCore

Merge r212026. rdar://problem/30096323

2017-02-09 Chris Dumez <Chris Dumez>

Crash under FormSubmission::create()
https://bugs.webkit.org/show_bug.cgi?id=167200
<rdar://problem/30096323>

Reviewed by Darin Adler.

The issue is that FormSubmission::create() was iterating over
form.associatedElements() as was calling Element::appendFormData()
in the loop. HTMLObjectElement::appendFormData() was calling
pluginWidget(PluginLoadingPolicy::Load) which causes a synchronous
layout and can fire events (such as focus event) synchronously.
Firing those events synchronously allows the JS to modify the
form.associatedElements() vector we are currently iterating on.

To avoid this issue, we now call pluginWidget(PluginLoadingPolicy::DoNotLoad)
in HTMLObjectElement::appendFormData() as we are not allowed to fire
synchronous events at this point. I also added a security assertion
in FormSubmission::create() to catch cases where we fire JS events
while iterating over the form associated elements to more easily
notice these things in the future.

Test: fast/forms/formsubmission-appendFormData-crash.html

  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::appendFormData):
  • loader/FormSubmission.cpp: (WebCore::FormSubmission::create):
9:46 AM Changeset in webkit [212121] by Brent Fulgham
  • 2 edits in branches/safari-603-branch/Source/WebCore

Unreviewed build fix.

  • dom/Document.cpp:

(WebCore::Document::adoptNode): isConnected -> inDocument.

9:45 AM Changeset in webkit [212120] by matthew_hanson@apple.com
  • 4 edits
    2 deletes in branches/safari-603-branch

Roll out r212026 via r212118. rdar://problem/30096323

9:44 AM Changeset in webkit [212119] by Ryan Haddad
  • 2 edits
    1 copy in trunk/LayoutTests

Add platform specific expected.txt file for fast/text/mark-matches-overflow-clip.html after r212113.

Unreviewed test gardening.

  • fast/text/mark-matches-overflow-clip-expected.txt:
  • platform/gtk/fast/text/mark-matches-overflow-clip-expected.txt: Copied from LayoutTests/fast/text/mark-matches-overflow-clip-expected.txt.
9:42 AM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
9:33 AM Changeset in webkit [212118] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-603-branch

Merge r212026. rdar://problem/30096323

9:31 AM Changeset in webkit [212117] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Merge r211495. rdar://problem/30106362

9:29 AM Changeset in webkit [212116] by BJ Burg
  • 26 edits in trunk/Source

[Cocoa] Web Inspector: generate an NS_ENUM containing platforms supported by the protocol code generator
https://bugs.webkit.org/show_bug.cgi?id=168019
<rdar://problem/28718990>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

It's useful to have an symbolic value (not a string) for each of the supported platform values.
Generate this once per protocol for the Objective-C bindings. Covered by existing tests.

  • inspector/scripts/codegen/generate_objc_header.py:

(ObjCHeaderGenerator.generate_output):
(ObjCHeaderGenerator._generate_enum_for_platforms):
Create an NS_ENUM for Platform values in Platforms.

  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:

(ObjCProtocolTypeConversionsHeaderGenerator.generate_output):
(ObjCProtocolTypeConversionsHeaderGenerator._generate_enum_conversion_for_platforms):
Add type conversion/parsing methods for the newly added enum.

  • inspector/scripts/codegen/generator.py:

(Generator.stylized_name_for_enum_value):
(Generator.stylized_name_for_enum_value.replaceCallback):
Support arbitrary special-cased substrings in enums, not just all-caps. Add 'IOS' and 'MacOS'.

  • inspector/scripts/codegen/models.py:

(Platforms):
Use lower-case string values for platform names, to avoid guesswork.

(Platforms.metaclass):
(Platforms.metaclass.iter):
Make it possible to iterate over Platform instances of Platforms.

  • inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result:
  • inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result:
  • inspector/scripts/tests/generic/expected/domain-availability.json-result:
  • inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/generic/expected/enum-values.json-result:
  • inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
  • inspector/scripts/tests/generic/expected/worker-supported-domains.json-result:
  • inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result:
  • inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result:

Rebaseline results.

Source/WebKit2:

  • UIProcess/Automation/Automation.json: Fix the platform values to be lowercase.
9:25 AM Changeset in webkit [212115] by BJ Burg
  • 4 edits in trunk/Source/WebKit2

Web Automation: fail gracefully when a screenshot cannot be encoded as base64
https://bugs.webkit.org/show_bug.cgi?id=168095
<rdar://problem/30297427>

Reviewed by Joseph Pecoraro.

Convert platformGetBase64EncodedPNGData to return a std::optional<String>.
Return nullopt if we can't create a screenshot or convert it to base64.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::didTakeScreenshot):
(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):

  • UIProcess/Automation/WebAutomationSession.h:
  • UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm:

(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):

8:50 AM Changeset in webkit [212114] by achristensen@apple.com
  • 2 edits in trunk/Tools

Fix El Capitan build.

  • Scripts/build-webkit:

Don't build libwebrtc anywhere for now.

6:32 AM Changeset in webkit [212113] by Carlos Garcia Campos
  • 16 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline several fast/text/ tests.

  • fast/text/mark-matches-overflow-clip-expected.txt:
  • platform/gtk/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/gtk/fast/text/hyphenate-first-word-expected.png:
  • platform/gtk/fast/text/hyphenate-first-word-expected.txt:
  • platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
  • platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/gtk/fast/text/hyphens-expected.png:
  • platform/gtk/fast/text/hyphens-expected.txt:
  • platform/gtk/fast/text/international/text-combine-image-test-expected.png:
  • platform/gtk/fast/text/international/text-combine-image-test-expected.txt:
  • platform/gtk/fast/text/international/thai-line-breaks-expected.png:
  • platform/gtk/fast/text/international/thai-line-breaks-expected.txt:
  • platform/gtk/fast/text/orientation-sideways-expected.png:
  • platform/gtk/fast/text/orientation-sideways-expected.txt:
  • platform/gtk/fast/text/whitespace/023-expected.txt:
5:57 AM Changeset in webkit [212112] by Carlos Garcia Campos
  • 4 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline fast/table/ tests.

  • platform/gtk/fast/table/border-collapsing/004-vertical-expected.png:
  • platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/gtk/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:
2:51 AM Changeset in webkit [212111] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Update expectations of CSS shapes duplicated tests.

  • platform/gtk/TestExpectations:
2:40 AM Changeset in webkit [212110] by zandobersek@gmail.com
  • 11 edits
    2 adds in trunk

[EME] Implement MediaKeySession::load()
https://bugs.webkit.org/show_bug.cgi?id=168041

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the MediaKeySession::load() method, tracing the steps as they
are defined in the EME specification. The only exception is step 8.3,
which requires additional facility that tracks currently open sessions
and provides information whether for a given session ID there's already
a MediaKeySession that's not yet been closed.

Session ID sanitization is done through the CDM::sanitizeSessionId()
method, which relays the task to the CDMPrivate implementation.

The CDMInstance::loadSession() virtual method is called with the session
type, sanitized ID, the Document's origin (in string form) and the
callback that's invoked upon completion of the task. The callback
checks whether the operation was successful, or examines the reason for
the load failure in case it wasn't, rejecting the promise in the latter
case either immediately or in the following task at the latest.

When the load was successful, the optional known keys, expiration time
and message are handled appropriately, and the promise is resolved.

MockCDM::sanitizeSessionId() implementation only treats
'valid-loaded-session' as a valid session ID.
MockCDMInstance::loadSession() implementation is kept slim for now, only
providing the 'license-renewal' message when invoking the passed-in
callback. Known keys and expiration time will also be tested once the
relevant MediaKeySession algorithms are implemented.

Test: media/encrypted-media/mock-MediaKeySession-load.html

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::sanitizeSessionId):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMInstance.h:
  • Modules/encryptedmedia/CDMPrivate.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::load):

  • testing/MockCDMFactory.cpp:

(WebCore::MockCDM::sanitizeSessionId):
(WebCore::MockCDMInstance::loadSession):

  • testing/MockCDMFactory.h:

LayoutTests:

Add the mock-MediaKeySession-load.html test, testing the basic behavior
of the MediaKeySession::load() implementation. Invalid session IDs and
session types are tested to ensure the returned promise is rejected.
A simplistic test case also tests that for a valid session ID and
session type, the basic MockCDM implementation correctly 'loads' the
specified session and provides the 'license-renewal' message in return.
More tests should be added as the EME implementation advances and the
MockCDM implementations improve to cover additional cases.

  • media/encrypted-media/mock-MediaKeySession-load-expected.txt: Added.
  • media/encrypted-media/mock-MediaKeySession-load.html: Added.
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
2:31 AM Changeset in webkit [212109] by zandobersek@gmail.com
  • 10 edits in trunk

[EME] Implement MediaKeySession::sessionClosed()
https://bugs.webkit.org/show_bug.cgi?id=168039

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the 'session closed' algorithm for MediaKeySession by
following the specified steps. After this algorithm is run, the
session should be considered closed, which we track via the m_closed
member variable on the class. This is set to true before the promise
that's accessible through the 'closed' attribute is resolved.

Because the algorithm requires the CDM instance to store any record
of key usage when the session's type is 'persistent-usage-record', the
storeRecordOfKeyUsage() virtual method is added to the CDMInstance
interface. MockCDMInstance implementation is left unimplemented for now.

JSMediaKeySession::closed() accessor now has a custom implementation
that creates a deferred promise for that object if there's none yet, and
shares it with the wrapped class through the registerClosedPromise()
method, storing a reference to the promise in the m_closedPromise
member variable, or resolving the promise immediately if the session was
already closed.

Test cases added to media/encrypted-media/mock-MediaKeySession-close.html.

  • Modules/encryptedmedia/CDMInstance.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::registerClosedPromise):
(WebCore::MediaKeySession::sessionClosed):

  • Modules/encryptedmedia/MediaKeySession.h:
  • bindings/js/JSMediaKeySessionCustom.cpp:

(WebCore::JSMediaKeySession::closed):

  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMInstance::storeRecordOfKeyUsage):

  • testing/MockCDMFactory.h:

LayoutTests:

Enhance the mock-MediaKeySession-close.html test by adding test cases
covering the dispatch of the promise that's accessible through the
'closed' attribute and covering the session closure status, making
sure that various operations properly resolve or reject after the
session object was closed.

  • media/encrypted-media/mock-MediaKeySession-close-expected.txt:
  • media/encrypted-media/mock-MediaKeySession-close.html:
2:28 AM Changeset in webkit [212108] by aestes@apple.com
  • 3 edits in trunk/Tools

Move two MiniBrowserBundle settings out of the .pbxproj
https://bugs.webkit.org/show_bug.cgi?id=168106

Reviewed by Tim Horton.

INFOPLIST_FILE was specified in MiniBrowserBundle.xcconfig but overridden to "" in
the project file. This removes the project file override.

WRAPPER_EXTENSION was moved from the project file to MiniBrowserBundle.xcconfig.

  • MiniBrowser/Configurations/MiniBrowserBundle.xcconfig:
  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
2:22 AM Changeset in webkit [212107] by zandobersek@gmail.com
  • 12 edits in trunk

[EME] Implement MediaKeySession::updateKeyStatuses(), MediaKeyStatusMap
https://bugs.webkit.org/show_bug.cgi?id=167888

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement MediaKeySession::updateKeyStatuses(), transforming the passed-in
KeyStatusVector into a Vector mapping the key IDs to MediaKeyStatus values.
A keystatuseschange event is fired on the MediaKeySession object afterwards.
The queueing of the task that runs the 'attemp to resume playback' on the
related HTMLMediaElement objects isn't done yet since that algorithm isn't
implemented yet.

The statuses Vector is stored on the MediaKeySession object. That Vector is
then exposed through the MediaKeyStatusMap object, each such object being
unique to one MediaKeySession object. The implementation of MediaKeyStatusMap
thus keeps a reference to the session object as long as that object is alive,
and queries the MediaKeySession::statuses() getter to access the Vector that
contains status information for all the key IDs.

MediaKeyStatusMap::Iterator object keeps a reference to the MediaKeyStatusMap
object and accesses the statuses by indexing into the status Vector of the
related MediaKeySession object.

CDMInstance::updateLicense() now accepts the session ID string as the first
argument, making it possible to specify which session should be updated.

MockCDMFactory::keysForSessionWithID() returns an optional reference to the
Vector value in the session map that lists all the key IDs that are being
stored for that session.

MockCDMInstance::updateLicense() now detects the 'keys-changed' entry in the
passed-in response data, and upon detecting that constructs a KeyStatusVector
object containing all the keys for that session. KeyStatus::Usable is returned
for each object at the moment, but this should be adjustable in the future
through additional parameters passed through the response data. The Vector
object is then passed to the callback and is then passed to the 'update key
statuses' algorithm in MediaKeySession.

Covered by a test case in media/encrypted-media/mock-MediaKeySession-update.html.

  • Modules/encryptedmedia/CDMInstance.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::~MediaKeySession):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::updateKeyStatuses):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeyStatusMap.cpp:

(WebCore::MediaKeyStatusMap::MediaKeyStatusMap):
(WebCore::MediaKeyStatusMap::detachSession):
(WebCore::MediaKeyStatusMap::size):
(WebCore::keyIdsMatch):
(WebCore::MediaKeyStatusMap::has):
(WebCore::MediaKeyStatusMap::get):
(WebCore::MediaKeyStatusMap::Iterator::Iterator):
(WebCore::MediaKeyStatusMap::Iterator::next):

  • Modules/encryptedmedia/MediaKeyStatusMap.h:

(WebCore::MediaKeyStatusMap::create):

  • Modules/encryptedmedia/MediaKeyStatusMap.idl:
  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::keysForSessionWithID):
(WebCore::MockCDMInstance::updateLicense):

  • testing/MockCDMFactory.h:

LayoutTests:

Add another test case to the mock-MediaKeySession-update.html test that
ensures the keystatuseschange event is fired on the MediaKeySession object
and that the status of the keys is properly reported through the
MediaKeyStatusMap object associated with this MediaKeySession.

  • media/encrypted-media/mock-MediaKeySession-update-expected.txt:
  • media/encrypted-media/mock-MediaKeySession-update.html:
1:48 AM Changeset in webkit [212106] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.14.4

WebKitGTK+ 2.14.4

1:46 AM Changeset in webkit [212105] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.14

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.14.4 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.14.4.
1:17 AM Changeset in webkit [212104] by achristensen@apple.com
  • 2 edits in trunk/Tools

Fix 32-and-64-bit build on El Capitan.

  • Scripts/build-webkit:

Somebody's building with something like this:
build-webkit ARCHS="i386 x86_64"
We want this to also not build libwebrtc for now.

1:11 AM Changeset in webkit [212103] by matthew_hanson@apple.com
  • 8 edits in branches/safari-603-branch

Merge r211650. rdar://problem/30268004

1:11 AM Changeset in webkit [212102] by matthew_hanson@apple.com
  • 8 edits in branches/safari-603-branch

Merge r211375. rdar://problem/30268004

1:11 AM Changeset in webkit [212101] by matthew_hanson@apple.com
  • 13 edits in branches/safari-603-branch

Roll out r209845. rdar://problem/30114564

1:04 AM Changeset in webkit [212100] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Fix ASAN build.

  • Source/webrtc/base/sanitizer.h:

SANITIZER_UNUSED3 wasn't defined if we are using address_sanitizer but not memory_sanitizer.

12:41 AM Changeset in webkit [212099] by achristensen@apple.com
  • 2 edits in trunk/Tools

Fix 32-bit build on El Capitan.

  • Scripts/build-webkit:

The bot uses ARCHS=i386 instead of --32-bit.
This is a hack, but it should fix the bot until I can do a better fix in the morning.

12:33 AM Changeset in webkit [212098] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2

Merge r212097 - Unreviewed. Fix GTK+ build with threaded compositor disabled.

  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):

12:26 AM Changeset in webkit [212097] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build with threaded compositor disabled.

  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):

12:16 AM Changeset in webkit [212096] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-603-branch

Merge r212029. rdar://problem/30376972

12:16 AM Changeset in webkit [212095] by matthew_hanson@apple.com
  • 6 edits
    4 adds in branches/safari-603-branch

Merge r212028. rdar://problem/30234133

12:16 AM Changeset in webkit [212094] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-603-branch

Merge r212027. rdar://problem/30145076

12:16 AM Changeset in webkit [212093] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-603-branch

Merge r212025. rdar://problem/30076615

12:16 AM Changeset in webkit [212092] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Merge r212024. rdar://problem/30051227

12:16 AM Changeset in webkit [212091] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Merge r212023. rdar://problem/30041640

12:16 AM Changeset in webkit [212090] by matthew_hanson@apple.com
  • 3 edits
    1 add in branches/safari-603-branch

Merge r212022. rdar://problem/30198083

12:16 AM Changeset in webkit [212089] by matthew_hanson@apple.com
  • 3 edits
    1 add in branches/safari-603-branch

Merge r212021. rdar://problem/30149432

12:16 AM Changeset in webkit [212088] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/LayoutTests

Merge r212020. rdar://problem/29939864

12:15 AM Changeset in webkit [212087] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-603-branch

Merge r212019. rdar://problem/30128133

12:15 AM Changeset in webkit [212086] by matthew_hanson@apple.com
  • 16 edits
    2 adds in branches/safari-603-branch

Merge r212015. rdar://problem/30054759

12:15 AM Changeset in webkit [212085] by matthew_hanson@apple.com
  • 3 edits
    1 add in branches/safari-603-branch

Merge r212009. rdar://problem/29939864

12:15 AM Changeset in webkit [212084] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-603-branch

Merge r211999. rdar://problem/29930443

12:12 AM Changeset in webkit [212083] by achristensen@apple.com
  • 2 edits in trunk/Tools

Fix 32-bit build on El Capitan.

  • Scripts/build-webkit:

Don't build i386 libwebrtc.

Feb 9, 2017:

11:57 PM Changeset in webkit [212082] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore

Merge r211967 - [GTK] scroll with transparent background not repainted after scrollY >= 32768
https://bugs.webkit.org/show_bug.cgi?id=154283

Reviewed by Carlos Garcia Campos.

Due to a limitation of the pixman backend, which uses 16 bits to hold signed integers, cairo is
not able to draw anything when using transformation matrices with values bigger than 32768. When
drawing patterns into large pages, the matrices values can overflow those 16 bits, so cairo doesn't
draw anything in, which causes the reported transparent backgrounds.

The patch modifies the transformation matrices both from the current context and the pattern we
are painting, to avoid them to hold values that cannot stored in 16 bits.

There's still the possibility that this happens, but it would require using a pattern with a size
bigger than 32768.

Based on a previous patch by Gwang Yoon Hwang <yoon@igalia.com>.

No new tests.

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::drawPatternToCairoContext):

11:53 PM Changeset in webkit [212081] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore

Merge r211867 - [GTK] Reduce TiledBackingStore tile coverage when on memory pressure state
https://bugs.webkit.org/show_bug.cgi?id=167980

Reviewed by Carlos Garcia Campos.

Use a smaller coverAreaMultiplier in the TiledBackingStore when in memory pressure situation, to reduce
the amount of tiles created.

No new tests.

  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::createTilesIfNeeded):
(WebCore::TiledBackingStore::createTiles):

  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
11:53 PM Changeset in webkit [212080] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2

Merge r211721 - [GTK][EFL] Release unused UpdateAtlas when in memory pressure situation
https://bugs.webkit.org/show_bug.cgi?id=167872

Reviewed by Carlos Garcia Campos.

In a memory pressure situation, release all the unused UpdateAtlas as soon as possible, instead
of waiting 3 seconds before releasing them.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
(WebKit::CompositingCoordinator::releaseAtlases):

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
11:53 PM WebKitGTK/2.14.x edited by Carlos Garcia Campos
(diff)
11:32 PM Changeset in webkit [212079] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r212024 - Tear down existing renderers when adding a shadow root.
https://bugs.webkit.org/show_bug.cgi?id=167117

Patch by Antti Koivisto <Antti Koivisto> on 2017-02-09
Reviewed by Andreas Kling.

Source/WebCore:

Adding a shadow root may cause children no longer be part of the flat tree. If they had renderers
tear down code would no longer reach them.

Test: fast/shadow-dom/attach-shadow-teardown.html

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):

Tear down existing render tree when adding a shadow root.

LayoutTests:

  • fast/shadow-dom/attach-shadow-teardown-expected.txt: Added.
  • fast/shadow-dom/attach-shadow-teardown.html: Added.
11:31 PM Changeset in webkit [212078] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r212023 - Handle synchronous layout when setting a selection range
https://bugs.webkit.org/show_bug.cgi?id=167092
<rdar://problem/30041640>

Reviewed by Antti Koivisto.

Source/WebCore:

The 'innerTextElement' of a form control can change during layout due
to arbitrary JavaScript executing. Handle the case where the inner text
element has changed so that current render box height is while setting
a selection range.

Test: fast/forms/input-type-change-during-selection.html

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange):

LayoutTests:

  • fast/forms/input-type-change-during-selection-expected.txt: Added.
  • fast/forms/input-type-change-during-selection.html: Added.
11:31 PM Changeset in webkit [212077] by Carlos Garcia Campos
  • 3 edits
    3 adds in releases/WebKitGTK/webkit-2.14

Merge r211999 - Disconnect shadow children of root when detaching a frame
https://bugs.webkit.org/show_bug.cgi?id=166851
<rdar://problem/29930443>

Reviewed by Andy Estes.

Source/WebCore:

If the root of the tree we are disconnecting has a shadow element, include it in the set of
things to disconnect.

Tests: fast/shadow-dom/shadow-at-root-during-disconnect.html

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::disconnectSubframes):

LayoutTests:

  • fast/shadow-dom/resources/start.html: Added.
  • fast/shadow-dom/shadow-at-root-during-disconnect-expected.txt: Added.
  • fast/shadow-dom/shadow-at-root-during-disconnect.html: Added.
11:12 PM Changeset in webkit [212076] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Update expectations of tests using CSS3 Text each-line and hanging indent.

  • platform/gtk/TestExpectations:
10:37 PM Changeset in webkit [212075] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebCore

Merge r211966. rdar://problem/30149422

10:37 PM Changeset in webkit [212074] by matthew_hanson@apple.com
  • 23 edits
    4 adds in branches/safari-603-branch

Merge r211965. rdar://problem/30149422

10:37 PM Changeset in webkit [212073] by matthew_hanson@apple.com
  • 5 edits in branches/safari-603-branch

Merge r211763. rdar://problem/30380075

10:37 PM Changeset in webkit [212072] by matthew_hanson@apple.com
  • 6 edits in branches/safari-603-branch

Merge r211382. rdar://problem/29738514

10:37 PM Changeset in webkit [212071] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/LayoutTests

Merge r211968. rdar://problem/28062149

10:37 PM Changeset in webkit [212070] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebCore

Merge r211957. rdar://problem/30029354

10:37 PM Changeset in webkit [212069] by matthew_hanson@apple.com
  • 11 edits
    4 adds in branches/safari-603-branch

Merge r211949. rdar://problem/30119483

10:37 PM Changeset in webkit [212068] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Merge r211926. rdar://problem/30275036

10:37 PM Changeset in webkit [212067] by matthew_hanson@apple.com
  • 4 edits in branches/safari-603-branch

Merge r211915. rdar://problem/27607520

10:37 PM Changeset in webkit [212066] by matthew_hanson@apple.com
  • 10 edits in branches/safari-603-branch

Merge r211913. rdar://problem/28062149

10:37 PM Changeset in webkit [212065] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebCore

Merge r211895. rdar://problem/30129966

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

Merge r211893. rdar://problem/30423806

10:36 PM Changeset in webkit [212063] by matthew_hanson@apple.com
  • 8 edits in branches/safari-603-branch

Merge r211891. rdar://problem/30423806

10:36 PM Changeset in webkit [212062] by matthew_hanson@apple.com
  • 3 edits in branches/safari-603-branch/Source/WebKit2

Merge r211094. rdar://problem/30423806

10:36 PM Changeset in webkit [212061] by matthew_hanson@apple.com
  • 3 edits in branches/safari-603-branch

Merge r211845. rdar://problem/30187368

10:36 PM Changeset in webkit [212060] by matthew_hanson@apple.com
  • 6 edits in branches/safari-603-branch/Source

Merge r211835. rdar://problem/27439617

10:36 PM Changeset in webkit [212059] by matthew_hanson@apple.com
  • 10 edits
    2 adds in branches/safari-603-branch

Merge r211758. rdar://problem/30096129

10:36 PM Changeset in webkit [212058] by matthew_hanson@apple.com
  • 12 edits
    1 add in branches/safari-603-branch/Source/WebKit2

Merge r211747. rdar://problem/30183825

10:36 PM Changeset in webkit [212057] by matthew_hanson@apple.com
  • 14 edits
    10 adds in branches/safari-603-branch

Merge r211746. rdar://problem/30107622

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

Merge r211736. rdar://problem/30229358

10:36 PM Changeset in webkit [212055] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebCore

Merge r211730. rdar://problem/30251840

10:36 PM Changeset in webkit [212054] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Merge r211667. rdar://problem/28193222

10:36 PM Changeset in webkit [212053] by matthew_hanson@apple.com
  • 8 edits in branches/safari-603-branch

Merge r211663. rdar://problem/30343810

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

Merge r211655. rdar://problem/30344753

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

Merge r211652. rdar://problem/30040618

10:36 PM Changeset in webkit [212050] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebCore

Merge r211625. rdar://problem/29168795

10:36 PM Changeset in webkit [212049] by matthew_hanson@apple.com
  • 19 edits
    2 copies in branches/safari-603-branch/Source

Merge r211622. rdar://problem/30116072

10:36 PM Changeset in webkit [212048] by matthew_hanson@apple.com
  • 5 edits in branches/safari-603-branch

Merge r211621. rdar://problem/30221102

10:35 PM Changeset in webkit [212047] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebCore

Merge r211613. rdar://problem/30132707

10:35 PM Changeset in webkit [212046] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Merge r211564. rdar://problem/29012252

10:35 PM Changeset in webkit [212045] by matthew_hanson@apple.com
  • 38 edits
    8 adds in branches/safari-603-branch

Merge r211254. rdar://problem/30188490

10:35 PM Changeset in webkit [212044] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/LayoutTests

Merge r211041. rdar://problem/29931587

9:26 PM Changeset in webkit [212043] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Improve IOSurfacePool logging
https://bugs.webkit.org/show_bug.cgi?id=168098

Reviewed by Tim Horton.

Pass a string to DUMP_POOL_STATISTICS so we can tell what's triggering the
logging.

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::addSurface):
(WebCore::IOSurfacePool::evict):
(WebCore::IOSurfacePool::collectionTimerFired):
(WebCore::IOSurfacePool::showPoolStatistics):

  • platform/graphics/cg/IOSurfacePool.h:
9:08 PM Changeset in webkit [212042] by achristensen@apple.com
  • 9 edits in trunk

Unreviewed, rolling out r212040.

Broke build. I'm not surprised

Reverted changeset:

"[WebRTC][Mac] Activate libwebrtc"
https://bugs.webkit.org/show_bug.cgi?id=167293
http://trac.webkit.org/changeset/212040

8:00 PM Changeset in webkit [212041] by Chris Dumez
  • 19 edits
    4 adds in trunk

[Mac][WK2] Use MIME type to add file extension to downloads' suggested filenames when missing
https://bugs.webkit.org/show_bug.cgi?id=168077
<rdar://problem/30412595>

Reviewed by Alex Christensen.

Source/WebCore:

Add utility function to MIMETypeRegistry that appends an extension to
a filename if necessary, based on a provided MIME type.

Tests: fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html

http/tests/download/anchor-download-no-extension.html

  • platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):

  • platform/MIMETypeRegistry.h:
  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):

Source/WebKit2:

Use MIME type to add file extension to downloads' suggested filenames when missing:

This new behavior matches Chrome.

  • NetworkProcess/Downloads/BlobDownloadClient.cpp:

(WebKit::BlobDownloadClient::didReceiveResponseAsync):

  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::didReceiveResponse):
(WebKit::Download::decideDestinationWithSuggestedFilename):

  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::findPendingDownloadLocation):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::didStart):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):

  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/Downloads/DownloadProxy.messages.in:

LayoutTests:

Rebaseline a couple of download tests where suggested filenames now have an extension
and extend test coverage.

  • fast/dom/HTMLAnchorElement/anchor-download-expected.txt:
  • fast/dom/HTMLAnchorElement/anchor-download-user-triggered-synthetic-click-expected.txt:
  • fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html: Added.
  • fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt:
  • http/tests/download/anchor-download-no-extension-expected.txt: Added.
  • http/tests/download/anchor-download-no-extension.html: Added.
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
7:39 PM Changeset in webkit [212040] by achristensen@apple.com
  • 8 edits in trunk/Source

[WebRTC][Mac] Activate libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167293

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

Source/WebCore:

  • Configurations/WebCore.xcconfig:
  • Configurations/WebCoreTestSupport.xcconfig:

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:

Source/WTF:

  • wtf/Platform.h:
7:33 PM Changeset in webkit [212039] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix libwebrtc build on case-sensitive file systems.

  • WebProcess/Network/webrtc/WebRTCMonitor.cpp:
7:27 PM Changeset in webkit [212038] by pdr@google.com
  • 3 edits
    2 adds in trunk

SVG clip-path references can clip out later content
https://bugs.webkit.org/show_bug.cgi?id=164181

Reviewed by Said Abou-Hallawa.

Source/WebCore:

RenderSVGResourceClipper can modify the GraphicsContext state (through the path-only
clipping codepath) so we need to ensure RenderLayer::setupClipPath saves the context
and its caller restores it back so later content is not clipped as well.

This patch is based on a chromium patch by fs@opera.com:
https://chromium.googlesource.com/chromium/src/+/b3f7e7d2c4afb3c7e5c7eb438ff5933cbe2109b3

Test: css3/masking/clip-path-reference-restore.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath): Add a GC save and return true to restore. Also switch to downcast instead of static_cast.

LayoutTests:

Make sure applying multiple clip-path references does not clip out later content.

  • css3/masking/clip-path-reference-restore-expected.html: Added.
  • css3/masking/clip-path-reference-restore.html: Added.
7:02 PM Changeset in webkit [212037] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Fix El Capitan build.

  • libwebrtc.xcodeproj/project.pbxproj:

Remove more SSE4 code.

6:59 PM Changeset in webkit [212036] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Fix El Capitan build.

  • libwebrtc.xcodeproj/project.pbxproj:

Remove more SSE4 code.

6:42 PM Changeset in webkit [212035] by fpizlo@apple.com
  • 16 edits
    16 adds in trunk

SharedArrayBuffer does not need to be in the transfer list
https://bugs.webkit.org/show_bug.cgi?id=168079

Reviewed by Geoffrey Garen and Keith Miller.
Source/JavaScriptCore:


Exposes a simple shareWith() API for when you know you want to share the contents of
a shared buffer. Also a useful explicit operator bool.

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::shareWith):

  • runtime/ArrayBuffer.h:

(JSC::ArrayBufferContents::operator bool):

Source/WebCore:

Tests: workers/sab/multi-memory-multi-buffer.html

workers/sab/multi-memory.html
workers/sab/no-transfer.html
workers/sab/postMessage-clones.html
workers/sab/sent-from-worker-no-transfer.html
workers/sab/sent-from-worker-transfer.html

The SAB API that we originally implemented required that SABs get put in transfer lists
when they are sent to workers.

The new SAB API that everyone is converging towards requires that you do not put the
SAB in the transfer list. That's supposed to be an error. Instead, anytime that a SAB
is part of any message to or from a dedicated worker then it is automatically shared.

The new API provides a lot more clarity about what is supposed to happen in contexts
that support transfering but don't support sharing.

Right now this patch allows both styles to work, but I hope we can disable the transfer
list capability soon.

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValueToJSValue):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:

(): Deleted.

  • dom/CustomEvent.cpp:

(WebCore::CustomEvent::trySerializeDetail):

  • dom/ErrorEvent.cpp:

(WebCore::ErrorEvent::trySerializeError):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::trySerializeData):

  • dom/PopStateEvent.cpp:

(WebCore::PopStateEvent::trySerializeState):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::postMessage):

  • workers/Worker.cpp:

(WebCore::Worker::postMessage):

LayoutTests:


This adds tests that ensure that SABs behave correctly (are either cloned or shared)
depending on context, and that we currently share SABs whether they are in the transfer
list or not. This also adds tests for SABs being passed around via more complicated
data structures.

  • workers/sab/multi-memory-expected.txt: Added.
  • workers/sab/multi-memory-multi-buffer-expected.txt: Added.
  • workers/sab/multi-memory-multi-buffer.html: Added.
  • workers/sab/multi-memory-worker-1.js: Added.

(onmessage):

  • workers/sab/multi-memory-worker-2.js: Added.

(onmessage):

  • workers/sab/multi-memory.html: Added.
  • workers/sab/no-transfer-expected.txt: Added.
  • workers/sab/no-transfer.html: Added.
  • workers/sab/postMessage-clones-expected.txt: Added.
  • workers/sab/postMessage-clones.html: Added.
  • workers/sab/sab-creator-no-transfer.js: Added.
  • workers/sab/sab-creator-transfer.js: Added.
  • workers/sab/sent-from-worker-no-transfer-expected.txt: Added.
  • workers/sab/sent-from-worker-no-transfer.html: Added.
  • workers/sab/sent-from-worker-transfer-expected.txt: Added.
  • workers/sab/sent-from-worker-transfer.html: Added.
  • workers/sab/worker-resources.js:
6:35 PM Changeset in webkit [212034] by achristensen@apple.com
  • 2 edits in trunk/Tools

Build libwebrtc on bots without using it yet
https://bugs.webkit.org/show_bug.cgi?id=168062

Reviewed by Brent Fulgham.

  • Scripts/build-webkit:
6:35 PM Changeset in webkit [212033] by achristensen@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

Fix iOS and El Capitan builds of libwebrtc.

  • Configurations/libwebrtc.xcconfig:

Skip building audio_mixer_manager_mac.cc on iOS.

  • libwebrtc.xcodeproj/project.pbxproj:

El Capitan doesn't like the SSE4 optimizations in opus.
Just don't include them for now.

6:34 PM Changeset in webkit [212032] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix after r212025.

inDocument -> isConnected

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::didMoveToNewDocument):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::formElementIndex):

6:29 PM Changeset in webkit [212031] by matthew_hanson@apple.com
  • 6 edits in tags/Safari-604.1.5.5.1/Source

Versioning.

6:21 PM Changeset in webkit [212030] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.5.5.1

Tag Safari-604.1.5.5.1.

6:21 PM Changeset in webkit [212029] by Brent Fulgham
  • 4 edits
    2 adds in trunk

Make sure Event keeps its current target element alive
https://bugs.webkit.org/show_bug.cgi?id=167885
<rdar://problem/30376972>

Patch by Chris Dumez <Chris Dumez> on 2017-02-09
Reviewed by Brent Fulgham.

Source/WebCore:

Make sure Event keeps its current target element alive to avoid
crashes if it is accessed by JS after it has been garbage collected.

Test: fast/events/currentTarget-gc-crash.html

  • dom/Event.cpp:

(WebCore::Event::setCurrentTarget):

  • dom/Event.h:

(WebCore::Event::currentTarget):

LayoutTests:

Add layout test reproducing the crash.

  • fast/events/currentTarget-gc-crash-expected.txt: Added.
  • fast/events/currentTarget-gc-crash.html: Added.
6:19 PM Changeset in webkit [212028] by Brent Fulgham
  • 6 edits
    4 adds in trunk

Crash in render tree after dynamically mutating the slot value
https://bugs.webkit.org/show_bug.cgi?id=167502

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2017-02-09
Reviewed by Antti Koivisto.

Source/WebCore:

The crash was caused by attributeChanged not destructing the render tree after an assigned element had been
removed from its slot. Since the style resolver can no longer find this element in the flat tree, we need to
delete its render object as if the element had been removed from the DOM tree.

Tests: fast/html/details-summary-slot.html

fast/shadow-dom/shadow-slot-attribute-change-crash.html

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

  • html/HTMLSummaryElement.cpp:

(WebCore::SummarySlotElement): Added. Always use the default slot regardless of the slot attribute's value.
(WebCore::HTMLSummaryElement::create): Use SummarySlotElement

LayoutTests:

Added regression tests for the crash, and one for assigning non-empty slot value to a child
of a summary element. The slot attribute should always be ignored since the fact summary
element has its own shadow tree is an implementation detail that should never be exposed.

  • fast/html/details-summary-slot-expected.html: Added.
  • fast/html/details-summary-slot.html: Added.
  • fast/shadow-dom/shadow-slot-attribute-change-crash-expected.txt: Added.
  • fast/shadow-dom/shadow-slot-attribute-change-crash.html: Added.
6:17 PM Changeset in webkit [212027] by Brent Fulgham
  • 3 edits
    4 adds in trunk

Details element doesn't work correctly when mutating content between closing and opening
https://bugs.webkit.org/show_bug.cgi?id=167310

Patch by Antti Koivisto <Antti Koivisto> on 2017-02-09
Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/html/details-close-modify-open.html

fast/shadow-dom/slot-remove-mutate-add.html

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::didChangeSlot):

Always reset the slot assignment when content is mutated.

LayoutTests:

  • fast/html/details-close-modify-open-expected.html: Added.
  • fast/html/details-close-modify-open.html: Added.
  • fast/shadow-dom/slot-remove-mutate-add-expected.html: Added.
  • fast/shadow-dom/slot-remove-mutate-add.html: Added.
6:15 PM Changeset in webkit [212026] by Brent Fulgham
  • 4 edits
    2 adds in trunk

Crash under FormSubmission::create()
https://bugs.webkit.org/show_bug.cgi?id=167200
<rdar://problem/30096323>

Patch by Chris Dumez <Chris Dumez> on 2017-02-09
Reviewed by Darin Adler.

Source/WebCore:

The issue is that FormSubmission::create() was iterating over
form.associatedElements() as was calling Element::appendFormData()
in the loop. HTMLObjectElement::appendFormData() was calling
pluginWidget(PluginLoadingPolicy::Load) which causes a synchronous
layout and can fire events (such as focus event) synchronously.
Firing those events synchronously allows the JS to modify the
form.associatedElements() vector we are currently iterating on.

To avoid this issue, we now call pluginWidget(PluginLoadingPolicy::DoNotLoad)
in HTMLObjectElement::appendFormData() as we are not allowed to fire
synchronous events at this point. I also added a security assertion
in FormSubmission::create() to catch cases where we fire JS events
while iterating over the form associated elements to more easily
notice these things in the future.

Test: fast/forms/formsubmission-appendFormData-crash.html

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::appendFormData):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

LayoutTests:

Add layout test coverage.

  • fast/forms/formsubmission-appendFormData-crash-expected.txt: Added.
  • fast/forms/formsubmission-appendFormData-crash.html: Added.
6:13 PM Changeset in webkit [212025] by Brent Fulgham
  • 4 edits
    2 adds in trunk

Crash under HTMLFormElement::registerFormElement()
https://bugs.webkit.org/show_bug.cgi?id=167162

Patch by Chris Dumez <Chris Dumez> on 2017-02-09
Reviewed by Ryosuke Niwa.

Source/WebCore:

didMoveToNewDocument() was re-registering FormAttributeTargetObserver
even if the element's inDocument was not set yet. As a result, it was
possible for FormAssociatedElement::resetFormOwner() to be called
when the element was in the tree but with its inDocument still being
false (because insertedInto() has not been called yet). This could
end up calling HTMLFormElement::registerFormElement() even though
the element is still recognized as detached. This is an issue because
HTMLFormElement::m_associatedElements's order and its corresponding
indexes (m_associatedElementsBeforeIndex / m_associatedElementsAfterIndex)
rely on the position of the element with regards to the form element
(before / inside / after).

To address the issue, we now only register the FormAttributeTargetObserver
in didMoveToNewDocument() if the inDocument flag is set to true. This
is similar to what is done at other call sites of
resetFormAttributeTargetObserver(). We also ignore the form content
attribute in HTMLFormElement::formElementIndex() if the element is
not connected.

As per the HTML specification [1], the form content attribute is only
taken if the element is connected (i.e. inDocument flag is true).

Note that FormAssociatedElement::findAssociatedForm() was already
ignoring the form content attribute if the element is disconnected.

[1] https://html.spec.whatwg.org/#reset-the-form-owner (step 3)

Test: fast/forms/registerFormElement-crash.html

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::didMoveToNewDocument):
Only call resetFormAttributeTargetObserver() if inDocument flag is set,
similarly to what is done at other call sites.

(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):
Add an assertion to make sure no one call this method on an element that
is not connected.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::formElementIndex):
Ignore the form content attribute if the element is not connected, as
per the HTML specification [1].

LayoutTests:

Add layout test coverage.

  • fast/forms/registerFormElement-crash-expected.txt: Added.
  • fast/forms/registerFormElement-crash.html: Added.
6:11 PM Changeset in webkit [212024] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Tear down existing renderers when adding a shadow root.
https://bugs.webkit.org/show_bug.cgi?id=167117

Patch by Antti Koivisto <Antti Koivisto> on 2017-02-09
Reviewed by Andreas Kling.

Source/WebCore:

Adding a shadow root may cause children no longer be part of the flat tree. If they had renderers
tear down code would no longer reach them.

Test: fast/shadow-dom/attach-shadow-teardown.html

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):

Tear down existing render tree when adding a shadow root.

LayoutTests:

  • fast/shadow-dom/attach-shadow-teardown-expected.txt: Added.
  • fast/shadow-dom/attach-shadow-teardown.html: Added.
6:09 PM Changeset in webkit [212023] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Handle synchronous layout when setting a selection range
https://bugs.webkit.org/show_bug.cgi?id=167092
<rdar://problem/30041640>

Reviewed by Antti Koivisto.

Source/WebCore:

The 'innerTextElement' of a form control can change during layout due
to arbitrary JavaScript executing. Handle the case where the inner text
element has changed so that current render box height is while setting
a selection range.

Test: fast/forms/input-type-change-during-selection.html

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange):

LayoutTests:

  • fast/forms/input-type-change-during-selection-expected.txt: Added.
  • fast/forms/input-type-change-during-selection.html: Added.
6:07 PM Changeset in webkit [212022] by Brent Fulgham
  • 3 edits
    1 add in trunk

B3::Procedure::deleteOrphans() should neutralize upsilons with dead phis.
https://bugs.webkit.org/show_bug.cgi?id=167437
<rdar://problem/30198083>

Patch by Mark Lam <mark.lam@apple.com> on 2017-02-09
Reviewed by Filip Pizlo.

JSTests:

  • stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js: Added.

Source/JavaScriptCore:

  • b3/B3Procedure.cpp:

(JSC::B3::Procedure::deleteOrphans):

6:02 PM Changeset in webkit [212021] by Brent Fulgham
  • 3 edits
    1 add in trunk

Sloppy mode: We don't properly hoist functions names "arguments" when we have a non-simple parameter list
https://bugs.webkit.org/show_bug.cgi?id=167319
<rdar://problem/30149432>

Patch by Saam Barati <sbarati@apple.com> on 2017-02-09
Reviewed by Mark Lam.

JSTests:

  • stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js: Added.

(assert):
(assert.arguments):
(assert.b):
(x.arguments):
(x.b):
(x):

Source/JavaScriptCore:

When hoisting a function inside sloppy mode, we were assuming all "var"s are inside
what we call the "var" SymbolTableEntry. This was almost true, execpt for "arguments",
which has sufficiently weird behavior. "arguments" can be visible to the default
parameter expressions inside a function, therefore can't go inside the "var"
SymbolTableEntry since the parameter SymbolTableEntry comes before the "var"
SymbolTableEntry in the scope chain. Therefore, if we hoist a function named
"arguments", then we must also look for that variable inside the parameter scope
stack entry.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::hoistSloppyModeFunctionIfNecessary):

5:55 PM Changeset in webkit [212020] by keith_miller@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, fix test for new .caller with native code caller semantics.

  • js/dom/function-dot-arguments-and-caller.html:
5:54 PM Changeset in webkit [212019] by Brent Fulgham
  • 7 edits
    2 adds in trunk

Fix max length check in ArrayPrototype.js' concatSlowPath().
https://bugs.webkit.org/show_bug.cgi?id=167270
<rdar://problem/30128133>

Patch by Mark Lam <mark.lam@apple.com> on 2017-02-09
Reviewed by Filip Pizlo.

JSTests:

  • stress/array-prototype-concat-of-long-spliced-arrays.js: Added.
  • stress/array-prototype-concat-of-long-spliced-arrays2.js: Added.

Source/JavaScriptCore:

  1. Fixed concatSlowPath() to ensure that the result array length does not exceed @MAX_ARRAY_INDEX. The old code was checking against @MAX_SAFE_INTEGER in some cases, but this is overly permissive.
  1. Changed concatSlowPath() to throw a RangeError instead of a TypeError to be consistent with the C++ runtime functions in JSArray.cpp.
  1. Changed the RangeError message in concatSlowPath() and JSArray.cpp to "Length exceeded the maximum array length" when the error is that the result length exceeds MAX_ARRAY_INDEX. We do this for 2 reasons:
    1. "Length exceeded the maximum array length" is more informative than "Invalid array length".
    2. We want to use the same string consistently for the same error.

There are still 2 places in JSArray.cpp that still throws a RangeError with
message "Invalid array length". In those cases, the error is not necessarily
due to the result length exceeding MAX_ARRAY_INDEX, but is due to attempting to
set a length value that is not an integer that fits in MAX_ARRAY_INDEX e.g.
an attempt to set a fractional length value. Hence, "Invalid array length" is
appropriate for those cases.

  1. Fixed JSArray::appendMemcpy() to handle overflows when computing the result array length.
  • builtins/ArrayPrototype.js:

(concatSlowPath):

  • bytecode/BytecodeIntrinsicRegistry.cpp:

(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):

  • bytecode/BytecodeIntrinsicRegistry.h:
  • runtime/ArrayPrototype.cpp:

(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncAppendMemcpy):

  • runtime/JSArray.cpp:

(JSC::JSArray::appendMemcpy):
(JSC::JSArray::push):

5:49 PM Changeset in webkit [212018] by matthew_hanson@apple.com
  • 5 edits in branches/safari-603-branch/Source/JavaScriptCore

Merge r211896. rdar://problem/29754721

5:49 PM Changeset in webkit [212017] by matthew_hanson@apple.com
  • 9 edits in branches/safari-603-branch/Source/JavaScriptCore

Merge r211642. rdar://problem/29542720

5:49 PM Changeset in webkit [212016] by matthew_hanson@apple.com
  • 17 edits
    5 adds in branches/safari-603-branch/Source

Merge r211603. rdar://problem/30318237

5:39 PM Changeset in webkit [212015] by Brent Fulgham
  • 16 edits
    2 adds in trunk

Constructed object's global object should be the global object of the constructor.
https://bugs.webkit.org/show_bug.cgi?id=167121
<rdar://problem/30054759>

Patch by Mark Lam <mark.lam@apple.com> on 2017-02-09
Reviewed by Filip Pizlo and Geoffrey Garen.

Source/JavaScriptCore:

The realm (i.e. globalObject) of any object should be the same as the constructor
that instantiated the object. Changed PrototypeMap::createEmptyStructure() to
be passed the correct globalObject to use instead of assuming it's the same one
as the prototype object.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/InternalFunctionAllocationProfile.h:

(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::initialize):

  • runtime/FunctionRareData.cpp:

(JSC::FunctionRareData::initializeObjectAllocationProfile):

  • runtime/FunctionRareData.h:

(JSC::FunctionRareData::createInternalFunctionAllocationStructureFromBase):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::createSubclassStructure):

  • runtime/IteratorOperations.cpp:

(JSC::createIteratorResultObjectStructure):

  • runtime/JSBoundFunction.cpp:

(JSC::getBoundFunctionStructure):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::allocateAndInitializeRareData):
(JSC::JSFunction::initializeRareData):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSProxy.cpp:

(JSC::JSProxy::setTarget):

  • runtime/ObjectConstructor.h:

(JSC::constructEmptyObject):

  • runtime/PrototypeMap.cpp:

(JSC::PrototypeMap::createEmptyStructure):
(JSC::PrototypeMap::emptyStructureForPrototypeFromBaseStructure):
(JSC::PrototypeMap::emptyObjectStructureForPrototype):
(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype):

  • runtime/PrototypeMap.h:

LayoutTests:

  • http/tests/security/xssAuditor/regress-167121-expected.txt: Added.
  • http/tests/security/xssAuditor/regress-167121.html: Added.
5:33 PM Changeset in webkit [212014] by achristensen@apple.com
  • 2 edits in trunk/Tools

Don't build libwebrtc.

  • Scripts/build-webkit:

Not ready yet. It broke El Capitan and iOS.

5:27 PM Changeset in webkit [212013] by achristensen@apple.com
  • 6 edits in trunk/Source

Fix CMake build.

  • PlatformMac.cmake:
5:23 PM Changeset in webkit [212012] by Chris Dumez
  • 3 edits in trunk/LayoutTests

REGRESSION: LayoutTest http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=161650

Reviewed by Alexey Proskuryakov.

Make sure we clear the memory cache before trigerring new loads as this
test is meant to cover the disk cache.

  • http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes.html:
  • platform/mac/TestExpectations:
5:11 PM Changeset in webkit [212011] by achristensen@apple.com
  • 2 edits in trunk/Tools

Build libwebrtc on bots without using it yet
https://bugs.webkit.org/show_bug.cgi?id=168062

Reviewed by Brent Fulgham.

  • Scripts/build-webkit:
5:07 PM Changeset in webkit [212010] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/model/remote-object-weak-collection.html as a flaky timeout.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:59 PM Changeset in webkit [212009] by Brent Fulgham
  • 3 edits
    1 add in trunk

We should not allow Function.caller to be used on native functions
https://bugs.webkit.org/show_bug.cgi?id=165628

Patch by Keith Miller <keith_miller@apple.com> on 2017-02-09
Reviewed by Mark Lam.

JSTests:

  • stress/caller-native-code.js: Added.

(f):

Source/JavaScriptCore:

Also remove unneeded dynamic cast.

  • runtime/JSFunction.cpp:

(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::JSFunction::callerGetter):

4:52 PM Changeset in webkit [212008] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-604.1.5.5/Source/WebCore

Merge r211852. rdar://problem/30382347

4:49 PM Changeset in webkit [212007] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark pointer-lock/mouse-event-delivery.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167965

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:46 PM Changeset in webkit [212006] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/worker/resources-in-worker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168091

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:42 PM Changeset in webkit [212005] by matthew_hanson@apple.com
  • 2 edits in branches/safari-604.1.5-branch/Source/WebCore

Merge r211852. rdar://problem/30382347

4:42 PM Changeset in webkit [212004] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/debugger/breakpoint-columns.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=168090

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:41 PM Changeset in webkit [212003] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167186

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:38 PM Changeset in webkit [212002] by matthew_hanson@apple.com
  • 5 edits in branches/safari-603-branch/Source

Versioning.

4:37 PM Changeset in webkit [212001] by achristensen@apple.com
  • 3 edits
    1 delete in trunk/Source/ThirdParty/libwebrtc

Fix warnings in libwebrtc build
https://bugs.webkit.org/show_bug.cgi?id=168088

Reviewed by Youenn Fablet.

  • Source/third_party/opus/src/src/opus_decoder.c:

Silence a warning. Debug builds of opus can be slow. No big deal.

  • libwebrtc.xcodeproj/project.pbxproj:

More sdk files need ARC.

4:21 PM Changeset in webkit [212000] by beidson@apple.com
  • 8 edits in trunk/Source

Transition "WebKit Library Version" checks to SDK version checks.
<rdar://problem/30313696> and https://bugs.webkit.org/show_bug.cgi?id=168056

Reviewed by Geoffrey Garen.

Source/WebKit2:

When doing linkedOnOrAfter checks, relying solely on the WebKit library version number is error prone,
since apps may not link against WebKit directly and therefore the linked WebKit is unknown.

We should first prefer a version check on the SDK that the app was built with.

If that check fails, we can fallback to the linked WebKit library version number if it exists.

  • Shared/Cocoa/CompletionHandlerCallChecker.mm:

(WebKit::shouldThrowExceptionForDuplicateCompletionHandlerCall):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

For each "linked-on-or-after" feature, include both the WebKit library version and SDK version:

  • UIProcess/Cocoa/VersionChecks.h:

(WebKit::linkedOnOrAfter):

  • UIProcess/Cocoa/VersionChecks.mm:

(WebKit::linkedOnOrAfter):
(WebKit::linkTimeVersion): Deleted.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::isNetworkCacheEnabled):

Source/WTF:

  • wtf/spi/darwin/dyldSPI.h: Add entries for the iOS 10.3, macOS 10.11, and macOS 10.12.4 SDKs.
4:11 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
4:11 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
4:10 PM Changeset in webkit [211999] by Brent Fulgham
  • 3 edits
    3 adds in trunk

Disconnect shadow children of root when detaching a frame
https://bugs.webkit.org/show_bug.cgi?id=166851
<rdar://problem/29930443>

Reviewed by Andy Estes.

Source/WebCore:

If the root of the tree we are disconnecting has a shadow element, include it in the set of
things to disconnect.

Tests: fast/shadow-dom/shadow-at-root-during-disconnect.html

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::disconnectSubframes):

LayoutTests:

  • fast/shadow-dom/resources/start.html: Added.
  • fast/shadow-dom/shadow-at-root-during-disconnect-expected.txt: Added.
  • fast/shadow-dom/shadow-at-root-during-disconnect.html: Added.
4:08 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
4:07 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
4:06 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
4:04 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:55 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:54 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:52 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:48 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:46 PM Changeset in webkit [211998] by commit-queue@webkit.org
  • 14 edits in trunk/Tools

Rename isAppleMacWebKit to isAppleCocoaWebKit
https://bugs.webkit.org/show_bug.cgi?id=168075

Patch by Alex Christensen <achristensen@webkit.org> on 2017-02-09
Reviewed by Geoffrey Garen.

It returns true for Mac and iOS. "isAppleMacWebKit" is confusing and wrong.

  • Scripts/build-api-tests:
  • Scripts/build-dumprendertree:
  • Scripts/build-jsc:

(buildMyProject):

  • Scripts/build-layouttestrelay:
  • Scripts/build-webkit:
  • Scripts/build-webkittestrunner:
  • Scripts/run-api-tests:

(isSupportedPlatform):
(runTest):
(listAllTests):
(prepareEnvironmentForRunningTestTool):

  • Scripts/run-content-extension-tester:
  • Scripts/run-javascriptcore-tests:
  • Scripts/run-minibrowser:
  • Scripts/show-pretty-diff:
  • Scripts/webkitdirs.pm:

(determineBaseProductDir):
(determineArchitecture):
(determinePassedArchitecture):
(safariPath):
(builtDylibPathForName):
(checkFrameworks):
(isAppleWebKit):
(isAppleCocoaWebKit):
(determineNmPath):
(launcherName):
(wrapperPrefixIfNeeded):
(isCMakeBuild):
(mobileSafariBundle):
(debugSafari):
(runSafari):
(runMiniBrowser):
(debugMiniBrowser):
(runWebKitTestRunner):
(debugWebKitTestRunner):
(isAppleMacWebKit): Deleted.

  • Scripts/webkitperl/FeatureList.pm:
3:40 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:39 PM Changeset in webkit [211997] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/contentextensions/async-xhr-onerror.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168081

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:36 PM Changeset in webkit [211996] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/contentextensions/invalid-selector.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168082

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:35 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:33 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:32 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:28 PM Changeset in webkit [211995] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/security/credentials-iframes.html as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=167967

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
3:24 PM UpdatingBugzilla edited by ddkilzer@apple.com
(diff)
3:18 PM Changeset in webkit [211994] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark fast/css-grid-layout/grid-simplified-layout-positioned.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167538

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:19 PM Changeset in webkit [211993] by matthew_hanson@apple.com
  • 6 edits in branches/safari-604.1.5-branch/Source

Versioning.

2:06 PM Changeset in webkit [211992] by achristensen@apple.com
  • 2 edits in trunk/Tools

Revert r211991
https://bugs.webkit.org/show_bug.cgi?id=168062

  • Scripts/build-webkit:

Not quite ready yet.

1:48 PM Changeset in webkit [211991] by achristensen@apple.com
  • 2 edits in trunk/Tools

Build libwebrtc on bots without using it yet
https://bugs.webkit.org/show_bug.cgi?id=168062

Reviewed by Brent Fulgham.

  • Scripts/build-webkit:

Build libwebrtc on Mac when we build ANGLE.

1:47 PM Changeset in webkit [211990] by Ryan Haddad
  • 8 edits in trunk/Source

Unreviewed, rolling out r211980 and r211987.
https://bugs.webkit.org/show_bug.cgi?id=168072

Caused API test WebKit2.DuplicateCompletionHandlerCalls to
fail (Requested by ryanhaddad on #webkit).

Reverted changesets:

"Transition "WebKit Library Version" checks to SDK version
checks."
https://bugs.webkit.org/show_bug.cgi?id=168056
http://trac.webkit.org/changeset/211980

"Build fix for APPLE_INTERNAL_SDK builds after r211980."
http://trac.webkit.org/changeset/211987

Patch by Commit Queue <commit-queue@webkit.org> on 2017-02-09

1:34 PM Changeset in webkit [211989] by ap@apple.com
  • 7 edits in trunk/Source

Remove unused WebThreadRunSync
https://bugs.webkit.org/show_bug.cgi?id=168024

Reviewed by Tim Horton.

Source/WebCore:

  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/ios/wak/WebCoreThreadRun.h:
  • platform/ios/wak/WebCoreThreadSystemInterface.cpp:

(InitWebCoreThreadSystemInterface):

Source/WTF:

  • wtf/ios/WebCoreThread.cpp:
  • wtf/ios/WebCoreThread.h:
1:33 PM Changeset in webkit [211988] by achristensen@apple.com
  • 4 edits in trunk

Build libwebrtc on bots without using it yet
https://bugs.webkit.org/show_bug.cgi?id=168062

Reviewed by Brent Fulgham.

.:

  • Source/Makefile:

Source/ThirdParty:

  • Makefile:
1:32 PM Changeset in webkit [211987] by beidson@apple.com
  • 2 edits in trunk/Source/WTF

Build fix for APPLE_INTERNAL_SDK builds after r211980.

Unreviewed.

  • wtf/spi/darwin/dyldSPI.h:
1:31 PM Changeset in webkit [211986] by Ryan Haddad
  • 11 edits
    2 deletes in trunk

Unreviewed, rolling out r211802.

This change caused fast/regions/inline-block-inside-anonymous-
overflow-with-covered-controls.html to be a flaky failure.

Reverted changeset:

"[Modern Media Controls] Improve handling of <video> with only
audio tracks"
https://bugs.webkit.org/show_bug.cgi?id=167836
http://trac.webkit.org/changeset/211802

1:20 PM Changeset in webkit [211985] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/media/track-in-band-hls-metadata-crash.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=167749

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:20 PM Changeset in webkit [211984] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark two scroll-snap tests as flaky.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:11 PM Changeset in webkit [211983] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/unit-tests/heap-snapshot.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168065

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:11 PM Changeset in webkit [211982] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark two performance-api tests as flaky.

Unreviewed test gardening.

1:10 PM Changeset in webkit [211981] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix i386 libwebrtc build
https://bugs.webkit.org/show_bug.cgi?id=168038

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:

DataChannelInterface::buffered_amount returns a uint64_t, and we want a size_t.
If this overflows, then we've run out of memory and crashed a long time ago.

12:37 PM Changeset in webkit [211980] by beidson@apple.com
  • 8 edits in trunk/Source

Transition "WebKit Library Version" checks to SDK version checks.
<rdar://problem/30313696> and https://bugs.webkit.org/show_bug.cgi?id=168056

Reviewed by Geoffrey Garen.

Source/WebKit2:

Library version linkedOnOrAfter checks are error prone since apps may not link directly to WebKit.

We always know what version of the SDK an app was built with, so we should use SDK version checks
whenever possible.

  • Shared/Cocoa/CompletionHandlerCallChecker.mm:

(WebKit::shouldThrowExceptionForDuplicateCompletionHandlerCall):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

Add SDKVersion form of the linkedOnOrAfter check, and transition over the current Library Version checks:

  • UIProcess/Cocoa/VersionChecks.h:
  • UIProcess/Cocoa/VersionChecks.mm:

(WebKit::linkedOnOrAfter):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::isNetworkCacheEnabled):

Source/WTF:

  • wtf/spi/darwin/dyldSPI.h: Add entries for the iOS 10.3, macOS 10.11, and macOS 10.12.4 SDKs.
12:32 PM Changeset in webkit [211979] by akling@apple.com
  • 15 edits in trunk/Source/WebCore

Document::settings() should return a const Settings&.
<https://webkit.org/b/168061>

Reviewed by Geoffrey Garen.

  • Make Document::settings() return a const reference.
  • Added Document::mutableSettings() for all your non-const needs.
  • Fixed up settings generator to produce const getters.
  • Simplify a few settings() call sites that exposed themselves.
  • Modules/applepay/ApplePaySession.cpp:

(WebCore::shouldDiscloseApplePayCapability):

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::canCallGetUserMedia):

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::appendSources):

  • css/CSSFontSelector.cpp:

(WebCore::resolveGenericFamily):

  • css/StyleResolver.h:

(WebCore::StyleResolver::settings):

  • dom/Document.h:

(WebCore::Document::settings):
(WebCore::Document::mutableSettings):

  • html/FTPDirectoryDocument.cpp:

(WebCore::createTemplateDocumentData):

  • html/HTMLCanvasElement.cpp:

(WebCore::shouldEnableWebGL):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler):

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::updateDuringParsing):

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol):

  • page/make_settings.pl:

(printGetterAndSetter):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::toggleSimpleLineLayout):

12:28 PM Changeset in webkit [211978] by jer.noble@apple.com
  • 11 edits in trunk/Source/WebCore

Make passing PlatformAudioData in audioSamplesAvaliable const-correct.
https://bugs.webkit.org/show_bug.cgi?id=168051

Reviewed by Eric Carlson.

Modify all the functions which take a (conceptually) read-only audio buffer const-correct.

Drive-by fix: AudioSampleBufferList::copyFrom() set a ivar pointer to the passed in
AudioBufferList. Ensure that the ivar is reset when copyFrom() returns by using a
SetForScope.

  • platform/audio/mac/AudioSampleBufferList.cpp:

(WebCore::AudioSampleBufferList::copyFrom):

  • platform/audio/mac/AudioSampleBufferList.h:
  • platform/audio/mac/AudioSampleDataSource.cpp:

(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::AudioSampleDataSource::pushSamples):

  • platform/audio/mac/AudioSampleDataSource.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::audioSamplesAvailable):

  • platform/mediastream/RealtimeMediaSource.h:

(WebCore::RealtimeMediaSource::Observer::audioSamplesAvailable):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
  • platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
12:22 PM Changeset in webkit [211977] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Fix some logging statements in MediaPlayerPrivateMediaStreamAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=168063

Reviewed by Eric Carlson.

Make the format string match the types passed in (i.e., floats, not strings).

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateSampleTimes):

12:12 PM Changeset in webkit [211976] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: changing dock side from windowed to bottom should cause split console to collapse on Timeline and Network tabs
https://bugs.webkit.org/show_bug.cgi?id=167841

Patch by Devin Rousso <Devin Rousso> on 2017-02-09
Reviewed by Matt Baker.

  • UserInterface/Base/Main.js:

(WebInspector.updateDockedState):

12:11 PM Changeset in webkit [211975] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle.html.

Unreviewed test gardening.

This test relies on touch events.

  • platform/ios-simulator/TestExpectations:
12:10 PM Changeset in webkit [211974] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaStream Mac] Handle NULL m_sampleBufferDisplayLayer
https://bugs.webkit.org/show_bug.cgi?id=168060

Reviewed by Jer Noble.

No new tests, this avoids an occasional crash on the bots.

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange): Don't assume
m_sampleBufferDisplayLayer is valid.

11:29 AM Changeset in webkit [211973] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Option+hover on -webkit-transform in Styles sidebar underlines only half the property
https://bugs.webkit.org/show_bug.cgi?id=167949

Patch by Devin Rousso <Devin Rousso> on 2017-02-09
Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
Attempt to merge tokens (specifically the text and start values) if the either the
previous or next token is of the type "meta".

11:23 AM Changeset in webkit [211972] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Fix iOS libwebrtc build after r211960
https://bugs.webkit.org/show_bug.cgi?id=168038

  • Source/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h:

GlContextType declaration needs to be platform specific here like it is in RTCOpenGLDefines.h

11:10 AM Changeset in webkit [211971] by Ryan Haddad
  • 3 edits in branches/safari-603-branch/LayoutTests/imported/w3c

Rebaseline tests for rdar://problem/30181081.

Unreviewed test gardening.

  • web-platform-tests/fetch/api/basic/request-upload-expected.txt:
  • web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt:
10:54 AM Changeset in webkit [211970] by Chris Dumez
  • 8 edits in trunk

Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
https://bugs.webkit.org/show_bug.cgi?id=167964

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline web platform test now that more checks are passing.

  • web-platform-tests/dom/interfaces-expected.txt:

Source/WebCore:

Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
after the following WebIDL spec change:

This aligns our behavior with other browsers as the spec has been updated to match
the majority.

No new tests, rebaselined existing test.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):

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

(WebCore::JSTestCallbackInterfaceConstructor::prototypeForStructure):

LayoutTests:

Rebaseline existing tests now that output differs a bit.

  • http/tests/security/cross-frame-access-put-expected.txt:
  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
10:50 AM Changeset in webkit [211969] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.5.5

Tag Safari-604.1.5.5.

10:15 AM Changeset in webkit [211968] by Yusuke Suzuki
  • 2 edits in trunk/LayoutTests

Unreviewed, fix module test that has a meaningless onload handler
https://bugs.webkit.org/show_bug.cgi?id=161291

  • http/tests/misc/module-absolute-url.html:
10:11 AM Changeset in webkit [211967] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] scroll with transparent background not repainted after scrollY >= 32768
https://bugs.webkit.org/show_bug.cgi?id=154283

Reviewed by Carlos Garcia Campos.

Due to a limitation of the pixman backend, which uses 16 bits to hold signed integers, cairo is
not able to draw anything when using transformation matrices with values bigger than 32768. When
drawing patterns into large pages, the matrices values can overflow those 16 bits, so cairo doesn't
draw anything in, which causes the reported transparent backgrounds.

The patch modifies the transformation matrices both from the current context and the pattern we
are painting, to avoid them to hold values that cannot stored in 16 bits.

There's still the possibility that this happens, but it would require using a pattern with a size
bigger than 32768.

Based on a previous patch by Gwang Yoon Hwang <yoon@igalia.com>.

No new tests.

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::drawPatternToCairoContext):

10:10 AM Changeset in webkit [211966] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r211965.

  • dom/Document.cpp:

(WebCore::Document::adoptNode): inDocument -> isConnected

9:59 AM Changeset in webkit [211965] by Brent Fulgham
  • 23 edits
    4 adds in trunk

Adopting a child node of a script element can run script
https://bugs.webkit.org/show_bug.cgi?id=167318

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2017-02-09
Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by ScriptElement::childrenChanged indiscriminately running the script.
Do this only if some node has been inserted as spec'ed:

https://html.spec.whatwg.org/multipage/scripting.html#script-processing-model
"The script element is connected and a node or document fragment is inserted into
the script element, after any script elements inserted at that time."

Split NonContentsChildChanged into NonContentsChildInserted and NonContentsChildRemoved to disambiguate
non-contents child such as text and element being removed or inserted. New behavior matches that of
Gecko and Chrome as well as the latest HTML5 specification.

Also deploy NoEventDispatchAssertion in more places. Unfortunately, this results in some DOM trees
internal to WebKit to be mutated while there is NoEventDispatchAssertion in the stack. Added a new RAII
object "EventAllowedScope" to temporarily disable this assertion within such a tree. CachedSVGFont's
ensureCustomFontData used to completely disable this assertion but we no longer have to do this either.

To clarify the new semantics, renamed isEventDispatchForbidden to isEventAllowedInMainThread with
the negated boolean value, and added a new variant isEventDispatchAllowedInSubtree, which checks
isEventDispatchForbidden() is true or if the node was one of an internal DOM node or its descendent
held by EventAllowedScope.

Inspired by https://chromium.googlesource.com/chromium/src/+/604e798ec6ee30f44d57a5c4a44ce3dab3a871ed

Tests: fast/html/script-must-not-run-when-child-is-adopted.html

fast/html/script-must-not-run-when-child-is-removed.html

  • dom/CharacterData.cpp:

(WebCore::CharacterData::notifyParentAfterChange): Added NoEventDispatchAssertion.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore): Added NoEventDispatchAssertion around TreeScope's adoptIfNeeded
and insertBeforeCommon as done elsewhere.
(WebCore::ContainerNode::appendChildCommon): Added NoEventDispatchAssertion.
(WebCore::ContainerNode::changeForChildInsertion): Use NonContentsChildInserted here.
(WebCore::ContainerNode::notifyChildRemoved): Added NoEventDispatchAssertion.
(WebCore::ContainerNode::replaceChild): Moved adoptIfNeeded into NoEventDispatchAssertion.
(WebCore::ContainerNode::removeChild): Added NoEventDispatchAssertion.
(WebCore::ContainerNode::parserRemoveChild): Added NoEventDispatchAssertion.
(WebCore::ContainerNode::removeChildren): Call childrenChanged in NoEventDispatchAssertion.
(WebCore::ContainerNode::appendChildWithoutPreInsertionValidityCheck): Moved adoptIfNeeded into
NoEventDispatchAssertion.
(WebCore::dispatchChildInsertionEvents): Check the forbidden-ness more precisely.
(WebCore::dispatchChildRemovalEvents): Ditto.

  • dom/ContainerNode.h:

(WebCore::ContainerNode::ChildChange::isInsertion): Added.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::notifyChildNodeInserted): Check the forbidden-ness more precisely. Here, we check against
insertionPoint since EventAllowedScope checks against the root node.

  • dom/Document.cpp:

(WebCore::Document::adoptNode): Assert the node to be adopted has not been inserted back, or else
remove() had resulted in an exception before calling TreeScope::adoptIfNeeded.

  • dom/Element.cpp:

(WebCore::Element::childrenChanged):

  • dom/NoEventDispatchAssertion.h:

(WebCore::NoEventDispatchAssertion::isEventDispatchForbidden): Added a new variant that takes a node.
If this node is a descendent of a node "marked as safe" by EventAllowedScope, then we don't consider
the event dispatch to be forbidden.
(WebCore::NoEventDispatchAssertion::dropTemporarily): Deleted.
(WebCore::NoEventDispatchAssertion::restoreDropped): Deleted.
(WebCore::NoEventDispatchAssertion::EventAllowedScope): Added. A RAII object which marks descendants of
a given node as "safe" for the purpose of checking isEventDispatchForbidden.
(WebCore::NoEventDispatchAssertion::EventAllowedScope::EventAllowedScope): Added. There can be a chain
of EventAllowedScope objects in the stack. s_currentScope points to the most recently instantiated
RAII object, and each instance remembers prior instance.
(WebCore::NoEventDispatchAssertion::EventAllowedScope::~EventAllowedScope): Added.
(WebCore::NoEventDispatchAssertion::EventAllowedScope::isAllowedNode): Added. Returns true if the given
node is a descendent of any node held by instances of EventAllowedScope.
(WebCore::NoEventDispatchAssertion::EventAllowedScope::isAllowedNodeInternal): Added. A helper function
for isAllowedNode.

  • dom/Node.cpp:

(WebCore::Node::dispatchSubtreeModifiedEvent): Check the forbidden-ness more precisely.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::childrenChanged): Only prepare the script if we've inserted nodes.
(WebCore::ScriptElement::executeClassicScript): Assert isEventDispatchForbidden is false since running
arbitrary author scripts can, indeed, result dispatch any events.

  • dom/ScriptElement.h:
  • html/HTMLElement.cpp:

(WebCore::textToFragment): Made this a static local function and not return an exception since there
is no way appendChild called in this function can throw an exception.
(WebCore::HTMLElement::setInnerText): Create EventAllowedScope for the fragment. It's called called by
HTMLTextAreaElement's childrenChanged to update its UA shadow tree, and it's dispatching as event on
a new fragment can't execute arbitrary scripts since it has never been exposed to author scripts.
Because of the precise-ness of this check, this does not disable the assertion for "this" element.
HTMLTextFormControlElement::setInnerTextValue explicitly creates another EventAllowedScope to mark
the shadow tree into which the fragment is inserted safe.
(WebCore::HTMLElement::setOuterText):

  • html/HTMLElement.h:
  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::childrenChanged):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setInnerTextValue): See above (setInnerText).

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::createCueRenderingTree): Create EventAllowedScope for the cloned fragment here since
the VTT tree is never exposed to author scripts.
(WebCore::VTTCue::updateDisplayTree): Ditto.

  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::ensureCustomFontData): Use EventAllowedScope to disable assertions only on
the new SVG document we just created instead of disabling for all DOM trees.

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::childrenChanged):

LayoutTests:

Added regression tests for adopting or removing a child node of a script element.
The script must not run when nodes are adopted or removed.

  • fast/html/script-must-not-run-when-child-is-adopted-expected.txt: Added.
  • fast/html/script-must-not-run-when-child-is-adopted.html: Added.
  • fast/html/script-must-not-run-when-child-is-removed-expected.txt: Added.
  • fast/html/script-must-not-run-when-child-is-removed.html: Added.
9:47 AM Changeset in webkit [211964] by akling@apple.com
  • 47 edits in trunk/Source/WebCore

Document should always have a Settings.
<https://webkit.org/b/120172>

Reviewed by Antti Koivisto.

Since a Document can't move between Frames, and it's either frameless
or partnered with a Frame provided at construction time, we know that
it will never need to switch between different Settings objects either.

Give Document a Ref<Settings> that contains either the Frame's Settings
or a default-constructed Settings object if frameless.
Document::settings() is promoted to a reference getter.

The bulk of this patch is removing now-unnecessary null checks.

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:

(WebCore::WebKitMediaKeySession::mediaKeysStorageDirectory):

  • Modules/plugins/PluginReplacement.h:

(WebCore::ReplacementPlugin::isEnabledBySettings):

  • Modules/plugins/QuickTimePluginReplacement.h:
  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::isEnabledBySettings):

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::isEnabledBySettings):

  • Modules/plugins/YouTubePluginReplacement.h:
  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::constructCommon):

  • bindings/js/CachedScriptFetcher.cpp:

(WebCore::CachedScriptFetcher::requestScriptWithCache):

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::appendSources):
(WebCore::CSSFontFace::webFontsShouldAlwaysFallBack):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::fallbackFontCount):
(WebCore::CSSFontSelector::fallbackFontAt):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertResize):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueFontFamily):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::checkForGenericFamilyChange):
(WebCore::StyleResolver::initializeFontStyle):

  • css/StyleResolver.h:

(WebCore::StyleResolver::settings):
(WebCore::StyleResolver::documentSettings): Deleted.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::setReadyState):
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::defaultCharsetForLegacyBindings):
(WebCore::Document::recalcStyle):
(WebCore::Document::implicitClose):
(WebCore::Document::minimumLayoutDelay):
(WebCore::Document::setDomain):
(WebCore::Document::audioPlaybackRequiresUserGesture):
(WebCore::Document::videoPlaybackRequiresUserGesture):
(WebCore::Document::storageBlockingStateDidChange):
(WebCore::Document::isTelephoneNumberParsingEnabled):
(WebCore::Document::initSecurityContext):
(WebCore::Document::initDNSPrefetch):
(WebCore::Document::getCachedLocale):
(WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox):
(WebCore::Document::settings): Deleted.

  • dom/Document.h:

(WebCore::Document::settings):

  • dom/Element.cpp:

(WebCore::subpixelMetricsEnabled):

  • dom/ExtensionStyleSheets.cpp:

(WebCore::ExtensionStyleSheets::pageUserSheet):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::dispatchErrorEvent):

  • dom/ScriptableDocumentParser.cpp:

(WebCore::ScriptableDocumentParser::ScriptableDocumentParser):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::requestAnimationFrameEnabled):

  • dom/make_names.pl:

(printConstructorInterior):

  • editing/Editor.cpp:
  • editing/markup.cpp:

(WebCore::createMarkupInternal):

  • html/FTPDirectoryDocument.cpp:

(WebCore::createTemplateDocumentData):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setActive):
(WebCore::HTMLAnchorElement::sendPings):
(WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::canEmbedJava):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext2d):
(WebCore::shouldEnableWebGL):
(WebCore::HTMLCanvasElement::shouldAccelerate):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submitImplicitly):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::setLocation):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::updateImageControls):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::sourceURI):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::mediaPlayerMediaKeysStorageDirectory):
(WebCore::HTMLMediaElement::mediaPlayerAcceleratedCompositingEnabled):
(WebCore::HTMLMediaElement::enterFullscreen):
(WebCore::HTMLMediaElement::exitFullscreen):
(WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
(WebCore::HTMLMediaElement::mediaPlayerNetworkInterfaceName):
(WebCore::HTMLMediaElement::setMediaControlsDependOnPageScaleFactor):
(WebCore::HTMLMediaElement::doesHaveAttribute):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::HTMLVideoElement):

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
(WebCore::MediaElementSession::allowsAutomaticMediaDataLoading):
(WebCore::MediaElementSession::allowsPictureInPicture):
(WebCore::MediaElementSession::maximumMediaSourceBufferSize):

  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLink):

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::toggleSimpleLineLayout):

  • style/StyleFontSizeFunctions.cpp:

(WebCore::Style::computedFontSizeFromSpecifiedSize):
(WebCore::Style::fontSizeForKeyword):
(WebCore::Style::legacyFontSizeForPixelSize):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::collectActiveStyleSheets):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):

9:36 AM Changeset in webkit [211963] by Antti Koivisto
  • 6 edits in trunk/Source

Use all cacheable speculatively loaded responses
https://bugs.webkit.org/show_bug.cgi?id=168052

Reviewed by Andreas Kling.

Source/WebCore:

  • platform/network/CacheValidation.cpp:

(WebCore::isStatusCodeCacheableByDefault):
(WebCore::isStatusCodePotentiallyCacheable):

Moved here from WebKit2.

  • platform/network/CacheValidation.h:

Source/WebKit2:

We currently only allow 200 responses. There is no reason not to use speculative responses
that have other cacheable status codes. This is helpful for 204s and 404s.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::makeStoreDecision):
(WebKit::NetworkCache::isStatusCodeCacheableByDefault): Deleted.
(WebKit::NetworkCache::isStatusCodePotentiallyCacheable): Deleted.

Move to CacheValidation.h/cpp

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):

Allow all cacheable-by-default responses.

9:29 AM Changeset in webkit [211962] by eric.carlson@apple.com
  • 20 edits
    6 deletes in trunk

[MediaStream] Remove legacy Navigator.webkitGetUserMedia
https://bugs.webkit.org/show_bug.cgi?id=168016
Source/WebCore:

Reviewed by Youenn Fablet.

No new tests, existing tests updated.

  • WebCore.xcodeproj/project.pbxproj: NavigatorUserMedia.
  • DerivedSources.make: Ditto.
  • CMakeLists.txt: Ditto.
  • Modules/mediastream/NavigatorUserMedia.idl: Removed.
  • Modules/mediastream/NavigatorUserMedia.js: Removed.
  • WebCore.xcodeproj/project.pbxproj:
  • page/Navigator.idl: Add some whitespace to force derived sources to be rebuild correctly.

Source/WebInspectorUI:

Reviewed by Youenn Fablet.

  • UserInterface/Models/NativeFunctionParameters.js:

LayoutTests:

<rdar://problem/30431544>

Reviewed by Youenn Fablet.

Update valid tests to use navigator.mediaDevices.getUserMedia. Remove tests
specific to Navigator.webkitGetUserMedia.

  • fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
  • fast/mediastream/argument-types.html: Removed.
  • fast/mediastream/delayed-permission-allowed.html:
  • fast/mediastream/delayed-permission-denied.html:
  • fast/mediastream/enabled-expected.txt:
  • fast/mediastream/error.html:
  • fast/mediastream/getusermedia.html: Removed.
  • fast/mediastream/script-tests/argument-types.js: Removed.
  • fast/mediastream/script-tests/enabled.js:

(hasGetUserMediaProperty):

  • fast/mediastream/success.html:
  • fast/mediastream/webkitGetUserMedia-shadowing-then.html: Removed.
  • http/tests/media/media-stream/disconnected-frame-already-expected.txt:
  • http/tests/media/media-stream/disconnected-frame-already.html:
  • http/tests/media/media-stream/disconnected-frame-permission-denied.html:
  • http/tests/media/media-stream/disconnected-frame.html:
9:13 AM Changeset in webkit [211961] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Modern Media Controls] Tapping the skip back button on iOS inline media controls make the controls disappear
https://bugs.webkit.org/show_bug.cgi?id=168049
<rdar://problem/30442660>

Patch by Antoine Quint <Antoine Quint> on 2017-02-09
Reviewed by Eric Carlson.

Source/WebCore:

Calling elementAtPoint() on the Document will not return an element in the ShadowRoot,
we need to call it on the ShadowRoot. So we now iterate over ancestors of the controls
bar to find the ShadowRoot, if any, and check whether the tapped element is contained
within the controls bar. We only fade the controls bar out if the tapped element is
outside of the controls bar hierarchy.

Test: media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button.html

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

(ControlsBar.prototype.gestureRecognizerStateDidChange):

LayoutTests:

Add a new iOS-specific test that checks that tapping a button does not automatically dismisses the controls bar.

  • media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button-expected.txt: Added.
  • media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button.html: Added.
  • platform/mac/TestExpectations:
8:37 AM Changeset in webkit [211960] by achristensen@apple.com
  • 48 edits in trunk/Source/ThirdParty/libwebrtc

Fix i386 libwebrtc build
https://bugs.webkit.org/show_bug.cgi?id=168038

Reviewed by Geoffrey Garen.

Unfortunately, 32-bit ObjC can't use all the coolest new features of ObjC.
Fortunately, we can move things around a bit to become valid old ObjC.

  • Source/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCAudioSource.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCI420Shader.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCMediaSource+Private.h:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCMediaSource.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCShader.h:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.h:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm:
  • Source/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSource.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaSource.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpReceiver.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h:
  • Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h:

Make code compile for i386.

  • libwebrtc.xcodeproj/project.pbxproj:

Added missing headers so Xcode can search them.

8:33 AM Changeset in webkit [211959] by jer.noble@apple.com
  • 16 edits
    3 adds in trunk/Source/WebCore

Configure MockRealtimeAudioSourceMac to generate stereo audio
https://bugs.webkit.org/show_bug.cgi?id=168027

Reviewed by Eric Carlson.

Update MockRealtimeAudioSourceMac to generate stereo audio.

First, because the pattern of creating a AudioBufferList structure (with all it's quirks and
weird requirements) was repeated multiple places, add a new wrapper around ABL called
WebAudioBufferList which takes care of correctly initializing the ABL structure and manages
the lifetime of its data members.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/PlatformAudioData.h: Added.

(WebCore::PlatformAudioData::kind):

  • platform/audio/WebAudioBufferList.cpp: Added.

(WebCore::WebAudioBufferList::WebAudioBufferList):
(WebCore::WebAudioBufferList::buffers):
(WebCore::WebAudioBufferList::bufferCount):
(WebCore::WebAudioBufferList::buffer):

  • platform/audio/WebAudioBufferList.h: Added.

(WebCore::WebAudioBufferList::list):
(WebCore::WebAudioBufferList::operator AudioBufferList&):
(WebCore::WebAudioBufferList::kind):
(isType):

Then update existing code to work in terms of WebAudioBufferList:

  • platform/audio/mac/AudioSampleBufferList.cpp:

(WebCore::AudioSampleBufferList::AudioSampleBufferList):
(WebCore::AudioSampleBufferList::mixFrom):
(WebCore::AudioSampleBufferList::copyFrom):
(WebCore::AudioSampleBufferList::copyTo):
(WebCore::AudioSampleBufferList::reset):
(WebCore::AudioSampleBufferList::configureBufferListForStream): Deleted.

  • platform/audio/mac/AudioSampleBufferList.h:

(WebCore::AudioSampleBufferList::bufferList):

  • platform/audio/mac/AudioSampleDataSource.cpp:

(WebCore::AudioSampleDataSource::pushSamples):

  • platform/audio/mac/AudioSampleDataSource.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::audioSamplesAvailable):

  • platform/mediastream/RealtimeMediaSource.h:

(WebCore::RealtimeMediaSource::Observer::audioSamplesAvailable):

  • platform/mediastream/mac/AVAudioCaptureSource.h:
  • platform/mediastream/mac/AVAudioCaptureSource.mm:

(WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
  • platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.h:

Finally, actually update MockRealtimeAudioSource to emit stereo samples. Importantly, set
the correct values for the m_streamFormat; mBytesPerFrame and mBytesPerPacket are not
multiplied by the channelCount. When generating audio, write to both channels of data.

  • platform/mediastream/mac/MockRealtimeAudioSourceMac.h:
  • platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:

(WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers):
(WebCore::MockRealtimeAudioSourceMac::reconfigure):
(WebCore::MockRealtimeAudioSourceMac::render):

8:32 AM Changeset in webkit [211958] by Carlos Garcia Campos
  • 11 edits
    12 adds in releases/WebKitGTK/webkit-2.14

Merge r209145 - Use 'childOfType' template when retrieving Shadow DOM elements
https://bugs.webkit.org/show_bug.cgi?id=165145
<rdar://problem/29331830>

Reviewed by Antti Koivisto.

Source/WebCore:

Tests: fast/shadow-dom/color-input-element-shadow-manipulation.html

fast/shadow-dom/file-input-element-shadow-manipulation.html
fast/shadow-dom/keygen-shadow-manipulation.html
fast/shadow-dom/media-shadow-manipulation.html
fast/shadow-dom/range-input-element-shadow-manipulation.html
fast/shadow-dom/textarea-shadow-manipulation.html

Switch to using 'childOfType' when retrieving Shadow DOM elements, rather
than relying on expected element positions, as these can be changed by
JavaScript.

Drive by fix: Make more use of is<> and downcast<> templates rather than blindly casting.

  • dom/Element.h:

(WebCore::Element::isUploadButton): Added.
(WebCore::Element::isSliderContainerElement): Added.

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shadowColorSwatch): Use 'childOfType' rather than assuming
the first child is the one we want.

  • html/FileInputType.cpp:

(isType): Added.
(WebCore::FileInputType::disabledAttributeChanged): Use 'childOfType' rather than assuming
the first child is the one we want.
(WebCore::FileInputType::multipleAttributeChanged): Ditto.

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::shadowSelect): Ditto.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaControls): Ditto.
(WebCore::HTMLMediaElement::hasMediaControls): Ditto.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::innerTextElement): Ditto.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::sliderTrackElement): Ditto.

  • html/shadow/SliderThumbElement.h:

(isType): Added.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::targetClone): Use 'childOfType' rather than assuming
the first child is the one we want.

LayoutTests:

  • fast/shadow-dom/color-input-element-shadow-manipulation-expected.txt: Added.
  • fast/shadow-dom/color-input-element-shadow-manipulation.html: Added.
  • fast/shadow-dom/file-input-element-shadow-manipulation-expected.txt: Added.
  • fast/shadow-dom/file-input-element-shadow-manipulation.html: Added.
  • fast/shadow-dom/keygen-shadow-manipulation-expected.txt: Added.
  • fast/shadow-dom/keygen-shadow-manipulation.html: Added.
  • fast/shadow-dom/media-shadow-manipulation-expected.txt: Added.
  • fast/shadow-dom/media-shadow-manipulation.html: Added.
  • fast/shadow-dom/range-input-element-shadow-manipulation-expected.txt: Added.
  • fast/shadow-dom/range-input-element-shadow-manipulation.html: Added.
  • fast/shadow-dom/textarea-shadow-manipulation-expected.txt: Added.
  • fast/shadow-dom/textarea-shadow-manipulation.html: Added.
8:32 AM Changeset in webkit [211957] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Nullptr crash under styleForFirstLetter
https://bugs.webkit.org/show_bug.cgi?id=167756
rdar://problem/30029354

Reviewed by Zalan Bujtas.

Don't know how we get here. Paper over the crash.

  • rendering/RenderBlock.cpp:

(WebCore::styleForFirstLetter):

Use parent first line style if we compute null style for the first letter renderer.

8:22 AM Changeset in webkit [211956] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip tests that require UIScriptController::zoomToScale.

  • platform/gtk/TestExpectations:
8:20 AM Changeset in webkit [211955] by graouts@webkit.org
  • 4 edits
    2 adds in trunk

[Modern Media Controls] Playing an <audio> element on iOS makes the controls disappear
https://bugs.webkit.org/show_bug.cgi?id=168047
<rdar://problem/30441939>

Reviewed by Eric Carlson.

Source/WebCore:

The controls bar auto-hide behavior is disabled for <audio> elements, but on iOS we have
a TapGestureRecognizer to identify when controls are tapped to toggle controls visibility.
This gesture recognizer would be on at all times, but it should only be enabled when
fadesToIdle is set to true.

Test: media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle.html

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

(ControlsBar.prototype.set fadesWhileIdle):

LayoutTests:

Add a new iOS-specific test that checks the TapGestureRecognizer is only enabled when
fadesToIdle is true.

  • media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle-expected.txt: Added.
  • media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle.html: Added.
  • platform/mac/TestExpectations:
8:03 AM Changeset in webkit [211954] by commit-queue@webkit.org
  • 5 edits in trunk

Improve W3C importer command line options
https://bugs.webkit.org/show_bug.cgi?id=167448

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-09
Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • resources/TestRepositories: Skipped module generation and gitignore generation for the moment.

Tools:

Making the list of test paths to import the main arguments of the script.
Allow passing the source directory to import as a -s option.
Adding a warning when given test paths are skipped by default in ImportExpectations.

Making link conversion off by default when importing from a specific directory since this script is mostly used with web-platform-tests.
Link conversion rules do not change when imported tests are downloaded by the script.

  • Scripts/webkitpy/w3c/test_importer.py:

(main):
(parse_args):
(TestImporter.init):
(TestImporter.do_import):
(TestImporter):
(TestImporter.check_imported_expectations):

7:59 AM Changeset in webkit [211953] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Modern Media Controls] <audio> element does not show any background on iOS
https://bugs.webkit.org/show_bug.cgi?id=168046
<rdar://problem/30441872>

Patch by Antoine Quint <Antoine Quint> on 2017-02-09
Reviewed by Eric Carlson.

Source/WebCore:

Use a solid gray background for <audio> elements on iOS.

Test: media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-audio-background.html

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

(:host(audio) .media-controls.ios.inline > .controls-bar:before):

LayoutTests:

Add an iOS-specific test that checks that <audio> elements have a solid gray background.

  • media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-audio-background-expected.txt: Added.
  • media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-audio-background.html: Added.
  • platform/mac/TestExpectations:
7:13 AM Changeset in webkit [211952] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

[Modern Media Controls] Controls fail to instantiate in an XHTML document
https://bugs.webkit.org/show_bug.cgi?id=168045
<rdar://problem/30290095>

Patch by Antoine Quint <Antoine Quint> on 2017-02-09
Reviewed by Eric Carlson.

Source/WebCore:

Always use valid HTML and XHTML strings when creating HTML elements.

Test: media/modern-media-controls/media-controller/media-controller-in-xhtml.xhtml

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

(Button):

  • Modules/modern-media-controls/controls/buttons-container.js:
  • Modules/modern-media-controls/controls/controls-bar.js:
  • Modules/modern-media-controls/controls/macos-inline-media-controls.js:
  • Modules/modern-media-controls/controls/media-controls.js:
  • Modules/modern-media-controls/controls/slider.js:
  • Modules/modern-media-controls/controls/status-label.js:
  • Modules/modern-media-controls/controls/time-control.js:
  • Modules/modern-media-controls/controls/time-label.js:
  • Modules/modern-media-controls/controls/tracks-panel.js:

LayoutTests:

Add a new test to check that controls are created correctly when the media element
is hosted in an XHTML document.

  • media/modern-media-controls/media-controller/media-controller-in-xhtml-expected.txt: Added.
  • media/modern-media-controls/media-controller/media-controller-in-xhtml.xhtml: Added.
6:43 AM Changeset in webkit [211951] by Carlos Garcia Campos
  • 2 edits
    5 deletes in trunk/LayoutTests

Unreviewed GTK+ gardening. Update tests that pass now with the URLParser enabled.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Removed.
  • platform/gtk/fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Removed.
  • platform/gtk/fast/loader/url-parse-1-expected.txt: Removed.
  • platform/gtk/fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Removed.
  • platform/gtk/fast/url/invalid-idn-expected.txt: Removed.
  • platform/gtk/fast/url/segments-userinfo-vs-host-expected.txt: Removed.
  • platform/gtk/fast/url/tab-and-newline-stripping-expected.txt: Removed.
  • platform/gtk/fast/url/url-credentials-escaping-expected.txt: Removed.
5:57 AM Changeset in webkit [211950] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix typo in comment

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::replaceDocument):

5:55 AM Changeset in webkit [211949] by akling@apple.com
  • 11 edits
    4 adds in trunk

Disallow accelerated rendering for ginormous 2D canvases.
<https://webkit.org/b/167968>
<rdar://problem/30119483>

Reviewed by Antti Koivisto.

Source/WebCore:

Add a "maximumAccelerated2dCanvasSize" setting that defaults to 5120x2880
which is the 5K resolution for 16:9.

Also added a way to include the "accelerates drawing" flag in layer tree dumps.

Test: compositing/canvas/accelerated-canvas-compositing-size-limit.html

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::shouldAccelerate):

  • page/Frame.h:
  • page/Settings.in:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties):

  • platform/graphics/GraphicsLayerClient.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerTreeAsText):

  • testing/Internals.cpp:

(WebCore::toLayerTreeFlags):

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

LayoutTests:

Add a simple test that documents the fact that we no longer accelerate canvases
larger than 5120x2880.

  • compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt: Added.
  • compositing/canvas/accelerated-canvas-compositing-size-limit.html: Added.
  • platform/ios-simulator/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt: Added.
5:52 AM Changeset in webkit [211948] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Add expectations for more tests that require drag and drop.

  • platform/gtk/TestExpectations:
4:20 AM Changeset in webkit [211947] by tpopela@redhat.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix gtk-doc warning

html/WebKitSettings.html:4435: warning: no link for: 'api-index-2.3' -> (2.3).

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_class_init):

3:09 AM Changeset in webkit [211946] by Antti Koivisto
  • 51 edits in trunk/Source

Remove most cases of #if ENABLE(CACHE_PARTITIONING)
https://bugs.webkit.org/show_bug.cgi?id=167990

Reviewed by Sam Weinig.

Source/WebCore:

We'll just return empty string for the partition if partitioning is not enabled.

  • html/DOMURL.cpp:

(WebCore::DOMURL::revokeObjectURL):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResource):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::url):
(WebCore::CachedResource::cachePartition):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::setDomainForCachePartition):

  • loader/cache/CachedResourceRequest.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::addImageToCache):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
(WebCore::MemoryCache::removeResourcesWithOrigin):
(WebCore::MemoryCache::removeResourcesWithOrigins):
(WebCore::MemoryCache::getOriginsWithCache):
(WebCore::MemoryCache::originsWithCache):

  • loader/cache/MemoryCache.h:
  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::domainForCachePartition):

  • page/SecurityOrigin.h:
  • platform/SchemeRegistry.cpp:

(WebCore::cachePartitioningSchemes):
(WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):

  • platform/SchemeRegistry.h:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::setAsIsolatedCopy):
(WebCore::ResourceRequestBase::setCachePartition):
(WebCore::ResourceRequestBase::partitionName):

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::cachePartition):
(WebCore::ResourceRequestBase::setDomainForCachePartition):

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::cachePartition): Deleted.
(WebCore::ResourceRequest::setCachePartition): Deleted.
(WebCore::ResourceRequest::setDomainForCachePartition): Deleted.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::partitionName): Deleted.
(WebCore::ResourceRequest::doPlatformSetAsIsolatedCopy): Deleted.

  • platform/network/cf/ResourceResponse.h:
  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

  • testing/Internals.cpp:

(WebCore::Internals::isLoadingFromMemoryCache):

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache addImageToCache:forURL:forFrame:]):
(+[WebCache removeImageFromCacheForURL:forFrame:]):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::makeCacheKey):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::constructRevalidationRequest):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceRequest>::encode):
(IPC::ArgumentCoder<ResourceRequest>::decode):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextRegisterURLSchemeAsCachePartitioned):

  • UIProcess/WebProcessPool.cpp:

(WebKit::m_hiddenPageThrottlingTimer):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::registerURLSchemeAsCachePartitioned):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::registerURLSchemeAsCachePartitioned):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
2:41 AM Changeset in webkit [211945] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Add Web Bluetooth as Not Considering
https://bugs.webkit.org/show_bug.cgi?id=168042

Reviewed by Yusuke Suzuki.

Add Web Bluetooth as a feature not being considered to be implemented in WebKit.

  • features.json:
12:57 AM Changeset in webkit [211944] by Carlos Garcia Campos
  • 5 edits
    3 adds in releases/WebKitGTK/webkit-2.14

Merge r210122 - Nested calls to setDocument can omit firing 'unload' events
https://bugs.webkit.org/show_bug.cgi?id=166422
<rdar://problem/29763012>

Reviewed by Alex Christensen.

Source/WebCore:

Test: fast/loader/nested-document-handling.html

Only allow a single document change to be taking place during a given runloop cycle.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeIfJavaScriptURL): Block script changing the document
when we are in the middle of changing the document.

  • page/Frame.cpp:

(WebCore::Frame::setDocument): Keep track of document change state.

  • page/Frame.h:

LayoutTests:

  • fast/loader/nested-document-handling-expected.txt: Added.
  • fast/loader/nested-document-handling.html: Added.
  • fast/loader/resources/subframe-success.html: Added.
12:56 AM Changeset in webkit [211943] by Carlos Garcia Campos
  • 38 edits
    8 adds in releases/WebKitGTK/webkit-2.14

Merge r211254 - Crash when navigating back to a page in PacheCache when one of its frames has been removed
https://bugs.webkit.org/show_bug.cgi?id=167421
<rdar://problem/30188490>

Reviewed by Darin Adler.

Source/WebCore:

Disallow page caching of a page if:

  1. The main window has an opener (i.e. it was opened via window.open)
  2. It has ever used window.open()

This is because allowing page caching in this case would allow such
windows to script each other even after one of them entered Page
Cache. Allowing this is dangerous and easily causes crashes.

This is a short term workaround until we find a better solution to
the problem. One issue is this workaround is that navigating back
to a page that has an opener or used window.open() will not longer
get the page from PageCache. As a result, state may be lost upon
navigating back. However, we never guarantee that pages get page
cached, and Chrome does not have a PageCache.

Tests: fast/history/page-cache-after-window-open.html

fast/history/page-cache-back-navigation-crash.html
fast/history/page-cache-with-opener.html

  • dom/Document.cpp:

(WebCore::Document::hasEverCalledWindowOpen):
(WebCore::Document::markHasCalledWindowOpen):

  • dom/Document.h:
  • history/PageCache.cpp:

(WebCore::canCachePage):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::hasCalledWindowOpenKey):
(WebCore::DiagnosticLoggingKeys::hasOpenerKey):

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

(WebCore::Page::openedByWindowOpen):

  • page/Page.h:
  • page/Settings.in:

Source/WebKit/mac:

Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.

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

(+[WebPreferences initialize]):
(-[WebPreferences allowsPageCacheWithWindowOpener]):
(-[WebPreferences setAllowsPageCacheWithWindowOpener:]):

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

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.

  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):

  • WebPreferences.h:

Source/WebKit2:

Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.

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

(WKPreferencesSetAllowsPageCacheWithWindowOpener):
(WKPreferencesGetAllowsPageCacheWithWindowOpener):

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

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • fast/history/page-cache-after-window-open-expected.txt: Added.
  • fast/history/page-cache-after-window-open.html: Added.
  • fast/history/page-cache-back-navigation-crash-expected.txt: Added.
  • fast/history/page-cache-back-navigation-crash.html: Added.
  • fast/history/page-cache-with-opener-expected.txt: Added.
  • fast/history/page-cache-with-opener.html: Added.
  • fast/history/resources/page-cache-window-with-iframe.html: Added.
  • fast/history/resources/page-cache-window-with-opener.html: Added.

Add layout test coverage.

  • editing/mac/input/unconfirmed-text-navigation-with-page-cache.html:
  • fast/harness/page-cache-crash-on-data-urls.html:
  • fast/harness/use-page-cache.html:
  • fast/history/page-cache-after-window-open-expected.txt: Added.
  • fast/history/page-cache-after-window-open.html: Added.
  • fast/history/page-cache-with-opener-expected.txt: Added.
  • fast/history/page-cache-with-opener.html: Added.
  • fast/history/resources/page-cache-window-with-opener.html: Added.
  • fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html:
  • fast/loader/stateobjects/popstate-fires-with-page-cache.html:
  • tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:

These tests relied on using window.open() to test PageCache for convenience. They now
need to override a setting in order to be allowed to do so.

12:56 AM Changeset in webkit [211942] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r210120 - Do not destroy the RenderNamedFlowFragment as leftover anonymous block.
https://bugs.webkit.org/show_bug.cgi?id=166436
rdar://problem/29772233

Reviewed by Simon Fraser.

Source/WebCore:

When as the result of certain style change, the generated anonymous block is not needed anymore, we
move its descendants up to the parent and destroy the generated box. While RenderNamedFlowFragment is a generated
block, the cleanup code should just ignore it the same way we ignore boxes like multicolumn, mathml etc.

Test: fast/regions/flow-fragment-as-anonymous-block-crash.html

  • rendering/RenderObject.h:

(WebCore::RenderObject::isAnonymousBlock):

LayoutTests:

  • fast/regions/flow-fragment-as-anonymous-block-crash-expected.txt: Added.
  • fast/regions/flow-fragment-as-anonymous-block-crash.html: Added.
12:56 AM Changeset in webkit [211941] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r209926 - Defer certain accessibility callbacks until after layout is finished.
https://bugs.webkit.org/show_bug.cgi?id=165861
rdar://problem/29646301

Reviewed by Chris Fleizach.

Source/WebCore:

Currently with certain AXObjectCache callbacks, we can end up in a layout while the render tree is being mutated.
This patch ensures that such callbacks are deferred until after tree mutation/layout is finished.

Test: accessibility/accessibility-crash-with-dynamic-inline-content.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::performDeferredIsIgnoredChange):
(WebCore::AXObjectCache::insertDeferredIsIgnoredChange):

  • accessibility/AXObjectCache.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::deleteLines):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createAndAppendRootInlineBox):

LayoutTests:

  • accessibility/accessibility-crash-with-dynamic-inline-content-expected.txt: Added.
  • accessibility/accessibility-crash-with-dynamic-inline-content.html: Added.
12:55 AM Changeset in webkit [211940] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore

Merge r210288 - Correct DOMWindow handling during FrameLoader::clear
https://bugs.webkit.org/show_bug.cgi?id=166357
<rdar://problem/29741862>

Reviewed by Andy Estes.

Make sure that we always clean up the DOM window when clearing Window properties, even if the document will
remain in the page cache. Since 'clearWindowShell' is only used in FrameLoader, divide it's beahvior into
two steps:

  1. Rename 'clearWindowShell' to 'clearWIndowShellsNotMatchingDOMWindow' to better describe its function.

Switch to a modern C++ loop. Do not switch to the new DOMWindow here, but detach and clear existing
DOMWindow connections.

  1. Add a new method 'setDOMWindowForWindowShell'. Complete switch to the new DOMWindow.

This change allows us to disconnect the old DOMWindow, perform the 'setDocument(nullptr)' operation, and then
connect to the new Window without leaving the loader in an inconsistent state.

  • loader/bindings/js/ScriptController.cpp:

(WebCore::clearWindowShellsNotMatchingDOMWindow): Renamed from 'clearWindowShell'
(WebCore::setDOMWindowForWindowShell): Added.

  • loader/bindings/js/ScriptController.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear): Revise to use the new two-step DOMWindow switch logic.

12:55 AM Changeset in webkit [211939] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r209990 - Side effects while restting form elements
https://bugs.webkit.org/show_bug.cgi?id=165959
<rdar://problem/29705967>

Reviewed by Anders Carlsson.

Source/WebCore:

JavaScript logic can run while resetting FormElement objects. This can
lead to unintended side-effets and other unwanted behavior. We should
protect these elements during the reset.

Test: fast/html/form-mutate.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::HTMLFormElement): Switch to C++11 initialization.
(WebCore::HTMLFormElement::reset): Protect elements until the reset
operation is finished.
(WebCore::HTMLFormElement::resetAssociatedFormControlElements): Added to share
code with 'resumeFromDocument'.
(WebCore::HTMLFormElement::resumeFromDocument): Protect elements until the
reset operation is finished.

LayoutTests:

  • fast/html/form-mutate-expected.txt: Added.
  • fast/html/form-mutate.html: Added.
12:55 AM Changeset in webkit [211938] by Carlos Garcia Campos
  • 20 edits
    3 adds
    2 deletes in releases/WebKitGTK/webkit-2.14

Merge r209424 - Introduce the concept of Immutable Prototype Exotic Objects to comply with the spec.
https://bugs.webkit.org/show_bug.cgi?id=165227
<rdar://problem/29442665>

Reviewed by Saam Barati.

JSTests:

  • stress/get-from-scope-dynamic-onto-proxy.js:
  • Updated error message.
  • stress/proxy-dont-infinite-loop.js: Removed.
  • stress/proxy-json-path.js: Removed.
  • stress/rest-parameter-allocation-elimination-watchpoints-6.js: Removed.
  • Removed these tests because the issue they are testing relies on being able to set Object.prototype.proto to something else (which is now not possible).

Source/JavaScriptCore:

  • runtime/JSObject.cpp:

(JSC::JSObject::setPrototypeWithCycleCheck):

  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::isImmutablePrototypeExoticObject):

  • runtime/Structure.h:
  • Add flag for declaring immutable prototype exotic objects.
  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSetPrototypeOf):

  • Use better error messages.

Source/WebCore:

Make all objects in window.proto's prototype chain immutable prototype exotic
objects. This gives us roughly equivalent behavior to other browsers.

Firefox's behavior differ slightly in that Firefox will fail any attempted
assignment their proto, while the immutable prototype exotic objects will
only fail if the assignment is of a different value. See
https://tc39.github.io/ecma262/#sec-immutable-prototype-exotic-objects.

Chrome differs in that assignment to window.proto is also handled like an
immutable prototype exotic object. Instead we adhere to the current HTML spec
that says that the assignment should fail unconditionally. See
https://html.spec.whatwg.org/#the-windowproxy-exotic-object and
https://html.spec.whatwg.org/#windowproxy-setprototypeof.

If the HTML spec is changed to make the WindowProxy and Location objects into
immutable prototype exotic objects later, we can update to match the spec then.

Test: js/prototype-assignment.html

  • bindings/js/JSDOMWindowProperties.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GeneratePrototypeDeclaration):

  • bindings/scripts/IDLAttributes.txt:
  • dom/EventTarget.idl:
  • page/DOMWindow.idl:

LayoutTests:

The new prototype-assignment.js test is currently only enabled for LLInt only
run in the JSC tests until webkit.org/b/165401 is fixed.

  • TestExpectations:
  • Skip js/prototype-assignment.html for now until webkit.org/b/165401 is fixed.
  • http/tests/security/window-named-valueOf-expected.txt:
  • js/dom/proxy-is-not-allowed-in-global-prototype-chain-expected.txt:
  • js/dom/proxy-is-not-allowed-in-global-prototype-chain.html:
  • Updated error messages.
  • js/prototype-assignment-expected.txt: Added.
  • js/prototype-assignment.html: Added.
  • js/script-tests/prototype-assignment.js: Added.

(else):
(reportError):
(shouldEqual):
(shouldThrow):
(stringify):
(makeTestID):
(doInternalSetPrototypeOf):
(ordinarySetPrototypeOf):
(setImmutablePrototype):
(windowProxySetPrototypeOf):
(initSetterExpectation):
(throwIfNoExceptionPending):
(objectSetPrototypeOf):
(setUnderscoreProto):
(reflectSetPrototypeOf):
(newObjectProto.toString):
(this.testObject.targets.push.value):
(this.testProxy.targets.push.setPrototypeOf):
(Symbol):
(test):
(runTests):

  • js/setPrototypeOf-expected.txt:
12:55 AM Changeset in webkit [211937] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r209149 - Proxy is not allowed in the global prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=165205

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • We'll now throw a TypeError if we detect a Proxy in the global prototype chain.

LayoutTests:

  • js/dom/proxy-is-not-allowed-in-global-prototype-chain-expected.txt: Added.
  • js/dom/proxy-is-not-allowed-in-global-prototype-chain.html: Added.
12:54 AM Changeset in webkit [211936] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r208745 - Correct handling of changing input type
https://bugs.webkit.org/show_bug.cgi?id=164759
<rdar://problem/29211174>

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/forms/search-cancel-button-change-input.html

It is possible for JavaScript to change the type property of an input field. WebKit
needs to gracefully handle this case.

Add a type traits specialization so we can properly downcast InputType elements.
Use this to only call search functions on actual search input types.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::onSearch): Only perform search functions if the
input type is actually a search field.

  • html/InputType.h: Add type traits specialization for 'downcast' template.
  • html/SearchInputType.h: Ditto.

LayoutTests:

  • fast/forms/search-cancel-button-change-input-expected.txt: Added.
  • fast/forms/search-cancel-button-change-input.html: Added.
12:54 AM Changeset in webkit [211935] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r208628 - Neutered ArrayBuffers are not properly serialized
https://bugs.webkit.org/show_bug.cgi?id=164647
<rdar://problem/29213490>

Reviewed by David Kilzer.

Source/WebCore:

Correct binding logic to handle ImageBuffers being deserialized from neutered ArrayBuffers.

Test: fast/canvas/neutered-imagedata.html

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::readTerminal):

LayoutTests:

  • fast/canvas/neutered-imagedata-expected.txt: Added.
  • fast/canvas/neutered-imagedata.html: Added.
12:54 AM Changeset in webkit [211934] by Carlos Garcia Campos
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.14

Merge r208825 - Clear track client when removing a track
https://bugs.webkit.org/show_bug.cgi?id=164842
<rdar://problem/29213621>

Reviewed by Eric Carlson.

Source/WebCore:

Call 'clearClient' when removing a track from an HTMLMediaElement.

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

media/track/video-track-add-remove.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removeAudioTrack): Call 'clearClient'
(WebCore::HTMLMediaElement::removeVideoTrack): Ditto.

LayoutTests:

  • media/track/audio-track-add-remove-expected.txt: Added.
  • media/track/audio-track-add-remove.html: Added.
  • media/track/video-track-add-remove-expected.txt: Added.
  • media/track/video-track-add-remove.html: Added.
12:54 AM Changeset in webkit [211933] by Carlos Garcia Campos
  • 3 edits
    6 adds in releases/WebKitGTK/webkit-2.14

Merge r210112 - Bypass pop-up blocker from cross-origin or sandboxed frame
https://bugs.webkit.org/show_bug.cgi?id=166290
<rdar://problem/29742039>

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html

fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html
fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open): Use FrameLoader::findFrameForNavigation() to find the
target frame to navigate with respect to the active document just as we do in WebCore::createWindow().

LayoutTests:

  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame-expected.txt: Added.
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: Added.
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2-expected.txt: Added.
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: Added.
  • fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt: Added.
  • fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame.html: Added.
12:15 AM Changeset in webkit [211932] by achristensen@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

Remove svn:executable property from headers.

  • Source/webrtc/base/sigslottester.h: Removed property svn:executable.
  • Source/webrtc/modules/video_processing/util/skin_detection.h: Removed property svn:executable.
Note: See TracTimeline for information about the timeline view.