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

Timeline



Oct 7, 2016:

8:31 PM Changeset in webkit [206949] by Chris Dumez
  • 8 edits in trunk

window.navigator.language incorrectly returns all lowercase string
https://bugs.webkit.org/show_bug.cgi?id=163096

Reviewed by Darin Adler.

Source/WebCore:

Update navigator.language so that it no longer returns an all lowercase
string (e.g. 'en-us' -> 'en-US'). This matches the behavior of other
browsers and the specification which indicate we should return a
BCP 47 language tag:

The other call sites relying on userPreferredLanguages() use case
insensitive comparison so they will not break.

No new tests, updated existing test.

  • platform/Language.h:

Source/WTF:

Update platformUserPreferredLanguages() so that it no longer lowercases
the string it returns. On Mac, we rely on CFLocale which returns
BCP-47 language tags as per:

  • wtf/PlatformUserPreferredLanguagesMac.mm:

(WTF::httpStyleLanguageCode):

  • wtf/PlatformUserPreferredLanguagesUnix.cpp:

(WTF::platformLanguage):

LayoutTests:

Update existing test so that it does not lowercase navigator.language
before checking it. This way, we can make sure it returns en-US and
not en-us.

  • js/dom/navigator-language-expected.txt:
  • js/dom/navigator-language.html:
8:20 PM Changeset in webkit [206948] by mark.lam@apple.com
  • 3 edits
    2 adds in trunk

Object.freeze() and seal() should throw if PreventExtensions() fails.
https://bugs.webkit.org/show_bug.cgi?id=163160

Reviewed by Saam Barati.

JSTests:

  • stress/object-freeze-with-proxy-preventExtensions.js: Added.
  • stress/object-seal-with-proxy-preventExtensions.js: Added.

Source/JavaScriptCore:

See https://tc39.github.io/ecma262/#sec-object.freeze,
https://tc39.github.io/ecma262/#sec-object.seal, and
https://tc39.github.io/ecma262/#sec-setintegritylevel. We need to call
preventExtensions first before proceeding to freeze / seal the object. If
preventExtensions fails, we should throw a TypeError.

  • runtime/ObjectConstructor.cpp:

(JSC::setIntegrityLevel):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):

7:07 PM Changeset in webkit [206947] by Yusuke Suzuki
  • 2 edits in trunk/LayoutTests

REGRESSION (r206853?): LayoutTest js/regress-141098.html failing
https://bugs.webkit.org/show_bug.cgi?id=163046

Reviewed by Saam Barati.

This is attempt-to-fix patch since I cannot reproduce this flakiness.
We reduce the number of frames to back off from the stack overflow to
catch the closer frame limit to the actual stack limit.

  • js/script-tests/regress-141098.js:
5:23 PM Changeset in webkit [206946] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

Unreviewed, mark a test as failing on iOS simulator

This was intended to be a part of r206944.

  • platform/ios-simulator/TestExpectations:
5:20 PM Changeset in webkit [206945] by Simon Fraser
  • 4 edits in trunk/Source/WebKit/mac

[WK1 Mac] Fix repaints of fixed-background elements in layer-backed WebViews
https://bugs.webkit.org/show_bug.cgi?id=163154
rdar://problem/28674216

Reviewed by Tim Horton.

r55159 added code to counteract AppKit's adjustment of dirty regions during scrolling,
by offsetting the dirty rect in -setNeedsDisplayInRect: if the call happens during
the NSViewBoundsDidChangeNotification handling.

However, AppKit only does dirty region adjustment in the code path that blits ("copy
on scroll"), so r55159 produces incorrect behavior in, for example, layer-backed views.

Fix by overriding -[NSClipView _canCopyOnScrollForDeltaX:deltaY:] to know if a single
scroll is going to blit, and only do adjustments in -setNeedsDisplayInRect: if it is.

  • WebView/WebClipView.h:
  • WebView/WebClipView.mm:

(-[WebClipView _immediateScrollToPoint:]):
(-[WebClipView _canCopyOnScrollForDeltaX:deltaY:]):
(-[WebClipView currentScrollIsBlit]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setNeedsDisplayInRect:]):
(-[WebHTMLView drawRect:]):

4:47 PM Changeset in webkit [206944] by Wenson Hsieh
  • 18 edits
    6 adds in trunk

Support onbeforeinput event handling for the new InputEvent spec
https://bugs.webkit.org/show_bug.cgi?id=163021
<rdar://problem/28658073>

Reviewed by Darin Adler.

Source/WebCore:

Adds support for parsing the onbeforeinput attribute, and for sending default-preventable
beforeinput InputEvents to the page. To do this, we introduce two new virtual methods:
willApplyCommand and didApplyCommand on the CompositeEditCommand that are called before and
after CompositeEditCommand::doApply, respectively. willApplyCommand indicates whether or not
the composite editor command should proceed with applying the command.

Tweaks existing layout tests and adds new tests.

Tests: fast/events/before-input-events-different-start-end-elements.html

fast/events/before-input-events-prevent-default-in-textfield.html
fast/events/before-input-events-prevent-default.html

  • dom/Document.idl:
  • dom/Element.idl:
  • dom/EventNames.h:
  • dom/Node.cpp:

(WebCore::Node::dispatchInputEvent):
(WebCore::Node::defaultEventHandler):

Currently, we fire input events in Node in response to dispatching a webkitEditableContentChangedEvent. After
some discussion, Ryosuke and I believe that it will be ok to instead directly dispatch the input event where we
would normally dispatch a webkitEditableContentChangedEvent.

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):

Added calls to Editor::willUnapplyEditing and Editor::willReapplyEditing.

(WebCore::CompositeEditCommand::willApplyCommand):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::didApplyCommand):

Added new virtual functions, willApplyCommand and didApplyCommand, that surround a call to
CompositeEditCommand::doApply. By default, they call willApplyEditing and appliedEditing on the editor, but may
be overridden in special cases, such as in TypingCommand, where we invoke appliedEditing after adding a new
typing command to the last open command.

If willApplyCommand returns false, CompositeEditCommand::apply will bail and not proceed with the command.

  • editing/CompositeEditCommand.h:
  • editing/Editor.cpp:

(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchBeforeInputEvents):
(WebCore::dispatchInputEvents):
(WebCore::Editor::willApplyEditing):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::willUnapplyEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::willReapplyEditing):
(WebCore::Editor::reappliedEditing):
(WebCore::Editor::computeAndSetTypingStyle):
(WebCore::dispatchEditableContentChangedEvents): Deleted.

  • editing/Editor.h:
  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::willApplyCommand):
(WebCore::TypingCommand::didApplyCommand):
(WebCore::TypingCommand::willAddTypingToOpenCommand):
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::deleteSelection):

These now invoke willAddTypingToOpenCommand before proceeding with creating the command and applying it. The
flow is now:

  • willAddTypingToOpenCommand
  • create and apply a new command
  • typingAddedToOpenCommand
  • editing/TypingCommand.h:

(WebCore::TypingCommand::preservesTypingStyle): Deleted.
(WebCore::TypingCommand::shouldRetainAutocorrectionIndicator): Deleted.
(WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator): Deleted.
(WebCore::TypingCommand::shouldStopCaretBlinking): Deleted.

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

(WebCore::HTMLElement::createEventHandlerNameMap):

LayoutTests:

Tweak an existing test to hook into the 'input' event instead of 'webkitEditableContentChanged', as well as
tests added in r206843 to verify that onbeforeinput handlers are invoked with InputEvents. Also introduces
new unit tests verifying that calling preventDefault on InputEvents fired by onbeforeinput correctly prevent
text from being inserted or deleted.

  • editing/undo/undo-after-event-edited.html:
  • fast/events/before-input-events-different-start-end-elements-expected.txt: Added.
  • fast/events/before-input-events-different-start-end-elements.html: Added.
  • fast/events/before-input-events-prevent-default-expected.txt: Added.
  • fast/events/before-input-events-prevent-default-in-textfield-expected.txt: Added.
  • fast/events/before-input-events-prevent-default-in-textfield.html: Added.
  • fast/events/before-input-events-prevent-default.html: Added.
  • fast/events/input-events-fired-when-typing-expected.txt:
  • fast/events/input-events-fired-when-typing.html:
  • platform/ios-simulator/TestExpectations:
4:30 PM Changeset in webkit [206943] by n_wang@apple.com
  • 13 edits
    2 adds in trunk

AX: <figcaption> should be AXTitleUIElement for other content inside the <figure>
https://bugs.webkit.org/show_bug.cgi?id=108996

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed the figcaption element to be the AXTitleUIElement for the figure element. And used
the figcaption's content as the accessible name of the figure. Also, updated the figure element's
role description on Mac.
Accessible name and description calculation for figure elements:
https://w3c.github.io/html-aam/#figure-and-figcaption-elements

Test: accessibility/mac/figure-element.html

  • English.lproj/Localizable.strings:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::captionForFigure):
(WebCore::AccessibilityNodeObject::alternativeText):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isFigure):
(WebCore::AccessibilityObject::isSuperscriptStyleGroup): Deleted.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::exposesTitleUIElement):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper roleDescription]):

  • platform/LocalizedStrings.cpp:

(WebCore::AXFigureText):

  • platform/LocalizedStrings.h:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::AXFigureText):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXFigureText):

LayoutTests:

  • accessibility/mac/figure-element-expected.txt: Added.
  • accessibility/mac/figure-element.html: Added.
4:06 PM Changeset in webkit [206942] by achristensen@apple.com
  • 4 edits in trunk

Non-special URL fragments should percent-encode non-ASCII characters
https://bugs.webkit.org/show_bug.cgi?id=163153

Reviewed by Tim Horton.

Source/WebCore:

This is needed to keep compatibility with data URLs with non-ASCII characters after a '#'
which works in Chrome, Firefox, and Safari, while maintaining compatibility with Chrome, IE, and Edge
which keep non-ASCII characters in the fragments of special URLs.
This was proposed to the spec in https://github.com/whatwg/url/issues/150

Covered by new API tests.

  • platform/URLParser.cpp:

(WebCore::URLParser::syntaxViolation):
Removed assertion because we now have fragments that need percent encoding but are all ASCII.
(WebCore::URLParser::fragmentSyntaxViolation):
(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

3:59 PM Changeset in webkit [206941] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

EventHandler functions that need to guarantee event handler lifetime need to use Ref<Frame>
https://bugs.webkit.org/show_bug.cgi?id=98617
<rdar://problem/12778649>

Reviewed by Daniel Bates.

Improve stability by ensuring that the Frame holding an active EventHandler is kept
alive while in the process of handling events and executing JavaScript.

No new tests since there is no change in behavior.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEventSingleClick): Protect the Frame with a Ref<>.
(WebCore::EventHandler::handleMousePressEvent): Ditto.
(WebCore::EventHandler::handleMouseDraggedEvent): Ditto.
(WebCore::EventHandler::eventMayStartDrag): Ditto.
(WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
(WebCore::EventHandler::hitTestResultAtPoint): Ditto.
(WebCore::EventHandler::scrollRecursively): Ditto.
(WebCore::EventHandler::logicalScrollRecursively): Ditto.
(WebCore::EventHandler::selectCursor): Ditto.
(WebCore::EventHandler::handleMouseDoubleClickEvent): Ditto.
(WebCore::EventHandler::mouseMoved): Ditto.
(WebCore::EventHandler::handleMouseMoveEvent): Ditto.
(WebCore::EventHandler::handleMouseForceEvent): Ditto.
(WebCore::EventHandler::dispatchDragEvent): Ditto.
(WebCore::EventHandler::updateDragAndDrop): Ditto.
(WebCore::EventHandler::cancelDragAndDrop): Ditto.
(WebCore::EventHandler::performDragAndDrop): Ditto.
(WebCore::EventHandler::prepareMouseEvent): Ditto.
(WebCore::EventHandler::updateMouseEventTargetNode): Ditto.
(WebCore::EventHandler::dispatchMouseEvent): Ditto.
(WebCore::EventHandler::platformCompleteWheelEvent): Ditto.
(WebCore::EventHandler::handleWheelEvent): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.
(WebCore::EventHandler::sendContextMenuEvent): Ditto.
(WebCore::EventHandler::sendContextMenuEventForKey): Ditto.
(WebCore::EventHandler::hoverTimerFired): Ditto.
(WebCore::EventHandler::keyEvent): Ditto.
(WebCore::EventHandler::defaultKeyboardEventHandler): Ditto.
(WebCore::EventHandler::handleDrag): Ditto.
(WebCore::EventHandler::handleTextInputEvent): Ditto.
(WebCore::EventHandler::defaultSpaceEventHandler): Ditto.
(WebCore::EventHandler::defaultTabEventHandler): Ditto.
(WebCore::EventHandler::sendScrollEvent): Ditto.
(WebCore::EventHandler::handleTouchEvent): Ditto.

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::focusDocumentView): Ditto.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompleteWheelEvent): Ditto.

3:17 PM Changeset in webkit [206940] by Jonathan Bedard
  • 3 edits in trunk/Tools

Build fix for “Move functionality common to Darwin ports into a base class”
https://bugs.webkit.org/show_bug.cgi?id=160709

Unreviewed build fix.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort._get_crash_log): Added iOS implementation.

  • Scripts/webkitpy/port/mac.py:

(MacPort._get_crash_log): Added Mac implementation.

3:14 PM Changeset in webkit [206939] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking inspector/debugger/stepping tests as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161951

Unreviewed test gardening.

2:25 PM Changeset in webkit [206938] by cpugh@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Added myself to the list of committers.

  • Scripts/webkitpy/common/config/contributors.json:
2:20 PM Changeset in webkit [206937] by andersca@apple.com
  • 8 edits
    4 deletes in trunk/Source/WebKit2

Get rid of API::Session and WKSessionRef
https://bugs.webkit.org/show_bug.cgi?id=163140

Reviewed by Tim Horton.

This API is no longer used.

  • CMakeLists.txt:
  • Shared/API/APIObject.h:
  • Shared/API/c/WKSharedAPICast.h:
  • UIProcess/API/APISession.cpp: Removed.

(API::generateID): Deleted.
(API::Session::defaultSession): Deleted.
(API::Session::Session): Deleted.
(API::Session::createEphemeral): Deleted.
(API::Session::isEphemeral): Deleted.
(API::Session::getID): Deleted.
(API::Session::~Session): Deleted.

  • UIProcess/API/APISession.h: Removed.
  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKSessionRef.cpp: Removed.

(WKSessionCreate): Deleted.
(WKSessionGetTypeID): Deleted.
(WKSessionIsEphemeral): Deleted.

  • UIProcess/API/C/WKSessionRef.h: Removed.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
2:11 PM Changeset in webkit [206936] by timothy_horton@apple.com
  • 3 edits
    3 moves in trunk/Source/WebKit2

Move ViewGestureController files to more accurate locations
https://bugs.webkit.org/show_bug.cgi?id=163141

Reviewed by Anders Carlsson.

  • PlatformMac.cmake:
  • UIProcess/Cocoa/ViewGestureController.cpp: Renamed from UIProcess/ViewGestureController.cpp.
  • UIProcess/Cocoa/ViewGestureController.h: Renamed from UIProcess/mac/ViewGestureController.h.
  • UIProcess/Cocoa/ViewGestureController.messages.in: Renamed from UIProcess/mac/ViewGestureController.messages.in.
  • WebKit2.xcodeproj/project.pbxproj:
2:06 PM Changeset in webkit [206935] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

js/function-apply-aliased.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=127860

Reviewed by Darin Adler.

This test no longer times out. Reintegrating into test suites.

2:06 PM Changeset in webkit [206934] by Jonathan Bedard
  • 10 edits
    1 copy
    2 adds in trunk/Tools

Move functionality common to Darwin ports into a base class
https://bugs.webkit.org/show_bug.cgi?id=160709

Reviewed by Darin Adler.

  • Scripts/webkitpy/port/apple.py:

(ApplePort.determine_full_port_name): Specific iOS port check.
(ApplePort.init): Move leak detector to DarwinPort.
(ApplePort._make_leak_detector): Moved to DarwinPort.
(ApplePort.supports_per_test_timeout): Moved to Port.
(ApplePort.check_for_leaks): Moved to DarwinPort.
(ApplePort.print_leaks_summary): Moved to DarwinPort.
(ApplePort._path_to_webcore_library): Moved to DarwinPort.
(ApplePort.show_results_html_file): Moved to DarwinPort.
(ApplePort._merge_crash_logs): Moved to DarwinPort.
(ApplePort._look_for_all_crash_logs_in_log_dir): Moved to DarwinPort.
(ApplePort._get_crash_log): Moved to DarwinPort.
(ApplePort.look_for_new_crash_logs): Moved to DarwinPort.
(ApplePort.sample_process): Moved to DarwinPort.
(ApplePort.sample_file_path): Moved to DarwinPort.
(ApplePort.look_for_new_samples): Moved to DarwinPort.

  • Scripts/webkitpy/port/base.py:

(Port.supports_per_test_timeout): Return true for all ports.

  • Scripts/webkitpy/port/darwin.py: Added.

(DarwinPort): Shared iOS and Mac functions.

  • Scripts/webkitpy/port/darwin_testcase.py: Added.

(DarwinTest): Shared iOS and Mac testing.

  • Scripts/webkitpy/port/efl.py:

(EflPort):
(EflPort.supports_per_test_timeout): Moved to Port.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort._driver_class):
(GtkPort):
(GtkPort.supports_per_test_timeout): Moved to Port.

  • Scripts/webkitpy/port/ios.py:

(IOSPort):
(IOSPort.operating_system):
(IOSSimulatorPort):
(IOSSimulatorPort.init): Inherits from DarwinPort.
(IOSSimulatorPort._port_specific_expectations_files): Moved to DarwinPort.
(IOSSimulatorPort._get_crash_log): Deleted.
(IOSSimulatorPort.xcrun_find): Deleted.

  • Scripts/webkitpy/port/ios_unittest.py: Added.

(iosTest): Unit tests for the iOS port.

  • Scripts/webkitpy/port/mac.py:

(MacPort):
(MacPort.init): Inherits from DarwinPort.
(MacPort._port_specific_expectations_files): Moved to DarwinPort.
(MacPort.make_command): Moved to DarwinPort.
(MacPort._get_crash_log): Moved to DarwinPort.
(MacPort.nm_command): Moved to DarwinPort.

  • Scripts/webkitpy/port/mac_unittest.py:

(MacTest):
(MacTest.test_sdk_name): Added test.
(MacTest.test_xcrun): Added test.
(MacTest.assert_skipped_file_search_paths): Moved to DarwinTest.
(MacTest.test_default_timeout_ms): Moved to DarwinTest.
(MacTest.assert_name): Moved to DarwinTest.
(MacTest.test_helper_starts): Moved to DarwinTest.
(MacTest.test_helper_fails_to_start): Moved to DarwinTest.
(MacTest.test_helper_fails_to_stop): Moved to DarwinTest.
(MacTest.test_spindump): Moved to DarwinTest.
(MacTest.test_sample_process): Moved to DarwinTest.
(MacTest.test_sample_process_exception): Moved to DarwinTest.

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase):
(PortTestCase.test_diff_image): Added is_simulator flag.
(PortTestCase.test_diff_image): Skip test if on a simulator.
(PortTestCase.test_diff_image_crashed): Skip test if on a simulator.

  • Scripts/webkitpy/port/win.py:

(WinPort):
(WinPort.look_for_new_samples): Used default, ApplePort no longer implements.
(WinPort.sample_process): Ditto.
(WinPort._make_leak_detector): Ditto.
(WinPort.check_for_leaks): Ditto.
(WinPort.print_leaks_summary): Ditto.
(WinPort._path_to_webcore_library): Ditto.

1:56 PM Changeset in webkit [206933] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-603.1.8.1

Remove tag.

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

Marking inspector/console/addInspectedNode.html as flaky on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=155138

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
1:46 PM Changeset in webkit [206931] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/cache/disk-cache/memory-cache-revalidation-updates-disk-cache.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=162975

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:25 PM Changeset in webkit [206930] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

Adopt BlockPtr in ViewGestureController
https://bugs.webkit.org/show_bug.cgi?id=163132

Reviewed by Anders Carlsson.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):

  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
(WebKit::ViewGestureController::m_didMoveSwipeSnapshotCallback): Deleted.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::platformTeardown):
(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback): Deleted.

1:04 PM Changeset in webkit [206929] by andersca@apple.com
  • 8 edits in trunk

Get rid of WKPageSetSession
https://bugs.webkit.org/show_bug.cgi?id=163129

Reviewed by Tim Horton.

Source/WebKit2:

This function is no longer used.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetSession): Deleted.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setSessionID): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::sessionID):

  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Rewrite this test to use WKPageConfigurationRef and WKWebsiteDataStoreRef.

  • TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp:

(TestWebKitAPI::TEST):

12:56 PM Changeset in webkit [206928] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-603.1.8.1

New tag.

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

Marking http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html as flaky on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=163139

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
12:37 PM Changeset in webkit [206926] by Chris Dumez
  • 6 edits in trunk

Regression(r201970): productSub / vendor / vendorSub should not be exposed on WorkerNavigator
https://bugs.webkit.org/show_bug.cgi?id=163124

Reviewed by Ryosuke Niwa.

Source/WebCore:

productSub / vendor / vendorSub should not be exposed on WorkerNavigator:

Test case:

Note that the specification also restricts NavigatorID's appCodeName and
product attributes to Window. However, it seems the HTML specification is
about to get updated so that these get exposed to workers:

No new tests, updated existing test.

  • bindings/scripts/generate-bindings.pl:

(shouldPropertyBeExposed):

  • page/NavigatorID.idl:

LayoutTests:

Update existing test to reflect behavior change.

  • fast/workers/resources/worker-navigator.js:
  • fast/workers/worker-navigator-expected.txt:
12:03 PM Changeset in webkit [206925] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/xmlhttprequest/auth-reject-protection-space.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=163136

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
12:03 PM Changeset in webkit [206924] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Disable URLParser logs by default in all builds
https://bugs.webkit.org/show_bug.cgi?id=163135

Reviewed by Brady Eidson.

In debug builds with the URLParser enabled, some tests time out because
parameters to generate log strings are being evaluated for each character of each URL
and then not being used if URLParser logs are disabled. Generating these unused parameters
is too slow even for debug builds. Let's only generate them if they are to be used.

No change in behaviour.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):
(WebCore::URLParser::allValuesEqual):

11:55 AM Changeset in webkit [206923] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking storage/indexeddb/key-type-array.html as flaky on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=161720

Unreviewed test gardening.

  • platform/mac/TestExpectations:
11:55 AM Changeset in webkit [206922] by akling@apple.com
  • 4 edits
    3 adds in trunk

[WK2] didRemoveFrameFromHierarchy callback doesn't fire for subframes when evicting from PageCache.
<https://webkit.org/b/163098>
<rdar://problem/28663488>

Reviewed by Antti Koivisto.

Source/WebCore:

Fix a bug where WK2 didRemoveFrameFromHierarchy callbacks wouldn't fire for subframes that were getting
kicked out of PageCache. The problem was happening because CachedFrame would disconnect the Frame from
its Page just before calling FrameLoader::detachViewsAndDocumentLoader() where the callbacks are fired.
Without a Page, the WebFrame on WK2 side can't find its WebPage, and so it can't fire its callbacks.

The fix is just to switch the order of those two lines.

This bug was causing frequent DOM and window object leaks in some clients *cough* Safari *cough* that
were relying on didRemoveFrameFromHierarchy to release their isolated worlds.

Test: WebKit2.DidRemoveFrameFromHiearchyInPageCache

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::destroy):

Tools:

Add an API test that puts a 10-subframe page into the page cache, then loads other pages
until the first page gets kicked out. The test succeeds if we receive didRemoveFrameFromHierarchy
callbacks for all the subframes.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache.cpp: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didReceivePageMessageFromInjectedBundle):
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: Added.

(TestWebKitAPI::didRemoveFrameFromHierarchyCallback):
(TestWebKitAPI::DidRemoveFrameFromHiearchyInPageCacheTest::DidRemoveFrameFromHiearchyInPageCacheTest):
(TestWebKitAPI::DidRemoveFrameFromHiearchyInPageCacheTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/many-iframes.html: Added.
10:44 AM Changeset in webkit [206921] by n_wang@apple.com
  • 8 edits
    2 adds in trunk

AX: AXRoleDescription for details and summary elements
https://bugs.webkit.org/show_bug.cgi?id=163094

Reviewed by Chris Fleizach.

Source/WebCore:

details and summary elements should have AXRoleDescription that is consistent with other
elements that have custom AXSubRole.

Test: accessibility/mac/details-summary-role-description.html

  • English.lproj/Localizable.strings:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper roleDescription]):

  • platform/LocalizedStrings.cpp:

(WebCore::AXDetailsText):
(WebCore::AXSummaryText):

  • platform/LocalizedStrings.h:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::AXDetailsText):
(WebCore::AXSummaryText):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXDetailsText):
(WebCore::AXSummaryText):

LayoutTests:

  • accessibility/mac/details-summary-role-description-expected.txt: Added.
  • accessibility/mac/details-summary-role-description.html: Added.
10:26 AM Changeset in webkit [206920] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Fix the Windows build after r206917.

Unreviewed build fix.

  • dom/DOMAllInOne.cpp:
10:15 AM Changeset in webkit [206919] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/blink/storage/indexeddb/blob-valid-after-deletion.html as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=163122

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:04 AM Changeset in webkit [206918] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Replace bug URL placeholders independently of the short desc one
https://bugs.webkit.org/show_bug.cgi?id=161684

Patch by Emanuele Aina <Emanuele Aina> on 2016-10-07
Reviewed by Darin Adler.

Instead of adding the bug URL when replacing the short description
placeholder and then ignoring the bug URL placeholder, use the former
to set the short description and the latter for the bug URL.
This means that developers can fully prepare the changelog with short
and long description before submission leaving the bug placeholder in
place, and the changelog machinery will make sure to replace the
latter with the URL of the newly created bug while submitting.

Note that this also means that the short description placeholder alone
no longer causes the bug URL to be added.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLog.set_short_description_and_bug_url):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_set_short_description_and_bug_url):

9:55 AM Changeset in webkit [206917] by Antti Koivisto
  • 30 edits
    2 moves in trunk/Source

Rename AuthorStyleSheets to Style::Scope
https://bugs.webkit.org/show_bug.cgi?id=163108

Reviewed by Andreas Kling.

It represents the style scope in DOM.
Also move the file under style/.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::styleSheetScope):

  • css/CSSStyleSheet.h:
  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):

  • css/InspectorCSSOMWrappers.h:
  • css/StyleSheetList.cpp:

(WebCore::StyleSheetList::styleSheets):
(WebCore::StyleSheetList::detachFromDocument):

  • dom/AuthorStyleSheets.cpp: Removed.
  • dom/AuthorStyleSheets.h: Removed.
  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::setContentLanguage):
(WebCore::Document::recalcStyle):
(WebCore::Document::needsStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::createStyleResolver):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::usesStyleBasedEditability):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::preferredStylesheetSet):
(WebCore::Document::selectedStylesheetSet):
(WebCore::Document::setSelectedStylesheetSet):
(WebCore::Document::haveStylesheetsLoaded):

  • dom/Document.h:

(WebCore::Document::styleScope):
(WebCore::Document::authorStyleSheets): Deleted.

  • dom/ExtensionStyleSheets.cpp:

(WebCore::ExtensionStyleSheets::clearPageUserSheet):
(WebCore::ExtensionStyleSheets::updatePageUserSheet):
(WebCore::ExtensionStyleSheets::invalidateInjectedStyleSheetCache):
(WebCore::ExtensionStyleSheets::addUserStyleSheet):
(WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
(WebCore::ExtensionStyleSheets::styleResolverChangedTimerFired):

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::insertedIntoDocument):
(WebCore::InlineStyleSheetOwner::removedFromDocument):
(WebCore::InlineStyleSheetOwner::clearDocumentData):
(WebCore::InlineStyleSheetOwner::createSheet):
(WebCore::InlineStyleSheetOwner::sheetLoaded):
(WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):

  • dom/InlineStyleSheetOwner.h:

(WebCore::InlineStyleSheetOwner::styleScope):
(WebCore::InlineStyleSheetOwner::styleSheetScope): Deleted.

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::~ProcessingInstruction):
(WebCore::ProcessingInstruction::checkStyleSheet):
(WebCore::ProcessingInstruction::sheetLoaded):
(WebCore::ProcessingInstruction::insertedInto):
(WebCore::ProcessingInstruction::removedFrom):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::styleResolver):
(WebCore::ShadowRoot::styleScope):
(WebCore::ShadowRoot::updateStyle):
(WebCore::ShadowRoot::authorStyleSheets): Deleted.

  • dom/ShadowRoot.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::insertedInto):
(WebCore::HTMLLinkElement::removedFrom):
(WebCore::HTMLLinkElement::addPendingSheet):
(WebCore::HTMLLinkElement::removePendingSheet):

  • html/HTMLStyleElement.cpp:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::collectAllDocumentStyleSheets):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::resetPseudoStates):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setEmulatedMedia):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::getMatchedCSSRules):

  • page/Frame.cpp:

(WebCore::Frame::setPrinting):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::setPagination):
(WebCore::FrameView::setViewportSizeForCSSViewportUnits):

  • page/Page.cpp:

(WebCore::Page::setViewMode):
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
(WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames):

  • style/StyleScope.cpp: Copied from dom/AuthorStyleSheets.cpp.

(WebCore::Style::Scope::Scope):
(WebCore::Style::Scope::styleResolver):
(WebCore::Style::Scope::styleResolverIfExists):
(WebCore::Style::Scope::forNode):
(WebCore::Style::Scope::removePendingSheet):
(WebCore::Style::Scope::addStyleSheetCandidateNode):
(WebCore::Style::Scope::removeStyleSheetCandidateNode):
(WebCore::Style::Scope::collectActiveStyleSheets):
(WebCore::Style::Scope::analyzeStyleSheetChange):
(WebCore::Style::Scope::updateActiveStyleSheets):
(WebCore::Style::Scope::updateStyleResolver):
(WebCore::Style::Scope::activeStyleSheetsForInspector):
(WebCore::Style::Scope::activeStyleSheetsContains):
(WebCore::Style::Scope::flushPendingUpdate):
(WebCore::Style::Scope::clearPendingUpdate):
(WebCore::Style::Scope::scheduleActiveSetUpdate):
(WebCore::Style::Scope::didChangeCandidatesForActiveSet):
(WebCore::Style::Scope::didChangeContentsOrInterpretation):
(WebCore::Style::Scope::pendingUpdateTimerFired):
(WebCore::AuthorStyleSheets::AuthorStyleSheets): Deleted.
(WebCore::AuthorStyleSheets::styleResolver): Deleted.
(WebCore::AuthorStyleSheets::styleResolverIfExists): Deleted.
(WebCore::AuthorStyleSheets::forNode): Deleted.
(WebCore::AuthorStyleSheets::removePendingSheet): Deleted.
(WebCore::AuthorStyleSheets::addStyleSheetCandidateNode): Deleted.
(WebCore::AuthorStyleSheets::removeStyleSheetCandidateNode): Deleted.
(WebCore::AuthorStyleSheets::collectActiveStyleSheets): Deleted.
(WebCore::AuthorStyleSheets::analyzeStyleSheetChange): Deleted.
(WebCore::AuthorStyleSheets::updateActiveStyleSheets): Deleted.
(WebCore::AuthorStyleSheets::updateStyleResolver): Deleted.
(WebCore::AuthorStyleSheets::activeStyleSheetsForInspector): Deleted.
(WebCore::AuthorStyleSheets::activeStyleSheetsContains): Deleted.
(WebCore::AuthorStyleSheets::flushPendingUpdate): Deleted.
(WebCore::AuthorStyleSheets::clearPendingUpdate): Deleted.
(WebCore::AuthorStyleSheets::scheduleActiveSetUpdate): Deleted.
(WebCore::AuthorStyleSheets::didChangeCandidatesForActiveSet): Deleted.
(WebCore::AuthorStyleSheets::didChangeContentsOrInterpretation): Deleted.
(WebCore::AuthorStyleSheets::pendingUpdateTimerFired): Deleted.

  • style/StyleScope.h: Copied from dom/AuthorStyleSheets.h.
  • style/StyleTreeResolver.cpp:
  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::removedFrom):

  • xml/XMLTreeViewer.cpp:

(WebCore::XMLTreeViewer::transformDocumentToTreeView):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::end):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::doEnd):

9:41 AM Changeset in webkit [206916] by Alan Bujtas
  • 4 edits
    2 adds in trunk

https://vuldb.com/?cvssv3.2012 takes long time to load.
https://bugs.webkit.org/show_bug.cgi?id=162994
<rdar://problem/28593746>

Reviewed by Darin Adler.

Source/WebCore:

Stop visiting cousins when we hit the style sharing search threshold.

In addition to mistakenly ignoring the threshold at SharingResolver::findSibling(), we
continued on searching for cousin elements.

Test: fast/selectors/slow-style-sharing-with-long-cousin-list.html

  • style/StyleSharingResolver.cpp:

(WebCore::Style::SharingResolver::resolve):
(WebCore::Style::SharingResolver::findSibling):
(WebCore::Style::SharingResolver::locateCousinList):

LayoutTests:

It takes ~100 seconds to run this test case without the fix (300ms with the fix).
Surely it will timeout if it gets regressed.

  • fast/selectors/slow-style-sharing-with-long-cousin-list-expected.txt: Added.
  • fast/selectors/slow-style-sharing-with-long-cousin-list.html: Added.
  • platform/mac/TestExpectations: Skip perf test in debug.
9:39 AM Changeset in webkit [206915] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

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

Caused most of GTK layout tests to crash (Requested by KaL on
#webkit).

Reverted changeset:

"[GTK] UIProcess crashes when using Japanese IM"
https://bugs.webkit.org/show_bug.cgi?id=163011
http://trac.webkit.org/changeset/206909

9:35 AM Changeset in webkit [206914] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking contentextensions tests as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=162942

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:32 AM Changeset in webkit [206913] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

Network Session: Allow NetworkDataTask decide what to do when override is allowed for a download
https://bugs.webkit.org/show_bug.cgi?id=163010

Reviewed by Alex Christensen.

Current code always deletes the file before starting a download when allow override is True. In soup backend we
use glib API that takes care of it and tries to ensure that the original file is not deleted if the new file
creation fails for whatever reason.

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::continueDecidePendingDownloadDestination): Pass allowOverride to setPendingDownloadLocation().

  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTask::setPendingDownloadLocation): Delete the destination file if exists and allowOverride
is True.

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

[Readable Streams API] Implement generic reader functions
https://bugs.webkit.org/show_bug.cgi?id=163003

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-10-07
Reviewed by Darin Adler.

Implements reader generic functions defined by spec in order to prepare BYOBReader integration.
Generic functions factorize some code that is used by both DefaultReader and BYOBReader.

No change in behaviour.

  • Modules/streams/ReadableStreamDefaultReader.js:

(cancel): Rely on readableStreamReaderGenericCancel.
(releaseLock): Rely on readableStreamReaderGenericRelease.

  • Modules/streams/ReadableStreamInternals.js:

(privateInitializeReadableStreamDefaultReader): Rely on readableStreamReaderGenericInitialize.
(readableStreamReaderGenericInitialize): Added.
(readableStreamReaderGenericCancel): Added.
(readableStreamReaderGenericRelease): Added.

8:00 AM Changeset in webkit [206911] by Jonathan Bedard
  • 3 edits in trunk/Tools

Style Checking Error when Objective C Blocks passed as Argument
https://bugs.webkit.org/show_bug.cgi?id=162463

Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cpp.py:

(regex_for_lambdas_and_blocks): Consider case where block is passed as a function argument.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_objective_c_block_as_argument): Test case where block is passed as a function argument.

5:50 AM Changeset in webkit [206910] by adam.bergkvist@ericsson.com
  • 3 edits in trunk/LayoutTests

WebRTC: Test gardening
https://bugs.webkit.org/show_bug.cgi?id=163106

Reviewed by Philippe Normand.

  • fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt:

Update expected results to include webkit prefix on RTCPeerConnection name. (Not GTK+
specific.)

  • platform/gtk/TestExpectations:

Skip some tests since the GTK+ MediaPlayer, used with MediaStreams, isn't capable enough.

5:04 AM Changeset in webkit [206909] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] UIProcess crashes when using Japanese IM
https://bugs.webkit.org/show_bug.cgi?id=163011

We have to reference the current GdkEventKey before we try process it
as later when the lambda body is reached the event could be already
freed.

Patch by Tomas Popela <tpopela@redhat.com> on 2016-10-07
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):

  • UIProcess/gtk/InputMethodFilter.h:

Use non-copyable Function so we can use WTFMove to pass the event to
lambda.

4:57 AM Changeset in webkit [206908] by adam.bergkvist@ericsson.com
  • 7 edits in trunk/Source/WebCore

WebRTC: Misc gardening: Use typedefs consistently and remove unused code
https://bugs.webkit.org/show_bug.cgi?id=163104

Reviewed by Philippe Normand.

Miscellaneous WebRTC gardening. See file list below for details.

Testing: No change in behavior.

  • Modules/mediastream/MediaEndpointPeerConnection.cpp:
  • Modules/mediastream/MediaEndpointPeerConnection.h:

Move NotImplemented include to cpp-file.

  • platform/mediastream/MediaEndpoint.h:

Use MediaPayloadVector typedef (instead of Vector<RefPtr<MediaPayload>>).

  • platform/mediastream/PeerMediaDescription.h:

(WebCore::PeerMediaDescription::source): Deleted.
(WebCore::PeerMediaDescription::setSource): Deleted.
Sources are passed to updateSendConfiguration() via a source map and not added to each
PeerMediaDescription anymore. Remove unused code.

  • platform/mock/MockMediaEndpoint.cpp:

(WebCore::MockMediaEndpoint::getDefaultAudioPayloads):
(WebCore::MockMediaEndpoint::getDefaultVideoPayloads):
Use MediaPayloadVector typedef.

  • platform/mock/MockMediaEndpoint.h:

Use MediaPayloadVector typedef.

4:45 AM Changeset in webkit [206907] by yoon@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Remove unneeded creation of TextureMapperPlatformLayerProxy
https://bugs.webkit.org/show_bug.cgi?id=163101

Reviewed by Žan Doberšek.

Covered by existing tests.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBufferData::ImageBufferData): Modified not to create
TextureMapperPlatformLayerProxy if it is not created for the
accelerated 2d canvas.

2:28 AM Changeset in webkit [206906] by Michael Catanzaro
  • 4 edits in trunk/Source/WebKit2

[GTK] Expose WebKitDOMHTMLInputElement APIs for form autofill
https://bugs.webkit.org/show_bug.cgi?id=163082

Reviewed by Darin Adler.

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

(webkit_dom_html_input_element_get_auto_filled): Added.
(webkit_dom_html_input_element_set_auto_filled): Added.
(webkit_dom_html_input_element_set_editing_value): Added.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
1:20 AM Changeset in webkit [206905] by Philippe Normand
  • 2 edits in trunk/Tools

[GTK] Docs build failure
https://bugs.webkit.org/show_bug.cgi?id=163102

Reviewed by Carlos Garcia Campos.

  • gtk/jhbuild.modules: Bump to gtk-doc 1.25 to fix build errors on Debian Testing.
12:56 AM Changeset in webkit [206904] by commit-queue@webkit.org
  • 15 edits in trunk

Use 'use lib $FindBin::Bin' to append Perl module include path
https://bugs.webkit.org/show_bug.cgi?id=162256

Patch by Fujii Hironori <Fujii Hironori> on 2016-10-07
Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/WebKitMacros.cmake: Removed '-I' options from

invocation of Perl.

Source/WebCore:

Some Perl scripts are needed to be executed with '-I' switch to
explicitly append Perl module include path. Use 'use lib' as well
as other Perl scripts do.

  • CMakeLists.txt: Removed '-I' options from invocation of Perl.
  • DerivedSources.make: Ditto.
  • bindings/scripts/generate-bindings.pl: Use 'use lib'.
  • bindings/scripts/preprocess-idls.pl: Ditto.
  • css/make-css-file-arrays.pl: Ditto.
  • css/makegrammar.pl: Ditto.
  • css/makeprop.pl: Ditto.
  • css/makevalues.pl: Ditto.
  • dom/make_dom_exceptions.pl: Ditto.
  • dom/make_event_factory.pl: Ditto.
  • dom/make_names.pl: Ditto.
  • page/make_settings.pl: Ditto.
12:02 AM Changeset in webkit [206903] by commit-queue@webkit.org
  • 45 edits in trunk/Source/WebCore

Refactor CachedResourceClient::notifyFinished
https://bugs.webkit.org/show_bug.cgi?id=162060

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-07
Reviewed by Darin Adler.

No change of behavior.

Making CachedResourceClient and CachedRawResourceClient callbacks take CachedResource references and not pointers.
In most cases, the CachedResource parameter is only used for assertions.
Removing that parameter might be contemplated in the future.
The only real case is in RenderImage.

Removed the CachedResource parameter from ContentFilter methods as code was calling these methods with null values.

  • dom/LoadableClassicScript.cpp:

(WebCore::LoadableClassicScript::notifyFinished):

  • dom/LoadableClassicScript.h:
  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • html/HTMLImageLoader.h:
  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::continueAfterResponseReceived):
(WebCore::ContentFilter::continueAfterDataReceived):
(WebCore::ContentFilter::continueAfterNotifyFinished):
(WebCore::ContentFilter::deliverResourceData):

  • loader/ContentFilter.h:
  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::notifyFinished):

  • loader/CrossOriginPreflightChecker.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::redirectReceived):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::dataReceived):

  • loader/DocumentLoader.h:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived):
(WebCore::DocumentThreadableLoader::dataSent):
(WebCore::DocumentThreadableLoader::responseReceived):
(WebCore::DocumentThreadableLoader::dataReceived):
(WebCore::DocumentThreadableLoader::notifyFinished):

  • loader/DocumentThreadableLoader.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::notifyFinished):

  • loader/ImageLoader.h:
  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::triggerEvents):
(WebCore::LinkLoader::notifyFinished):

  • loader/LinkLoader.h:
  • loader/LinkPreloadResourceClients.cpp:

(WebCore::LinkPreloadResourceClient::triggerEvents):

  • loader/LinkPreloadResourceClients.h:
  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResource::responseReceived):
(WebCore::MediaResource::shouldCacheResponse):
(WebCore::MediaResource::redirectReceived):
(WebCore::MediaResource::dataSent):
(WebCore::MediaResource::dataReceived):
(WebCore::MediaResource::notifyFinished):
(WebCore::MediaResource::getOrCreateReadBuffer):

  • loader/MediaResourceLoader.h:
  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::processNewCueData):
(WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource):
(WebCore::TextTrackLoader::notifyFinished):

  • loader/TextTrackLoader.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::notifyClientsDataWasReceived):
(WebCore::CachedRawResource::didAddClient):
(WebCore::CachedRawResource::redirectReceived):
(WebCore::CachedRawResource::responseReceived):
(WebCore::CachedRawResource::shouldCacheResponse):
(WebCore::CachedRawResource::didSendData):

  • loader/cache/CachedRawResourceClient.h:

(WebCore::CachedRawResourceClient::dataSent):
(WebCore::CachedRawResourceClient::responseReceived):
(WebCore::CachedRawResourceClient::shouldCacheResponse):
(WebCore::CachedRawResourceClient::dataReceived):
(WebCore::CachedRawResourceClient::redirectReceived):
(WebCore::CachedRawResourceClient::getOrCreateReadBuffer):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::checkNotify):
(WebCore::CachedResource::didAddClient):

  • loader/cache/CachedResourceClient.h:

(WebCore::CachedResourceClient::notifyFinished):
(WebCore::CachedResourceClient::deprecatedDidReceiveCachedResource):

  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::updateData):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::notifyFinished):

  • loader/icon/IconLoader.h:
  • loader/soup/CachedRawResourceSoup.cpp:
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

(WebCore::WebCoreAVCFResourceLoader::responseReceived):
(WebCore::WebCoreAVCFResourceLoader::dataReceived):
(WebCore::WebCoreAVCFResourceLoader::notifyFinished):
(WebCore::WebCoreAVCFResourceLoader::fulfillRequestWithResource):

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.h:
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::dataReceived):
(WebCore::WebCoreAVFResourceLoader::notifyFinished):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::notifyFinished):

  • rendering/RenderImage.h:
  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::setRenderer):
(WebCore::RenderLayer::FilterInfo::notifyFinished):

  • rendering/RenderLayerFilterInfo.h:
  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::notifyFinished):

  • svg/SVGFEImageElement.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::notifyFinished):

  • svg/SVGUseElement.h:
  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::notifyFinished):

  • xml/parser/XMLDocumentParser.h:

Oct 6, 2016:

11:18 PM Changeset in webkit [206902] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

CachedXSLStylesheet does not need to be updated according Origin/Fetch mode
https://bugs.webkit.org/show_bug.cgi?id=162389

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Darin Adler.

No change of behavior.

Making clear that there is no reason to update cached XSLT resources according the origin, given that CORS is never checked and loading is always same-origin.

Renaming CachedResource::isClean to CachedResource::isCORSSameOrigin to better match spec terminology.
Updating HTMLLinkElement accordingly.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::initializeStyleSheet):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::isCORSSameOrigin): Ensuring that this method is not called for resource types for which CORS is not to be used.
(WebCore::CachedResource::isClean): Deleted.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):

11:01 PM Changeset in webkit [206901] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/WebCore

Add a place for common HTTP Header values
https://bugs.webkit.org/show_bug.cgi?id=163002

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Alex Christensen.

No change of behavior.

Introducing HTTPHeaderValues with two Content-Type values.

  • CMakeLists.txt:
  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::extract):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/HTTPHeaderValues.cpp: Added.

(WebCore::HTTPHeaderValues::TextPlainContentType):
(WebCore::HTTPHeaderValues::FormURLEncodedContentType):

  • platform/network/HTTPHeaderValues.h: Added.
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

11:00 PM Changeset in webkit [206900] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

CachedResourceRequest should not need to store defer and preload options
https://bugs.webkit.org/show_bug.cgi?id=163004

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Alex Christensen.

No change of behavior.

Removing CachedResourceRequest defer and preload fields.
These fields are computed inside CachedResourceLoader instead.

Updated setting of priority from CachedResourceRequest to CachedResource.
Priority is set for any new resource (this covers all cases where no cached resource can be reused from the memory cache).
Priority is set for a cached resource if the request is not a preload request.

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preloadIfNeeded):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore::CachedResourceLoader::requestPreload):

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::CachedResourceRequest):

  • loader/cache/CachedResourceRequest.h:

(WebCore::CachedResourceRequest::priority):
(WebCore::CachedResourceRequest::forPreload): Deleted.
(WebCore::CachedResourceRequest::setForPreload): Deleted.
(WebCore::CachedResourceRequest::defer): Deleted.
(WebCore::CachedResourceRequest::setDefer): Deleted.

10:07 PM Changeset in webkit [206899] by Yusuke Suzuki
  • 10 edits
    4 copies
    1 add in trunk/Source/JavaScriptCore

[DOMJIT] Support slow path call
https://bugs.webkit.org/show_bug.cgi?id=162978

Reviewed by Saam Barati.

One of the most important features required in DOMJIT::Patchpoint is slow path calls.
DOM operation typically returns DOMWrapper object. At that time, if wrapper cache hits, we can go
to the fast path. However, if we cannot use the cache, we need to go to the slow path to call toJS function.
At that time, slow path call functionality is necessary.

This patch expose DOMJIT::PatchpointParams::addSlowPathCall. We can request slow path call code generation
through this interface. DOMJIT::PatchpointParams automatically leverages appropriate slow path call systems
in each tier. In DFG, we use slow path call system. In FTL, we implement slow path call by using addLatePath
to construct slow path call. But these details are completely hidden by DOMJIT::PatchpointParams. Users can
just use addSlowPathCall.

Since DFG and FTL slow path call systems are implemented in variadic templates, directly using this means
that we need to expose core part of DFG and FTL. For example, DFG::SpeculativeJIT need to be exposed in
such a design. That is too bad. Instead, we use magical macro in DOMJITSlowPathCalls.h. We can list up the
call signatures in DOMJIT_SLOW_PATH_CALLS. DOMJIT uses these signatures to generate an interface to request
slow path calls inside DFG and FTL instead of exposing everything.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGCommon.h:
  • dfg/DFGDOMJITPatchpointParams.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h.

(JSC::DFG::dispatch):

  • dfg/DFGDOMJITPatchpointParams.h: Copied from Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h.

(JSC::DFG::DOMJITPatchpointParams::DOMJITPatchpointParams):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCallDOM):
(JSC::DFG::SpeculativeJIT::compileCheckDOM):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::extractResult): Deleted.

  • domjit/DOMJITPatchpointParams.h:

(JSC::DOMJIT::PatchpointParams::addSlowPathCall):

  • domjit/DOMJITSlowPathCalls.h: Copied from Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h.
  • ftl/FTLDOMJITPatchpointParams.cpp: Added.

(JSC::FTL::dispatch):

  • ftl/FTLDOMJITPatchpointParams.h: Copied from Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h.

(JSC::FTL::DOMJITPatchpointParams::DOMJITPatchpointParams):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCheckDOM):
(JSC::FTL::DFG::LowerDFGToB3::compileCallDOM):

  • jit/GPRInfo.h:

(JSC::extractResult):

  • jsc.cpp:
8:26 PM Changeset in webkit [206898] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

check-webkit-style: Enable the legal/copyright rule for cpp/h files
https://bugs.webkit.org/show_bug.cgi?id=162707

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-10-06
Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checker.py:

Enable this rule by default.

8:26 PM Changeset in webkit [206897] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Header guard style should be updated to be "#pragma once"
https://bugs.webkit.org/show_bug.cgi?id=159785

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-10-06
Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_for_header_guard):
(_process_lines):
Simplify header_guard check to warn for a missing #pragma once
in header files. For legacy files that contain an #ifndef only
warn if the #ifndef line itself is changing.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTestBase.perform_header_guard_check):
(CppStyleTestBase.assert_header_guard):
Helpers for enabling just this warning.

(CppStyleTest.test_build_header_guard):
Test different header guard cases.

  • Scripts/webkitpy/style/error_handlers.py:

(DefaultStyleErrorHandler.should_line_be_checked):
Always allow warnings that output for "line 0" which won't be in
the list of modified lines that are 1-based.

8:21 PM Changeset in webkit [206896] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

Variation fonts don't affect glyph advances
https://bugs.webkit.org/show_bug.cgi?id=163093

Reviewed by Darin Adler.

Source/WebCore:

Work around known bug <rdar://problem/28662086>. For variation fonts,
CTFontGetAdvancesForGlyphs() gives correct answers but
CTFontGetUnsummedAdvancesForGlyphsAndStyle() doesn't.

Test: fast/text/variations/advances.html

  • platform/graphics/FontPlatformData.h:

(WebCore::FontPlatformData::hasVariations):

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::platformWidthForGlyph):

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::FontPlatformData):

LayoutTests:

  • platform/ios-simulator/TestExpectations: Mark the test

as failing on iOS because that OS doesn't have Skia.

  • fast/text/variations/advances-expected.txt: Added.
  • fast/text/variations/advances.html: Added.
8:03 PM Changeset in webkit [206895] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Skip to test imported/w3c/web-platform-tests/

Unreivewed EFL gardening

Too many tests have been failures, timeout, and crash.
Skip it for a while until we fix it.

  • platform/efl/TestExpectations:
7:33 PM Changeset in webkit [206894] by commit-queue@webkit.org
  • 15 edits
    2 deletes in trunk

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

triggers apparent codegen bug on ARM 32-bit (Requested by smfr
on #webkit).

Reverted changeset:

"Support transitions/animations of background-position with
right/bottom-relative values"
https://bugs.webkit.org/show_bug.cgi?id=162048
http://trac.webkit.org/changeset/206713

6:54 PM Changeset in webkit [206893] by matthew_hanson@apple.com
  • 5 edits in branches/safari-602.2.14.0-branch/Source

Versioning.

6:10 PM Changeset in webkit [206892] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-602.2.14.0.6

New Tag.

5:51 PM Changeset in webkit [206891] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove unused WebCore::contentDispositionType()
https://bugs.webkit.org/show_bug.cgi?id=163095

Reviewed by Alex Christensen.

The function WebCore::contentDispositionType() was only used by the Chromium and Qt ports
to parse the Content-Disposition HTTP header. Both of these ports have long since been
removed from the repository. We should remove WebCore::contentDispositionType().

  • platform/network/HTTPParsers.cpp:

(WebCore::contentDispositionType): Deleted.

  • platform/network/HTTPParsers.h:
5:46 PM Changeset in webkit [206890] by rniwa@webkit.org
  • 12 edits in trunk

Upgrading and constructing element should always report exception instead of rethrowing
https://bugs.webkit.org/show_bug.cgi?id=162996

Reviewed by Darin Adler.

Source/WebCore:

The latest HTML specification specifies that we must report exceptions thrown during element upgrades:
https://html.spec.whatwg.org/#upgrades

In addition, F2F during 2016 TPAC had a consensus that we should do the same for document.createElement:
https://github.com/w3c/webcomponents/issues/569

Since the HTML parser already reports the exception thrown during custom element construction as it does
not have any JS stack, these changes make exceptions thrown during upgrades and constructions.

In our implementation, this only reduces the code complexity as now we can push the logic to fallback
to HTMLUnknownElement into JSCustomElementInterface's constructElement, which has been renamed
to constructElementWithFallback, and eliminate ShouldClearException enum class entirely. Moreover,
constructElementWithFallback can now return Ref instead of RefPtr.

No new tests. Existing tests have been updated.

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::constructElementWithFallback): Create a HTMLUnknownElement if
an attempt to construct a custom element had failed in lieu of returning nullptr.
(WebCore::JSCustomElementInterface::tryToConstructCustomElement): Renamed from constructElement.
Always report exceptions (the same behavior as ShouldClearException::Clear).
(WebCore::JSCustomElementInterface::upgradeElement): Report exceptions instead of rethrowing.

  • bindings/js/JSCustomElementInterface.h:
  • dom/Document.cpp:

(WebCore::createHTMLElementWithNameValidation):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):

LayoutTests:

Updated the tests to expect exceptions thrown during custom element constructions are always reported.

  • fast/custom-elements/Document-createElement-expected.txt:
  • fast/custom-elements/Document-createElement.html:
  • fast/custom-elements/defined-pseudo-class-expected.txt:
  • fast/custom-elements/defined-pseudo-class.html:
  • fast/custom-elements/upgrading/Node-cloneNode.html:
  • fast/custom-elements/upgrading/upgrading-parser-created-element.html:
5:16 PM Changeset in webkit [206889] by Chris Dumez
  • 8 edits in trunk

Overwriting an attribute event listener can lead to wrong event listener firing order
https://bugs.webkit.org/show_bug.cgi?id=163083

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline a couple of W3C tests now that more checks are passing.

  • web-platform-tests/html/webappapis/scripting/events/event-handler-spec-example-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:

Source/WebCore:

Overwriting an attribute event listener could lead to wrong event listener
firing order in WebKit. This is because we were removing the old event
listener and then appending the new one instead of actually *replacing*
the old one.

No new tests, rebaselined existing tests.

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::replace):

  • dom/EventListenerMap.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::hasActiveEventListeners): Deleted.
(WebCore::EventTarget::dispatchEventForBindings): Deleted.

  • dom/EventTarget.h:
4:11 PM Changeset in webkit [206888] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Inspector exception in parseTextForRule() when pasting into CSS rule selector
https://bugs.webkit.org/show_bug.cgi?id=162792

Patch by Devin Rousso <Devin Rousso> on 2016-10-06
Reviewed by Matt Baker.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
Changed regular expression for matching CSS rules to allow newlines in pasted text.

4:05 PM Changeset in webkit [206887] by achristensen@apple.com
  • 6 edits in trunk

URLParser: Non-ASCII characters in Non-UTF-8 encoded queries of relative URLs with ws, wss, or nonspecial schemes should be UTF-8 encoded
https://bugs.webkit.org/show_bug.cgi?id=163089

Reviewed by Tim Horton.

Source/WebCore:

This is a change similar to r206818 but with relative URLs.
This matches the spec, URL::parse, and other browsers' behavior.
Covered by new API tests for URLParser.
This also fixes tests like http/tests/misc/url-in-utf32le.html when URLParser is enabled.

  • platform/URL.cpp:

(WebCore::URL::URL):
Use the same encoding for the URL constructor whether or not the URLParser is enabled.

  • platform/URLParser.cpp:

(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::parse):
(WebCore::isSpecial): Deleted.

  • platform/URLParser.h:

Use UTF-8 for non-special, ws, or wss schemes.

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):

3:47 PM Changeset in webkit [206886] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-603.1.8/Source/JavaScriptCore

Merge r206885. rdar://problem/28609241

3:40 PM Changeset in webkit [206885] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

HasOwnPropertyCache flattening dictionaries is causing insane memory usage with the uBlock Safari extension
https://bugs.webkit.org/show_bug.cgi?id=163091

Reviewed by Mark Lam.

I'm investigating a real fix for this in:
https://bugs.webkit.org/show_bug.cgi?id=163092
However, it's best to get this out of trunk for now.

  • runtime/HasOwnPropertyCache.h:

(JSC::HasOwnPropertyCache::tryAdd):

3:07 PM WebKitGTK/2.14.x edited by clopez@igalia.com
(diff)
2:40 PM Changeset in webkit [206884] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Add back ASSERT(!needsLayout) to RenderTableSection which is now valid
https://bugs.webkit.org/show_bug.cgi?id=92954
<rdar://problem/12147973>

Reviewed by Dan Bernstein.

LayoutTests pass fine now with this assert on.

Covered by existing tests.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paint):

2:32 PM Changeset in webkit [206883] by jiewen_tan@apple.com
  • 21 edits
    5 copies
    118 moves
    21 adds
    11 deletes in trunk

Add a dummy SubtleCrypto interface
https://bugs.webkit.org/show_bug.cgi?id=162992
<rdar://problem/28643573>

Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

  • WebCryptoAPI/digest/test_digest-expected.txt:
  • WebCryptoAPI/idlharness-expected.txt:

Source/WebCore:

Add a dummy SubtleCrypto interface and rename KeyPair to CryptoKeyPair.

Tests: crypto/subtle/gc-2.html

crypto/subtle/gc-3.html
crypto/subtle/gc.html
crypto/webkitSubtle/aes-cbc-192-encrypt-decrypt.html
crypto/webkitSubtle/aes-cbc-256-encrypt-decrypt.html
crypto/webkitSubtle/aes-cbc-encrypt-decrypt-with-padding.html
crypto/webkitSubtle/aes-cbc-encrypt-decrypt.html
crypto/webkitSubtle/aes-cbc-generate-key.html
crypto/webkitSubtle/aes-cbc-import-jwk.html
crypto/webkitSubtle/aes-cbc-invalid-length.html
crypto/webkitSubtle/aes-cbc-unwrap-failure.html
crypto/webkitSubtle/aes-cbc-unwrap-rsa.html
crypto/webkitSubtle/aes-cbc-wrap-rsa-non-extractable.html
crypto/webkitSubtle/aes-cbc-wrap-rsa.html
crypto/webkitSubtle/aes-cbc-wrong-key-class.html
crypto/webkitSubtle/aes-export-key.html
crypto/webkitSubtle/aes-kw-key-manipulation.html
crypto/webkitSubtle/aes-kw-wrap-unwrap-aes.html
crypto/webkitSubtle/aes-postMessage.html
crypto/webkitSubtle/argument-conversion.html
crypto/webkitSubtle/array-buffer-view-offset.html
crypto/webkitSubtle/crypto-key-algorithm-gc.html
crypto/webkitSubtle/crypto-key-usages-gc.html
crypto/webkitSubtle/hmac-check-algorithm.html
crypto/webkitSubtle/hmac-export-key.html
crypto/webkitSubtle/hmac-generate-key.html
crypto/webkitSubtle/hmac-import-jwk.html
crypto/webkitSubtle/hmac-postMessage.html
crypto/webkitSubtle/hmac-sign-verify-empty-key.html
crypto/webkitSubtle/hmac-sign-verify.html
crypto/webkitSubtle/import-jwk.html
crypto/webkitSubtle/jwk-export-use-values.html
crypto/webkitSubtle/jwk-import-use-values.html
crypto/webkitSubtle/rsa-export-generated-keys.html
crypto/webkitSubtle/rsa-export-key.html
crypto/webkitSubtle/rsa-export-private-key.html
crypto/webkitSubtle/rsa-indexeddb-non-exportable-private.html
crypto/webkitSubtle/rsa-indexeddb-non-exportable.html
crypto/webkitSubtle/rsa-indexeddb-private.html
crypto/webkitSubtle/rsa-indexeddb.html
crypto/webkitSubtle/rsa-oaep-generate-non-extractable-key.html
crypto/webkitSubtle/rsa-oaep-key-manipulation.html
crypto/webkitSubtle/rsa-oaep-plaintext-length.html
crypto/webkitSubtle/rsa-oaep-wrap-unwrap-aes.html
crypto/webkitSubtle/rsa-postMessage.html
crypto/webkitSubtle/rsaes-pkcs1-v1_5-decrypt.html
crypto/webkitSubtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html
crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key.html
crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html
crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk.html
crypto/webkitSubtle/rsassa-pkcs1-v1_5-sign-verify.html
crypto/webkitSubtle/sha-1.html
crypto/webkitSubtle/sha-224.html
crypto/webkitSubtle/sha-256.html
crypto/webkitSubtle/sha-384.html
crypto/webkitSubtle/sha-512.html
crypto/webkitSubtle/unimplemented-unwrap-crash.html
crypto/webkitSubtle/unwrapKey-check-usage.html
crypto/webkitSubtle/wrapKey-check-usage.html
crypto/workers/subtle/aes-postMessage-worker.html
crypto/workers/subtle/gc-worker.html
crypto/workers/subtle/hmac-postMessage-worker.html
crypto/workers/subtle/hrsa-postMessage-worker.html
crypto/workers/subtle/multiple-postMessage-worker.html
crypto/workers/subtle/rsa-postMessage-worker.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • crypto/CryptoKeyPair.idl:
  • crypto/SubtleCrypto.cpp:

(WebCore::SubtleCrypto::SubtleCrypto):

  • crypto/SubtleCrypto.h:

(WebCore::SubtleCrypto::create):

  • crypto/SubtleCrypto.idl: Added.
  • page/Crypto.cpp:

(WebCore::Crypto::Crypto):
(WebCore::Crypto::subtle):

  • page/Crypto.h:
  • page/Crypto.idl:

LayoutTests:

  • crypto/resources/common.js:
  • crypto/subtle/gc-2-expected.txt: Added.
  • crypto/subtle/gc-2.html: Added.
  • crypto/subtle/gc-3-expected.txt: Added.
  • crypto/subtle/gc-3.html: Added.
  • crypto/subtle/gc-expected.txt: Added.
  • crypto/subtle/gc.html: Added.
  • crypto/webkitSubtle/aes-cbc-192-encrypt-decrypt-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt.
  • crypto/webkitSubtle/aes-cbc-192-encrypt-decrypt.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-192-encrypt-decrypt.html.
  • crypto/webkitSubtle/aes-cbc-256-encrypt-decrypt-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt.
  • crypto/webkitSubtle/aes-cbc-256-encrypt-decrypt.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-256-encrypt-decrypt.html.
  • crypto/webkitSubtle/aes-cbc-encrypt-decrypt-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt.
  • crypto/webkitSubtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt.
  • crypto/webkitSubtle/aes-cbc-encrypt-decrypt-with-padding.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html.
  • crypto/webkitSubtle/aes-cbc-encrypt-decrypt.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-encrypt-decrypt.html.
  • crypto/webkitSubtle/aes-cbc-generate-key-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-generate-key-expected.txt.
  • crypto/webkitSubtle/aes-cbc-generate-key.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-generate-key.html.
  • crypto/webkitSubtle/aes-cbc-import-jwk-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-import-jwk-expected.txt.
  • crypto/webkitSubtle/aes-cbc-import-jwk.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-import-jwk.html.
  • crypto/webkitSubtle/aes-cbc-invalid-length-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-invalid-length-expected.txt.
  • crypto/webkitSubtle/aes-cbc-invalid-length.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-invalid-length.html.
  • crypto/webkitSubtle/aes-cbc-unwrap-failure-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-unwrap-failure-expected.txt.
  • crypto/webkitSubtle/aes-cbc-unwrap-failure.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-unwrap-failure.html.
  • crypto/webkitSubtle/aes-cbc-unwrap-rsa-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-unwrap-rsa-expected.txt.
  • crypto/webkitSubtle/aes-cbc-unwrap-rsa.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-unwrap-rsa.html.
  • crypto/webkitSubtle/aes-cbc-wrap-rsa-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-wrap-rsa-expected.txt.
  • crypto/webkitSubtle/aes-cbc-wrap-rsa-non-extractable-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-wrap-rsa-non-extractable-expected.txt.
  • crypto/webkitSubtle/aes-cbc-wrap-rsa-non-extractable.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html.
  • crypto/webkitSubtle/aes-cbc-wrap-rsa.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-wrap-rsa.html.
  • crypto/webkitSubtle/aes-cbc-wrong-key-class-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-cbc-wrong-key-class-expected.txt.
  • crypto/webkitSubtle/aes-cbc-wrong-key-class.html: Renamed from LayoutTests/crypto/subtle/aes-cbc-wrong-key-class.html.
  • crypto/webkitSubtle/aes-export-key-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-export-key-expected.txt.
  • crypto/webkitSubtle/aes-export-key.html: Renamed from LayoutTests/crypto/subtle/aes-export-key.html.
  • crypto/webkitSubtle/aes-kw-key-manipulation-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-kw-key-manipulation-expected.txt.
  • crypto/webkitSubtle/aes-kw-key-manipulation.html: Renamed from LayoutTests/crypto/subtle/aes-kw-key-manipulation.html.
  • crypto/webkitSubtle/aes-kw-wrap-unwrap-aes-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt.
  • crypto/webkitSubtle/aes-kw-wrap-unwrap-aes.html: Renamed from LayoutTests/crypto/subtle/aes-kw-wrap-unwrap-aes.html.
  • crypto/webkitSubtle/aes-postMessage-expected.txt: Renamed from LayoutTests/crypto/subtle/aes-postMessage-expected.txt.
  • crypto/webkitSubtle/aes-postMessage.html: Renamed from LayoutTests/crypto/subtle/aes-postMessage.html.
  • crypto/webkitSubtle/argument-conversion-expected.txt: Renamed from LayoutTests/crypto/subtle/argument-conversion-expected.txt.
  • crypto/webkitSubtle/argument-conversion.html: Renamed from LayoutTests/crypto/subtle/argument-conversion.html.
  • crypto/webkitSubtle/array-buffer-view-offset-expected.txt: Renamed from LayoutTests/crypto/subtle/array-buffer-view-offset-expected.txt.
  • crypto/webkitSubtle/array-buffer-view-offset.html: Renamed from LayoutTests/crypto/subtle/array-buffer-view-offset.html.
  • crypto/webkitSubtle/crypto-key-algorithm-gc-expected.txt: Renamed from LayoutTests/crypto/subtle/crypto-key-algorithm-gc-expected.txt.
  • crypto/webkitSubtle/crypto-key-algorithm-gc.html: Renamed from LayoutTests/crypto/subtle/crypto-key-algorithm-gc.html.
  • crypto/webkitSubtle/crypto-key-usages-gc-expected.txt: Renamed from LayoutTests/crypto/subtle/crypto-key-usages-gc-expected.txt.
  • crypto/webkitSubtle/crypto-key-usages-gc.html: Renamed from LayoutTests/crypto/subtle/crypto-key-usages-gc.html.
  • crypto/webkitSubtle/hmac-check-algorithm-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-check-algorithm-expected.txt.
  • crypto/webkitSubtle/hmac-check-algorithm.html: Renamed from LayoutTests/crypto/subtle/hmac-check-algorithm.html.
  • crypto/webkitSubtle/hmac-export-key-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-export-key-expected.txt.
  • crypto/webkitSubtle/hmac-export-key.html: Renamed from LayoutTests/crypto/subtle/hmac-export-key.html.
  • crypto/webkitSubtle/hmac-generate-key-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-export-key.html.
  • crypto/webkitSubtle/hmac-generate-key.html: Renamed from LayoutTests/crypto/subtle/hmac-generate-key.html.
  • crypto/webkitSubtle/hmac-import-jwk-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-import-jwk-expected.txt.
  • crypto/webkitSubtle/hmac-import-jwk.html: Renamed from LayoutTests/crypto/subtle/hmac-import-jwk.html.
  • crypto/webkitSubtle/hmac-postMessage-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-postMessage-expected.txt.
  • crypto/webkitSubtle/hmac-postMessage.html: Renamed from LayoutTests/crypto/subtle/hmac-postMessage.html.
  • crypto/webkitSubtle/hmac-sign-verify-empty-key-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-sign-verify-empty-key-expected.txt.
  • crypto/webkitSubtle/hmac-sign-verify-empty-key.html: Renamed from LayoutTests/crypto/subtle/hmac-sign-verify-empty-key.html.
  • crypto/webkitSubtle/hmac-sign-verify-expected.txt: Renamed from LayoutTests/crypto/subtle/hmac-sign-verify-expected.txt.
  • crypto/webkitSubtle/hmac-sign-verify.html: Renamed from LayoutTests/crypto/subtle/hmac-sign-verify.html.
  • crypto/webkitSubtle/import-jwk-expected.txt: Renamed from LayoutTests/crypto/subtle/import-jwk-expected.txt.
  • crypto/webkitSubtle/import-jwk.html: Renamed from LayoutTests/crypto/subtle/import-jwk-expected.html.
  • crypto/webkitSubtle/jwk-export-use-values-expected.txt: Renamed from LayoutTests/crypto/subtle/jwk-export-use-values-expected.txt.
  • crypto/webkitSubtle/jwk-export-use-values.html: Renamed from LayoutTests/crypto/subtle/jwk-export-use-values.html.
  • crypto/webkitSubtle/jwk-import-use-values-expected.txt: Renamed from LayoutTests/crypto/subtle/jwk-import-use-values-expected.txt.
  • crypto/webkitSubtle/jwk-import-use-values.html: Renamed from LayoutTests/crypto/subtle/jwk-import-use-values.html.
  • crypto/webkitSubtle/resources/rsa-indexeddb-non-exportable.js: Renamed from LayoutTests/crypto/subtle/resources/rsa-indexeddb-non-exportable.js.
  • crypto/webkitSubtle/resources/rsa-indexeddb.js: Renamed from LayoutTests/crypto/subtle/resources/rsa-indexeddb.js.
  • crypto/webkitSubtle/rsa-export-generated-keys-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-export-generated-keys-expected.txt.
  • crypto/webkitSubtle/rsa-export-generated-keys.html: Renamed from LayoutTests/crypto/subtle/rsa-export-generated-keys.html.
  • crypto/webkitSubtle/rsa-export-key-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-export-key-expected.txt.
  • crypto/webkitSubtle/rsa-export-key.html: Renamed from LayoutTests/crypto/subtle/rsa-export-key.html.
  • crypto/webkitSubtle/rsa-export-private-key-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-export-private-key-expected.txt.
  • crypto/webkitSubtle/rsa-export-private-key.html: Renamed from LayoutTests/crypto/subtle/rsa-export-private-key.html.
  • crypto/webkitSubtle/rsa-indexeddb-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-expected.txt.
  • crypto/webkitSubtle/rsa-indexeddb-non-exportable-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable-expected.txt.
  • crypto/webkitSubtle/rsa-indexeddb-non-exportable-private-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable-private-expected.txt.
  • crypto/webkitSubtle/rsa-indexeddb-non-exportable-private.html: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable-private.html.
  • crypto/webkitSubtle/rsa-indexeddb-non-exportable.html: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable.html.
  • crypto/webkitSubtle/rsa-indexeddb-private-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-private-expected.txt.
  • crypto/webkitSubtle/rsa-indexeddb-private.html: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb-private.html.
  • crypto/webkitSubtle/rsa-indexeddb.html: Renamed from LayoutTests/crypto/subtle/rsa-indexeddb.html.
  • crypto/webkitSubtle/rsa-oaep-generate-non-extractable-key-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-oaep-generate-non-extractable-key-expected.txt.
  • crypto/webkitSubtle/rsa-oaep-generate-non-extractable-key.html: Renamed from LayoutTests/crypto/subtle/rsa-oaep-generate-non-extractable-key.html.
  • crypto/webkitSubtle/rsa-oaep-key-manipulation-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-oaep-key-manipulation-expected.txt.
  • crypto/webkitSubtle/rsa-oaep-key-manipulation.html: Renamed from LayoutTests/crypto/subtle/rsa-oaep-key-manipulation.html.
  • crypto/webkitSubtle/rsa-oaep-plaintext-length-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-oaep-plaintext-length-expected.txt.
  • crypto/webkitSubtle/rsa-oaep-plaintext-length.html: Renamed from LayoutTests/crypto/subtle/rsa-oaep-plaintext-length.html.
  • crypto/webkitSubtle/rsa-oaep-wrap-unwrap-aes-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt.
  • crypto/webkitSubtle/rsa-oaep-wrap-unwrap-aes.html: Renamed from LayoutTests/crypto/subtle/rsa-oaep-wrap-unwrap-aes.html.
  • crypto/webkitSubtle/rsa-postMessage-expected.txt: Renamed from LayoutTests/crypto/subtle/rsa-postMessage-expected.txt.
  • crypto/webkitSubtle/rsa-postMessage.html: Renamed from LayoutTests/crypto/subtle/rsa-postMessage.html.
  • crypto/webkitSubtle/rsaes-pkcs1-v1_5-decrypt-expected.txt: Renamed from LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-decrypt-expected.txt.
  • crypto/webkitSubtle/rsaes-pkcs1-v1_5-decrypt.html: Renamed from LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html.
  • crypto/webkitSubtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt: Renamed from LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt.
  • crypto/webkitSubtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html: Renamed from LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-expected.txt: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent-expected.txt: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent-expected.txt.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-generate-key-with-leading-zeroes-in-exponent.html.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-generate-key.html: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-small-key-expected.txt: Added.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-import-jwk.html: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt.
  • crypto/webkitSubtle/rsassa-pkcs1-v1_5-sign-verify.html: Renamed from LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html.
  • crypto/webkitSubtle/sha-1-expected.txt: Renamed from LayoutTests/crypto/subtle/sha-1-expected.txt.
  • crypto/webkitSubtle/sha-1.html: Renamed from LayoutTests/crypto/subtle/sha-1.html.
  • crypto/webkitSubtle/sha-224-expected.txt: Renamed from LayoutTests/crypto/subtle/sha-224-expected.txt.
  • crypto/webkitSubtle/sha-224.html: Renamed from LayoutTests/crypto/subtle/sha-224.html.
  • crypto/webkitSubtle/sha-256-expected.txt: Renamed from LayoutTests/crypto/subtle/sha-256-expected.txt.
  • crypto/webkitSubtle/sha-256.html: Renamed from LayoutTests/crypto/subtle/sha-256.html.
  • crypto/webkitSubtle/sha-384-expected.txt: Renamed from LayoutTests/crypto/subtle/sha-384-expected.txt.
  • crypto/webkitSubtle/sha-384.html: Renamed from LayoutTests/crypto/subtle/sha-384.html.
  • crypto/webkitSubtle/sha-512-expected.txt: Renamed from LayoutTests/crypto/subtle/sha-512-expected.txt.
  • crypto/webkitSubtle/sha-512.html: Renamed from LayoutTests/crypto/subtle/sha-512.html.
  • crypto/webkitSubtle/unimplemented-unwrap-crash-expected.txt: Renamed from LayoutTests/crypto/subtle/unimplemented-unwrap-crash-expected.txt.
  • crypto/webkitSubtle/unimplemented-unwrap-crash.html: Renamed from LayoutTests/crypto/subtle/unimplemented-unwrap-crash.html.
  • crypto/webkitSubtle/unwrapKey-check-usage-expected.txt: Renamed from LayoutTests/crypto/subtle/unwrapKey-check-usage-expected.txt.
  • crypto/webkitSubtle/unwrapKey-check-usage.html: Renamed from LayoutTests/crypto/subtle/unwrapKey-check-usage.html.
  • crypto/webkitSubtle/wrapKey-check-usage-expected.txt: Renamed from LayoutTests/crypto/subtle/wrapKey-check-usage-expected.txt.
  • crypto/webkitSubtle/wrapKey-check-usage.html: Renamed from LayoutTests/crypto/subtle/wrapKey-check-usage.html.
  • crypto/workers/subtle/aes-postMessage-worker-expected.txt: Renamed from LayoutTests/crypto/workers/aes-postMessage-worker-expected.txt.
  • crypto/workers/subtle/aes-postMessage-worker.html: Renamed from LayoutTests/crypto/workers/aes-postMessage-worker.html.
  • crypto/workers/subtle/gc-worker-expected.txt: Added.
  • crypto/workers/subtle/gc-worker.html: Added.
  • crypto/workers/subtle/hmac-postMessage-worker-expected.txt: Renamed from LayoutTests/crypto/workers/hmac-postMessage-worker-expected.txt.
  • crypto/workers/subtle/hmac-postMessage-worker.html: Renamed from LayoutTests/crypto/workers/hmac-postMessage-worker.html.
  • crypto/workers/subtle/hrsa-postMessage-worker-expected.txt: Renamed from LayoutTests/crypto/workers/hrsa-postMessage-worker-expected.txt.
  • crypto/workers/subtle/hrsa-postMessage-worker.html: Renamed from LayoutTests/crypto/workers/hrsa-postMessage-worker.html.
  • crypto/workers/subtle/multiple-postMessage-worker-expected.txt: Renamed from LayoutTests/crypto/workers/multiple-postMessage-worker-expected.txt.
  • crypto/workers/subtle/multiple-postMessage-worker.html: Renamed from LayoutTests/crypto/workers/multiple-postMessage-worker.html.
  • crypto/workers/subtle/resources/aes-postMessage-worker.js: Renamed from LayoutTests/crypto/workers/resources/aes-postMessage-worker.js.
  • crypto/workers/subtle/resources/gc-worker.js: Added.
  • crypto/workers/subtle/resources/hmac-postMessage-worker.js: Renamed from LayoutTests/crypto/workers/resources/hmac-postMessage-worker.js.
  • crypto/workers/subtle/resources/hrsa-postMessage-worker.js: Renamed from LayoutTests/crypto/workers/resources/hrsa-postMessage-worker.js.
  • crypto/workers/subtle/resources/rsa-postMessage-worker.js: Renamed from LayoutTests/crypto/workers/resources/rsa-postMessage-worker.js.
  • crypto/workers/subtle/rsa-postMessage-worker-expected.txt: Renamed from LayoutTests/crypto/workers/rsa-postMessage-worker-expected.txt.
  • crypto/workers/subtle/rsa-postMessage-worker.html: Renamed from LayoutTests/crypto/workers/rsa-postMessage-worker.html.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/win/TestExpectations:
2:26 PM Changeset in webkit [206882] by Chris Dumez
  • 1 edit
    5 deletes in trunk/LayoutTests/imported/w3c

Unreviewed, drop bad tests that were included by mistake in r206874.

  • web-platform-tests/html/webappapis/scripting/event-loops/microtask_after_raf.html: Removed.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setInterval.html: Removed.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setTimeout.html: Removed.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setInterval.html: Removed.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setTimeout.html: Removed.
2:03 PM Changeset in webkit [206881] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Crash when ApplePaySession.completeMerchantValidation is not passed a dictionary
https://bugs.webkit.org/show_bug.cgi?id=163074
rdar://problem/27824842

Reviewed by Tim Horton.

Raise a type error on a null initializer object.

  • Modules/applepay/ApplePaySession.cpp:

(WebCore::ApplePaySession::completeMerchantValidation):

1:53 PM Changeset in webkit [206880] by Antti Koivisto
  • 14 edits
    2 adds in trunk

Mutating styleSheet in shadow tree doesn't update the style
https://bugs.webkit.org/show_bug.cgi?id=162744
<rdar://problem/28550588>

Reviewed by Ryosuke Niwa.

Source/WebCore:

We weren't always invalidating the right AuthorStyleSheets (to be renamed) instance
for the scope after mutations.

Test: fast/shadow-dom/mutating-stylesheet-in-shadow-tree.html

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::didMutate):
(WebCore::CSSStyleSheet::clearOwnerNode):
(WebCore::CSSStyleSheet::rootStyleSheet):
(WebCore::CSSStyleSheet::ownerDocument):
(WebCore::CSSStyleSheet::styleSheetScope):

Invalidate the right scope after stylesheet mutations.

  • css/CSSStyleSheet.h:
  • dom/AuthorStyleSheets.cpp:

(WebCore::AuthorStyleSheets::styleResolver):
(WebCore::AuthorStyleSheets::styleResolverIfExists):

Take care to update the right style resolver.

(WebCore::AuthorStyleSheets::forNode):
(WebCore::AuthorStyleSheets::removeStyleSheetCandidateNode):

Start the update timer so clients don't need to request update separately.

(WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
(WebCore::AuthorStyleSheets::updateActiveStyleSheets):
(WebCore::AuthorStyleSheets::updateStyleResolver):

  • dom/AuthorStyleSheets.h:
  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::insertedIntoDocument):

Save the scope we were inserted into so removals can be done reliably.

(WebCore::InlineStyleSheetOwner::removedFromDocument):

Use and clear the saved scope.
Remove didChangeCandidatesForActiveSet() as it is now done by removeStyleSheetCandidateNode() call.

(WebCore::InlineStyleSheetOwner::clearDocumentData):
(WebCore::InlineStyleSheetOwner::createSheet):
(WebCore::InlineStyleSheetOwner::sheetLoaded):
(WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
(WebCore::authorStyleSheetsForElement): Deleted.

  • dom/InlineStyleSheetOwner.h:

(WebCore::InlineStyleSheetOwner::styleSheetScope):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::styleResolverIfExists):

  • dom/ShadowRoot.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::removedFrom):

Remove didChangeCandidatesForActiveSet() as it is now done by removeStyleSheetCandidateNode() call.

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::~HTMLStyleElement):
(WebCore::HTMLStyleElement::parseAttribute):

Fix a bug where we wouldn't create stylesheet if a style element was activated by removing a media attribute.

(WebCore::HTMLStyleElement::insertedInto):
(WebCore::HTMLStyleElement::removedFrom):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::getMatchedCSSRules):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::~SVGStyleElement):
(WebCore::SVGStyleElement::insertedInto):
(WebCore::SVGStyleElement::removedFrom):

LayoutTests:

  • fast/shadow-dom/mutating-stylesheet-in-shadow-tree-expected.html: Added.
  • fast/shadow-dom/mutating-stylesheet-in-shadow-tree.html: Added.
1:47 PM Changeset in webkit [206879] by achristensen@apple.com
  • 4 edits in trunk

Skip tabs and newlines between end of query and beginning of fragment in non-UTF-8-encoded URLs
https://bugs.webkit.org/show_bug.cgi?id=163071

Reviewed by Tim Horton.

Source/WebCore:

Covered by a new API test that would have asserted before this change.

  • platform/URLParser.cpp:

(WebCore::URLParser::encodeQuery):
Skip tabs and newlines before asserting that we are at the end.

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

1:46 PM Changeset in webkit [206878] by achristensen@apple.com
  • 4 edits in trunk

URLParser should parse file URLs with ports consistently
https://bugs.webkit.org/show_bug.cgi?id=163075

Reviewed by Brady Eidson.

Source/WebCore:

Covered by API tests. We used to assert when parsing the newly tested URLs.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

1:22 PM Changeset in webkit [206877] by Chris Dumez
  • 15 edits
    5 adds in trunk/Source/WebCore

[WebIDL] Add support for having dictionaries in their own IDL file
https://bugs.webkit.org/show_bug.cgi?id=162912

Reviewed by Darin Adler.

Add support for having dictionaries in their own IDL file so that they
can be shared by multiple interfaces.

Leverage this new support to merge Element::ScrollToOptions and
DOMWindow::ScrollToOptions.

No new tests, extended bindings tests.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):
(IDLFileForInterface):
(GetDictionaryByName):
(IsDictionaryType):
(HasEnumImplementationNameOverride): Deleted.
(GetEnumImplementationNameOverride): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDictionary):
(GetEnumerationClassName):
(GenerateEnumerationImplementationContent):
(GenerateEnumerationHeaderContent):
(GetDictionaryClassName):
(GenerateDefaultValue):
(GenerateDictionaryHeaderContent):
(GenerateDictionariesHeaderContent):
(GenerateDictionaryImplementationContent):
(GenerateDictionariesImplementationContent):
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateDictionaryHeader):
(GenerateDictionaryImplementation):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(GetNativeType):
(JSValueToNative):
(GetNestedClassName): Deleted.
(GenerateConversionRuleWithLeadingComma): Deleted.
(addIterableProperties): Deleted.

  • bindings/scripts/preprocess-idls.pl:

(containsInterfaceOrExceptionFromIDL):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): Deleted.

  • bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: Added.

(WebCore::convertDictionary<TestStandaloneDictionary>):

  • bindings/scripts/test/JS/JSTestStandaloneDictionary.h: Added.
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestStandaloneDictionary.idl: Added.
  • dom/Element.h:
  • dom/Element.idl:
  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::scrollTo):

  • page/DOMWindow.h:
  • page/DOMWindow.idl:
  • page/ScrollToOptions.h: Added.
  • page/ScrollToOptions.idl: Added.
1:13 PM Changeset in webkit [206876] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

getInternalObjcObject should validate the JSManagedObject's value.
https://bugs.webkit.org/show_bug.cgi?id=162985

Reviewed by Geoffrey Garen.

Previously, if, for instance, the JSManagedObject's weak value had been
cleared we would call tryUnwrapObjcObject with a nil context and value.
This triggered assertions failures as those functions expect their inputs
to be valid.

  • API/JSVirtualMachine.mm:

(getInternalObjcObject):

12:45 PM Changeset in webkit [206875] by BJ Burg
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: RemoteInspector should cache client capabilities for off-main thread usage
https://bugs.webkit.org/show_bug.cgi?id=163039
<rdar://problem/28571460>

Reviewed by Timothy Hatcher.

The fix in r206797 was incorrect because listings are always pushed out on the XPC connection queue.
Instead of delaying the listing needlessly, RemoteInspector should cache the capabilities of its
client while on the main thread, then use the cached struct data on the XPC connection queue rather
than directly accessing m_client. This is similar to how RemoteConnectionToTarget marshalls listing
information from arbitrary queues into m_targetListingMap, which can then be read from any queue.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::updateClientCapabilities): Cache the capabilities.
(Inspector::RemoteInspector::setRemoteInspectorClient):
Re-cache the capabilities. Scope the lock to avoid reentrant locking.

(Inspector::RemoteInspector::clientCapabilitiesDidChange): Cache the capabilities.
(Inspector::RemoteInspector::pushListingsNow): Use cached client capabilities.
(Inspector::RemoteInspector::receivedGetListingMessage): Revert the change in r206797.
(Inspector::RemoteInspector::receivedAutomationSessionRequestMessage):

12:17 PM Changeset in webkit [206874] by Chris Dumez
  • 2 edits
    174 adds in trunk/LayoutTests/imported/w3c

Import html/webappapis web platform tests
https://bugs.webkit.org/show_bug.cgi?id=163018

Reviewed by Youenn Fablet.

Import html/webappapis web platform tests from upstream to extend test
coverage.

  • resources/resource-files.json:
  • web-platform-tests/html/webappapis/animation-frames/callback-exception-expected.txt: Added.
  • web-platform-tests/html/webappapis/animation-frames/callback-exception.html: Added.
  • web-platform-tests/html/webappapis/animation-frames/callback-invoked-expected.txt: Added.
  • web-platform-tests/html/webappapis/animation-frames/callback-invoked.html: Added.
  • web-platform-tests/html/webappapis/animation-frames/callback-multicalls-expected.txt: Added.
  • web-platform-tests/html/webappapis/animation-frames/callback-multicalls.html: Added.
  • web-platform-tests/html/webappapis/animation-frames/cancel-invoked-expected.txt: Added.
  • web-platform-tests/html/webappapis/animation-frames/cancel-invoked.html: Added.
  • web-platform-tests/html/webappapis/animation-frames/idlharness-expected.txt: Added.
  • web-platform-tests/html/webappapis/animation-frames/idlharness.html: Added.
  • web-platform-tests/html/webappapis/animation-frames/same-dispatch-time-expected.txt: Added.
  • web-platform-tests/html/webappapis/animation-frames/same-dispatch-time.html: Added.
  • web-platform-tests/html/webappapis/animation-frames/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/atob/base64-expected.txt: Added.
  • web-platform-tests/html/webappapis/atob/base64.html: Added.
  • web-platform-tests/html/webappapis/atob/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/contains.json: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/microtask_after_script-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/microtask_after_script.html: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/resources/common.js: Added.

(log_test):

  • web-platform-tests/html/webappapis/scripting/event-loops/resources/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering.html: Added.
  • web-platform-tests/html/webappapis/scripting/event-loops/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/events/body-onload-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/body-onload.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/contains.json: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-javascript-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-javascript.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-onresize-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-onresize.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-processing-algorithm.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-spec-example-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/event-handler-spec-example.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-once-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-once.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/onerroreventhandler-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/events/onerroreventhandler-frame.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/onerroreventhandler.html: Added.
  • web-platform-tests/html/webappapis/scripting/events/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/addEventListener-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/addEventListener.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/contains.json: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-attribute-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-attribute.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-body-onerror-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-body-onerror.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-window-onerror-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-window-onerror.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setInterval.js: Added.

(setTimeout):

  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setTimeout.js: Added.

(setTimeout):

  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error.js: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setInterval.js: Added.

(setTimeout):

  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setTimeout.js: Added.

(setTimeout):

  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable.js: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/support/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4-expected.txt: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js: Added.

(run_test.):
(run_test):

  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/contains.json: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/001-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/001.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/002-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/002.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/003-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/003.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/004-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/004.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/005-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/005.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/006-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/006.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-indexed-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-indexed.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigatorlanguage-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigatorlanguage.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/001-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/001.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/002-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/002.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/003-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/003.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/004-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/004.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/005-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/005.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/006-expected.txt: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/006.xhtml: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/timers/evil-spec-example-expected.txt: Added.
  • web-platform-tests/html/webappapis/timers/evil-spec-example.html: Added.
  • web-platform-tests/html/webappapis/timers/w3c-import.log: Added.
11:40 AM Changeset in webkit [206873] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix when building with Direct2D.

  • PlatformWin.cmake: Add missing library references.
11:37 AM Changeset in webkit [206872] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • platform/graphics/Image.cpp: Add missing include

for 'NotImplemented' when building under Direct2D.

11:01 AM Changeset in webkit [206871] by Brent Fulgham
  • 8 edits
    2 copies in trunk

[Win][Direct2D] Add Direct2D CMake rules
https://bugs.webkit.org/show_bug.cgi?id=162925

Reviewed by Brent Fulgham.

.:

  • Source/cmake/OptionsAppleWin.cmake: Add a new 'USE_DIRECT2D' option

flag for the build. Currently this is commented out and is unused.

Source/WebCore:

Modify PlatformAppleWin.cmake to conditionally build the CoreGraphics
and CoreAnimation implementation, or the Direct2D files, depending
on whether the USE_DIRECT2D macro is set in the CMake build options.
By default it builds the normal CA/CG way.

Add a stub GraphicsLayer implementation for Direct2D.

No new tests because there is no change in our active ports.

  • PlatformAppleWin.cmake: Conditionalize the build for CA/CG or

Direct2D.

  • config.h: Make sure CA is turned of for Direct2D builds.
  • page/win/FrameWinDirect2D.cpp: Add missing include file.
  • platform/graphics/win/GraphicsLayerDirect2D.cpp: Added.
  • platform/graphics/win/GraphicsLayerDirect2D.h: Added.

Source/WTF:

  • wtf/Platform.h: Don't USE(CA) or USE(CG) if building

with Direct2D.

10:59 AM Changeset in webkit [206870] by Yusuke Suzuki
  • 19 edits in trunk/Source

[WebCore][JSC] Use new @throwTypeError and @throwRangeError intrinsics
https://bugs.webkit.org/show_bug.cgi?id=163001

Reviewed by Keith Miller.

Source/JavaScriptCore:

Previously, the argument of @throwXXXError intrinsics must be string literal.
But it is error-prone restriction. This patch relaxes the restriction to accept
arbitrary values. To keep emitted bytecode small, if the argument is string literal,
we generate the same bytecode as before. If the argument is not string literal,
we evaluate it and perform to_string before passing to throw_static_error.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitThrowStaticError):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwTypeError):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwRangeError):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

Source/WebCore:

Replace throw new @XXXError(...) to @throwXXXError intrinsic.
It reduces the size of bytecode sequence and facilitate inlining.

No behavior change.

  • Modules/fetch/FetchHeaders.js:

(initializeFetchHeaders):

  • Modules/fetch/FetchInternals.js:

(fillFetchHeaders):

  • Modules/fetch/FetchRequest.js:

(initializeFetchRequest):

  • Modules/fetch/FetchResponse.js:

(initializeFetchResponse):
(clone):

  • Modules/mediastream/NavigatorUserMedia.js:

(webkitGetUserMedia):

  • Modules/mediastream/RTCPeerConnection.js:

(initializeRTCPeerConnection):
(getLocalStreams):
(getStreamById):
(addStream):

  • Modules/streams/ReadableStream.js:

(initializeReadableStream):
(getReader):

  • Modules/streams/ReadableStreamDefaultController.js:

(enqueue):
(error):
(close):

  • Modules/streams/ReadableStreamDefaultReader.js:

(releaseLock):

  • Modules/streams/ReadableStreamInternals.js:

(privateInitializeReadableStreamDefaultReader):
(privateInitializeReadableStreamDefaultController):
(doStructuredClone):
(readableStreamError):

  • Modules/streams/StreamInternals.js:

(validateAndNormalizeQueuingStrategy):
(enqueueValueWithSize):

  • Modules/streams/WritableStream.js:

(initializeWritableStream):
(state):

  • xml/XMLHttpRequest.js:

(response):

10:41 AM WebKitGTK/2.14.x edited by clopez@igalia.com
(diff)
10:40 AM Changeset in webkit [206869] by wilander@apple.com
  • 13 edits in trunk

Update Resource Load Statistics
https://bugs.webkit.org/show_bug.cgi?id=162811

Reviewed by Alex Christensen.

Source/WebCore:

No new tests. The counting is based on top privately owned domains
which currently is not supported by layout tests nor API tests.

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

Now captures statistics for web sockets too.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/ResourceLoadObserver.cpp:

Now captures statistics for synchronous XHR too.

(WebCore::is3xxRedirect):

Convenience function.

(WebCore::ResourceLoadObserver::shouldLog):

Convenience function.

(WebCore::ResourceLoadObserver::logFrameNavigation):

Updated to make use of new convenience functions.

(WebCore::ResourceLoadObserver::logSubresourceLoading):

Updated to make use of new convenience functions.

(WebCore::ResourceLoadObserver::logWebSocketLoading):

Added.

(WebCore::ResourceLoadObserver::logUserInteraction):

Updated to make use of new convenience functions.

(WebCore::ResourceLoadObserver::primaryDomain):

Now makes use of the Public Suffix list.
Removed old custom parsing of primary domain.

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

(WebCore::ResourceLoadStatisticsStore::prevalentResourceDomainsWithoutUserInteraction):

Convenience function.

(WebCore::ResourceLoadStatisticsStore::processStatistics): Deleted.

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

(WebCore::SubresourceLoader::willSendRequestInternal):

Moved logging call higher up and added a check for whether we
are loading the main resource. The reason for moving it up is
to capture the request before some data may be cleared out in
redirect handling. We also want to capture failed CORS requests
since they are sent and then cancelled on the way back.

Source/WebKit2:

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics):

Switched to vector-based classification.

(WebKit::WebResourceLoadStatisticsStore::classifyResource):

Simplified logic and moved the split between has and has
no user interaction into ResourceLoadStatisticsStore.

(WebKit::WebResourceLoadStatisticsStore::clearDataRecords):

Added.

(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):

Updated to make use of the new functions.

(WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):

Removed stray whitespace.

(WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):

Removed stray whitespace.

(WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk):

Removed stray whitespace.

(WebKit::hasPrevalentResourceCharacteristics): Deleted.
(WebKit::classifyPrevalentResources): Deleted.

  • UIProcess/WebResourceLoadStatisticsStore.h:

Added member variables for clearing of data records.

Tools:

  • TestWebKitAPI/Tests/mac/PublicSuffix.mm:

Change from USE(PUBLIC_SUFFIX_LIST) to ENABLE(PUBLIC_SUFFIX_LIST)

10:27 AM Changeset in webkit [206868] by adam.bergkvist@ericsson.com
  • 8 edits
    2 adds in trunk

WebRTC: Add support for the iceconnectionstatechange event in MediaEndpointPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=162961

Reviewed by Eric Carlson.

Source/WebCore:

Implement MediaEndpointPeerConnection's iceTransportStateChanged callback. When called, it
updates the ICE transport state of the corresponding transceiver and determines if the
RTCPeerConnection's aggregated iceConnectionState needs to be updated.

Update MediaEndpointMock's emulatePlatformEvent feature to support a new action:
"step-ice-transport-states". When initiated, this action replays a predefined set of ICE
transport state changes on a set of transceivers which can be observed via the
iceTransportStateChanged (mentioned above).

Test: fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html

  • Modules/mediastream/MediaEndpointPeerConnection.cpp:

(WebCore::deriveAggregatedIceConnectionState):
(WebCore::MediaEndpointPeerConnection::iceTransportStateChanged):

  • Modules/mediastream/MediaEndpointPeerConnection.h:
  • platform/mediastream/MediaEndpoint.h:

(WebCore::MediaEndpointClient::~MediaEndpointClient):

  • platform/mock/MockMediaEndpoint.cpp:

(WebCore::MockMediaEndpoint::MockMediaEndpoint):
(WebCore::MockMediaEndpoint::emulatePlatformEvent):
(WebCore::MockMediaEndpoint::stepIceTransportStates):
(WebCore::MockMediaEndpoint::iceTransportTimerFired):

  • platform/mock/MockMediaEndpoint.h:

LayoutTests:

Emulate changing the ICE transport sates of three transceivers and observe the resulting
changes to the aggregated iceConnectionState.

  • fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html: Added.
  • platform/mac/TestExpectations:

Skip above test until the Mac port builds with WEB_RTC.

9:53 AM Changeset in webkit [206867] by commit-queue@webkit.org
  • 46 edits in trunk/Source

CachedResource client handling methods should take reference
https://bugs.webkit.org/show_bug.cgi?id=163014

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Alex Christensen.

Source/WebCore:

No change of behavior.

  • bindings/js/CachedScriptSourceProvider.h:

(WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):

  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::loadSubimages):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::~CSSFilterImageValue):
(WebCore::CSSFilterImageValue::loadSubimages):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::CSSFontFaceSource):
(WebCore::CSSFontFaceSource::~CSSFontFaceSource):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::~StyleRuleImport):
(WebCore::StyleRuleImport::requestStyleSheet):

  • dom/DataTransfer.cpp:

(WebCore::DragImageLoader::startLoading):
(WebCore::DragImageLoader::stopLoading):

  • dom/LoadableClassicScript.cpp:

(WebCore::LoadableClassicScript::create):
(WebCore::LoadableClassicScript::~LoadableClassicScript):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::~ProcessingInstruction):
(WebCore::ProcessingInstruction::checkStyleSheet):
(WebCore::ProcessingInstruction::parseStyleSheet):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::process):

  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::~CrossOriginPreflightChecker):
(WebCore::CrossOriginPreflightChecker::startPreflight):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::clearMainResource):
(WebCore::DocumentLoader::becomeMainResourceClient):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::clearResource):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::clearImageWithoutConsideringPendingLoadEvent):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::~LinkLoader):
(WebCore::LinkLoader::notifyFinished):
(WebCore::LinkLoader::loadLink):

  • loader/LinkPreloadResourceClients.h:

(WebCore::LinkPreloadResourceClient::addResource):
(WebCore::LinkPreloadResourceClient::clearResource):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResource::MediaResource):
(WebCore::MediaResource::stop):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::~TextTrackLoader):
(WebCore::TextTrackLoader::cancelLoad):
(WebCore::TextTrackLoader::load):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::didAddClient):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::didAddClient):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didAddClient):
(WebCore::CachedImage::didRemoveClient):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::didAddClient):

  • loader/cache/CachedRawResource.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::addClient):
(WebCore::CachedResource::didAddClient):
(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::switchClientsToRevalidatedResource):
(WebCore::CachedResource::Callback::timerFired):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::hasClient):
(WebCore::CachedResource::didRemoveClient):

  • loader/cache/CachedSVGDocumentReference.cpp:

(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::load):

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::didAddClient):

  • loader/cache/CachedXSLStyleSheet.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::addImageToCache):
(WebCore::MemoryCache::removeImageFromCache):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::stopLoading):

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

(WebCore::WebCoreAVCFResourceLoader::startLoading):
(WebCore::WebCoreAVCFResourceLoader::stopLoading):

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::startLoading):
(WebCore::WebCoreAVFResourceLoader::stopLoading):

  • rendering/RenderImageResource.cpp:

(WebCore::RenderImageResource::shutdown):
(WebCore::RenderImageResource::setCachedImage):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):

  • rendering/style/StyleCachedImage.cpp:

(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::clearResourceReferences):
(WebCore::SVGFEImageElement::requestImageResource):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
(WebCore::SVGFontFaceUriElement::loadFont):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::~SVGUseElement):
(WebCore::SVGUseElement::updateExternalDocument):

  • xml/XSLImportRule.cpp:

(WebCore::XSLImportRule::~XSLImportRule):
(WebCore::XSLImportRule::setXSLStyleSheet):
(WebCore::XSLImportRule::loadSheet):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::notifyFinished):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::~XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(promisedDataClient):

9:38 AM Changeset in webkit [206866] by Philippe Normand
  • 6 edits in trunk

[GStreamer][OWR] GL rendering support
https://bugs.webkit.org/show_bug.cgi?id=162972

Reviewed by Žan Doberšek.

When GStreamer-GL is enabled the GL context needs to be properly passed
to the GStreamer pipeline running within the OpenWebRTC video renderer.
This is now supported using a new OpenWebRTC API that allows the
renderer to request the context from the application using a callback
registered within the renderer.

Source/WebCore:

The player's GL context/display set-up was refactored to a new
method, requestGLContext, which is used as callback for the
OpenWebRTC request_context handler.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamerBase::requestGLContext):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

(WebCore::MediaPlayerPrivateGStreamerBase::gstGLContext):
(WebCore::MediaPlayerPrivateGStreamerBase::gstGLDisplay):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:

(WebCore::MediaPlayerPrivateGStreamerOwr::createVideoSink):

Tools:

  • gtk/jhbuild.modules: Bump to latest OpenWebRTC for the new

owr_video_renderer_set_request_context_callback API added
recently.

9:20 AM Changeset in webkit [206865] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip accessibility/mac/wk1-set-selected-text-marker-range-input-element.html on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=162999

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
6:30 AM Changeset in webkit [206864] by commit-queue@webkit.org
  • 7 edits
    2 copies
    22 adds in trunk

[Modern Media Controls] Icon service and the IconButton class
https://bugs.webkit.org/show_bug.cgi?id=162970
<rdar://problem/28631803>

Patch by Antoine Quint <Antoine Quint> on 2016-10-06
Reviewed by Dean Jackson.

Source/WebCore:

We introduce the new IconButton class to display buttons that show an icon
in modern media controls. An IconButton uses a CSS mask-image to display the icon
such that we may set the actual button color to any value by setting the element's
background-color property.

Icons are obtained through the iconService singleton which knows how to load the
right icon for the current layout traits and resolution. Icons loaded through the
icon service are cached. In a later patch, we will be introducing functionality,
through the MediaControlsHost, to load the icon from the WebCore bundle.

Tests: media/modern-media-controls/icon-button/icon-button-active-state.html

media/modern-media-controls/icon-button/icon-button.html
media/modern-media-controls/icon-service/icon-service.html

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

(button):

  • Modules/modern-media-controls/controls/icon-button.css: Copied from Source/WebCore/Modules/modern-media-controls/controls/button.css.

(button.icon):
(button.icon:active):

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

(IconButton):
(IconButton.prototype.get iconName):
(IconButton.prototype.set iconName):
(IconButton.prototype.handleEvent):
(IconButton.prototype.layout):
(IconButton.prototype._imageDidLoad):
(IconButton.prototype._updateImage):

  • Modules/modern-media-controls/controls/icon-service.js: Copied from Source/WebCore/Modules/modern-media-controls/controls/layout-item.js.

(const.iconService.new.IconService):
(const.iconService.new.IconService.prototype.imageForIconNameAndLayoutTraits):
(const.iconService.new.IconService.prototype.urlForIconNameAndLayoutTraits):

LayoutTests:

Testing all public properties and methods of the iconService singleton and IconButton class.

  • media/modern-media-controls/icon-button/icon-button-active-state-expected.txt: Added.
  • media/modern-media-controls/icon-button/icon-button-active-state.html: Added.
  • media/modern-media-controls/icon-button/icon-button-expected.txt: Added.
  • media/modern-media-controls/icon-button/icon-button.html: Added.
  • media/modern-media-controls/icon-service/icon-service-expected.txt: Added.
  • media/modern-media-controls/icon-service/icon-service.html: Added.
  • media/modern-media-controls/layout-item/layout-item-expected.txt:
  • media/modern-media-controls/layout-item/layout-item.html:
  • platform/ios-simulator/TestExpectations:
6:07 AM Changeset in webkit [206863] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK] Fix build with GSTREAMER_GL enabled and ACCELERATED_2D_CANVAS disabled
https://bugs.webkit.org/show_bug.cgi?id=163008

Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-06
Reviewed by Carlos Garcia Campos.

Put functions using cairo-gl behind appropriate guards.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paintToCairoSurface): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3:53 AM Changeset in webkit [206862] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/Source/WebCore

[GTK] Copying video textures to webgl should not depend on cairo-gl
https://bugs.webkit.org/show_bug.cgi?id=162904

Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-06
Reviewed by Žan Doberšek.

Perform the texture copy without using cairo-gl.

Covered by existent tests.

  • platform/GStreamer.cmake:

Add the new VideoTextureCopierGStreamer class to the build.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture):
Use VideoTextureCopierGStreamer to perform the copy.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Add a VideoTextureCopierGStreamer as a class attribute.

  • platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp: Added.

(WebCore::VideoTextureCopierGStreamer::VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::updateTextureSpaceMatrix):
Recalculates the matrix used as the texture coordinates transformation.
(WebCore::VideoTextureCopierGStreamer::updateTransformationMatrix):
Recalculates the matrices used as the vertices coordinates transformation.
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
Performs the texture copy by using a shader that applies the rotation needed to follow
the video orientation.

  • platform/graphics/gstreamer/VideoTextureCopierGStreamer.h: Added.
3:44 AM Changeset in webkit [206861] by yoon@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Build fix for X11 and GStreamerGL after r183731
https://bugs.webkit.org/show_bug.cgi?id=163000

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

Include gstgldisplay_egl.h if platform uses EGL.

3:38 AM Changeset in webkit [206860] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Refresh WPT tests up to c875b42
https://bugs.webkit.org/show_bug.cgi?id=159712

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06

  • TestExpectations: Removed flakiness expectations for tests introduced in bug 159712.
3:22 AM Changeset in webkit [206859] by mario@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Can't play any video with GSTREAMER_GL enabled
https://bugs.webkit.org/show_bug.cgi?id=162669

Reviewed by Philippe Normand.

Make sure an EGLDisplay type is passed when creating the GstGlDisplay
for the EGL code path, instead of a native X11 display type, so
that we get a valid GstGlDisplay as a result, not a dummy one.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):

3:00 AM Changeset in webkit [206858] by commit-queue@webkit.org
  • 9 edits in trunk

[Fetch API] Forbid redirection to non-HTTP(s) URL in non-navigation mode.
https://bugs.webkit.org/show_bug.cgi?id=162785

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt:

Source/WebCore:

Covered by rebased and existing tests.

Ensuring non-HTTP redirection URLs are not followed at DocumentThreadableLoader level for fetch API only.
This should be applied to all clients at some point, but there is still some uncertainty for data URLs.

Did some refactoring to better separate the case of security checks in case of regular request or redirected request.
This allows in particular to handle more clearly the case of data URLs which are allowed in all modes for regular requests.
But they are not allowed for same-origin redirected requests.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::reportRedirectionWithBadScheme): Reporting bad scheme redirection error.
(WebCore::DocumentThreadableLoader::redirectReceived): Checking that redirection URLs are HTTP(s) in case of Fetch API.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy):
(WebCore::isSameOriginDataURL):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::canRequestAfterRedirection):
(WebCore::CachedResourceLoader::canRequestInContentDispositionAttachmentSandbox):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceLoader.h:
2:43 AM Changeset in webkit [206857] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Fetch API] Use ReadableStream pull to transfer binary data to stream when application needs it
https://bugs.webkit.org/show_bug.cgi?id=162892

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Alex Christensen.

Covered by existing tests.

Before this patch, FetchResponse was never resolving the start promise.
This way, it could enqueue data, error or close the stream whenever desired.

With this patch, FetchResponse will feed the stream when being asked to.
This allows keeping the data in WebCore until the application needs it.
This is only implemented for network data.
For other data owned by response (blob, text...), data will be enqueued like previously as fast as possible.

Note that FetchResponse can enqueue/error/close the stream at any time since JSFetchResponse has a reference to the stream.
And the stream has a reference to the controller.

In addition to transfer binary chunks to ReadableStream only when needed, WebCore is now aware of the data
stored in the response, which may allow applying backpressure to the network source in the future.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didReceiveData): Enqueuing only if stream is pulling.
Otherwise, storing in FetchBodyConsumer. If stream is pulling, we enqueue both buffered data and received chunk.
(WebCore::FetchResponse::consumeBodyAsStream): Resolving pull promise if we enqueued some buffered data.
(WebCore::FetchResponse::closeStream):
(WebCore::FetchResponse::feedStream): If we have some buffered data, we enqueue it. If there is no loader, the stream can be closed.

  • Modules/fetch/FetchResponse.h:
  • Modules/fetch/FetchResponseSource.cpp:

(WebCore::FetchResponseSource::doPull):
(WebCore::FetchResponseSource::close):
(WebCore::FetchResponseSource::error):

  • Modules/fetch/FetchResponseSource.h:
  • Modules/streams/ReadableStreamSource.h:

(WebCore::ReadableStreamSource::isPulling): Renamed from isStarting.
(WebCore::ReadableStreamSource::isStarting): Deleted.

1:54 AM Changeset in webkit [206856] by adam.bergkvist@ericsson.com
  • 18 edits
    1 copy
    2 adds in trunk

WebRTC: Add support for the icecandidate event in MediaEndpointPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=162957

Reviewed by Eric Carlson.

Source/WebCore:

Implement MediaEndpointPeerConnection's gotIceCandidate and doneGatheringCandidates
callbacks. These are used by the MediaEndpoint (WebRTC backend implementation) to
notify about ICE events.

Add API to Internals to emulate WebRTC platform events, such as dispatching a set of ICE
candidates followed by a gathering done indication. Initially, only a single action,
"dispatch-fake-ice-candidates", is supported, but the intention is to extend the set of
actions to support more test cases.

Test: fast/mediastream/RTCPeerConnection-icecandidate-event.html

  • Modules/mediastream/MediaEndpointPeerConnection.cpp:

(WebCore::MediaEndpointPeerConnection::emulatePlatformEvent):
(WebCore::MediaEndpointPeerConnection::gotIceCandidate):
(WebCore::MediaEndpointPeerConnection::doneGatheringCandidates):

  • Modules/mediastream/MediaEndpointPeerConnection.h:
  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCIceTransport.h: Added.

RTCIceCandidate will eventually be part of the JS API, but right now it's
only used to keep track of the ICE states related to a RTCRtpTranscevier.
(WebCore::RTCIceTransport::create):
(WebCore::RTCIceTransport::~RTCIceTransport):
(WebCore::RTCIceTransport::transportState):
(WebCore::RTCIceTransport::setTransportState):
(WebCore::RTCIceTransport::gatheringState):
(WebCore::RTCIceTransport::setGatheringState):
(WebCore::RTCIceTransport::RTCIceTransport):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::emulatePlatformEvent):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCRtpTransceiver.cpp:

(WebCore::RTCRtpTransceiver::RTCRtpTransceiver):

  • Modules/mediastream/RTCRtpTransceiver.h:

(WebCore::RTCRtpTransceiver::iceTransport):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/MediaEndpoint.h:

(WebCore::MediaEndpoint::emulatePlatformEvent):

  • platform/mediastream/PeerConnectionStates.h:
  • platform/mock/MockMediaEndpoint.cpp:

(WebCore::MockMediaEndpoint::MockMediaEndpoint):
(WebCore::MockMediaEndpoint::updateReceiveConfiguration):
(WebCore::MockMediaEndpoint::emulatePlatformEvent):
(WebCore::MockMediaEndpoint::dispatchFakeIceCandidates):
(WebCore::MockMediaEndpoint::iceCandidateTimerFired):

  • platform/mock/MockMediaEndpoint.h:
  • testing/Internals.cpp:

(WebCore::Internals::emulateRTCPeerConnectionPlatformEvent):
Generic API to signal down to the WebRTC platform mock.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Dispatch fake ICE candidates from the WebRTC platform mock (MockMediaEndpoint) and
inspect the result.

  • fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-icecandidate-event.html: Added.
  • platform/mac/TestExpectations:

Skip above test until the Mac port builds with WEB_RTC

1:30 AM Changeset in webkit [206855] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

[WK2] 304 revalidation on the network process does not update the validated response
https://bugs.webkit.org/show_bug.cgi?id=162973

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-06
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/conditional-get-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/conditional-get.html: Added.
  • web-platform-tests/fetch/api/resources/cache.py: Added.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp: Updating cache entry with the revalidated one.

LayoutTests:

  • http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header-expected.txt:

Rebasing expectation as memory cache revalidation is no longer needed now that the disk cache is updating the response passed to the memory cache.
The disk cache is doing revalidation on the second load. It receives the updated response with longer validity.
As the extended validity response is now passed to the memory cache, the memory cache revalidation no longer happens.

1:03 AM Changeset in webkit [206854] by n_wang@apple.com
  • 4 edits
    2 adds in trunk

AX:[Mac] Unable to edit text input, textarea fields in iframe using VO naivgation
https://bugs.webkit.org/show_bug.cgi?id=162999

Reviewed by Chris Fleizach.

Source/WebCore:

In WebKit1, the top web area setting the selection to an input element inside an iframe
will make the input field not editable. The issue is that when the web area and the input element
have different documents, the setSelection function in FrameSelection will set the selection on
the input's frame and cause the caret to disappear. I fixed it by not setting the selection in such case.

Test: accessibility/mac/wk1-set-selected-text-marker-range-input-element.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):

LayoutTests:

  • accessibility/mac/wk1-set-selected-text-marker-range-input-element-expected.txt: Added.
  • accessibility/mac/wk1-set-selected-text-marker-range-input-element.html: Added.
12:44 AM Changeset in webkit [206853] by Yusuke Suzuki
  • 52 edits in trunk

[JSC] Add @throwXXXError bytecode intrinsic
https://bugs.webkit.org/show_bug.cgi?id=162995

Reviewed by Saam Barati.

Source/JavaScriptCore:

Builtin JS code need to check arguments carefully since it is somewhat standard library for JS.
So bunch of throw new @TypeError("...") exists while usual code does not have so many.
However the above code bloats 32 instructions per site, enlarges the size of bytecodes of builtins,
and prevent us from inlining. We should have a way to reduce this size.

Fortunately, we already have such a opcode: op_throw_static_error. In this patch,

  1. We extends op_throw_static_error to throw arbitrary errors. Previously, only TypeError and ReferenceError are allowed. We can embed ErrorType enum in op_throw_static_error to throw any types of errors.
  2. We introduce several new bytecode intrinsics, @throwTypeError("..."), @throwRangeError("..."), and @throwOutOfMemoryError(). And use it inside builtin JS instead of throw new @TypeError("...") thingy.
  3. DFG Node for throw_static_error is incorrectly named as "ThrowReferenceError". This patch renames it to "ThrowStaticError".
  • builtins/ArrayConstructor.js:
  • builtins/ArrayIteratorPrototype.js:

(next):

  • builtins/ArrayPrototype.js:

(values):
(keys):
(entries):
(reduce):
(reduceRight):
(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):
(sort):
(concatSlowPath):
(copyWithin):

  • builtins/DatePrototype.js:

(toLocaleString.toDateTimeOptionsAnyAll):
(toLocaleString):
(toLocaleDateString.toDateTimeOptionsDateDate):
(toLocaleDateString):
(toLocaleTimeString.toDateTimeOptionsTimeTime):
(toLocaleTimeString):

  • builtins/FunctionPrototype.js:

(bind):

  • builtins/GeneratorPrototype.js:

(globalPrivate.generatorResume):

  • builtins/GlobalOperations.js:

(globalPrivate.speciesConstructor):

  • builtins/MapPrototype.js:

(forEach):

  • builtins/ModuleLoaderPrototype.js:

(provide):

  • builtins/ObjectConstructor.js:

(values):
(entries):
(assign):

  • builtins/PromiseConstructor.js:

(race):
(reject):
(resolve):

  • builtins/PromiseOperations.js:

(globalPrivate.newPromiseCapability.executor):
(globalPrivate.newPromiseCapability):
(globalPrivate.initializePromise):

  • builtins/PromisePrototype.js:
  • builtins/ReflectObject.js:

(apply):
(deleteProperty):
(has):

  • builtins/RegExpPrototype.js:

(globalPrivate.regExpExec):
(match):
(replace):
(search):
(split):
(intrinsic.RegExpTestIntrinsic.test):

  • builtins/SetPrototype.js:

(forEach):

  • builtins/StringConstructor.js:

(raw):

  • builtins/StringIteratorPrototype.js:

(next):

  • builtins/StringPrototype.js:

(match):
(globalPrivate.repeatSlowPath):
(repeat):
(padStart):
(padEnd):
(intrinsic.StringPrototypeReplaceIntrinsic.replace):
(localeCompare):
(search):
(split):

  • builtins/TypedArrayConstructor.js:

(of):
(from):

  • builtins/TypedArrayPrototype.js:

(globalPrivate.typedArraySpeciesConstructor):
(every):
(find):
(findIndex):
(forEach):
(some):
(subarray):
(reduce):
(reduceRight):
(map):
(filter):

  • bytecode/BytecodeIntrinsicRegistry.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitThrowStaticError):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitThrowTypeError):
(JSC::BytecodeGenerator::emitThrowRangeError):
(JSC::BytecodeGenerator::emitThrowOutOfMemoryError):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwTypeError):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwRangeError):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwOutOfMemoryError):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_throw_static_error):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_throw_static_error): Deleted.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL): Deleted.

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/Error.cpp:

(JSC::createError):
(WTF::printInternal):

  • runtime/Error.h:

LayoutTests:

  • js/Object-assign-expected.txt:
Note: See TracTimeline for information about the timeline view.