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

Timeline



Apr 21, 2018:

6:21 PM Changeset in webkit [230899] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Cleanup CookieRequestHeaderFieldProxy
https://bugs.webkit.org/show_bug.cgi?id=184868

Remove extraneous whitespace that I inadvertently added.

  • platform/network/CookieRequestHeaderFieldProxy.h:

(WebCore::CookieRequestHeaderFieldProxy::decode):

6:16 PM Changeset in webkit [230898] by dbates@webkit.org
  • 9 edits in trunk/Source/WebCore

Cleanup CookieRequestHeaderFieldProxy
https://bugs.webkit.org/show_bug.cgi?id=184868

Reviewed by Youenn Fablet.

Simplify the struct CookieRequestHeaderFieldProxy and make it consistent with other structs.
Among other changes, remove constructors for CookieRequestHeaderFieldProxy as they are
unnecessary as all supported compilers support non-static data member initializers (NSDMI)
for aggregates, remove prefix "m_" from the name of fields as this is struct exists for
convenience and offers no encapsulation and simplify decoding logic of this struct.

No functionality changed. So, no new tests.

  • loader/CookieJar.cpp:

(WebCore::cookieRequestHeaderFieldProxy):

  • platform/network/CookieRequestHeaderFieldProxy.h:

(WebCore::CookieRequestHeaderFieldProxy::encode const):
(WebCore::CookieRequestHeaderFieldProxy::decode):
(WebCore::CookieRequestHeaderFieldProxy::CookieRequestHeaderFieldProxy): Deleted.

  • platform/network/SocketStreamHandleImpl.cpp:

(WebCore::cookieDataForHandshake):

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/curl/CookieJarCurlDatabase.cpp:

(WebCore::CookieJarCurlDatabase::cookieRequestHeaderFieldValue const):

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookieRequestHeaderFieldValue):

2:58 PM Changeset in webkit [230897] by Yusuke Suzuki
  • 2 edits in trunk/Source/bmalloc

Unreviewed, follow-up patch after r230474
https://bugs.webkit.org/show_bug.cgi?id=166684

Add "JavaScriptCore" to Darwin name. And use short name "BMScavenger"
for Linux since adding "JavaScriptCore" makes the name too long for Linux.

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::threadRunLoop):

2:52 PM Changeset in webkit [230896] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Disable backward and forward navigation swipes while in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=184656
rdar://problem/36057535

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-04-21
Reviewed by Tim Horton.

Disable navigation swipes while in fullscreen.

  • UIProcess/Cocoa/ViewGestureController.cpp:

(WebKit::ViewGestureController::canSwipeInDirection const):

2:49 PM Changeset in webkit [230895] by graouts@webkit.org
  • 11 edits
    3 copies
    1 add in trunk

[Modern Media Controls] Show a loading indicator after pressing the play button in compact mode
https://bugs.webkit.org/show_bug.cgi?id=184863
<rdar://problem/38939468>

Reviewed by Dean Jackson.

Source/WebCore:

We now display a loading indicator after pressing the play button when in compact mode. We also update the
behavior to use assets provided through WebKitAdditions (see webkit.org/b/184862) for the play button and
the invalid icon. Additionally, we always show a 20% opaque black overlay in the background while any piece
of user interface is up.

  • Modules/modern-media-controls/controls/compact-activity-indicator.css: Added.

(button.compact-activity-indicator > picture): The loading indicator asset is a sprite made of 23 frames, so
we specify the mask size (since all buttons are rendered via a mask) to be 23 * 100% the rendered size. The
display of the loading indicator is performed with a first intro animation which runs once through the first
8 frames and then a continuously looping animation going through the remaining frames. We use a frames()
timing function to achieve the frame-by-frame effect while using only from/to keyframe animations. When we
fade out, we use a simply opacity fade, which is combined with the spinning animation. We use CSS variables
to encode both animations so they can be used combined or one at a time without redefining the whole animation
property.
(button.compact-activity-indicator.spins > picture): Use the "spins" animation variable when spinning.
(button.compact-activity-indicator.spins.fades-out > picture): Combine the "spins" and "fades-out" animation
variables when fading out.
(@keyframes compact-activity-indicator-intro): Animation going through the first 8 frames of the loading indicator.
(@keyframes compact-activity-indicator-loop): Animation going through the remaining frames of the loading indicator.
(@keyframes compact-activity-indicator-fades-out): Animation fading opacity from 1 to 0.

  • Modules/modern-media-controls/controls/compact-activity-indicator.js: Added.

(CompactActivityIndicator):
(CompactActivityIndicator.prototype.show): Add the "spins" CSS class to show the control spinning with the intro animation.
(CompactActivityIndicator.prototype.hide): Add the "fades-out" CSS class to hide the control, removing both this class and
the "spins" class when the fade-out animation completes.

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

(.media-controls.compact:before): Add a 20% black overlay over the video frame to provide contrast for controls.
(.media-controls.compact button): Ensure buttons are sized to use the entire video frame so that their hit region
comprises the whole video frame.
(.media-controls.compact button > picture): Override default blending styles for a simple solid white mask.
(.media-controls.compact button:active > picture): Turn off the scale down effect when pressing a button.

  • Modules/modern-media-controls/controls/compact-media-controls.js: Expose a "state" property for the compact media controls,

which can be exlusively one of three: "paused", "pending" and "invalid".
(CompactMediaControls.):
(CompactMediaControls.prototype.get state):
(CompactMediaControls.prototype.set state):
(CompactMediaControls.prototype.layout): In the "paused" state, show the play button. In the "pending" state show
the loading indicator. In the "invalid" state show the invalid button.
(CompactMediaControls.prototype.get placard): Deleted.
(CompactMediaControls.prototype.set placard): Deleted.

  • Modules/modern-media-controls/js-files:
  • Modules/modern-media-controls/media/compact-media-controls-support.js: Added.

(CompactMediaControlsSupport.prototype.get mediaEvents):
(CompactMediaControlsSupport.prototype.handleEvent): Make the controls enter the "paused" state when receiving a "pause"
event. Make the controls enter the "invalid" state when receiving an "error" event.
(CompactMediaControlsSupport.prototype.enable):
(CompactMediaControlsSupport.prototype.disable):
(CompactMediaControlsSupport.prototype.buttonWasPressed): Play the media when pressing the play button and make the controls
enter the "pending" state. When pressing the loading indicator, pause the media and make the controls enter the "paused" state.
(CompactMediaControlsSupport.prototype._buttons):
(CompactMediaControlsSupport):

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

(MediaController.prototype._supportingObjectClasses): Only use CompactMediaControlsSupport as a media controller supporting object
in the compact mode.

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

(PlacardSupport.prototype.get mediaEvents): This media controller support object no longer needs to deal with compact mode.

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

(PlaybackSupport.prototype.syncControl): This media controller support object no longer needs to deal with compact mode.
(PlaybackSupport):

LayoutTests:

  • media/modern-media-controls/compact-media-controls/compact-media-controls-constructor-expected.txt:
  • media/modern-media-controls/compact-media-controls/compact-media-controls-constructor.html:
  • media/modern-media-controls/compact-media-controls/compact-media-controls-layout-expected.txt:
  • media/modern-media-controls/compact-media-controls/compact-media-controls-layout.html:
2:47 PM Changeset in webkit [230894] by graouts@webkit.org
  • 4 edits in trunk/Source/WebCore

[Modern Media Controls] Obtain compact mode icons through WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=184862
<rdar://problem/39621645>

Reviewed by Jon Lee.

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

(Button.prototype._updateImageMetrics): Handle PDF assets where the image source's intrinsic size needs
to be adjusted for the device pixel density.
(Button):

  • Modules/modern-media-controls/controls/icon-service.js: Expect three additional icons provided through

WebKitAdditions, including two in the PDF format, so we add support for this format.

  • WebCore.xcodeproj/project.pbxproj: Copy additional assets from the WebKitAdditions build directory should

any be present.

1:46 PM Changeset in webkit [230893] by youenn@apple.com
  • 7 edits in trunk

Activate NetworkLoadChecker for media loads
https://bugs.webkit.org/show_bug.cgi?id=184841

Reviewed by Eric Carlson.

Source/WebKit:

Instantiate a NetworkLoadChecker for NetworkResourceLoader for audio/video loads.

Move CORS checks for response after handling of 304 checks.
For 304 checks, we need to do the CORS checks on the validated cached response, not the 304 received response.

Updated ResourceError argument coder to explicitly pass the error type
as some errors created by NetworkLoadChecker would otherwise be received as General errors by WebProcess.
Updated platform data encoding of ResourceError accordingly.

All changes are covered by regular media loading layout tests.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::shouldUseNetworkLoadChecker):
(WebKit::NetworkResourceLoader::didReceiveResponse):

  • Shared/WebCoreArgumentCoders.cpp:

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

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
We need to set the type after decoding the NSError as ResourceError tries to guess the type from NSError data.

  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):

LayoutTests:

  • TestExpectations: Added DumpJSConsoleLogInStdErr to remove console message differences between WK1/WK2.
1:28 PM Changeset in webkit [230892] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

Expose whether you've build with the Apple Internal SDK
https://bugs.webkit.org/show_bug.cgi?id=184864

Reviewed by Wenson Hsieh.

Internals API to let a test know if it is running with the
Apple internal SDK.

  • testing/Internals.cpp:

(WebCore::usingAppleInternalSDK const):

  • testing/Internals.h:
  • testing/Internals.idl:
10:45 AM Changeset in webkit [230891] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible
https://bugs.webkit.org/show_bug.cgi?id=184858

Reviewed by Brian Burg.

r214076 changed the color of all markers to light gray.

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler > .markers > .marker):
(body[dir=ltr] .timeline-ruler > .markers > .marker):
(body[dir=rtl] .timeline-ruler > .markers > .marker):
(.timeline-ruler > .markers > .marker.current-time):
(.timeline-ruler > .markers > .marker.load-event):
(.timeline-ruler > .markers > .marker.dom-content-event):
(.timeline-ruler > .markers > .marker.timestamp):
(body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted.
(body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted.

Apr 20, 2018:

11:56 PM Changeset in webkit [230890] by n_wang@apple.com
  • 12 edits in trunk

AX: AOM does not work with DOM Level 1 events
https://bugs.webkit.org/show_bug.cgi?id=184847

Reviewed by Chris Fleizach.

Source/WebCore:

Added the accessibility events to the HTML attribute names.

Test cases are added to the existing layout tests.

  • html/HTMLAttributeNames.in:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createEventHandlerNameMap):

LayoutTests:

  • accessibility/ios-simulator/AOM-dismiss-event-expected.txt:
  • accessibility/ios-simulator/AOM-dismiss-event.html:
  • accessibility/mac/AOM-event-accessiblesetvalue-expected.txt:
  • accessibility/mac/AOM-event-accessiblesetvalue.html:
  • accessibility/mac/AOM-events-all-expected.txt:
  • accessibility/mac/AOM-events-all.html:
  • accessibility/mac/AOM-events-expected.txt:
  • accessibility/mac/AOM-events.html:
11:42 PM Changeset in webkit [230889] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GLIB] ERROR: Thread was unable to be detached when running /jsc/vm test in debug
https://bugs.webkit.org/show_bug.cgi?id=184815

Reviewed by Michael Catanzaro.

This is because in the test we are calling both join and detach. We should only call join.

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:

(testsJSCVirtualMachine):

11:40 PM Changeset in webkit [230888] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GLIB] Test /jsc/prototypes crashes in debug
https://bugs.webkit.org/show_bug.cgi?id=184814

Reviewed by Michael Catanzaro.

We should also call the constructor/destructor of Bar struct to ensure Foo is constructed.

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:

(barCreate):
(barFree):

11:38 PM Changeset in webkit [230887] by Carlos Garcia Campos
  • 2 edits in trunk/Source/JavaScriptCore

[GLIB] All API tests fail in debug builds
https://bugs.webkit.org/show_bug.cgi?id=184813

Reviewed by Mark Lam.

This is because of a conflict of ExceptionHandler class used in tests and ExceptionHandler struct defined in
JSCContext.cpp. This patch renames the ExceptionHandler struct as JSCContextExceptionHandler.

  • API/glib/JSCContext.cpp:

(JSCContextExceptionHandler::JSCContextExceptionHandler):
(JSCContextExceptionHandler::~JSCContextExceptionHandler):
(jscContextConstructed):
(ExceptionHandler::ExceptionHandler): Deleted.
(ExceptionHandler::~ExceptionHandler): Deleted.

11:36 PM Changeset in webkit [230886] by Carlos Garcia Campos
  • 5 edits in trunk

REGRESSION(r228088): [SOUP] Check TLS errors for WebSockets on GTlsConnection::accept-certificate
https://bugs.webkit.org/show_bug.cgi?id=184804

Source/WebCore:

Reviewed by Michael Catanzaro.

  • platform/network/soup/SocketStreamHandleImpl.h: Add a public url getter.
  • platform/network/soup/SocketStreamHandleImplSoup.cpp:

(WebCore::acceptCertificateCallback): Call SoupNetworkSession::checkTLSErrors() to decide whether to accept the
certificate or not.
(WebCore::connectProgressCallback): Receive the SocketStreamHandle and pass it to acceptCertificateCallback callback.
(WebCore::socketClientEventCallback): Ditto.
(WebCore::SocketStreamHandleImpl::create): Always connect to network events.
(WebCore::wssConnectionAcceptCertificateCallback): Deleted.
(WebCore::wssSocketClientEventCallback): Deleted.

Tools:

Patch by Michael Catanzaro <Michael Catanzaro> on 2018-04-20
Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:

(WebSocketTest::WebSocketTest):
(WebSocketTest::~WebSocketTest):
(WebSocketTest::serverWebSocketCallback):
(WebSocketTest::webSocketTestResultCallback):
(WebSocketTest::connectToServerAndWaitForEvents):
(testWebSocketTLSErrors):
(beforeAll):

11:22 PM Changeset in webkit [230885] by Carlos Garcia Campos
  • 8 edits in trunk/Source

[SOUP] Do TLS error checking on GTlsConnection::accept-certificate
https://bugs.webkit.org/show_bug.cgi?id=184480

Reviewed by Michael Catanzaro.

Source/WebCore:

  • platform/network/soup/ResourceError.h: Change tlsError to recieve a failing URL instead of a SoupRequest,

since the request was only used to get the failing URL.

  • platform/network/soup/ResourceErrorSoup.cpp:

(WebCore::ResourceError::tlsError): Use the given failing URL.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession): Use ssl-strict when creating the SoupSession to handle the
certificates ourselves by connecting to GTlsConnection::accept-certificate.
(WebCore::SoupNetworkSession::checkTLSErrors): Updated to receive a URL, certificate and errors instead of
receiving a SoupRequest and SoupMessage and extract the url, certirficate and errors from them. Also return the
optional error directly instead of using a completion handler since the function is always synchronous.

  • platform/network/soup/SoupNetworkSession.h:

Source/WebKit:

Connect to GTlsConnection::accept-certificate signal instead of SoupMessage::notify::tls-errors to perform the
TLS errors check.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::createRequest): Do not connect to SoupMessage::notify::tls-errors.
(WebKit::NetworkDataTaskSoup::tlsConnectionAcceptCertificateCallback): Call tlsConnectionAcceptCertificate() is
the task is still ongoing.
(WebKit::NetworkDataTaskSoup::tlsConnectionAcceptCertificate): Check TLS errors here.
(WebKit::NetworkDataTaskSoup::networkEventCallback): Pass the stream to networkEvent.
(WebKit::NetworkDataTaskSoup::networkEvent): Connect to GTlsConnection::accept-certificate.

  • NetworkProcess/soup/NetworkDataTaskSoup.h:
11:16 PM Changeset in webkit [230884] by timothy@apple.com
  • 4 edits in trunk/Source

NULL dereference crash sometimes under [super initWithCoder:] in WebView

https://bugs.webkit.org/show_bug.cgi?id=184851
rdar://problem/39611236

Reviewed by Tim Horton.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView effectiveAppearanceDidChange]):
Added a null check and call the code later in initialization.

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView effectiveAppearanceDidChange]):
Added a null check and call the code later in initialization.

11:16 PM Changeset in webkit [230883] by Chris Dumez
  • 3 edits in trunk/Tools

Unreviewed, update 2 more API tests after r230876.

  • TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:

(TEST):

  • TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:

(TestWebKitAPI::TEST):

10:19 PM Changeset in webkit [230882] by timothy_horton@apple.com
  • 12 edits in trunk

Adjust geolocation feature flag
https://bugs.webkit.org/show_bug.cgi?id=184856

Reviewed by Wenson Hsieh.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
9:25 PM Changeset in webkit [230881] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

Unreviewed, rebaseline more tests after r230864.

  • web-platform-tests/domparsing/innerhtml-05-expected.txt:
  • web-platform-tests/html/semantics/forms/form-submission-0/getactionurl-expected.txt:
9:22 PM Changeset in webkit [230880] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed attempt to fix Windows build after r230875.

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/curl/CookieJarCurlDatabase.cpp:
7:35 PM Changeset in webkit [230879] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed attempt to fix GTK build after r230867.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:

(webkit_dom_dom_window_get_self):
(webkit_dom_dom_window_get_window):
(webkit_dom_dom_window_get_frames):
(webkit_dom_dom_window_get_opener):
(webkit_dom_dom_window_get_parent):
(webkit_dom_dom_window_get_top):

7:26 PM Changeset in webkit [230878] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

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

Broke the iOS build (Requested by cdumez on #webkit).

Reverted changeset:

"Disable backward and forward navigation swipes while in
fullscreen."
https://bugs.webkit.org/show_bug.cgi?id=184656
https://trac.webkit.org/changeset/230873

7:08 PM Changeset in webkit [230877] by Chris Dumez
  • 7 edits in trunk/LayoutTests

Unreviewed, rebaseline more tests after r230864.

LayoutTests/imported/w3c:

  • web-platform-tests/domparsing/innerhtml-05-expected.txt:
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
  • web-platform-tests/html/semantics/forms/form-submission-0/getactionurl-expected.txt:

LayoutTests:

  • fast/frames/sandboxed-iframe-history-denied-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
6:55 PM Changeset in webkit [230876] by Chris Dumez
  • 12 edits in trunk

REGRESSION (r229828): web view doesn’t update or respond to resizing until client calls policy decision handler
https://bugs.webkit.org/show_bug.cgi?id=184210
<rdar://problem/39072354>

Reviewed by Wenson Hsieh.

Source/WebCore:

r229828 tried to have some API tests happy on iOS by freezing the layer tree
during the navigation policy decision. However, this is observable by the client
application and a regression from when the policy delegate was synchronous.

To address the issue, this patch reverts r229828 and instead updates the iOS
API tests to wait for the next presentation update after navigating
before interacting with the view.

  • loader/FrameLoaderClient.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

Source/WebKit:

r229828 tried to have some API tests happy on iOS by freezing the layer tree
during the navigation policy decision. However, this is observable by the client
application and a regression from when the policy delegate was synchronous.

To address the issue, this patch reverts r229828 and instead updates the iOS
API tests to wait for the next presentation update after navigating
before interacting with the view.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::cancelPolicyCheck):
(WebKit::WebFrameLoaderClient::provisionalLoadStarted):

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

Tools:

  • TestWebKitAPI/Tests/WebKit/large-red-square-image.html:
  • TestWebKitAPI/Tests/WebKitCocoa/dragstart-change-selection-offscreen.html:

Add viewport meta tags.

  • TestWebKitAPI/cocoa/TestNavigationDelegate.mm:

(-[WKWebView _test_waitForDidFinishNavigation]):
Update _test_waitForDidFinishNavigation to wait for the next presentation update
to make iOS API tests happy without having to modify each of them.

6:51 PM Changeset in webkit [230875] by Brent Fulgham
  • 30 edits
    1 add in trunk/Source

Limit cookie header access to Network process
https://bugs.webkit.org/show_bug.cgi?id=184764
<rdar://problem/36785285>

Reviewed by Youenn Fablet.

Revise the handling of cookie request headers so that we don't interact with them in the
WebContent process. They are only needed for interaction with the server and the network
process, so we should limit their scope to just the Network process.

Instead, we should handle a token that represents the cookie headers in the WebContent
process, which can be converted to the relevant cookie data in the network process when
needed.

Source/WebCore:

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::didOpenSocketStream):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeMessage const):
(WebCore::WebSocketHandshake::clientHandshakeRequest const):
(WebCore::WebSocketHandshake::clientHandshakeCookieRequestHeaderFieldProxy const):
(WebCore::WebSocketHandshake::clientHandshakeMessage): Deleted.
(WebCore::WebSocketHandshake::clientHandshakeRequest): Deleted.

  • Modules/websockets/WebSocketHandshake.h:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CookieJar.cpp:

(WebCore::cookieRequestHeaderFieldProxy):

  • loader/CookieJar.h:
  • platform/network/CookieRequestHeaderFieldProxy.h: Added.

(WebCore::CookieRequestHeaderFieldProxy::CookieRequestHeaderFieldProxy):
(WebCore::CookieRequestHeaderFieldProxy::isolatedCopy const):
(WebCore::CookieRequestHeaderFieldProxy::encode const):
(WebCore::CookieRequestHeaderFieldProxy::decode):

  • platform/network/PlatformCookieJar.h:
  • platform/network/SocketStreamHandle.cpp:

(WebCore::SocketStreamHandle::sendHandshake):

  • platform/network/SocketStreamHandle.h:
  • platform/network/SocketStreamHandleImpl.cpp:

(WebCore::SocketStreamHandleImpl::platformSendHandshake):

  • platform/network/cf/SocketStreamHandleImpl.h:
  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/curl/CookieJarCurl.h:
  • platform/network/curl/SocketStreamHandleImpl.h:
  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookieRequestHeaderFieldValue):

  • platform/network/soup/SocketStreamHandleImpl.h:

Source/WebKit:

  • NetworkProcess/NetworkSocketStream.cpp:

(WebKit::NetworkSocketStream::sendHandshake):

  • NetworkProcess/NetworkSocketStream.h:
  • NetworkProcess/NetworkSocketStream.messages.in:
  • WebProcess/Network/WebSocketStream.cpp:

(WebKit::WebSocketStream::networkProcessCrashed):
(WebKit::WebSocketStream::platformSendHandshake):
(WebKit::WebSocketStream::didSendHandshake):

  • WebProcess/Network/WebSocketStream.h:
  • WebProcess/Network/WebSocketStream.messages.in:
6:36 PM Changeset in webkit [230874] by dbates@webkit.org
  • 12 edits in trunk

Hide Strong Password label when text field is too narrow
https://bugs.webkit.org/show_bug.cgi?id=184785
<rdar://problem/38183939>

Reviewed by Zalan Bujtas.

Source/WebCore:

We accomplish this illusion by allowing the text field's decorations to wrap, specifying flex
shrink factors, a flex basis and hiding overflow. Hiding overflow is accomplished by a
combination of setting "overflow: hidden", "text-overflow: clip", and patching RenderTextControlSingleLine::layout()
to ensure that the height of the container element is equal to the intrinsic height of the
inner elements. Because the container is a flex box and we want to vertically center its
contents we also need to fix up the y-position of the container element as it may have flexed
as a result of forcing its height to match the intrinsic height of the inner elements.

  • css/html.css:

(input::-webkit-strong-password-auto-fill-button): Specify a flex-shrink factor and prevent
wrapping of the "Strong Password" text when flexed.

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerContainer::TextControlInnerContainer): Register for a custom style
resolution callback so that we can style the container if it is a Strong Password or Strong
Confirmation Password text field. Ideally we could accomplish this effect with a user agent-
specific pseudo class together with a selector definition in the user agent style sheet,
html.css. Unfortunately the style resolver does not seem to apply pseudo classes to
shadow DOM pseudo elements (why?). Therefore we use a custom style resolution callback to
achieve the same effect.
(WebCore::isStrongPasswordTextField): Returns whether the specified DOM element is a Strong
Password text field.
(WebCore::TextControlInnerContainer::resolveCustomStyle): Conditionally apply CSS properties
"flex-wrap: wrap" and overflow: hidden" if the shadow host of this container is a Strong
Password text field.
(WebCore::TextControlInnerElement::resolveCustomStyle): Conditionally style the inner text
if the shadow host of this container is a Strong Password text field. We need to apply these
styles here as opposed to in html.css for the same reason we need to apply the styles to
the container in a custom style resolution callback. See the comments for TextControlInnerContainer()
above for more details

  • html/shadow/TextControlInnerElements.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::resetOverriddenHeight): Added. Incorporates the logic from setNeedsLayoutOnAncestors().
(WebCore::RenderTextControlSingleLine::layout): Override the height of the container element to
match the height of the inner elements when this text field is a Strong Password field. We cache
the container's logical top before adjusting its height so that we can restore it after performing
a second layout of this renderer. This is needed because we vertically center the elements in this
renderer and adjusting the height of the container may cause it to flex and re-position along its
cross axis when the container's height is taller than the inner element's height (e.g. the "Strong
Password" label wraps to the next line). This re-positioning causes a noticeable jitter when
transitioning from a field that has a visible "Strong Password" label to one that does not. Caching
and restoring the logical top of the container element avoids this jitter.
(WebCore::setNeedsLayoutOnAncestors): Deleted. Moved its implementation into resetOverriddenHeight().

LayoutTests:

Update existing tests to include narrow text fields.

  • fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button.html:
  • fast/forms/auto-fill-button/input-strong-password-auto-fill-button.html:
  • platform/mac/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
6:32 PM Changeset in webkit [230873] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Disable backward and forward navigation swipes while in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=184656
rdar://problem/36057535

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-04-20
Reviewed by Tim Horton.

Disable navigation swipes while in fullscreen.

  • UIProcess/Cocoa/ViewGestureController.cpp:

(WebKit::ViewGestureController::canSwipeInDirection const):

6:30 PM Changeset in webkit [230872] by dino@apple.com
  • 5 edits
    2 adds in trunk

Render a badge on system preview images
https://bugs.webkit.org/show_bug.cgi?id=184854
<rdar://problem/39615154>

Reviewed by Tim Horton.

Source/WebCore:

At paint time, if a RenderImage is an image element
which is identified as a system preview, then draw
a little badge in the top right corner.

It is expected that platforms will override the
default rendering with something that identifies
how a system preview will operate. e.g. QuickLook
on Apple systems.

Test: system-preview/badge.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintIntoRect): If we are
a system preview, call RenderTheme to draw a badge.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSystemPreviewBadge): A default
implementation that draws a red circle.

  • rendering/RenderTheme.h:

LayoutTests:

  • system-preview/badge-expected.html: Added.
  • system-preview/badge.html: Added.
6:24 PM Changeset in webkit [230871] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/ThirdParty/libwebrtc

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

it is making some tests to time out on bots (Requested by
youenn on #webkit).

Reverted changeset:

"Mandate H264 hardware encoder for Mac in libwebrtc"
https://bugs.webkit.org/show_bug.cgi?id=184835
https://trac.webkit.org/changeset/230862

6:12 PM Changeset in webkit [230870] by BJ Burg
  • 5 edits in trunk/Source

Web Inspector: remove some dead code in IdentifiersFactory
https://bugs.webkit.org/show_bug.cgi?id=184839

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

This was never used on non-Chrome ports, so the identifier always has a
prefix of '0.'. We may change this in the future, but for now remove this.
Using a PID for this purpose is problematic anyway.

  • inspector/IdentifiersFactory.cpp:

(Inspector::addPrefixToIdentifier):
(Inspector::IdentifiersFactory::createIdentifier):
(Inspector::IdentifiersFactory::requestId):
(Inspector::IdentifiersFactory::addProcessIdPrefixTo): Deleted.

  • inspector/IdentifiersFactory.h:

Source/WebCore:

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::setProcessId): Deleted.

  • inspector/InspectorController.h:
5:19 PM Changeset in webkit [230869] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add the ability to use a hash for setting PtrTag enum values.
https://bugs.webkit.org/show_bug.cgi?id=184852
<rdar://problem/39613891>

Reviewed by Saam Barati.

  • runtime/PtrTag.h:
5:09 PM Changeset in webkit [230868] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit

Element fullscreen, expose WKWebView _fullScreenPlaceholderView as iOS SPI
https://bugs.webkit.org/show_bug.cgi?id=184826
rdar://problem/39600825

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-04-20
Reviewed by Tim Horton.

Add _fullScreenPlaceholderView for iOS similar to the one for Mac.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _fullScreenPlaceholderView]):
(-[WKWebView closeFullScreenWindowController]):
(-[WKWebView fullScreenPlaceholderView]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController webViewPlaceholder]):

4:48 PM Changeset in webkit [230867] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Use WindowProxy in DOMWindow.idl
https://bugs.webkit.org/show_bug.cgi?id=184820

Reviewed by Sam Weinig.

Use WindowProxy in DOMWindow.idl to match the specification more closely.

  • bindings/js/JSWindowProxy.h:
  • bindings/js/WindowProxy.cpp:

(WebCore::WindowProxy::window const):

  • bindings/js/WindowProxy.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(NativeToJSValueDOMConvertNeedsState):

  • dom/Document.cpp:
  • dom/Document.h:
  • dom/Document.idl:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::focus):
(WebCore::DOMWindow::self const):
(WebCore::DOMWindow::opener const):
(WebCore::DOMWindow::parent const):
(WebCore::DOMWindow::top const):
(WebCore::DOMWindow::open):

  • page/DOMWindow.h:
  • page/DOMWindow.idl:
  • testing/Internals.cpp:

(WebCore::Internals::openDummyInspectorFrontend):

  • testing/Internals.h:
  • testing/Internals.idl:
4:45 PM Changeset in webkit [230866] by timothy@apple.com
  • 2 edits in trunk/Tools

REGRESSION: API test WebKit.BackgroundColorSystemColor is failing

https://bugs.webkit.org/show_bug.cgi?id=184849
rdar://problem/39386405

Reviewed by Brian Burg.

  • TestWebKitAPI/Tests/mac/BackgroundColor.mm:

(TestWebKitAPI::TEST): Use CGColorEqualToColor since we might get a different
CGColor pointer from NSColor each time.

4:30 PM Changeset in webkit [230865] by mark.lam@apple.com
  • 20 edits in trunk/Source/JavaScriptCore

Some JSEntryPtrTags should actually be JSInternalPtrTags.
https://bugs.webkit.org/show_bug.cgi?id=184712
<rdar://problem/39507381>

Reviewed by Michael Saboff.

  1. Convert some uses of JSEntryPtrTag into JSInternalPtrTags.
  2. Tag all LLInt bytecodes consistently with BytecodePtrTag now and retag them only when needed.
  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/ByValInfo.h:

(JSC::ByValInfo::ByValInfo):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::callReturnLocation):
(JSC::CallLinkInfo::patchableJump):
(JSC::CallLinkInfo::hotPathBegin):
(JSC::CallLinkInfo::slowPathStart):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::setCallLocations):
(JSC::CallLinkInfo::hotPathOther):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::doneLocation):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • ftl/FTLLazySlowPath.cpp:

(JSC::FTL::LazySlowPath::initialize):

  • ftl/FTLLazySlowPath.h:

(JSC::FTL::LazySlowPath::done const):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileDirectCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileTailCall):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::lazySlowPath):

  • jit/JIT.cpp:

(JSC::JIT::link):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITMathIC.h:

(JSC::isProfileEmpty):

  • llint/LLIntData.cpp:

(JSC::LLInt::initialize):

  • llint/LLIntData.h:

(JSC::LLInt::getCodePtr):
(JSC::LLInt::getExecutableAddress): Deleted.

  • llint/LLIntExceptions.cpp:

(JSC::LLInt::callToThrow):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

4:24 PM Changeset in webkit [230864] by Chris Dumez
  • 100 edits in trunk

Update cross-origin SecurityError messages to not include the target origin
https://bugs.webkit.org/show_bug.cgi?id=184803
<rdar://problem/39547724>

Reviewed by Sam Weinig.

Source/WebCore:

No new tests, rebaselined existing tests.

  • bindings/js/JSDOMBindingSecurity.cpp:

(WebCore::canAccessDocument):
(WebCore::BindingSecurity::shouldAllowAccessToFrame):
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::crossDomainAccessErrorMessage):
(WebCore::DOMWindow::isInsecureScriptAccess):

  • page/DOMWindow.h:
  • page/Location.cpp:

(WebCore::Location::reload):

LayoutTests:

  • http/tests/history/cross-origin-replace-history-object-child-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-expected.txt:
  • http/tests/plugins/cross-frame-object-access-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
  • http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-delete-expected.txt:
  • http/tests/security/cross-frame-access-first-time-expected.txt:
  • http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
  • http/tests/security/cross-frame-access-get-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-history-get-expected.txt:
  • http/tests/security/cross-frame-access-history-get-override-expected.txt:
  • http/tests/security/cross-frame-access-history-prototype-expected.txt:
  • http/tests/security/cross-frame-access-location-get-expected.txt:
  • http/tests/security/cross-frame-access-location-get-override-expected.txt:
  • http/tests/security/cross-frame-access-location-put-expected.txt:
  • http/tests/security/cross-frame-access-name-getter-expected.txt:
  • http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-prototype-expected.txt:
  • http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/cross-frame-access-selection-expected.txt:
  • http/tests/security/cross-origin-reified-window-property-access-expected.txt:
  • http/tests/security/cross-origin-window-property-access-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
  • http/tests/security/document-all-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
  • http/tests/security/location-cross-origin-expected.txt:
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
  • http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-add-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
  • http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
  • http/tests/security/symbols-cross-origin-expected.txt:
  • http/tests/security/window-defineProperty-crossOrigin-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt:
  • http/tests/security/xss-DENIED-defineProperty-expected.txt:
  • http/tests/security/xss-DENIED-frame-name-expected.txt:
  • http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt:
  • http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-form-expected.txt:
  • http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
  • http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
4:18 PM Changeset in webkit [230863] by jfbastien@apple.com
  • 4 edits
    1 add in trunk

Handle more JSON stringify OOM
https://bugs.webkit.org/show_bug.cgi?id=184846
<rdar://problem/39390672>

Reviewed by Mark Lam.

JSTests:

  • stress/json-stringified-overflow-2.js: Added. Same as the one

below, but with a bigger input which will trigger a different code
path.
(catch):

  • stress/json-stringified-overflow.js: Modify the test to only

catch OOM on stringification. not on string creation.

Source/WTF:

JSON stringification can OOM easily. Here's another case.

  • wtf/text/StringBuilderJSON.cpp:

(WTF::StringBuilder::appendQuotedJSONString):

3:57 PM Changeset in webkit [230862] by youenn@apple.com
  • 2 edits
    1 add in trunk/Source/ThirdParty/libwebrtc

Mandate H264 hardware encoder for Mac in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=184835

Reviewed by Eric Carlson.

Tested manually through console traces that hardware VCP encoder code path is actually used instead of software VCP encoder code path.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

  • WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Added to cover this change and changes made in bug 184668 and 183961.
3:28 PM Changeset in webkit [230861] by commit-queue@webkit.org
  • 8 edits
    157 adds in trunk

Update HSL/HSLA parsing to match CSS Color 4
https://bugs.webkit.org/show_bug.cgi?id=180528
<rdar://problem/35926675>

LayoutTests/imported/w3c:

Patch by Chris Nardi <cnardi@chromium.org> on 2018-04-20
Reviewed by Simon Fraser.

CSS Color 4 had many changes to the HSL/HSLA functions, including allowing angles to be
specified as the hue, adding a comma optional syntax, making the two functions synonyms
so each function can take an alpha value, and allowing percent alpha values. This change
updates our behavior to match that, and updates the HSL to RGB algorithm.

This change also updates the import of WPT css-color to test the changes.

  • canvas/2d.fillStyle.parse.invalid.hsl-5-expected.txt:
  • web-platform-tests/css/css-color/OWNERS: Added.
  • web-platform-tests/css/css-color/border-bottom-color-expected.xht: Added.
  • web-platform-tests/css/css-color/border-bottom-color.xht: Added.
  • web-platform-tests/css/css-color/border-left-color-expected.xht: Added.
  • web-platform-tests/css/css-color/border-left-color.xht: Added.
  • web-platform-tests/css/css-color/border-right-color-expected.xht: Added.
  • web-platform-tests/css/css-color/border-right-color.xht: Added.
  • web-platform-tests/css/css-color/border-top-color-expected.xht: Added.
  • web-platform-tests/css/css-color/border-top-color.xht: Added.
  • web-platform-tests/css/css-color/color-001-expected.html: Added.
  • web-platform-tests/css/css-color/color-001.html: Added.
  • web-platform-tests/css/css-color/color-002-expected.html: Added.
  • web-platform-tests/css/css-color/color-002.html: Added.
  • web-platform-tests/css/css-color/color-003-expected.html: Added.
  • web-platform-tests/css/css-color/color-003.html: Added.
  • web-platform-tests/css/css-color/currentcolor-001-expected.html: Added.
  • web-platform-tests/css/css-color/currentcolor-001.html: Added.
  • web-platform-tests/css/css-color/currentcolor-002-expected.html: Added.
  • web-platform-tests/css/css-color/currentcolor-002.html: Added.
  • web-platform-tests/css/css-color/hex-001-expected.html: Added.
  • web-platform-tests/css/css-color/hex-001.html: Added.
  • web-platform-tests/css/css-color/hex-002-expected.html: Added.
  • web-platform-tests/css/css-color/hex-002.html: Added.
  • web-platform-tests/css/css-color/hex-003-expected.html: Added.
  • web-platform-tests/css/css-color/hex-003.html: Added.
  • web-platform-tests/css/css-color/hex-004-expected.html: Added.
  • web-platform-tests/css/css-color/hex-004.html: Added.
  • web-platform-tests/css/css-color/hsl-001-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-001.html: Added.
  • web-platform-tests/css/css-color/hsl-002-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-002.html: Added.
  • web-platform-tests/css/css-color/hsl-003-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-003.html: Added.
  • web-platform-tests/css/css-color/hsl-004-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-004.html: Added.
  • web-platform-tests/css/css-color/hsl-005-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-005.html: Added.
  • web-platform-tests/css/css-color/hsl-006-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-006.html: Added.
  • web-platform-tests/css/css-color/hsl-007-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-007.html: Added.
  • web-platform-tests/css/css-color/hsl-008-expected.html: Added.
  • web-platform-tests/css/css-color/hsl-008.html: Added.
  • web-platform-tests/css/css-color/hsla-001-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-001.html: Added.
  • web-platform-tests/css/css-color/hsla-002-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-002.html: Added.
  • web-platform-tests/css/css-color/hsla-003-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-003.html: Added.
  • web-platform-tests/css/css-color/hsla-004-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-004.html: Added.
  • web-platform-tests/css/css-color/hsla-005-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-005.html: Added.
  • web-platform-tests/css/css-color/hsla-006-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-006.html: Added.
  • web-platform-tests/css/css-color/hsla-007-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-007.html: Added.
  • web-platform-tests/css/css-color/hsla-008-expected.html: Added.
  • web-platform-tests/css/css-color/hsla-008.html: Added.
  • web-platform-tests/css/css-color/htaccess: Added.
  • web-platform-tests/css/css-color/lab-001-expected.html: Added.
  • web-platform-tests/css/css-color/lab-001.html: Added.
  • web-platform-tests/css/css-color/lab-002-expected.html: Added.
  • web-platform-tests/css/css-color/lab-002.html: Added.
  • web-platform-tests/css/css-color/lab-003-expected.html: Added.
  • web-platform-tests/css/css-color/lab-003.html: Added.
  • web-platform-tests/css/css-color/lab-004-expected.html: Added.
  • web-platform-tests/css/css-color/lab-004.html: Added.
  • web-platform-tests/css/css-color/lab-005-expected.html: Added.
  • web-platform-tests/css/css-color/lab-005.html: Added.
  • web-platform-tests/css/css-color/lab-006-expected.html: Added.
  • web-platform-tests/css/css-color/lab-006.html: Added.
  • web-platform-tests/css/css-color/lab-007-expected.html: Added.
  • web-platform-tests/css/css-color/lab-007.html: Added.
  • web-platform-tests/css/css-color/lch-001-expected.html: Added.
  • web-platform-tests/css/css-color/lch-001.html: Added.
  • web-platform-tests/css/css-color/lch-002-expected.html: Added.
  • web-platform-tests/css/css-color/lch-002.html: Added.
  • web-platform-tests/css/css-color/lch-003-expected.html: Added.
  • web-platform-tests/css/css-color/lch-003.html: Added.
  • web-platform-tests/css/css-color/lch-004-expected.html: Added.
  • web-platform-tests/css/css-color/lch-004.html: Added.
  • web-platform-tests/css/css-color/lch-005-expected.html: Added.
  • web-platform-tests/css/css-color/lch-005.html: Added.
  • web-platform-tests/css/css-color/lch-006-expected.html: Added.
  • web-platform-tests/css/css-color/lch-006.html: Added.
  • web-platform-tests/css/css-color/lch-007-expected.html: Added.
  • web-platform-tests/css/css-color/lch-007.html: Added.
  • web-platform-tests/css/css-color/named-001-expected.html: Added.
  • web-platform-tests/css/css-color/named-001.html: Added.
  • web-platform-tests/css/css-color/rgb-001-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-001.html: Added.
  • web-platform-tests/css/css-color/rgb-002-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-002.html: Added.
  • web-platform-tests/css/css-color/rgb-003-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-003.html: Added.
  • web-platform-tests/css/css-color/rgb-004-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-004.html: Added.
  • web-platform-tests/css/css-color/rgb-005-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-005.html: Added.
  • web-platform-tests/css/css-color/rgb-006-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-006.html: Added.
  • web-platform-tests/css/css-color/rgb-007-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-007.html: Added.
  • web-platform-tests/css/css-color/rgb-008-expected.html: Added.
  • web-platform-tests/css/css-color/rgb-008.html: Added.
  • web-platform-tests/css/css-color/rgba-001-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-001.html: Added.
  • web-platform-tests/css/css-color/rgba-002-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-002.html: Added.
  • web-platform-tests/css/css-color/rgba-003-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-003.html: Added.
  • web-platform-tests/css/css-color/rgba-004-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-004.html: Added.
  • web-platform-tests/css/css-color/rgba-005-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-005.html: Added.
  • web-platform-tests/css/css-color/rgba-006-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-006.html: Added.
  • web-platform-tests/css/css-color/rgba-007-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-007.html: Added.
  • web-platform-tests/css/css-color/rgba-008-expected.html: Added.
  • web-platform-tests/css/css-color/rgba-008.html: Added.
  • web-platform-tests/css/css-color/t31-color-currentColor-b.xht:
  • web-platform-tests/css/css-color/t31-color-text-a-expected.xht: Added.
  • web-platform-tests/css/css-color/t31-color-text-a.xht: Added.
  • web-platform-tests/css/css-color/t32-opacity-basic-0.0-a-expected.html: Added.
  • web-platform-tests/css/css-color/t32-opacity-basic-0.0-a.xht: Added.
  • web-platform-tests/css/css-color/t32-opacity-basic-1.0-a-expected.html: Added.
  • web-platform-tests/css/css-color/t32-opacity-basic-1.0-a.xht: Added.
  • web-platform-tests/css/css-color/t32-opacity-clamping-0.0-b-expected.html: Added.
  • web-platform-tests/css/css-color/t32-opacity-clamping-0.0-b.xht: Added.
  • web-platform-tests/css/css-color/t32-opacity-clamping-1.0-b-expected.html: Added.
  • web-platform-tests/css/css-color/t32-opacity-clamping-1.0-b.xht: Added.
  • web-platform-tests/css/css-color/t32-opacity-offscreen-b-expected.html: Added.
  • web-platform-tests/css/css-color/t32-opacity-offscreen-b.xht: Added.
  • web-platform-tests/css/css-color/t32-opacity-offscreen-multiple-boxes-1-c.xht:
  • web-platform-tests/css/css-color/t32-opacity-offscreen-multiple-boxes-2-c.xht:
  • web-platform-tests/css/css-color/t32-opacity-offscreen-with-alpha-c-expected.html: Added.
  • web-platform-tests/css/css-color/t32-opacity-offscreen-with-alpha-c.xht: Added.
  • web-platform-tests/css/css-color/t41-html4-keywords-a-expected.html: Added.
  • web-platform-tests/css/css-color/t41-html4-keywords-a.xht: Added.
  • web-platform-tests/css/css-color/t421-rgb-clip-outside-gamut-b-expected.html: Added.
  • web-platform-tests/css/css-color/t421-rgb-clip-outside-gamut-b.xht: Added.
  • web-platform-tests/css/css-color/t421-rgb-func-int-a.xht:
  • web-platform-tests/css/css-color/t421-rgb-func-no-mixed-f.xht:
  • web-platform-tests/css/css-color/t421-rgb-func-pct-a.xht:
  • web-platform-tests/css/css-color/t421-rgb-func-whitespace-b.xht:
  • web-platform-tests/css/css-color/t421-rgb-hex-parsing-f.xht:
  • web-platform-tests/css/css-color/t421-rgb-hex3-a.xht:
  • web-platform-tests/css/css-color/t421-rgb-hex6-a.xht:
  • web-platform-tests/css/css-color/t421-rgb-values-meaning-b-expected.html: Added.
  • web-platform-tests/css/css-color/t421-rgb-values-meaning-b.xht: Added.
  • web-platform-tests/css/css-color/t422-rgba-a0.0-a-expected.html: Added.
  • web-platform-tests/css/css-color/t422-rgba-a0.0-a.xht: Added.
  • web-platform-tests/css/css-color/t422-rgba-a1.0-a.xht:
  • web-platform-tests/css/css-color/t422-rgba-clamping-a0.0-b.xht:
  • web-platform-tests/css/css-color/t422-rgba-clamping-a1.0-b.xht:
  • web-platform-tests/css/css-color/t422-rgba-clip-outside-device-gamut-b.xht:
  • web-platform-tests/css/css-color/t422-rgba-func-int-a.xht:
  • web-platform-tests/css/css-color/t422-rgba-func-no-mixed-f.xht:
  • web-platform-tests/css/css-color/t422-rgba-func-pct-a.xht:
  • web-platform-tests/css/css-color/t422-rgba-func-whitespace-b.xht:
  • web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht:
  • web-platform-tests/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht:
  • web-platform-tests/css/css-color/t422-rgba-values-meaning-b-expected.html: Added.
  • web-platform-tests/css/css-color/t422-rgba-values-meaning-b.xht: Added.
  • web-platform-tests/css/css-color/t423-transparent-1-a.xht:
  • web-platform-tests/css/css-color/t423-transparent-2-a.xht:
  • web-platform-tests/css/css-color/t424-hsl-basic-a.xht:
  • web-platform-tests/css/css-color/t424-hsl-clip-outside-gamut-b.xht:
  • web-platform-tests/css/css-color/t424-hsl-h-rotating-b-expected.html: Added.
  • web-platform-tests/css/css-color/t424-hsl-h-rotating-b.xht: Added.
  • web-platform-tests/css/css-color/t424-hsl-parsing-f.xht:
  • web-platform-tests/css/css-color/t424-hsl-values-b-1.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-10.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-11.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-12.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-13.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-14.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-15.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-2.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-3.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-4.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-5.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-6.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-7.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-8.html:
  • web-platform-tests/css/css-color/t424-hsl-values-b-9.html:
  • web-platform-tests/css/css-color/t425-hsla-clip-outside-device-gamut-b.xht:
  • web-platform-tests/css/css-color/t425-hsla-h-rotating-b-expected.html: Added.
  • web-platform-tests/css/css-color/t425-hsla-h-rotating-b.xht: Added.
  • web-platform-tests/css/css-color/t425-hsla-onscreen-b-expected.html: Added.
  • web-platform-tests/css/css-color/t425-hsla-onscreen-b.xht: Added.
  • web-platform-tests/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht:
  • web-platform-tests/css/css-color/t425-hsla-parsing-f.xht:
  • web-platform-tests/css/css-color/t425-hsla-values-b.xht:
  • web-platform-tests/css/css-color/t43-svg-keywords-a-expected.html: Added.
  • web-platform-tests/css/css-color/t43-svg-keywords-a.xht: Added.
  • web-platform-tests/css/css-color/t44-currentcolor-background-b.xht:
  • web-platform-tests/css/css-color/t44-currentcolor-border-b-expected.html:
  • web-platform-tests/css/css-color/t44-currentcolor-border-b.xht:
  • web-platform-tests/css/css-color/t44-currentcolor-inherited-c-expected.xht: Added.
  • web-platform-tests/css/css-color/t44-currentcolor-inherited-c.xht: Added.
  • web-platform-tests/css/css-color/w3c-import.log: Added.

Source/WebCore:

CSS Color 4 specifies a comma optional syntax for HSL/HSLA, as well as allowing angle values for the
hue and percent alpha values. Update our parsing to match this.

Patch by Chris Nardi <cnardi@chromium.org> on 2018-04-20
Reviewed by Simon Fraser.

This change also updates the import of WPT css-color to test the changes.

Tests: LayoutTests/imported/w3c/web-platform-tests/css/css-color/hsl{a}-{001-008}.html

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::parseHSLParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunction):
(WebCore::CSSPropertyParserHelpers::consumeColor):

  • platform/graphics/Color.cpp:

(WebCore::calcHue):
(WebCore::makeRGBAFromHSLA):

LayoutTests:

Patch by Chris Nardi <cnardi@chromium.org> on 2018-04-20
Reviewed by Simon Fraser.

This change updates our import of web-platform-tests/css/css-color
to test the new behavior.

  • TestExpectations:
  • canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-5-expected.txt:
3:21 PM Changeset in webkit [230860] by Wenson Hsieh
  • 22 edits
    3 adds in trunk

[Extra zoom mode] Injected bundle form client should be notified when editing text fields
https://bugs.webkit.org/show_bug.cgi?id=184822
<rdar://problem/38807319>

Reviewed by Tim Horton.

Source/WebCore:

Export the constructor and destructor of UserTypingGestureIndicator for use in WebKit (see WebPage.cpp).

Test: fast/forms/extrazoom/edit-text-field-calls-injected-bundle.html

  • dom/UserTypingGestureIndicator.h:

Source/WebKit:

Fixes the bug by making a couple of tweaks: (1) don't use a separate codepath for inserting text in text inputs,
and (2) force a user typing gesture when inserting text using this codepath (i.e. WKTextInputListViewController).
Also adds plumbing to enable testing text entry with WKTextInputListViewController in extra zoom mode.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _simulateTextEntered:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Introduce testing SPI to simulate text entry. Additionally, add a missing availability annotation around testing
SPI added in 2017 to help test drag and drop for iOS 11.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _simulateTextEntered:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setTextAsync):

Tools:

Add WebKitTestRunner support for listening to form editing SPI hooks in the injected bundle. The new layout test
installs callbacks that listen for "begin editing", "end editing", and "text changed" calls to injected bundle
SPI. See other ChangeLogs for more detail.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::enterText):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:

Add UIScriptController support for simulating text entry in the currently focused element.

  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::enterText):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:

Add TestRunner bindings for registering injected bundle form client callbacks.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::handleTextDidChangeInTextField):
(WTR::handleTextFieldDidBeginEditing):
(WTR::handleTextFieldDidEndEditing):
(WTR::InjectedBundle::didCreatePage):

Set the injected bundle form editor client.

(WTR::InjectedBundle::setUpInjectedBundleClients):
(WTR::InjectedBundle::textDidChangeInTextField):
(WTR::InjectedBundle::textFieldDidBeginEditing):
(WTR::InjectedBundle::textFieldDidEndEditing):

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

(WTR::TestRunner::installTextDidChangeInTextFieldCallback):
(WTR::TestRunner::textDidChangeInTextFieldCallback):
(WTR::TestRunner::installTextFieldDidBeginEditingCallback):
(WTR::TestRunner::textFieldDidBeginEditingCallback):
(WTR::TestRunner::installTextFieldDidEndEditingCallback):
(WTR::TestRunner::textFieldDidEndEditingCallback):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::enterText):

LayoutTests:

Add a new layout test that focuses an input field, simulates text entry, and verifies that the injected bundle
form client's textDidChangeInTextField, textFieldDidBeginEditing and textFieldDidEndEditing functions are called.

Skip tests in fast/forms/extrazoom by default.

  • fast/forms/extrazoom/edit-text-field-calls-injected-bundle-expected.txt: Added.
  • fast/forms/extrazoom/edit-text-field-calls-injected-bundle.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.enterText):

Introduce a new UIHelper method to simulate text entry in the currently focused element.

(window.UIHelper):

3:16 PM Changeset in webkit [230859] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

EnterFullscreen must update the minimum and maximum layout sizes.
https://bugs.webkit.org/show_bug.cgi?id=184828
rdar://problem/38435829

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-04-20
Reviewed by Jon Lee.

Without this, the WKWebView won't layout to the full size in fullscreen mode.

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController enterFullScreen]):

3:14 PM Changeset in webkit [230858] by jer.noble@apple.com
  • 18 edits in trunk/Source

Don't put build products into WK_ALTERNATE_WEBKIT_SDK_PATH for engineering builds
https://bugs.webkit.org/show_bug.cgi?id=184762

Reviewed by Dan Bernstein.

Source/bmalloc:

  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

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

Source/WebCore/PAL:

  • Configurations/CopyPALHeaders.xcconfig:
  • Configurations/PAL.xcconfig:

Source/WebKit:

  • Configurations/BaseTarget.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/WebKitLegacy.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:
3:03 PM Changeset in webkit [230857] by youenn@apple.com
  • 7 edits
    2 copies in trunk

Refactor NetworkResourceLoader to check for m_networkLoadChecker presence before using it
https://bugs.webkit.org/show_bug.cgi?id=184755

Reviewed by Chris Dumez.

Source/WebKit:

Make NetworkResourceLoader always use m_networkLoadChecker if there is one.
This is only used now for synchronous loads but will be used in the future for asynchronous loads as well.

Since we call didFail asynchronously to make sync/async handling more consistent,
We need to keep track of whether we will do clean-up twice.
A boolean is added for that purpose in NetworkResourceLoader.

There is a small change of behavior in the way we return an error.
Instead of returning a platformBadResponseError, we are now returning the error as computed by NetworkLoadChecker.
This allows getting some more error logging in the JS console.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:

LayoutTests:

Made specific WK1 expectations as WK2 now has console messages for sync XHR that WK1 does not have.
Dump JS console log in stderr for redirect-cross-origin-sync-double.html as the test does not rely on it
and this allows keeping a single expected.txt file for WK1 and WK2.

  • TestExpectations:
  • http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
  • platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt: Added.
  • platform/win/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt: Added.
2:10 PM Changeset in webkit [230856] by dbates@webkit.org
  • 20 edits in trunk/Source

Remove code for compilers that did not support NSDMI for aggregates
https://bugs.webkit.org/show_bug.cgi?id=184599

Reviewed by Per Arne Vollan.

Remove workaround for earlier Visual Studio versions that did not support non-static data
member initializers (NSDMI) for aggregates. We have since updated all the build.webkit.org
and EWS bots to a newer version that supports this feature.

Source/bmalloc:

  • bmalloc/BPlatform.h:
  • bmalloc/List.h:

(bmalloc::ListNode::ListNode): Deleted.
(bmalloc::List::iterator::iterator): Deleted.

Source/JavaScriptCore:

  • domjit/DOMJITEffect.h:

(JSC::DOMJIT::Effect::Effect): Deleted.

  • runtime/HasOwnPropertyCache.h:

(JSC::HasOwnPropertyCache::Entry::Entry): Deleted.

  • wasm/WasmFormat.h:

(JSC::Wasm::WasmToWasmImportableFunction::WasmToWasmImportableFunction): Deleted.

Source/WebCore:

  • Modules/cache/CacheQueryOptions.h:

(WebCore::CacheQueryOptions::CacheQueryOptions): Deleted.

  • dom/Node.h:

(WebCore::Node::InsertionType::InsertionType): Deleted.
(WebCore::Node::RemovalType::RemovalType): Deleted.

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::CMYKAColor::CMYKAColor): Deleted.

  • page/EventHandler.h:

(WebCore::EventHandler::DragTargetResponse::DragTargetResponse): Deleted.

  • page/animation/CSSAnimationController.h:

(WebCore::AnimationUpdate::AnimationUpdate): Deleted.

  • platform/graphics/FontSelectionAlgorithm.h:

(WebCore::FontSelectionRequest::tied const):
(WebCore::FontSelectionRequest::FontSelectionRequest): Deleted.
(WebCore::FontSelectionCapabilities::FontSelectionCapabilities): Deleted.

  • platform/mediastream/IceCandidate.h:

(WebCore::IceCandidate::IceCandidate): Deleted.

  • platform/text/StringWithDirection.h:

(WebCore::StringWithDirection::StringWithDirection): Deleted.

  • rendering/MarkedText.h:

(WebCore::MarkedText::MarkedText): Deleted.

  • style/StyleUpdate.h:

(WebCore::Style::ElementUpdate::ElementUpdate): Deleted.
(WebCore::Style::ElementUpdates::ElementUpdates): Deleted.
(WebCore::Style::TextUpdate::TextUpdate): Deleted.

Source/WTF:

  • wtf/Compiler.h:
2:02 PM Changeset in webkit [230855] by n_wang@apple.com
  • 3 edits in trunk/LayoutTests

Layout Test accessibility/mac/async-increment-decrement-action.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=184834
<rdar://problem/39604753>

Reviewed by Chris Fleizach.

Changed the test to just make sure the increment/decrement actions are async, that
they won't block the test by changing the object's value.

  • accessibility/mac/async-increment-decrement-action-expected.txt:
  • accessibility/mac/async-increment-decrement-action.html:
2:01 PM Changeset in webkit [230854] by timothy@apple.com
  • 3 edits in trunk/Source/WebKit

Include missing files in WKContentViewInteraction.{mm,h}

https://bugs.webkit.org/show_bug.cgi?id=184832
rdar://problem/35377120

Reviewed by Wenson Hsieh.

Some WebDriver files were missing and should be included.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):

2:01 PM Changeset in webkit [230853] by youenn@apple.com
  • 9 edits in trunk

WebPage sometimes incorrectly rules out PDF as a mime type that can be showed
https://bugs.webkit.org/show_bug.cgi?id=184369

Reviewed by Chris Dumez.

Source/WebCore:

WebPage does need to check for plugins at reception of the response.
In that case, the page URL is the URL from which we are navigating out.
Add plugin API to check for plugin availability with an extra URL parameter to cover that case.

Covered by API test.

  • plugins/PluginData.cpp:

(WebCore::PluginData::supportsWebVisibleMimeTypeForURL const):
(WebCore::PluginData::supportsWebVisibleMimeType const):

  • plugins/PluginData.h:

Source/WebKit:

Use API to check for plugin availability for response at navigation time.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canShowResponse const):
(WebKit::WebPage::canShowMIMEType const):

  • WebProcess/WebPage/WebPage.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:

(TEST):

1:57 PM Changeset in webkit [230852] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Build fix for internal builds after r230826.
https://bugs.webkit.org/show_bug.cgi?id=184790
<rdar://problem/39301369>

Not reviewed.

  • runtime/Options.cpp:

(JSC::overrideDefaults):

  • tools/SigillCrashAnalyzer.cpp:

(JSC::SignalContext::dump):

1:45 PM Changeset in webkit [230851] by dbates@webkit.org
  • 25 edits
    5 adds in trunk

Remove Strong Password decoration when text field type changes
https://bugs.webkit.org/show_bug.cgi?id=184795
<rdar://problem/38325108>

Reviewed by Antti Koivisto.

Source/WebCore:

Remove the Strong Password decoration when the text field's type changes to avoid interfering
with web sites that allow a person to show/hide their password.

Test: fast/forms/auto-fill-button/hide-strong-password-when-field-type-changes.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):

Source/WebKit:

Add injected bundle API and WebKit UI delegate SPI to notify the embedding client when the
Strong Password appearance of an HTML input element is resigned.

We add C SPI for Safari on Mac.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::didResignInputElementStrongPasswordAppearance):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didResignInputElementStrongPasswordAppearance):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didResignInputElementStrongPasswordAppearance):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:

(API::InjectedBundle::PageUIClient::didResignInputElementStrongPasswordAppearance):

  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::didResignInputElementStrongPasswordAppearance):

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::inputElementDidResignStrongPasswordAppearance):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

Add a unit test to ensure the injected bundle API and WebKit UI delegate SPI is invoked
when the field has the Strong Password button and its type changes.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/DidResignInputElementStrongPasswordAppearance.mm: Added.

(didResignInputElementStrongPasswordAppearance):
(-[DidResignInputElementStrongPasswordAppearance webProcessPlugIn:didCreateBrowserContextController:]):

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]):
(-[DidResignInputElementStrongPasswordAppearanceDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

LayoutTests:

Add tests to ensure that we remove the Strong Password decoration when the text field's type changes.

Extract code to toggle showing the AutoFill button from fast/forms/auto-fill-button/input-{disabled, readonly}-strong-password-and-strong-confirmation-password-auto-fill-buttons.html
into a new file fast/forms/auto-fill-button/resources/process-auto-fill-button-type-and-invoke-runTest.js
that can be shared.

  • fast/forms/auto-fill-button/hide-strong-password-when-field-type-changes-expected.html: Added.
  • fast/forms/auto-fill-button/hide-strong-password-when-field-type-changes.html: Added.
  • fast/forms/auto-fill-button/input-disabled-strong-password-and-strong-confirmation-password-auto-fill-buttons.html:
  • fast/forms/auto-fill-button/input-readonly-strong-password-and-strong-confirmation-password-auto-fill-buttons.html:
  • fast/forms/auto-fill-button/resources/process-auto-fill-button-type-and-invoke-runTest.js: Added.

(window.onload):

1:40 PM Changeset in webkit [230850] by Megan Gardner
  • 3 edits
    2 adds in trunk

Fixes for failing tests associated with switching Text Selection Assistants
https://bugs.webkit.org/show_bug.cgi?id=184806
<rdar://problem/39367905>

Reviewed by Beth Dakin and Wenson Hsieh.

The major fix is the disabling the double tap noneditable text selection gesture.
The other fixes are small tweaks that shouldn't even be run into with the fix to
the double tap gesture, but they are incorrect, so I am taking the opportunity to
fix them now, in case we run into them again.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
We should not be allowing a double tap text gestures in non-editable web content.
We didn't have one with the old assistant. Fortunately, this is easily disabled.
(-[WKContentView canPerformActionForWebView:withSender:]):
We should not allow the lookup action if we do not actually have a selection.
It is meaningless without one.
(-[WKContentView selectedTextRange]):
We should not return a selection to UIKit if all we have is caret selection
in non-editable content. We have this for selections on Mac, but UIKit does
not know how to properly handle this, and will have incorrect behavior if we
return a valid selection.

1:12 PM Changeset in webkit [230849] by timothy@apple.com
  • 5 edits
    1 copy in trunk/Source/WebKit

WebEvent fails to convert synthetic WebMouseEvent for automation

https://bugs.webkit.org/show_bug.cgi?id=184824
rdar://problem/35377120

Reviewed by Brian Burg.

Add WebEvent conversions that existed in PlatformEventFactoryIOS for legacy WebKit,
but never got added in WebIOSEventFactory and NativeWebMouseEvent for modern WebKit.
This affected WebDriver, and some events not being deliverd to the page.

  • Shared/NativeWebMouseEvent.h:

(WebKit::NativeWebMouseEvent::nativeEvent const):

  • Shared/ios/NativeWebMouseEventIOS.mm: Added.

(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):

  • Shared/ios/WebIOSEventFactory.h:
  • Shared/ios/WebIOSEventFactory.mm:

(WebIOSEventFactory::createWebMouseEvent):

  • WebKit.xcodeproj/project.pbxproj:
1:06 PM Changeset in webkit [230848] by jfernandez@igalia.com
  • 28 edits
    10 adds in trunk

Update Alignment shorthands to the spec now that they are not ambiguous
https://bugs.webkit.org/show_bug.cgi?id=184812

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Imported new Web Platform Tests from the css-align test suite.
Additionally, updated the ones we already have to verify the new shorthand syntax is correct.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-align/OWNERS: Added.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html:
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html:
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt:
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html:
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html:
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html:
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html:
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html:
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004-expected.txt:
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html:
  • web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/w3c-import.log:
  • web-platform-tests/css/css-align/gaps/column-gap-parsing-001-expected.txt:
  • web-platform-tests/css/css-align/gaps/column-gap-parsing-001.html:
  • web-platform-tests/css/css-align/gaps/gap-normal-computed-001-expected.txt: Added.
  • web-platform-tests/css/css-align/gaps/gap-normal-computed-001.html: Added.
  • web-platform-tests/css/css-align/gaps/gap-normal-used-001-expected.xht: Added.
  • web-platform-tests/css/css-align/gaps/gap-normal-used-001.html: Added.
  • web-platform-tests/css/css-align/gaps/gap-normal-used-002-expected.xht: Added.
  • web-platform-tests/css/css-align/gaps/gap-normal-used-002.html: Added.
  • web-platform-tests/css/css-align/gaps/gap-parsing-001-expected.txt:
  • web-platform-tests/css/css-align/gaps/gap-parsing-001.html:
  • web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001-expected.txt:
  • web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001.html:
  • web-platform-tests/css/css-align/gaps/grid-gap-parsing-001-expected.txt:
  • web-platform-tests/css/css-align/gaps/grid-gap-parsing-001.html:
  • web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001-expected.txt:
  • web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001.html:
  • web-platform-tests/css/css-align/gaps/row-gap-parsing-001-expected.txt:
  • web-platform-tests/css/css-align/gaps/row-gap-parsing-001.html:
  • web-platform-tests/css/css-align/gaps/w3c-import.log:
  • web-platform-tests/css/css-align/resources/alignment-parsing-utils.js:
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html:
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html:
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004-expected.txt:
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html:
  • web-platform-tests/css/css-align/w3c-import.log: Added.

Source/WebCore:

Now that the issue [1] about the syntax ambiguity has been resolved we
don't need to use the custom syntax anymore. The Alignment shorthands
use now the simple syntax, defined based on the longhands' syntax.

Since we allow all the values valid for each longhand, we'll update
in this CL the corresponding web platform tests. Additionally, this CL
updates also the shorthand serialization tests [2], which didn't
consider the new value 'legacy' for justify-items (and place-items) due
to the bug [3] Firefox still has pending to be fixed.

[1] https://github.com/w3c/csswg-drafts/issues/1001
[2] css/css-align/default-alignment/shorthand-serialization-001.html
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=1363875

Tests: imported/w3c/web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001.html

imported/w3c/web-platform-tests/css/css-align/gaps/gap-normal-computed-001.html
imported/w3c/web-platform-tests/css/css-align/gaps/gap-normal-used-001.html
imported/w3c/web-platform-tests/css/css-align/gaps/gap-normal-used-002.html

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumePlaceContentShorthand): Using the justify-content and align-content parsing logic to parse the shorthand.
(WebCore::CSSPropertyParser::consumePlaceItemsShorthand): Using the justify-items and align-items parsing logic to parse the shorthand.
(WebCore::CSSPropertyParser::consumePlaceSelfShorthand): Using the justify-self and align-self parsing logic to parse the shorthand.

12:39 PM Changeset in webkit [230847] by dbates@webkit.org
  • 5 edits
    2 deletes in trunk

Unreviewed, rolling out r230117.

Broke find-in-page for PDFs

Reverted changeset:

"ASSERTION FAILED: ASSERT(!containsImage

MIMETypeRegistry::isSupportedImageResourceMIMEType([resource
MIMEType])) in -[NSPasteboard(WebExtras)
_web_writePromisedRTFDFromArchive:containsImage:]"
https://bugs.webkit.org/show_bug.cgi?id=184161
https://trac.webkit.org/changeset/230117

12:01 PM Changeset in webkit [230846] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Pausing should clear m_waitingToEnterFullscreen
https://bugs.webkit.org/show_bug.cgi?id=184831
<rdar://problem/39602852>

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::pause): Clear m_waitingToEnterFullscreen

11:36 AM Changeset in webkit [230845] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Extra zoom mode] Disable CA transactions while setting up for fullscreen
https://bugs.webkit.org/show_bug.cgi?id=184817
<rdar://problem/39596075>

Reviewed by Jer Noble.

This was tested manually as it is not possible to write an automated test for this.

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::doSetup): Move the call to disable CA transactions outside
of the EXTRA_ZOOM_MODE check, the [CATransaction commit] was already unguarded.

11:00 AM Changeset in webkit [230844] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix -Wformat warning

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFinishLoadForFrame):

10:45 AM Changeset in webkit [230843] by youenn@apple.com
  • 14 edits in trunk/Source

Make PluginData cache its web visible plugins
https://bugs.webkit.org/show_bug.cgi?id=184421

Reviewed by Chris Dumez.

Source/WebCore:

Buffer visible plugins until the page URL changes.
For that purpose, we now cache the visible plugins and the URL it was computed from in PluginData.

Update plugin info provider API to pass the URL used to check for plugin visibility.

No observable change of behavior.

  • loader/EmptyClients.cpp:
  • plugins/PluginData.cpp:

(WebCore::PluginData::webVisiblePlugins const):
(WebCore::PluginData::publiclyVisiblePlugins const):
(WebCore::PluginData::supportsMimeType const):

  • plugins/PluginData.h:
  • plugins/PluginInfoProvider.h:

Source/WebKit:

Rename methods.
Pass an URL instead of relying on Page URL as the page URL
might not always be the URL we want to check against plugins.
In particular when navigation is on-going, we want to check the
plugins against the being navigated URL.

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:

(WebKit::WebPluginInfoProvider::pluginInfo):
(WebKit::WebPluginInfoProvider::webVisiblePluginInfo):

  • WebProcess/Plugins/WebPluginInfoProvider.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPluginInfoProvider.h:
  • WebCoreSupport/WebPluginInfoProvider.mm:

(WebPluginInfoProvider::pluginInfo):
(WebPluginInfoProvider::webVisiblePluginInfo):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebPluginInfoProvider.cpp:

(WebPluginInfoProvider::pluginInfo):
(WebPluginInfoProvider::webVisiblePluginInfo):

  • WebCoreSupport/WebPluginInfoProvider.h:
10:03 AM Changeset in webkit [230842] by beidson@apple.com
  • 2 edits in trunk/Tools

Add a test to verify load/unload/pageshow/pagehide all work with process swapping.
https://bugs.webkit.org/show_bug.cgi?id=184807

Reviewed by Chris Dumez.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

(-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):

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

Unreviewed build fix after r230840.

  • bindings/js/JSWindowProxy.cpp:

(WebCore::JSWindowProxy::attachDebugger):

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

Unreviewed attempt to fix the Windows build after r230831.

  • bindings/js/JSWindowProxy.cpp:

(WebCore::JSWindowProxy::create):
(WebCore::JSWindowProxy::attachDebugger):

6:24 AM Changeset in webkit [230839] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Mark TestJSC as slow in debug.

Only /jsc/vm is slow, but GLib API test runner only checks the test binary for GLib tests.

  • TestWebKitAPI/glib/TestExpectations.json:
5:08 AM Changeset in webkit [230838] by commit-queue@webkit.org
  • 8 edits in trunk

Omit default value when serializing font-feature-settings
https://bugs.webkit.org/show_bug.cgi?id=182382

Patch by Chris Nardi <cnardi@chromium.org> on 2018-04-20
Reviewed by Myles C. Maxfield.

Source/WebCore:

According to the shortest-serialization principle [1], values should be omitted if their omission
wouldn't change the value of reparsing. As "1"/"on" is the default value for font-feature-settings,
omit this when serializing, matching the behavior of Firefox and Chrome.

[1]: https://github.com/w3c/csswg-drafts/issues/1564

Updated css3/font-feature-settings-parsing.html, fast/css/inherited-properties-rare-text.html,
and fast/text/font-face-javascript.html.

  • css/CSSFontFeatureValue.cpp:

(WebCore::CSSFontFeatureValue::customCSSText const):

LayoutTests:

Update tests to omit default value when serializing.

  • css3/font-feature-settings-parsing-expected.txt:
  • css3/font-feature-settings-parsing.html:
  • fast/css/inherited-properties-rare-text-expected.txt:
  • fast/text/font-face-javascript-expected.txt:
  • fast/text/font-face-javascript.html:
3:33 AM Changeset in webkit [230837] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] Local cross references are broken in API documentation
https://bugs.webkit.org/show_bug.cgi?id=184771

Reviewed by Michael Catanzaro.

.:

Update the documentation html paths and install the JSC GLib API too.

  • Source/PlatformGTK.cmake:

Tools:

The problem is that gtkdoc-fixxref expects the links to be in the form html/modulename (like the installed
ones), but we generate the documentation as modulename/html. So, links to WebKitDOM or JSC are generated as
../html/Foo. The rebase command considers html to be the module name in this case, creating broken links in all
the cases.

  • gtk/gtkdoc.py:

(GTKDoc._copy_doc_files_to_output_dir): We don't have any html dir in the source tree so, we are not copying
anything here.
(GTKDoc._run_gtkdoc_mkhtml): Create the html dir here using html/modulename instead now.
(GTKDoc._run_gtkdoc_fixxref): Pass the new directory as module dir to gtkdoc-fixxref and fix several links for
which gtkdoc-fixxref always uses absolute paths.

  • gtk/manifest.txt.in: Update the documentation html paths and include the JSC GLib API in the tarball too.
Note: See TracTimeline for information about the timeline view.