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

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

Note: See TracTimeline for information about the timeline view.