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

Timeline



May 12, 2018:

6:00 PM Changeset in webkit [231738] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.4

Tag Safari-606.1.17.4.

5:03 PM Changeset in webkit [231737] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

Unreviewed, rebaseline a layout test after r231717

  • fast/events/extrazoom/change-focus-during-change-event-expected.txt:
4:55 PM Changeset in webkit [231736] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17-branch/Source

Versioning.

10:10 AM Changeset in webkit [231735] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Use WeakPtr for m_enclosingPaginationLayer in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=185566
<rdar://problem/36486052>

Reviewed by Simon Fraser.

Since RenderLayer does not own the enclosing pagination layout, it should
construct a weak pointer instead of holding on to a raw pointer.

Unable to create a reliably reproducible test case.

  • page/mac/EventHandlerMac.mm:

(WebCore::scrollableAreaForEventTarget):
(WebCore::scrollableAreaForContainerNode):
(WebCore::EventHandler::platformPrepareForWheelEvents):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::weakPtrFactory const):
(WebCore::ScrollableArea::createWeakPtr): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updatePagination):

  • rendering/RenderLayer.h:

May 11, 2018:

9:36 PM Changeset in webkit [231734] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.3

Tag Safari-606.1.17.3.

9:32 PM Changeset in webkit [231733] by Caio Lima
  • 11 edits
    7 adds in trunk

[ESNext][BigInt] Implement support for "*" operation
https://bugs.webkit.org/show_bug.cgi?id=183721

Reviewed by Yusuke Suzuki.

JSTests:

  • bigIntTests.yaml:
  • stress/big-int-mul-jit.js: Added.
  • stress/big-int-mul-to-primitive-precedence.js: Added.
  • stress/big-int-mul-to-primitive.js: Added.
  • stress/big-int-mul-type-error.js: Added.
  • stress/big-int-mul-wrapped-value.js: Added.
  • stress/big-int-multiplication.js: Added.
  • stress/big-int-multiply-memory-stress.js: Added.

Source/JavaScriptCore:

Added BigInt support into times binary operator into LLInt and on
JITOperations profiledMul and unprofiledMul. We are also replacing all
uses of int to unsigned when there is no negative values for
variables.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • jit/JITOperations.cpp:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::JSBigInt):
(JSC::JSBigInt::allocationSize):
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::toString):
(JSC::JSBigInt::multiply):
(JSC::JSBigInt::digitDiv):
(JSC::JSBigInt::internalMultiplyAdd):
(JSC::JSBigInt::multiplyAccumulate):
(JSC::JSBigInt::equals):
(JSC::JSBigInt::absoluteDivSmall):
(JSC::JSBigInt::calculateMaximumCharactersRequired):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::rightTrim):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::parseInt):
(JSC::JSBigInt::digit):
(JSC::JSBigInt::setDigit):

  • runtime/JSBigInt.h:
  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::toNumeric const):

  • runtime/Operations.h:

(JSC::jsMul):

9:25 PM Changeset in webkit [231732] by bshafiei@apple.com
  • 3 edits in branches/safari-606.1.17-branch/Source/WebCore/PAL

Cherry-pick r231731. rdar://problem/39806412

Follow-up build fix to r231721.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h: Unify the conditions between the header and the implementation files, and have watchOS and tvOS keyed off iOS.

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

9:19 PM Changeset in webkit [231731] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore/PAL

Follow-up build fix to r231721.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h: Unify the conditions between the header and the implementation files, and have watchOS and tvOS keyed off iOS.
9:11 PM Changeset in webkit [231730] by dbates@webkit.org
  • 8 edits
    8 adds
    1 delete in trunk

X-Frame-Options: SAMEORIGIN needs to check all ancestor frames
https://bugs.webkit.org/show_bug.cgi?id=185567
<rdar://problem/40175008>

Reviewed by Brent Fulgham.

Source/WebCore:

Change the behavior of "X-Frame-Options: SAMEORIGIN" to ensure that all ancestors frames
are same-origin with the document that delivered this header. This prevents an intermediary
malicious frame from clickjacking a child frame whose document is same-origin with the top-
level frame. It also makes the behavior of X-Frame-Options in WebKit more closely match
the behavior of X-Frame-Options in other browsers, including Chrome and Firefox.

Currently a document delivered with "X-Frame-Options: SAMEORIGIN" must only be same-origin
with the top-level frame's document in order to be displayed. This prevents clickjacking by
a malicious page that embeds a page delivered with "X-Frame-Options: SAMEORIGIN". However,
it does not protect against clickjacking of the "X-Frame-Options: SAMEORIGIN" page (victim)
if embedded by an intermediate malicious iframe, say a "rogue ad", that was embedded in a
document same origin with the victim page. We should protect against such attacks.

Tests: http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-allow.html

http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-deny.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):

Source/WebKit:

Change the behavior of "X-Frame-Options: SAMEORIGIN" to ensure that all ancestors frames
are same-origin with the document that delivered this header. This prevents an intermediary
malicious frame from clickjacking a child frame whose document is same-origin with the top-
level frame. It also makes the behavior of X-Frame-Options in WebKit more closely match
the behavior of X-Frame-Options in other browsers, including Chrome and Firefox.

Currently a document delivered with "X-Frame-Options: SAMEORIGIN" must only be same-origin
with the top-level frame's document in order to be displayed. This prevents clickjacking by
a malicious page that embeds a page delivered with "X-Frame-Options: SAMEORIGIN". However,
it does not protect against clickjacking of the "X-Frame-Options: SAMEORIGIN" page (victim)
if embedded by an intermediate malicious iframe, say a "rogue ad", that was embedded in a
document same origin with the victim page. We should protect against such attacks.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::shouldInterruptLoadForXFrameOptions):

LayoutTests:

Add tests to ensure that "X-Frame-Options: SAMEORIGIN" checks ancestor frames.

  • http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page.html:
  • http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html:
  • http/tests/cookies/same-site/fetch-in-cross-origin-iframe.html:
  • http/tests/resources/echo-iframe-src.php: Copied from LayoutTests/http/tests/cookies/same-site/resources/echo-iframe-src.php.
  • http/tests/security/XFrameOptions/resources/x-frame-options-ancestors-same-origin-deny.html: Added.
  • http/tests/security/XFrameOptions/resources/x-frame-options-frame-ancestors-same-origin-allow.cgi: Added.
  • http/tests/security/XFrameOptions/resources/x-frame-options-frame-ancestors-same-origin-deny.cgi: Added.
  • http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-allow-expected.txt: Added.
  • http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-allow.html: Added.
  • http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-deny-expected.txt: Added.
  • http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-deny.html: Renamed from LayoutTests/http/tests/cookies/same-site/resources/echo-iframe-src.php.
7:11 PM Changeset in webkit [231729] by dino@apple.com
  • 6 edits in trunk/Source/WebKit

WKWebViewContentProvider should know what MIME type it was created to handle
https://bugs.webkit.org/show_bug.cgi?id=185574
<rdar://problem/40183049>

Reviewed by Tim Horton.

Pass the MIME type of the downloaded asset into the WKWebViewContentProvider's
init method, so it can choose to do something based on that information. The
PDF and LegacyPDF views don't care because they, clearly, only handle PDF. But
a WKSystemPreviewView can handle multiple types.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setHasCustomContentView:loadedMIMEType:]): Send the MIME type on
to the WKWebViewContentProvider.

  • UIProcess/Cocoa/WKWebViewContentProvider.h: Add a new parameter to web_initWithFrame.
  • UIProcess/ios/WKLegacyPDFView.mm:

(-[WKLegacyPDFView web_initWithFrame:webView:mimeType:]):
(-[WKLegacyPDFView web_initWithFrame:webView:]): Deleted.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_initWithFrame:webView:mimeType:]):
(-[WKPDFView web_initWithFrame:webView:]): Deleted.

  • UIProcess/ios/WKSystemPreviewView.mm:

(-[WKSystemPreviewView web_initWithFrame:webView:mimeType:]):
(-[WKSystemPreviewView web_setContentProviderData:suggestedFilename:]): Actually use
the MIME type to tell QuickLook what it will be getting, rather than basing it on
the file extension.
(-[WKSystemPreviewView web_initWithFrame:webView:]): Deleted.

5:39 PM Changeset in webkit [231728] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Allow the WebContent process to read global ViewBridge preferences
https://bugs.webkit.org/show_bug.cgi?id=185569
<rdar://problem/40164339>

Reviewed by Eric Carlson.

Allow reads of the global /Library/Preferences/com.apple.ViewBridge.plist preference file.

  • WebProcess/com.apple.WebProcess.sb.in:
4:03 PM Changeset in webkit [231727] by BJ Burg
  • 34 edits
    1 copy
    117 adds in trunk/WebDriverTests

Unreviewed. Update W3C WebDriver imported tests.

This includes upstream PR #10968, which has a fix for XSSAuditor
blocking scripts loaded via inline.py. Test expectations for
webkitgtkdriver may need to be updated with progressions and new tests.

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/wptrunner/requirements_chrome.txt:
  • imported/w3c/tools/wptrunner/requirements_chrome_android.txt: Copied from WebDriverTests/imported/w3c/tools/wptrunner/requirements_opera.txt.
  • imported/w3c/tools/wptrunner/requirements_edge.txt:
  • imported/w3c/tools/wptrunner/requirements_firefox.txt:
  • imported/w3c/tools/wptrunner/requirements_ie.txt:
  • imported/w3c/tools/wptrunner/requirements_opera.txt:
  • imported/w3c/tools/wptrunner/requirements_safari.txt:
  • imported/w3c/tools/wptrunner/requirements_sauce.txt:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/sauce.py:
  • imported/w3c/tools/wptrunner/wptrunner/environment.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/formatters.py:
  • imported/w3c/tools/wptrunner/wptrunner/reduce.py:
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/browsers/test_sauce.py: Added.
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_products.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
  • imported/w3c/webdriver/tests/accept_alert/init.py: Added.
  • imported/w3c/webdriver/tests/accept_alert/accept.py: Added.
  • imported/w3c/webdriver/tests/add_cookie/init.py: Added.
  • imported/w3c/webdriver/tests/add_cookie/add.py: Added.
  • imported/w3c/webdriver/tests/close_window/init.py: Added.
  • imported/w3c/webdriver/tests/close_window/close.py: Added.
  • imported/w3c/webdriver/tests/close_window/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/delete_cookie/init.py: Added.
  • imported/w3c/webdriver/tests/delete_cookie/delete.py: Added.
  • imported/w3c/webdriver/tests/delete_cookie/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/dismiss_alert/init.py: Added.
  • imported/w3c/webdriver/tests/dismiss_alert/dismiss.py: Added.
  • imported/w3c/webdriver/tests/element_clear/init.py: Added.
  • imported/w3c/webdriver/tests/element_clear/clear.py: Added.
  • imported/w3c/webdriver/tests/element_click/bubbling.py:
  • imported/w3c/webdriver/tests/element_click/stale.py:
  • imported/w3c/webdriver/tests/element_send_keys/content_editable.py: Added.
  • imported/w3c/webdriver/tests/element_send_keys/form_controls.py:
  • imported/w3c/webdriver/tests/element_send_keys/interactability.py:
  • imported/w3c/webdriver/tests/element_send_keys/scroll_into_view.py:
  • imported/w3c/webdriver/tests/execute_async_script/collections.py:
  • imported/w3c/webdriver/tests/execute_async_script/user_prompts.py:
  • imported/w3c/webdriver/tests/execute_script/collections.py:
  • imported/w3c/webdriver/tests/execute_script/cyclic.py:
  • imported/w3c/webdriver/tests/execute_script/json_serialize_windowproxy.py: Added.
  • imported/w3c/webdriver/tests/execute_script/user_prompts.py:
  • imported/w3c/webdriver/tests/find_element/init.py: Added.
  • imported/w3c/webdriver/tests/find_element/find.py: Added.
  • imported/w3c/webdriver/tests/find_element_from_element/init.py: Added.
  • imported/w3c/webdriver/tests/find_element_from_element/find.py: Added.
  • imported/w3c/webdriver/tests/find_elements/init.py: Added.
  • imported/w3c/webdriver/tests/find_elements/find.py: Added.
  • imported/w3c/webdriver/tests/find_elements_from_element/init.py: Added.
  • imported/w3c/webdriver/tests/find_elements_from_element/find.py: Added.
  • imported/w3c/webdriver/tests/fullscreen_window/init.py: Added.
  • imported/w3c/webdriver/tests/fullscreen_window/fullscreen.py: Added.
  • imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_active_element/init.py: Added.
  • imported/w3c/webdriver/tests/get_active_element/get.py: Added.
  • imported/w3c/webdriver/tests/get_alert_text/init.py: Added.
  • imported/w3c/webdriver/tests/get_alert_text/get.py: Added.
  • imported/w3c/webdriver/tests/get_current_url/init.py: Added.
  • imported/w3c/webdriver/tests/get_current_url/get.py: Added.
  • imported/w3c/webdriver/tests/get_current_url/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_element_attribute/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_property/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_property/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_property/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_element_tag_name/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_tag_name/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_tag_name/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_element_text/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_text/get.py: Added.
  • imported/w3c/webdriver/tests/get_named_cookie/init.py: Added.
  • imported/w3c/webdriver/tests/get_named_cookie/get.py: Added.
  • imported/w3c/webdriver/tests/get_timeouts/init.py: Added.
  • imported/w3c/webdriver/tests/get_timeouts/get.py: Added.
  • imported/w3c/webdriver/tests/get_title/init.py: Added.
  • imported/w3c/webdriver/tests/get_title/get.py: Added.
  • imported/w3c/webdriver/tests/get_title/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_window_rect/init.py: Added.
  • imported/w3c/webdriver/tests/get_window_rect/get.py: Added.
  • imported/w3c/webdriver/tests/get_window_rect/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/is_element_selected/init.py: Added.
  • imported/w3c/webdriver/tests/is_element_selected/selected.py: Added.
  • imported/w3c/webdriver/tests/is_element_selected/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/maximize_window/init.py: Added.
  • imported/w3c/webdriver/tests/maximize_window/maximize.py: Added.
  • imported/w3c/webdriver/tests/maximize_window/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/init.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/minimize.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/new_session/init.py: Added.
  • imported/w3c/webdriver/tests/new_session/conftest.py: Added.
  • imported/w3c/webdriver/tests/new_session/create_alwaysMatch.py: Added.
  • imported/w3c/webdriver/tests/new_session/create_firstMatch.py: Added.
  • imported/w3c/webdriver/tests/new_session/default_values.py: Added.
  • imported/w3c/webdriver/tests/new_session/invalid_capabilities.py: Added.
  • imported/w3c/webdriver/tests/new_session/merge.py: Added.
  • imported/w3c/webdriver/tests/new_session/response.py: Added.
  • imported/w3c/webdriver/tests/new_session/support/init.py: Added.
  • imported/w3c/webdriver/tests/new_session/support/create.py: Added.
  • imported/w3c/webdriver/tests/page_source/init.py: Added.
  • imported/w3c/webdriver/tests/page_source/source.py: Added.
  • imported/w3c/webdriver/tests/send_alert_text/init.py: Added.
  • imported/w3c/webdriver/tests/send_alert_text/send.py: Added.
  • imported/w3c/webdriver/tests/set_window_rect/init.py: Added.
  • imported/w3c/webdriver/tests/set_window_rect/resizing_and_positioning.py: Added.
  • imported/w3c/webdriver/tests/set_window_rect/set.py: Added.
  • imported/w3c/webdriver/tests/set_window_rect/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/status/init.py: Added.
  • imported/w3c/webdriver/tests/status/status.py: Added.
  • imported/w3c/webdriver/tests/support/fixtures.py:
  • imported/w3c/webdriver/tests/support/inline.py:
  • imported/w3c/webdriver/tests/switch_to_parent_frame/init.py: Added.
  • imported/w3c/webdriver/tests/switch_to_parent_frame/switch.py: Added.
4:03 PM Changeset in webkit [231726] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Cleanup canPerformActionForWebView in relation to the webSelectionAssistant being removed
https://bugs.webkit.org/show_bug.cgi?id=185536

Reviewed by Tim Horton.

The _webSelectionAssistant is now always nil, therefor many of these checks are unnecessary.
Remove the check for a webSelection and clean up the logic surrounding those checks.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView canPerformActionForWebView:withSender:]):

4:01 PM Changeset in webkit [231725] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Text decoration of dragged content does not paint with opacity
https://bugs.webkit.org/show_bug.cgi?id=185551
<rdar://problem/40166867>

Reviewed by Wenson Hsieh.

Respect alpha when painting the text decoration for dragged content.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::MarkedTextStyle::areDecorationMarkedTextStylesEqual): Consider alpha when
comparing decoration styles for equality so that we do not coalesce styles with differing alpha.
(WebCore::InlineTextBox::paintMarkedTextDecoration): Respect alpha when painting dragged content.

3:47 PM Changeset in webkit [231724] by jmarcell@apple.com
  • 2 edits in branches/safari-606.1.17-branch/Source/WebCore/PAL

Cherry-pick r231721. rdar://problem/39806412

Add CF_NOESCAPE decorators for tvOS and watchOS
https://bugs.webkit.org/show_bug.cgi?id=185560

Reviewed by Dan Bernstein.

  • pal/cf/CoreMediaSoftLink.h:

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

3:30 PM Changeset in webkit [231723] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Followup to: Make sure history navigations reuse the existing process when necessary.
https://bugs.webkit.org/show_bug.cgi?id=185532

Reviewed by Andy Estes.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigationInternal): When re-using the same process,

don't change the policy action.

3:19 PM Changeset in webkit [231722] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Test262 Runner should search for the Debug JSC by default
https://bugs.webkit.org/show_bug.cgi?id=185562

Patch by Leo Balter <Leo Balter> on 2018-05-11
Reviewed by Michael Saboff.

The Test262 Runner is now searching for the Debug build of JSC by
default, not the Release build.

This fix allows a similar call from the previous runner, making
it compatible with the current build bot configuration parameters.

This patch also adds some minor improvements the verbose mode output.

  • Scripts/test262/Runner.pm:

(processCLI):
(main):
(getBuildPath):
(processResult):

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

Add CF_NOESCAPE decorators for tvOS and watchOS
https://bugs.webkit.org/show_bug.cgi?id=185560

Reviewed by Dan Bernstein.

  • pal/cf/CoreMediaSoftLink.h:
2:58 PM Changeset in webkit [231720] by n_wang@apple.com
  • 3 edits
    2 adds in trunk

AX: In role=dialog elements with aria-modal=true VoiceOver iOS/macOS can't manually focus or read dialog paragraph description text inside the modal.
https://bugs.webkit.org/show_bug.cgi?id=185219
<rdar://problem/39920009>

Reviewed by Chris Fleizach.

Source/WebCore:

The text node descendants of a modal dialog are ignored. Fixed it by using AccessibilityObject's
node() to determine if it's the descendant of the modal dialog node.

Test: accessibility/aria-modal-text-descendants.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isModalDescendant const):

LayoutTests:

  • accessibility/aria-modal-text-descendants-expected.txt: Added.
  • accessibility/aria-modal-text-descendants.html: Added.
2:16 PM Changeset in webkit [231719] by commit-queue@webkit.org
  • 18 edits
    2 adds in trunk/Source/JavaScriptCore

Unreviewed, rolling out r231316 and r231332.
https://bugs.webkit.org/show_bug.cgi?id=185564

Appears to be a Speedometer2/MotionMark regression (Requested
by keith_miller on #webkit).

Reverted changesets:

"Remove the prototype caching for get_by_id in the LLInt"
https://bugs.webkit.org/show_bug.cgi?id=185226
https://trac.webkit.org/changeset/231316

"Unreviewed, fix 32-bit profile offset for change in bytecode"
https://trac.webkit.org/changeset/231332

1:59 PM Changeset in webkit [231718] by timothy@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

WebHTMLView is not setting aside subviews when drawing.

https://bugs.webkit.org/show_bug.cgi?id=185561
rdar://problem/40172894

Reviewed by Simon Fraser.

Use the new method signature for _recursive:displayRectIgnoringOpacity:shouldChangeFontReferenceColor:.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:]): Added.

1:39 PM Changeset in webkit [231717] by rniwa@webkit.org
  • 56 edits
    4 adds in trunk

Tapping after CSS-based table casues an infinite loop in wordRangeFromPosition
https://bugs.webkit.org/show_bug.cgi?id=185465
<rdar://problem/35263057>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaselined the tests. h2

  • web-platform-tests/dom/nodes/getElementsByClassName-30-expected.txt: table is generating a new line as expected.
  • web-platform-tests/html/syntax/parsing/html5lib_menuitem-element-expected.txt: h2 is generating an extra line

to emulate its margin as expected.

  • web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt: Ditto.
  • web-platform-tests/html/syntax/parsing/html5lib_tests21-expected.txt: Ditto.
  • web-platform-tests/html/syntax/parsing/html5lib_tests25-expected.txt: Ditto.
  • web-platform-tests/html/syntax/parsing/html5lib_webkit02-expected.txt: Ditto.

Source/WebCore:

The bug was caused by TextIterator not emitting a line break when exiting a CSS-based table when an element
with display: table-row has an invisible text node. Specifically, TextIterator::exitNode is never called on
an element with table-cell: row when m_node is a text node with whitespaces which appears after an element
with display: table-cell.

For example, for a tree structure like:
table-row (R)

table-cell (C)

"text" (1)

" " (2)

Getting out of (C) would result in moving onto (2) without generating a line break for (R).

When this happens in nextBoundary as it tries to find the end of the last word in the table cell, we end up
finding the end of the document as the end of the word. As a result, nextWordBoundaryInDirection, the caller
of nextBoundary, ends up infinite looping between the positon at the end of the document and the position
immediately before the last word in the last table cell when it traverses words backwards.

This patch fixes the hang by addressing this root cause in TextIterator. Namely, TextIterator now generates
a line break when exiting a block while walking up ancestors in TextIterator::advance().

Tests: editing/selection/tapping-in-table-at-end-of-document.html

editing/text-iterator/table-at-end-of-document.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::advance): Fixed the bug.
(WebCore::shouldEmitNewlineAfterNode): Do generate a new line at the end of a document when we're trying to
generate every visible poitions even there are no renderers beyond this point. e.g. a position inside the
last cell of a table at the end of a document hits this condition.
(WebCore::shouldEmitExtraNewlineForNode): Don't emit a line break when the render box's height is 0px
to avoid generating many empty lines for empty paragraph and header elements (this function is used to generate
a blank line between p's and h1/h2/...'s).
(WebCore::TextIterator::exitNode):

LayoutTests:

Rebaselined the tests. Most of these are due to new extra line breaks being generated after table and
header elements as expected. See inline comments for some newly discovered bugs and rebaselines due to
other non-obvious reasons.

  • accessibility/internal-link-anchors2-expected.txt: This test now demonstrates a bug that WebKit doesn't

generate an extra line break before h3 when it has a large margin-top since an extra line break is only
generated after a node at the moment.

  • accessibility/mac/mathml-elements-expected.txt:
  • accessibility/table-headers-expected.txt:
  • compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
  • css3/flexbox/box-orient-button-expected.txt:
  • css3/flexbox/flexitem-expected.txt:
  • editing/execCommand/19087-expected.txt: The second blockquote which has the height of 0px no longer

generates an extra new line.

  • editing/inserting/insert-list-in-table-cell-08-expected.txt: Selection is now being restored properly

using TextIterator in InsertListCommand.

  • editing/selection/tapping-in-table-at-end-of-document-expected.txt: Added.
  • editing/selection/tapping-in-table-at-end-of-document.html: Added.
  • editing/text-iterator/table-at-end-of-document-expected.txt: Added.
  • editing/text-iterator/table-at-end-of-document.html: Added.
  • fast/block/positioning/insert-positioned-in-anonymous-crash-expected.txt:
  • fast/css/css3-ch-unit-expected.txt: Line breaks are generated between block & inline-block elements

as expected.

  • fast/css/percent-min-width-img-src-change-expected.txt:
  • fast/css/percent-width-img-src-change-expected.txt:
  • fast/css/pseudo-empty-display-none-expected.txt:
  • fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash-expected.txt:
  • fast/dom/HTMLDivElement/align/getset-expected.txt:
  • fast/dom/HTMLSelectElement/listbox-select-reset-expected.txt:
  • fast/dom/HTMLTableElement/table-with-invalid-border-expected.txt:
  • fast/forms/option-mouseevents-expected.txt:
  • fast/history/multiple-classes-visited-expected.txt:
  • fast/history/self-is-visited-expected.txt:
  • fast/html/marquee-reparent-check-expected.txt:
  • fast/inline-block/anonymous-block-crash-expected.txt: This test now demonstrates a bug that we're not

generating an empty line before a block in some cases.

  • fast/inline/inline-position-top-align-expected.txt:
  • fast/invalid/test-case-tr-th-td-should-not-close-dl-list-expected.txt:
  • fast/overflow/scrollbar-click-retains-focus-expected.txt:
  • fast/parser/comments-expected.txt:
  • fast/parser/fragment-parser-doctype-expected.txt:
  • fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt:
  • fast/spatial-navigation/snav-radio-group-expected.txt: A line break is generated after a nested table.
  • fast/sub-pixel/table-cells-have-stable-width-expected.txt:
  • fast/table/table-row-oveflow-crash-expected.txt: A line break is generated after a table as expected,

which is followed by a BR which creates a blank line.

  • fast/table/table-with-borderattr-null-expected.txt:
  • fast/table/table-with-borderattr-set-to-null-expected.txt:
  • fast/text/international/dynamic-text-combine-crash-expected.txt:
  • fast/xsl/mozilla-tests-expected.txt:
  • http/tests/misc/large-js-program-expected.txt:
  • imported/blink/plugins/empty-per-context-data-expected.txt:
  • inspector/console/js-isLikelyStackTrace-expected.txt:
  • inspector/console/js-source-locations-expected.txt:
  • mathml/out-of-flow-in-token-crash-expected.txt:
  • mathml/presentation/stretchy-depth-height-expected.txt:
  • platform/mac/accessibility/table-cells-roles-expected.txt: Line breaks are generated after a block

followed by two two consecutive BRs.

  • platform/mac/accessibility/table-roles-hierarchy-expected.txt: Ditto.
  • svg/foreignObject/fO-fixed-position-crash-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-region-basic-expected.txt:
  • transforms/3d/hit-testing/coplanar-with-camera-expected.txt:
1:18 PM Changeset in webkit [231716] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

System preview badge doesn't show on <picture> elements
https://bugs.webkit.org/show_bug.cgi?id=185559
<rdar://problem/40150066>

Reviewed by Tim Horton.

We should also identify <img>s that are the child of a <picture>
contained inside the appropriate <a> element.

Tested internally, since the badge is platform specific.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::isSystemPreviewImage const): Add logic
to look for <picture> parents.

1:15 PM Changeset in webkit [231715] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

CommitLogViewer._preceedingCommit should not always be null
https://bugs.webkit.org/show_bug.cgi?id=185540

Reviewed by Ryosuke Niwa.

Fix the bug introduced in r227746 that CommitLogViewer._preceedingCommit is always null.

  • browser-tests/index.html: Fix expected measurement-set url.
  • public/v3/components/commit-log-viewer.js:

(CommitLogViewer.prototype._fetchCommitLogs): CommitLogViewer._preceedingCommit should be set
when fetching for preceeding revision succeeds.

12:22 PM Changeset in webkit [231714] by Chris Dumez
  • 13 edits
    2 adds in trunk

REGRESSION (async policy delegate): Revoking an object URL immediately after triggering download breaks file download
https://bugs.webkit.org/show_bug.cgi?id=185531
<rdar://problem/39909589>

Reviewed by Geoffrey Garen.

Source/WebCore:

Whenever we start an asynchronous navigation policy decision for a blob URL, create a temporary
blob URL pointing to the same data, and update the request's URL. This way, if the page's JS revokes
the URL during the policy decision, the load will still succeed.

Test: fast/dom/HTMLAnchorElement/anchor-file-blob-download-then-revoke.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::extendBlobURLLifetimeIfNecessary const):
(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):

  • loader/PolicyChecker.h:

Source/WTF:

Add a default constructor for CompletionHandlerCallingScope, for convenience.

  • wtf/CompletionHandler.h:

LayoutTests:

  • fast/dom/HTMLAnchorElement/anchor-file-blob-download-then-revoke-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-file-blob-download-then-revoke.html: Added.

Add layout test coverage.

  • platform/ios-wk1/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Skip new test on platforms that do not support the download attribute.

12:05 PM Changeset in webkit [231713] by Antti Koivisto
  • 3 edits
    2 adds in trunk

LinkLoader fails to remove CachedResourceClient in some cases
https://bugs.webkit.org/show_bug.cgi?id=185553
<rdar://problem/36879656>

Reviewed by Geoffrey Garen.

Source/WebCore:

Test: http/tests/preload/link-preload-client-remove.html

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLink):

If there is a link preload already in progress, we fail to clear the client for the ongoing load.
This may leave the CachedResource client map in a bad state.

LayoutTests:

  • http/tests/preload/link-preload-client-remove-expected.txt: Added.
  • http/tests/preload/link-preload-client-remove.html: Added.
11:59 AM Changeset in webkit [231712] by jmarcell@apple.com
  • 2 edits in branches/safari-606.1.17-branch/Source/WebKit

Cherry-pick r231689. rdar://problem/40131741

Fix the build after r231393
https://bugs.webkit.org/show_bug.cgi?id=185519
<rdar://problem/40131741>

  • Configurations/WebKit.xcconfig:

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

11:59 AM Changeset in webkit [231711] by jmarcell@apple.com
  • 4 edits in branches/safari-606.1.17-branch/Source

Cherry-pick r231651. rdar://problem/40131741

Fix the build after r231393
https://bugs.webkit.org/show_bug.cgi?id=185519
<rdar://problem/40131741>

Reviewed by Simon Fraser.

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Source/WTF:

  • wtf/Platform.h:

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

11:39 AM Changeset in webkit [231710] by msaboff@apple.com
  • 3 edits
    1 add in trunk

[DFG] Compiler uses incorrect output register for NumberIsInteger operation
https://bugs.webkit.org/show_bug.cgi?id=185328

Reviewed by Keith Miller.

JSTests:

New regression test.

  • stress/isInteger-doesnt-overwrite-argument.js: Added.

(testIsInteger):

Source/JavaScriptCore:

Fixed a typo from when this code was added in r228968 where resultGPR
was assigned the input register instead of the result.gpr().

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

11:33 AM Changeset in webkit [231709] by commit-queue@webkit.org
  • 33 edits
    9 adds in trunk

Runtime feature flag for Server-Timing
https://bugs.webkit.org/show_bug.cgi?id=184758

Patch by Charles Vazac <cvazac@gmail.com> on 2018-05-11
Reviewed by Youenn Fablet.

Source/WebCore:

  • Source/WebCore/CMakeLists.txt: Added reference to PerformanceServerTiming.idl.
  • Source/WebCore/DerivedSources.make: Added reference to PerformanceServerTiming.idl.
  • Source/WebCore/Sources.txt: Added reference to PerformanceServerTiming.cpp and JSPerformanceServerTiming.cpp.
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj: Added references to PerformanceServerTiming.cpp, PerformanceServerTiming.h, and PerformanceServerTiming.idl.
  • Source/WebCore/bindings/js/WebCoreBuiltinNames.h: Added PerformanceServerTiming.
  • Source/WebCore/page/PerformanceResourceTiming.h: Added serverTiming member.
  • Source/WebCore/page/PerformanceResourceTiming.idl: Added serverTiming attribute.
  • Source/WebCore/page/PerformanceServerTiming.cpp: Added.
  • Source/WebCore/page/PerformanceServerTiming.h: Added.
  • Source/WebCore/page/PerformanceServerTiming.idl: Added.

Source/WebKit:

  • Shared/WebPreferences.yaml: Added ServerTimingEnabled.
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesGetServerTimingEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h: WK_EXPORT for WKPreferencesSetServerTimingEnabled.
  • WebProcess/Storage/WebSWContextManagerConnection.cpp: Call setServerTimingEnabled.

Source/WebKitLegacy:

  • mac/WebView/WebPreferenceKeysPrivate.h: Added server-timing preference.
  • mac/WebView/WebPreferences.mm:

(WebKit::WebPreferences::serverTimingEnabled):
(WebKit::WebPreferences::setServerTimingEnabled):

  • mac/WebView/WebPreferencesPrivate.h:

(WebKit::WebPreferences::setServerTimingEnabled):
(WebKit::WebPreferences::serverTimingEnabled):

  • mac/WebView/WebView.mm: Set runtime enabled feature based on preference.
  • win/Interfaces/IWebPreferencesPrivate.idl: define serverTimingEnabled and setServerTimingEnabled.
  • win/WebPreferenceKeysPrivate.h: Added server-timing preference.
  • win/WebPreferences.cpp: Initialize server-timing as false and define setter and getter.

(WebKit::WebPreferences::serverTimingEnabled):
(WebKit::WebPreferences::setServerTimingEnabled):

  • win/WebPreferences.h: Define serverTimingEnabled and setServerTimingEnabled.
  • win/WebView.cpp: Set runtime enabled feature based on preference.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: added ENABLE_SERVER_TIMING.
  • DumpRenderTree/win/DumpRenderTree.cpp: enable Server Timing

LayoutTests:

  • imported/w3c/resources/import-expectations.json: Import server-timing tests.
  • imported/w3c/web-platform-tests/server-timing/resource_timing_idl.html: Added.
  • imported/w3c/web-platform-tests/server-timing/resource_timing_idl-expected.txt: Added.
  • platform/ios-wk1/TestExpectations: Skip service-worker test.
  • platform/mac-wk1/TestExpectations: Skip service-worker test.
  • platform/win/TestExpectations: Skip service-worker test.
11:11 AM Changeset in webkit [231708] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit

Network process should not stat() all cache files on startup to find their sizes
https://bugs.webkit.org/show_bug.cgi?id=185542
<rdar://problem/40092953>

Reviewed by Chris Dumez.

This is done to compute how much disk space a cache is using. While the operation happens
in a background priority thread it is still quite a bit of work.

Large bodies are saved in separate blob files so record file sizes are capped. We can avoid work by
estimating their size instead of counting it exactly.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::estimateRecordsSize):
(WebKit::NetworkCache::Storage::synchronize):

Use size estimation if blob storage is in use.
Remove the code that would delete empty files. Normal cache shrinking handles this.

(WebKit::NetworkCache::Storage::shouldStoreBodyAsBlob):

10:37 AM Changeset in webkit [231707] by Fujii Hironori
  • 5 edits
    1 add in trunk/Tools

[Win][MiniBrowser] Move WK1 related code into MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=185418

Reviewed by Alex Christensen.

All WK1 related code should be moved into MiniBrowser for the preparation
of Bug 184770.

This change moves the initilization code of MiniBrowse into MiniBrowser::init().

  • MiniBrowser/win/Common.cpp:

(getAppDataFolder): Removed static keyword to be called from MiniBrowser.cpp.
(setCacheFolder): This is only for WK1. Moved into MiniBrowser.cpp.

  • MiniBrowser/win/Common.h: Added.
  • MiniBrowser/win/MiniBrowser.cpp:

(MiniBrowser::init): Moved the initilization code from wWinMain.
(MiniBrowser::setCacheFolder): Moved from Common.cpp and made it a method.

  • MiniBrowser/win/MiniBrowser.h:

(MiniBrowser::setCacheFolder): Changed to a private method.
(MiniBrowser::subclassForLayeredWindow): Changed to a private method.

  • MiniBrowser/win/WinMain.cpp:

(wWinMain): Moved MiniBrowse initilization code into MiniBrowser.cpp.

10:29 AM Changeset in webkit [231706] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test webrtc/addICECandidate-closed.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=185384
<rdar://problem/40035167>

Reviewed by Eric Carlson.

  • webrtc/addICECandidate-closed.html: Move more pc calls inside the try/catch.

This ensures that the test will be consistent as the pc might be closed sooner for some runs.

10:16 AM Changeset in webkit [231705] by jmarcell@apple.com
  • 7 edits in branches/safari-606.1.17-branch/Source

Versioning.

9:12 AM Changeset in webkit [231704] by beidson@apple.com
  • 17 edits in trunk

Make sure history navigations reuse the existing process when necessary.
<rdar://problem/39746516> and https://bugs.webkit.org/show_bug.cgi?id=185532

Reviewed by Ryosuke Niwa.

Source/WebCore:

Covered by new API tests.

In WebCore-land, make sure *all* NavigationActions to a back/forward item are tagged with
the item identifier.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::logString const):

  • history/HistoryItem.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadDifferentDocumentItem):

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::setTargetBackForwardItem):

  • loader/NavigationAction.h:

(WebCore::NavigationAction::targetBackForwardItemIdentifier const):

Source/WebKit:

If a view navigates to either a data: or blob: URL, it reuses the existing process.

In such cases we need to also ensure that history navigations back will also reuse the existing process.

  • Shared/NavigationActionData.cpp:

(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):

  • Shared/NavigationActionData.h:
  • UIProcess/API/APINavigation.h:

(API::Navigation::setTargetItem):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration pageCacheEnabled]):
(-[_WKProcessPoolConfiguration setPageCacheEnabled:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigationInternal): If the current and target back/forward items both

came from the same process, then reuse the existing process.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
9:08 AM Changeset in webkit [231703] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Don't use inferred types when the JIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=185539

Reviewed by Yusuke Suzuki.

There are many JSC API clients that run with the JIT disabled. They were
all allocating and tracking inferred types for no benefit. Inferred types
only benefit programs when they make it to the DFG/FTL. I was seeing cases
where the inferred type machinery used ~0.5MB. This patch makes is so we
don't allocate that machinery when the JIT is disabled.

  • runtime/Structure.cpp:

(JSC::Structure::willStoreValueSlow):

  • runtime/Structure.h:
9:01 AM Changeset in webkit [231702] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

REGRESSION(r231057): Encrypted media content playback failures
https://bugs.webkit.org/show_bug.cgi?id=185537
<rdar://problem/40038478>

Reviewed by Eric Carlson.

Put access to the SecurityServer back in the sandbox so we can validate the
signatures of media encoder/decoders.

  • WebProcess/com.apple.WebProcess.sb.in:
6:09 AM Changeset in webkit [231701] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[GTK][a11y] Newly added accessibility/scroll-to-make-visible-iframe-offscreen.html fails

Unreviewed gardening. Added the failure.

  • platform/gtk/TestExpectations:
4:38 AM Changeset in webkit [231700] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[GTK] media/video-playbackrate.html intermittently crashing
https://bugs.webkit.org/show_bug.cgi?id=185546

Mark thet test, unreviewed gardening.

  • platform/gtk/TestExpectations:
3:50 AM Changeset in webkit [231699] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[EME][GStreamer] Handle the protection event in MediaPlayerPrivate
https://bugs.webkit.org/show_bug.cgi?id=185535

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-05-11
Reviewed by Xabier Rodriguez-Calvar.

This patch is based on this calvaris's commit
https://github.com/WebPlatformForEmbedded/WPEWebKit/commit/d966168b0d2b65f9ca9415426e26d3752c78b03e

It adds a handler for the protection event in MediaPalyerPrivateGStreamerBase, it extracts the InitData from the event
and sends the encrypted event to JS via HTMLMediaElement.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):
(WebCore::MediaPlayerPrivateGStreamerBase::handleProtectionEvent):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h: Add a new type InitData.
3:15 AM Changeset in webkit [231698] by youenn@apple.com
  • 12 edits in trunk/LayoutTests

Rebase some fetch API tests
https://bugs.webkit.org/show_bug.cgi?id=185544

Unreviewed.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/integrity-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
  • web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt:
  • web-platform-tests/fetch/http-cache/partial-expected.txt:

LayoutTests:

  • http/tests/fetch/fetching-same-resource-with-different-options-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
1:55 AM Changeset in webkit [231697] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

Skip http/tests/appcache/load-from-appcache-defer-resume-crash.html for iOS sim WK2
https://bugs.webkit.org/show_bug.cgi?id=185430
<rdar://problem/40065118>

Unreviewed.

  • platform/ios-wk2/TestExpectations: Precising the WK1 testRunner API used by the test.
1:31 AM Changeset in webkit [231696] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[Curl] Make the cipher suites, the signing algorithms and the curve lists configurable.
https://bugs.webkit.org/show_bug.cgi?id=185139

Add interface to configure the cipher suites, the signing algorithms and the curve lists
used by OpenSSL and libcurl to exchange, to sign or to verify keys.

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-05-11
Reviewed by Youenn Fablet.

No new tests in public. Have tested internally.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::setSslCipherList):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setupTransfer):
(WebCore::CurlRequest::willSetupSslCtx):

  • platform/network/curl/CurlSSLHandle.cpp:

(WebCore::CurlSSLHandle::getCACertPathEnv):

  • platform/network/curl/CurlSSLHandle.h:

(WebCore::CurlSSLHandle::getCipherList const):
(WebCore::CurlSSLHandle::getSignatureAlgorithmsList const):
(WebCore::CurlSSLHandle::getCurvesList const):
(WebCore::CurlSSLHandle::setCipherList):
(WebCore::CurlSSLHandle::setSignatureAlgorithmsList):
(WebCore::CurlSSLHandle::setCurvesList):
(WebCore::CurlSSLHandle::getCACertPath const):
(WebCore::CurlSSLHandle::setCACertPath):

  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::CurlSSLVerifier):

12:57 AM Changeset in webkit [231695] by sbarati@apple.com
  • 10 edits in trunk/Source

Don't allocate value profiles when the JIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=185525

Reviewed by Michael Saboff.

Source/JavaScriptCore:

There are many JSC API clients that run with the JIT disabled. We were
still allocating a ton of value profiles in this use case even though
these clients get no benefit from doing value profiling. This patch makes
it so that we don't allocate value profiles or argument value profiles
when we're not using the JIT. We now just make all value profiles in
the instruction stream point to a global value profile that the VM owns.
And we make the argument value profile array have zero length and teach
the LLInt how to handle that. Heap clears the global value profile on each GC.

In an app that I'm testing this against, this saves ~1MB of memory.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::setNumParameters):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::numberOfArgumentValueProfiles):
(JSC::CodeBlock::valueProfileForArgument):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitProfiledOpcode):

  • heap/Heap.cpp:

(JSC::Heap::runEndPhase):

  • llint/LowLevelInterpreter.asm:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WTF:

  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):

12:22 AM Changeset in webkit [231694] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

NetworkCORSPreflightChecker should proceed when having a ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested challenge
https://bugs.webkit.org/show_bug.cgi?id=185522
<rdar://problem/39987152>

Reviewed by Brent Fulgham.

In case of such challenge, refuse to proceed with authentication since preflight is not using credentials.
Previously, we were failing right away which is not right in case preflight is the request triggering the connection.

Manually tested.

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::didReceiveChallenge):

Note: See TracTimeline for information about the timeline view.