Timeline
Oct 7, 2016:
- 8:31 PM Changeset in webkit [206949] by
-
- 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
-
- 3 edits2 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
-
- 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
-
- 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
-
- 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
-
- 18 edits6 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 thatonbeforeinput
handlers are invoked with InputEvents. Also introduces
new unit tests verifying that calling preventDefault on InputEvents fired byonbeforeinput
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
-
- 13 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 8 edits4 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
-
- 3 edits3 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
-
- 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.
- TestExpectations: Stopped skipping js/function-apply-aliased.html.
- 2:06 PM Changeset in webkit [206934] by
-
- 10 edits1 copy2 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
-
- 1 delete in tags/Safari-603.1.8.1
Remove tag.
- 1:51 PM Changeset in webkit [206932] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 1 copy in tags/Safari-603.1.8.1
New tag.
- 12:43 PM Changeset in webkit [206927] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits3 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 30 edits2 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
-
- 4 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits2 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
-
- 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
-
- 10 edits4 copies1 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
-
- 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
-
- 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
-
- 6 edits2 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
-
- 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
-
- 15 edits2 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
-
- 5 edits in branches/safari-602.2.14.0-branch/Source
Versioning.
- 6:10 PM Changeset in webkit [206892] by
-
- 1 copy in tags/Safari-602.2.14.0.6
New Tag.
- 5:51 PM Changeset in webkit [206891] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in tags/Safari-603.1.8/Source/JavaScriptCore
Merge r206885. rdar://problem/28609241
- 3:40 PM Changeset in webkit [206885] by
-
- 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
- (diff)
- 2:40 PM Changeset in webkit [206884] by
-
- 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
-
- 21 edits5 copies118 moves21 adds11 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
-
- 1 edit5 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
-
- 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
-
- 14 edits2 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
-
- 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
-
- 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
-
- 15 edits5 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
-
- 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
-
- 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
-
- 2 edits174 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
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
- (diff)
- 10:40 AM Changeset in webkit [206869] by
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 7 edits2 copies22 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):
- Modules/modern-media-controls/controls/layout-item.js:
- Modules/modern-media-controls/images/iOS/pause@2x.png: Added.
- Modules/modern-media-controls/images/iOS/pause@3x.png: Added.
- Modules/modern-media-controls/images/iOS/start@2x.png: Added.
- Modules/modern-media-controls/images/iOS/start@3x.png: Added.
- Modules/modern-media-controls/images/macOS/pause-fullscreen@1x.png: Added.
- Modules/modern-media-controls/images/macOS/pause-fullscreen@2x.png: Added.
- Modules/modern-media-controls/images/macOS/pause@1x.png: Added.
- Modules/modern-media-controls/images/macOS/pause@2x.png: Added.
- Modules/modern-media-controls/images/macOS/start@1x.png: Added.
- Modules/modern-media-controls/images/macOS/start@2x.png: Added.
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
-
- 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
-
- 4 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 18 edits1 copy2 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
-
- 5 edits3 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
-
- 4 edits2 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
-
- 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 ofthrow 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,
- 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.
- We introduce several new bytecode intrinsics,
@throwTypeError("...")
,@throwRangeError("...")
, and@throwOutOfMemoryError()
. And use it inside builtin JS instead ofthrow new @TypeError("...")
thingy. - 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:
Oct 5, 2016:
- 11:54 PM Changeset in webkit [206852] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r206845.
https://bugs.webkit.org/show_bug.cgi?id=162998
broke el capitan build (Requested by alexchristensen on
#webkit).
Reverted changeset:
"Add Display P3 ColorSpace"
https://bugs.webkit.org/show_bug.cgi?id=162880
http://trac.webkit.org/changeset/206845
- 11:45 PM Changeset in webkit [206851] by
-
- 5 edits in trunk
Reuse CodeGenerator::UpdateFile in Tools CodeGenerator
https://bugs.webkit.org/show_bug.cgi?id=162960
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-05
Reviewed by Alex Christensen.
Source/WebCore:
No change of behavior.
- bindings/scripts/CodeGenerator.pm:
(UpdateFile): Adding FIXME to enable lazy writing when feasible.
Tools:
- DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(WriteData): Using CodeGenerator::UpdateFile to do lazy generated file update when it is made feasible.
- WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(WriteData): Ditto.
- 11:39 PM Changeset in webkit [206850] by
-
- 2 edits in trunk/Source/WebCore
[SOUP] HostTLSCertificateSet should not use SHA-1 hashes to compare certificates
https://bugs.webkit.org/show_bug.cgi?id=162965
Reviewed by Carlos Garcia Campos.
Use SHA-256 instead.
No new tests, covered by TestSSL.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::HostTLSCertificateSet::computeCertificateHash):
- 11:38 PM Changeset in webkit [206849] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Bump Chrome version in Chrome user agent quirk
https://bugs.webkit.org/show_bug.cgi?id=162984
Reviewed by Carlos Garcia Campos.
- platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):
- 10:51 PM Changeset in webkit [206848] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix CLoop build after r206846
https://bugs.webkit.org/show_bug.cgi?id=162941
Attempt to fix CLoop build part 2. r206847 was not valid.
- jsc.cpp:
- 10:38 PM Changeset in webkit [206847] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix after r206846
https://bugs.webkit.org/show_bug.cgi?id=162941
DOMJIT::Patchpoint part should be guarded by ENABLE(JIT).
- jsc.cpp:
- 10:20 PM Changeset in webkit [206846] by
-
- 34 edits1 copy5 adds in trunk
[DOMJIT] Add initial CheckDOM and CallDOM implementations
https://bugs.webkit.org/show_bug.cgi?id=162941
Reviewed by Filip Pizlo.
JSTests:
- stress/domjit-getter-poly.js: Added.
(shouldBe):
(access):
- stress/domjit-getter-proto.js: Added.
(shouldBe):
(access):
- stress/domjit-getter-super-poly.js: Added.
(shouldBe):
(access):
- stress/domjit-getter.js: Added.
(shouldBe):
(access):
Source/JavaScriptCore:
This patch implements a prototype of DOMJIT accelerated getter.
We add two new DFG nodes, CheckDOM and CallDOM.
CheckDOM is used to filter inappropriate |this| object for DOM getter. Its functionality
is equivalent to jsDynamicCast's Check. You can use like "CheckDOM, @1, JSNode::info()",
and this CheckDOM incurs a BadType exit if the class of the given @1 is not a subclass of
JSNode::info().
CallDOM is used to emit actual DOM operations. It takes GlobalObject and checked DOM
object. And it returns JSValue as its result.
Both CheckDOM and CallDOM can take a DOMJIT::Patchpoint. This is somewhat code snippet
generator, and is injectable to DFG and FTL. DFG and FTL set up registers correctly
according to DOMJIT::Patchpoint's requirement and invoke this patchpoint generator to emit code.
While CallDOM always requires a patchpoint, ideally CheckDOM does not require it since
isSubclassOf check can be implemented in DFG / FTL side. However, some classes have a
faster way to query isSubclassOf. For example, JSNode in WebCore introduces a special
JSType to optimize this query. CheckDOM's patchpoint gives us a chance to emit special
faster code for such a case.
By leveraging above nodes, we can construct DOMJIT accelerated getter. When DFG recognizes the
given getter call is CustomGetter and it has DOMJIT::GetterSetter information, DFG emits the above nodes.
We implemented a prototype in jsc.cpp shell as DOMJITGetter to test the functionality.
Notes about the future extensions.
- Currently, we do not allow CallDOM to emit any function calls. This will be extended by
adding
addSlowPathCall
functionality to DOMJIT::Patchpoint later. Interesting thing is that we need to create an abstraction over DFG slow path call and FTL slow path call!
- CheckDOM is not handled in DFGTypeCheckHoistingPhase yet. And we have a chance to merge several CheckDOM into one. For example, given CheckDOM A and CheckDOM B to the same target. If A is subclass of B, we can merge them to CheckDOM A.
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3Effects.h:
(JSC::B3::Effects::forCheck):
- b3/B3Value.cpp:
(JSC::B3::Value::effects):
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::makesCalls):
(JSC::GetByIdStatus::dump):
- bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::isCustom):
(JSC::GetByIdStatus::takesSlowPath):
(JSC::GetByIdStatus::isSimple): Deleted.
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfo):
- dfg/DFGAbstractInterpreter.h:
(JSC::DFG::AbstractInterpreter::filterClassInfo):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::filterClassInfo):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::filterClassInfo):
- dfg/DFGAbstractValue.h:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleDOMJITGetter):
(JSC::DFG::ByteCodeParser::handleGetById):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasDOMJIT):
(JSC::DFG::Node::domJIT):
(JSC::DFG::Node::hasClassInfo):
(JSC::DFG::Node::classInfo):
(JSC::DFG::Node::OpInfoWrapper::OpInfoWrapper):
(JSC::DFG::Node::OpInfoWrapper::operator=):
- dfg/DFGNodeType.h:
- dfg/DFGOpInfo.h:
(JSC::DFG::OpInfo::OpInfo):
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::allocateTemporaryRegistersForPatchpoint):
(JSC::DFG::SpeculativeJIT::compileCallDOM):
(JSC::DFG::SpeculativeJIT::compileCheckDOM):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStructureAbstractValue.cpp:
(JSC::DFG::StructureAbstractValue::filterClassInfoSlow):
(JSC::DFG::StructureAbstractValue::isSubClassOf):
- dfg/DFGStructureAbstractValue.h:
(JSC::DFG::StructureAbstractValue::filterClassInfo):
(JSC::DFG::StructureAbstractValue::filter): Deleted.
- domjit/DOMJITPatchpointParams.h: Copied from Source/JavaScriptCore/dfg/DFGOpInfo.h.
(JSC::DOMJIT::PatchpointParams::~PatchpointParams):
(JSC::DOMJIT::PatchpointParams::size):
(JSC::DOMJIT::PatchpointParams::at):
(JSC::DOMJIT::PatchpointParams::operator[]):
(JSC::DOMJIT::PatchpointParams::gpScratch):
(JSC::DOMJIT::PatchpointParams::fpScratch):
(JSC::DOMJIT::PatchpointParams::PatchpointParams):
- domjit/DOMJITReg.h: Added.
(JSC::DOMJIT::Reg::Reg):
(JSC::DOMJIT::Reg::isGPR):
(JSC::DOMJIT::Reg::isFPR):
(JSC::DOMJIT::Reg::isJSValueRegs):
(JSC::DOMJIT::Reg::gpr):
(JSC::DOMJIT::Reg::fpr):
(JSC::DOMJIT::Reg::jsValueRegs):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckDOM):
(JSC::FTL::DFG::LowerDFGToB3::compileCallDOM):
(JSC::FTL::DFG::LowerDFGToB3::compileUnreachable): Deleted.
- jit/AssemblyHelpers.h:
- jsc.cpp:
(WTF::DOMJITNode::DOMJITNode):
(WTF::DOMJITNode::createStructure):
(WTF::DOMJITNode::create):
(WTF::DOMJITNode::value):
(WTF::DOMJITNode::offsetOfValue):
(WTF::DOMJITGetter::DOMJITGetter):
(WTF::DOMJITGetter::createStructure):
(WTF::DOMJITGetter::create):
(WTF::DOMJITGetter::DOMJITNodeDOMJIT::DOMJITNodeDOMJIT):
(WTF::DOMJITGetter::domJITNodeGetterSetter):
(WTF::DOMJITGetter::finishCreation):
(WTF::DOMJITGetter::customGetter):
(GlobalObject::finishCreation):
(functionCreateDOMJITNodeObject):
(functionCreateDOMJITGetterObject):
Source/WTF:
- wtf/Box.h:
(WTF::Box::Box):
- 10:15 PM Changeset in webkit [206845] by
-
- 4 edits in trunk/Source/WebCore
Add Display P3 ColorSpace
https://bugs.webkit.org/show_bug.cgi?id=162880
<rdar://problem/28598564>
Reviewed by Sam Weinig.
Add a new ColorSpace for Display P3.
This will be tested once the Color class can create
objects that reference other color spaces.
- platform/graphics/ColorSpace.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::displayP3ColorSpaceRef):
- platform/graphics/cg/GraphicsContextCG.h:
(WebCore::cachedCGColorSpace):
- 9:24 PM Changeset in webkit [206844] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Do not construct Simple GetByIdStatus against self-custom-accessor case
https://bugs.webkit.org/show_bug.cgi?id=162993
Reviewed by Filip Pizlo.
We accidentally created a Simple GetByIdStatus against self-custom-accessor case: the object has own custom accessor property and get_by_id hits.
If we returned such a result, the GetById will be turned to GetByOffset and it looks up incorrect thing like CustomGetterSetter object.
We do not hit this bug before since maybe there is no object that has own custom-accessor and this custom-accessor does not raise an error.
For example, "Node.prototype" has "firstChild" custom accessor. But since "Node.prototype" itself does not have Node::info(), "Node.prototype.firstChild"
access always raises an error. I guess all the custom accessors follow this pattern. This bug is uncovered when testing DOMJIT (This bug causes crash and
it can occur even if we disabled DOMJIT).
But such a assumption is not guaranteed. In this patch, we fix this by not returning Simple GetById.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::computeFor):
- 9:05 PM Changeset in webkit [206843] by
-
- 30 edits7 adds in trunk
Introduce InputEvent bindings in preparation for the input events spec
https://bugs.webkit.org/show_bug.cgi?id=162954
Reviewed by Ryosuke Niwa.
Source/WebCore:
Creates new bindings for InputEvent. Also introduces a runtime switch that allows Node to dispatch InputEvents
rather than generic events of type 'input'. Adds a new test verifying that when the switch is enabled, inputs
and contenteditable divs fire these new InputEvents on input. So far, only inputType is a part of the object
prototype, since we will be implementing this first. getTargetRanges() will follow once the finer details of
StaticRange are hashed out. See https://bugs.webkit.org/show_bug.cgi?id=162947 for more details.
Tests: fast/events/input-events-fired-when-typing.html
fast/events/ios/input-events-fired-when-typing-in-contenteditable.html
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- dom/DOMAllInOne.cpp:
- dom/Event.cpp:
(WebCore::Event::composed):
(WebCore::Event::isInputEvent):
- dom/Event.h:
- dom/EventNames.in:
- dom/InputEvent.cpp: Added.
(WebCore::InputEvent::InputEvent):
- dom/InputEvent.h: Added.
- dom/InputEvent.idl: Added.
- dom/Node.cpp:
(WebCore::Node::dispatchInputEvent):
(WebCore::Node::defaultEventHandler):
- dom/Node.h:
- editing/Editor.cpp:
(WebCore::Editor::setBaseWritingDirection):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setEditingValue):
(WebCore::HTMLInputElement::setValueFromRenderer):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTimelineElement::defaultEventHandler):
- page/Settings.in:
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebKit2:
Adds a new runtime switch for enabling InputEvents.
- Shared/WebPreferencesDefinitions.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
Adds a new test verifying that InputEvents are fired when the runtime switch for input events is enabled.
- fast/events/input-events-fired-when-typing-expected.txt: Added.
- fast/events/input-events-fired-when-typing.html: Added.
- fast/events/ios/input-events-fired-when-typing-in-contenteditable-expected.txt: Added.
- fast/events/ios/input-events-fired-when-typing-in-contenteditable.html: Added.
- js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/ios-simulator/TestExpectations:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 7:35 PM Changeset in webkit [206842] by
-
- 5 edits in trunk
URLParser should parse IPv4 addresses as the last two pieces of an IPv6 address
https://bugs.webkit.org/show_bug.cgi?id=162991
Reviewed by Saam Barati.
Source/WebCore:
The last 32 bits of an IPv6 address can be written in the form of an IPv4 address,
but the syntax is stricter than if it were just an IPv4 address. There must be 4 pieces,
and each piece must be decimal (no octal or hex allowed). These should serialize to
regular hex IPv6 addresses.
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parseIPv4Piece):
(WebCore::URLParser::parseIPv4Host):
(WebCore::URLParser::parseIPv4PieceInsideIPv6):
(WebCore::URLParser::parseIPv4AddressInsideIPv6):
(WebCore::URLParser::parseIPv6Host):
(WebCore::URLParser::parseIPv4Number): Deleted.
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:50 PM Changeset in webkit [206841] by
-
- 3 edits in trunk/Source/JavaScriptCore
PCToCodeOriginMap builder should use labelIgnoringWatchpoints() inside the DFG
https://bugs.webkit.org/show_bug.cgi?id=162936
Reviewed by Michael Saboff.
label() may insert nops because of an InvalidationPoint. It does that
because we don't want code that comes after an InvalidationPoint that isn't
effected by the invalidation point to be overwritten if we fire the
InvalidationPoint. PCToCodeOriginMap just grabs labels to build
a mapping, it never emits code that actually jumps to those labels.
Therefore, it should never cause us to emit nops.
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::runSlowPathGenerators):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
- 5:47 PM Changeset in webkit [206840] by
-
- 2 edits in trunk/LayoutTests
[EFL] Mark timeout tests to *Timeout*
Unreviewed EFL gardening.
Timeout has been happened on some tests.
Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-10-05
- platform/efl/TestExpectations:
- 5:40 PM Changeset in webkit [206839] by
-
- 33 edits in trunk
Put variation fonts work behind a compile-time flag
https://bugs.webkit.org/show_bug.cgi?id=162949
Reviewed by Simon Fraser.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests because there is no behavior change.
- Configurations/FeatureDefines.xcconfig:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSFontVariationValue.cpp:
- css/CSSFontVariationValue.h:
- css/CSSPropertyNames.in:
- css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isFontFeatureValue): Deleted.
(WebCore::CSSValue::isFontVariationValue): Deleted.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertFontVariationSettings): Deleted.
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInheritFontFeatureSettings): Deleted.
(WebCore::StyleBuilderCustom::applyInheritFontVariationSettings): Deleted.
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFontVariationSettings): Deleted.
- css/parser/CSSParserMode.h:
- page/Settings.in:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
(WebCore::blendFunc): Deleted.
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::computeHash):
- platform/graphics/FontDescription.cpp:
- platform/graphics/FontDescription.h:
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::setFeatureSettings): Deleted.
(WebCore::FontDescription::setVariationSettings): Deleted.
- platform/graphics/FontTaggedSettings.cpp:
(WebCore::operator<<): Deleted.
- platform/graphics/FontTaggedSettings.h:
(WebCore::FontVariationSettings::isEmpty):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortAndVariationsFontDescriptor):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setFontVariationSettings): Deleted.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::fontVariationSettings): Deleted.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::variationFontsEnabled):
(WebCore::InternalSettings::setVariationFontsEnabled):
- testing/InternalSettings.h:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- 5:35 PM Changeset in webkit [206838] by
-
- 2 edits12 moves41 adds in trunk/LayoutTests
Import v1 custom elements tests from W3C
https://bugs.webkit.org/show_bug.cgi?id=162987
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Import tests in https://github.com/w3c/web-platform-tests/tree/master/custom-elements except v1 tests
as of eae188126a21a593715ba2626cc059144d6f0978.
- web-platform-tests/custom-elements/CustomElementRegistry-expected.txt: Added.
- web-platform-tests/custom-elements/CustomElementRegistry.html: Added.
- web-platform-tests/custom-elements/HTMLElement-constructor-expected.txt: Added.
- web-platform-tests/custom-elements/HTMLElement-constructor.html: Added.
- web-platform-tests/custom-elements/OWNERS: Added.
- web-platform-tests/custom-elements/adopted-callback-expected.txt: Added.
- web-platform-tests/custom-elements/adopted-callback.html: Added.
- web-platform-tests/custom-elements/attribute-changed-callback-expected.txt: Added.
- web-platform-tests/custom-elements/attribute-changed-callback.html: Added.
- web-platform-tests/custom-elements/connected-callbacks-expected.txt: Added.
- web-platform-tests/custom-elements/connected-callbacks.html: Added.
- web-platform-tests/custom-elements/custom-element-registry/define-expected.txt: Added.
- web-platform-tests/custom-elements/custom-element-registry/define.html: Added.
- web-platform-tests/custom-elements/custom-element-registry/w3c-import.log: Added.
- web-platform-tests/custom-elements/disconnected-callbacks-expected.txt: Added.
- web-platform-tests/custom-elements/disconnected-callbacks.html: Added.
- web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt: Added.
- web-platform-tests/custom-elements/htmlconstructor/newtarget.html: Added.
- web-platform-tests/custom-elements/htmlconstructor/w3c-import.log: Added.
- web-platform-tests/custom-elements/reaction-timing-expected.txt: Added.
- web-platform-tests/custom-elements/reaction-timing.html: Added.
- web-platform-tests/custom-elements/reactions/Attr-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/Attr.html: Added.
- web-platform-tests/custom-elements/reactions/ChildNode-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/ChildNode.html: Added.
- web-platform-tests/custom-elements/reactions/DOMTokenList-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/DOMTokenList.html: Added.
- web-platform-tests/custom-elements/reactions/Document-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/Document.html: Added.
- web-platform-tests/custom-elements/reactions/Element-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/Element.html: Added.
- web-platform-tests/custom-elements/reactions/NamedNodeMap-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/NamedNodeMap.html: Added.
- web-platform-tests/custom-elements/reactions/Node-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/Node.html: Added.
- web-platform-tests/custom-elements/reactions/ParentNode-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/ParentNode.html: Added.
- web-platform-tests/custom-elements/reactions/Range-expected.txt: Added.
- web-platform-tests/custom-elements/reactions/Range.html: Added.
- web-platform-tests/custom-elements/reactions/resources/reactions.js: Added.
- web-platform-tests/custom-elements/reactions/resources/w3c-import.log: Added.
- web-platform-tests/custom-elements/reactions/w3c-import.log: Added.
- web-platform-tests/custom-elements/resources/custom-elements-helpers.js: Added.
- web-platform-tests/custom-elements/resources/document-types.js: Added.
- web-platform-tests/custom-elements/resources/empty-html-document.html: Added.
- web-platform-tests/custom-elements/resources/w3c-import.log: Added.
- web-platform-tests/custom-elements/w3c-import.log: Added.
LayoutTests:
Removed custom elements tests that have been upstreamed to and reimported from web-platform-tests.
- fast/custom-elements/CustomElementRegistry-expected.txt: Removed.
- fast/custom-elements/CustomElementRegistry.html: Removed.
- fast/custom-elements/HTMLElement-constructor-expected.txt: Removed.
- fast/custom-elements/HTMLElement-constructor.html: Removed.
- fast/custom-elements/adopted-callback-expected.txt: Removed.
- fast/custom-elements/adopted-callback.html: Removed.
- fast/custom-elements/attribute-changed-callback-expected.txt: Removed.
- fast/custom-elements/attribute-changed-callback.html: Removed.
- fast/custom-elements/connected-callbacks-expected.txt: Removed.
- fast/custom-elements/connected-callbacks.html: Removed.
- fast/custom-elements/disconnected-callbacks-expected.txt: Removed.
- fast/custom-elements/disconnected-callbacks.html: Removed.
- 5:07 PM Changeset in webkit [206837] by
-
- 5 edits in trunk
[INTL] Implement Intl.getCanonicalLocales
https://bugs.webkit.org/show_bug.cgi?id=162768
Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-10-05
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Implement Intl.getCanonicalLocales from ECMA 402 (3rd edition)
http://ecma-international.org/ecma-402/3.0/index.html#sec-intl.getcanonicallocales
Reuse canonicalizeLocaleList and copy the results into a new JSArray.
- runtime/IntlObject.cpp:
(JSC::IntlObject::finishCreation):
(JSC::intlObjectFuncGetCanonicalLocales):
LayoutTests:
- js/intl-expected.txt: Added tests for Intl.getCanonicalLocales
- js/script-tests/intl.js: Added test for Intl.getCanonicalLocales
- 4:47 PM Changeset in webkit [206836] by
-
- 2 edits in trunk/Source/JavaScriptCore
Bad ASSERT in ClonedArguments::createByCopyingFrom()
https://bugs.webkit.org/show_bug.cgi?id=162988
Reviewed by Keith Miller.
Removed bogus assert.
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createByCopyingFrom):
- 4:19 PM Changeset in webkit [206835] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/formatting/formatting-javascript.html as a flaky crash on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=162986
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:12 PM Changeset in webkit [206834] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- UIProcess/Cocoa/WebViewImpl.mm:
- 4:08 PM Changeset in webkit [206833] by
-
- 11 edits in trunk
Avoid automatically re-taking snapshots for back-forward items that were never loaded into the view
https://bugs.webkit.org/show_bug.cgi?id=162955
<rdar://problem/27659173>
Reviewed by Simon Fraser.
Make it possible for clients to control the snapshot for back-forward
items that are restored from session state without navigating to them,
by ensuring that we won't stomp on the snapshot that they explicitly take,
until a load occurs.
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::trackSwipeGesture):
Disambiguate explicit API-driven snapshot recording from automatic,
navigation-driven snapshot recording.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
Get rid of the version of recordNavigationSnapshot() that doesn't take a
back-forward list item, and grab the current item at the one remaining caller.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::recordAutomaticNavigationSnapshot):
(WebKit::WebPageProxy::recordNavigationSnapshot):
(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::didCommitLoadForFrame):
- UIProcess/WebPageProxy.h:
Rename m_suppressNavigationSnapshotting to m_suppressAutomaticNavigationSnapshotting,
and make it be only about automatic (navigation-driven) snapshots; it won't have
any impact on explicit snapshots forced by clients.
Set m_suppressAutomaticNavigationSnapshotting unconditionally when restoring
from session state, so that we won't start automatically snapshotting until
something has loaded in the view.
- TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm:
(-[SnapshotTestWKWebView init]):
(forceRepaintCallback):
(-[SnapshotTestWKWebView synchronouslyForceRepaint]):
(-[SnapshotTestWKWebView synchronouslyLoadTestPageAndForceRepaint:]):
(TEST):
(makeRedSquareView):
Add a test that restoring session state into a web view without navigating,
then explicitly snapshotting and navigating away, leaves the original snapshot alone.
Adjust the existing test, as well, to ensure that it will reliably fail
if the feature is broken. Use an explicitly added and removed red square
instead of scrolling, because we can't scroll in the restore-without-navigating case.
Stop trying to override the window scale, because it's not working (we're getting partial snapshots)
and isn't necessary; instead just multiply the expected value by the page scale.
(-[SnapshotTestWKWebView loadPageNamed:]): Deleted.
- TestWebKitAPI/mac/TestWKWebViewMac.h:
- TestWebKitAPI/mac/TestWKWebViewMac.mm:
(-[TestWKWebView synchronouslyLoadTestPageNamed:]):
Reorganize to reduce duplication.
- 3:30 PM Changeset in webkit [206832] by
-
- 1 copy in tags/Safari-603.1.8
New tag.
- 2:23 PM Changeset in webkit [206831] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r206830
- platform/graphics/win/FontPlatformDataWin.cpp: Add missing include
when building with Direct2D.
- 2:16 PM Changeset in webkit [206830] by
-
- 45 edits2 adds in trunk/Source/WebCore
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D
https://bugs.webkit.org/show_bug.cgi?id=162977
Reviewed by Alex Christensen.
Currently the Direct2D implementation does not support some of the accelerated compositing
features that require CoreAnimation. During this bring-up, we want to disable these routines
so that we can build and run in (mostly) unaccelerated drawing.
This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are
specific to those implementations.
This change should have no impact on non-Direct2D ports.
No change in behavior for active ports.
- config.h: Turn of CG when building in Direct2D.
- css/CSSFontFaceSource.cpp:
- loader/cache/CachedFont.cpp:
- loader/cache/CachedSVGFont.cpp:
- page/CaptionUserPreferencesMediaAF.cpp:
- page/win/FrameCGWin.cpp:
- page/win/FrameDirect2D.cpp: Added.
- platform/graphics/Font.cpp:
- platform/graphics/FontCache.cpp:
- platform/graphics/FontPlatformData.cpp:
- platform/graphics/GraphicsContext.h:
- platform/graphics/Image.cpp:
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
- platform/graphics/ca/GraphicsLayerCA.cpp:
- platform/graphics/ca/PlatformCALayer.cpp:
- platform/graphics/ca/TileController.cpp:
- platform/graphics/ca/TileGrid.cpp:
- platform/graphics/ca/TileGrid.h:
- platform/graphics/ca/win/CACFLayerTreeHost.cpp:
- platform/graphics/ca/win/LayerChangesFlusher.cpp:
- platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
- platform/graphics/ca/win/PlatformCAAnimationWin.h:
- platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
- platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
- platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
- platform/graphics/ca/win/WebTiledBackingLayerWin.cpp:
- platform/graphics/cg/GradientCG.cpp:
- platform/graphics/cg/GraphicsContextCG.cpp:
- platform/graphics/cg/ImageBufferCG.cpp:
- platform/graphics/cg/ImageBufferDataCG.cpp:
- platform/graphics/cg/PDFDocumentImage.cpp:
- platform/graphics/cg/PatternCG.cpp:
- platform/graphics/cg/SubimageCacheWithTimer.cpp:
- platform/graphics/win/FontCGWin.cpp:
- platform/graphics/win/FontPlatformDataCGWin.cpp:
- platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
- platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp:
- platform/graphics/win/GradientDirect2D.cpp:
- platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice
while building without Direct2D active.
- platform/graphics/win/SimpleFontDataCGWin.cpp:
- platform/graphics/win/SimpleFontDataWin.cpp:
- platform/win/DragImageCGWin.cpp:
- platform/win/DragImageDirect2D.cpp: Added.
- rendering/RenderMediaControls.cpp:
- 2:14 PM Changeset in webkit [206829] by
-
- 12 edits2 adds in trunk
Make it possible to test ViewSnapshotStore behaviors
https://bugs.webkit.org/show_bug.cgi?id=162983
Reviewed by Simon Fraser.
Add two pieces of SPI to make it easier to test ViewSnapshotStore:
- [WKWebView _disableBackForwardSnapshotVolatilityForTesting]
This makes it so that we don't make snapshots volatile after we
take them, so that they won't get purged while the test is running
and cause the test to be flaky.
- [WKBackForwardListItem _copySnapshotForTesting]
This returns a CGImage with the content of the given back-forward
item's current snapshot, if there is one.
- UIProcess/API/Cocoa/WKBackForwardListItem.mm:
(-[WKBackForwardListItem _copySnapshotForTesting]):
- UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
- UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Added.
Add WKBackForwardListItem SPI to retrieve the snapshot for a given back-forward list item.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]):
Add WKWebView SPI to disable volatility of snapshots, for testing purposes.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::takeViewSnapshot):
Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::removeSwipeSnapshot):
Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
- UIProcess/mac/ViewSnapshotStore.h:
(WebKit::ViewSnapshotStore::setDisableSnapshotVolatilityForTesting):
(WebKit::ViewSnapshotStore::disableSnapshotVolatilityForTesting):
- UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshot::setVolatile):
(WebKit::ViewSnapshot::asLayerContents):
Move all touching of snapshot volatility into the new setVolatile,
and short-circuit if the testing-only m_disableSnapshotVolatility bit is set
(WebKit::ViewSnapshot::asImageForTesting):
Make a CGImageRef for the aforementioned WKBackForwardListItem SPI.
This is currently not implemented for the iOS Simulator, because we
don't have access to the bits of the image in that case.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm: Added.
(-[SnapshotTestWKWebView init]):
(-[SnapshotTestWKWebView loadPageNamed:]):
(imagesAreEqual):
Add tests for existing basic snapshotting behavior:
- a back-forward item shouldn't have a snapshot until it is navigated away from
- causing a back-forward item to fall out of the back-forward list should remove the snapshot
- calling the explicit snapshotting SPI, then navigating away from the page, should result in the snapshot being retaken
- 2:12 PM Changeset in webkit [206828] by
-
- 23 edits in trunk
KeyboardEvent.getModifierState() should support "CapsLock" modifier
https://bugs.webkit.org/show_bug.cgi?id=162861
Reviewed by Darin Adler.
Source/WebCore:
Add support for "CapsLock" modifier on Mac / iOS for KeyboardEvent's
getModifierState() API, as per:
No new tests, updated existing test.
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::getModifierState):
- dom/KeyboardEvent.h:
- platform/PlatformEvent.h:
- platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::modifiersForEvent):
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::keyIdentifierForKeyEvent):
Source/WebKit2:
Add support for CapsLock modifier on events.
- Shared/API/c/WKEvent.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
- Shared/efl/WebEventFactory.cpp:
(WebKit::toWebEventModifiers):
- Shared/ios/WebIOSEventFactory.mm:
(modifiersForEvent):
- Shared/mac/WebEventFactory.mm:
(WebKit::modifiersForEvent):
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(toNSEventModifierFlags):
- UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
(WebKit::WebAutomationSession::platformSimulateMouseInteraction):
Tools:
Add support for 'capsLockKey' modifier for EventSender.keyDown() so
that we can test this new modifier support for layout tests.
- TestWebKitAPI/mac/PlatformWebViewMac.mm:
(TestWebKitAPI::modifierFlagsForWKModifiers):
- WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::parseModifier):
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::buildModifierFlags):
LayoutTests:
Extend layout test coverage to cover 'Caps Lock' modifier.
- fast/events/special-key-events-in-input-text-expected.txt:
- fast/events/special-key-events-in-input-text.html:
- 1:46 PM Changeset in webkit [206827] by
-
- 3 edits2 adds in trunk/Tools
Add MobileMiniBrowser tests for control center and looping fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=162748
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-10-05
Reviewed by Jer Noble.
Refactor existing MobileMiniBrowserTests and add new tests for
- fullscreen rotation
- fullscreen looping (failing)
- control center interruption (failing)
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- MobileMiniBrowser/MobileMiniBrowserFramework/Resources/looping2s.html: Added.
- MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4: Added.
- MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m:
(-[MobileMiniBrowserUITests setUp]):
(-[MobileMiniBrowserUITests waitToTapButtonNamed:forApp:]):
(-[MobileMiniBrowserUITests loadURL:]):
(-[MobileMiniBrowserUITests requireMinFPS:sampleDurationSeconds:message:]):
(-[MobileMiniBrowserUITests ensureFullscreenControls]):
(-[MobileMiniBrowserUITests timeForTimeString:]):
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):
(-[MobileMiniBrowserUITests testBasicVideoFullscreen]):
(-[MobileMiniBrowserUITests testVideoFullscreenAndRotationAnimation]):
(-[MobileMiniBrowserUITests testVideoFullscreenControlCenter]):
(-[MobileMiniBrowserUITests testLoopingFullscreenLockup]):
- 1:21 PM Changeset in webkit [206826] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Improve OS X UA quirk
https://bugs.webkit.org/show_bug.cgi?id=162613
Reviewed by Carlos Garcia Campos.
Include OS X version number in user agent, like Safari does.
- platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):
- 1:20 PM Changeset in webkit [206825] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Improve comment in platformVersionForUAString
https://bugs.webkit.org/show_bug.cgi?id=162612
Reviewed by Carlos Garcia Campos.
- platform/gtk/UserAgentGtk.cpp:
(WebCore::platformVersionForUAString):
- 12:02 PM Changeset in webkit [206824] by
-
- 5 edits in branches/safari-602.2.14.1-branch/Source
Versioning.
- 12:02 PM Changeset in webkit [206823] by
-
- 5 edits in branches/safari-602.2.14.0-branch/Source
Versioning.
- 12:00 PM Changeset in webkit [206822] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 11:50 AM Changeset in webkit [206821] by
-
- 5 edits2 adds in trunk
Missing quotation mark when <q> gets reparented.
https://bugs.webkit.org/show_bug.cgi?id=162940
Reviewed by Darin Adler.
Source/WebCore:
When an opening RenderQuote gets removed due to some change in the render tree,
we notify the closing RenderQuote so that it can update its content (") accordingly (and vice versa).
However when the same RenderQuote is added back to the render tree (aka reparenting), we fail to
let the other RenderQuote know about it and its content becomes stale.
This patch ensures that when either the opening or closing part of the quotation mark gets reparented,
we inform the other, corresponding opening/closing renderer about it.
Test: fast/css-generated-content/missing-quotes-with-dynamic-content.html
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::didAttachRenderers):
- rendering/RenderQuote.cpp:
(WebCore::RenderQuote::insertedIntoTree):
- rendering/RenderQuote.h:
LayoutTests:
The position of the closing quotation mark is driven by the multicolumn code hence the cover div.
- fast/css-generated-content/missing-quotes-with-dynamic-content-expected.html: Added.
- fast/css-generated-content/missing-quotes-with-dynamic-content.html: Added.
- 11:42 AM Changeset in webkit [206820] by
-
- 5 edits in trunk/Source
Versioning.
- 11:27 AM Changeset in webkit [206819] by
-
- 4 edits in trunk
URLParser should correctly strip unnecessary 0's in IPv6 addresses
https://bugs.webkit.org/show_bug.cgi?id=162979
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parseIPv6Host):
Strip leading 0's and any 0's before the last 0 if the value is 0.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:25 AM Changeset in webkit [206818] by
-
- 4 edits in trunk
UTF-8 encode queries of nonspecial and websocket schemes
https://bugs.webkit.org/show_bug.cgi?id=162956
Reviewed by Geoffrey Garen and Brady Eidson.
Source/WebCore:
The URL spec says in the query state:
'If url is not special or url's scheme is either "ws" or "wss", set encoding to UTF-8.'
This should be determined as soon as we are done parsing the scheme.
Covered by new API tests.
This also fixes tests like fast/loader/javascript-url-encoding-2.html when URLParser is enabled.
- platform/URLParser.cpp:
(WebCore::isValidSchemeCharacter):
Renamed Scheme to ValidScheme so I can use Scheme as the name of an enum class in the same namespace.
(WebCore::isSpecial):
(WebCore::scheme):
Separate functionality so we can have different behavior for different sets of
ws and wss schemes, special, and non-special schemes.
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::parse):
Set isUTF8Encoding to true when we finish parsing the scheme if the scheme is ws, wss, or non-special,
according to spec. This also matches existing behavior. This way we will already know whether to go
into UTF8Query or NonUTF8Query state when we see a '?'.
(WebCore::isSpecialScheme): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:19 AM Changeset in webkit [206817] by
-
- 4 edits in trunk
Prepare to enable URLParser
https://bugs.webkit.org/show_bug.cgi?id=162974
Reviewed by Brady Eidson.
Source/WebCore:
- platform/URL.cpp:
(WebCore::URL::serialize):
When we enable the URLParser, this attempt to make serialized URLs more spec compliant
won't be needed any more.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
Added some tests that are unrelated to the code change, but these are
reflected in changed LayoutTest results when enabling the URLParser,
and they weren't in the URLParser tests yet. They should be.
- 10:21 AM Changeset in webkit [206816] by
-
- 6 edits in trunk/Source/WebKit/win
[Win][Direct2D] Connect WebCore/WebKit Drawing
https://bugs.webkit.org/show_bug.cgi?id=162924
Reviewed by Alex Christensen.
Update the Windows WebKit layer to optionally use the Direct2D
backend.
- FullscreenVideoController.cpp: Disable some CoreAnimation-based
accelerated compositing logic.
- FullscreenVideoController.h:
- WebFrame.cpp:
(WebFrame::spoolPages): Disable in Direct2D.
- WebView.cpp:
(WebView::ensureBackingStore): Add Direct2D logic.
(WebView::scrollBackingStore): Ditto.
(WebView::sizeChanged): Ditto.
(WebView::paintWithDirect2D): Added.
(WebView::WebViewWndProc): Call Direct2D paint routine.
- WebView.h:
- 10:18 AM Changeset in webkit [206815] by
-
- 4 edits2 adds in trunk/Source/WebCore
[Win][Direct2D] Add initial D2D Path and Gradient implementation
https://bugs.webkit.org/show_bug.cgi?id=162923
Reviewed by Alex Christensen.
This patch lands a set of new files that implements initial Path
and Gradient features on Windows using Direct2D.
No new tests until complete backend lands.
- platform/graphics/Gradient.h:
- platform/graphics/Path.cpp:
- platform/graphics/Path.h:
- platform/graphics/win/GradientDirect2D.cpp: Added.
- platform/graphics/win/PathDirect2D.cpp: Added.
- 9:46 AM Changeset in webkit [206814] by
-
- 7 edits in trunk/Source/WebCore
[Readable Streams API] Align function names with spec
https://bugs.webkit.org/show_bug.cgi?id=162967
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-10-05
Reviewed by Darin Adler.
Align function names with spec. Behaviour was already in line with spec, but previous function names had
sometimes been preserved to track the changes more easily. This led to some inconsistencies (for instance,
enqueueInReadableStream was still used even though it works on a controller instead of a stream) and it
also made it more difficult to compare spec and implementation.
No change in behaviour.
- Modules/fetch/FetchInternals.js:
(consumeStream): Updated with new function names.
- Modules/fetch/FetchResponse.js:
(clone): Updated with new function names.
- Modules/streams/ReadableStream.js:
(tee): Updated with new function names.
- Modules/streams/ReadableStreamDefaultController.js:
(enqueue): Updated with new function names.
(error): Updated with new function names.
- Modules/streams/ReadableStreamDefaultReader.js:
(read): Updated with new function names.
- Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamDefaultController): Updated with new function names.
(readableStreamDefaultControllerError): Updated with new function names.
(readableStreamTee): Updated with new function names.
(readableStreamTeePullFunction): Updated with new function names.
(readableStreamTeeBranch2CancelFunction): Updated with new function names.
(readableStreamError): Updated with new function names.
(readableStreamCancel): Updated with new function names.
(readableStreamDefaultControllerPull): Updated with new function names.
(readableStreamDefaultControllerClose): Updated with new function names.
(readableStreamClose): Updated with new function names.
(readableStreamDefaultControllerEnqueue): Updated with new function names.
(readableStreamDefaultReaderRead): Updated with new function names.
- 9:29 AM Changeset in webkit [206813] by
-
- 2 edits2 moves in trunk/LayoutTests
[WK2][NetworkSession] Ping requests should follow redirects if applicable
https://bugs.webkit.org/show_bug.cgi?id=162580
<rdar://problem/28631274>
Rename test anchor-ping-and-do-not-follow-redirect-when-sending-ping.html to anchor-ping-and-follow-redirect-when-sending-ping.html
to reflect what it is actually testing - that we follow a redirect when sending a ping for a <a ping>.
- http/tests/navigation/ping-attribute/anchor-ping-and-follow-redirect-when-sending-ping-expected.txt: Renamed from LayoutTests/http/tests/navigation/ping-attribute/anchor-ping-and-do-not-follow-redirect-when-sending-ping-expected.txt.
- http/tests/navigation/ping-attribute/anchor-ping-and-follow-redirect-when-sending-ping.html: Renamed from LayoutTests/http/tests/navigation/ping-attribute/anchor-ping-and-do-not-follow-redirect-when-sending-ping.html.
- http/tests/navigation/resources/save-ping-and-redirect-to-save-ping.php: Only append the query string
if we have a non-empty query string to avoid appending a superfluous "?" on redirect.
- 9:16 AM WebKitGTK/2.14.x edited by
- (diff)
- 9:09 AM Changeset in webkit [206812] by
-
- 7 edits in trunk/Source/WebCore
[Bindings] Declare dictionary / enumeration template specializations in the header
https://bugs.webkit.org/show_bug.cgi?id=162929
Reviewed by Darin Adler.
Declare dictionary / enumeration template specializations in the header
so that:
- They can be used from custom bindings code.
- Dictionaries / enumerations can be used to their own IDL files to share them (Bug 162912).
No new tests, rebaselined bindings tests.
- WebCore.xcodeproj/project.pbxproj:
- bindings/generic/IDLTypes.h:
- bindings/js/JSDOMConvert.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateInterface):
(GenerateEnumerationImplementationContent):
(GenerateEnumerationHeaderContent):
(GenerateDictionaryHeaderContent):
(GenerateHeader):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(GenerateDefaultValue): Deleted.
(GenerateDictionaryImplementationContent): Deleted.
(GenerateParametersCheck): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- 9:02 AM Changeset in webkit [206811] by
-
- 92 edits in trunk
Rename ENABLE_ENCRYPTED_MEDIA_V2 to ENABLE_LEGACY_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=162903
Reviewed by Alex Christensen.
Rename build guards for the remaining implementation of the legacy EME API
to ENABLE_LEGACY_ENCRYPTED_MEDIA. This will allow for the future implementation
of the near-finished API to be guarded with the simple ENABLE_ENCRYPTED_MEDIA guards.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests -- no change in behavior.
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.cpp:
- DerivedSources.make:
- Modules/encryptedmedia/CDM.cpp:
- Modules/encryptedmedia/CDM.h:
- Modules/encryptedmedia/CDMPrivate.h:
- Modules/encryptedmedia/CDMPrivateClearKey.cpp:
- Modules/encryptedmedia/CDMPrivateClearKey.h:
- Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp:
- Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
- Modules/encryptedmedia/CDMSessionClearKey.cpp:
- Modules/encryptedmedia/CDMSessionClearKey.h:
- Modules/encryptedmedia/MediaKeyMessageEvent.cpp:
- Modules/encryptedmedia/MediaKeyMessageEvent.h:
- Modules/encryptedmedia/MediaKeyMessageEvent.idl:
- Modules/encryptedmedia/MediaKeyNeededEvent.cpp:
- Modules/encryptedmedia/MediaKeyNeededEvent.h:
- Modules/encryptedmedia/MediaKeyNeededEvent.idl:
- Modules/encryptedmedia/MediaKeySession.cpp:
- Modules/encryptedmedia/MediaKeySession.h:
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/encryptedmedia/MediaKeys.cpp:
- Modules/encryptedmedia/MediaKeys.h:
- Modules/encryptedmedia/MediaKeys.idl:
- bindings/js/JSDictionary.cpp:
- bindings/js/JSDictionary.h:
- dom/Element.idl:
- dom/EventNames.in:
- dom/EventTargetFactory.in:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
(WebCore::HTMLMediaElement::webkitAddKey):
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- html/MediaError.h:
- html/MediaError.idl:
- html/MediaKeyError.h:
- html/MediaKeyError.idl:
- page/Settings.h:
- platform/graphics/CDMSession.h:
- platform/graphics/MediaPlayer.cpp:
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem):
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::playerKVOProperties):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
- testing/MockCDM.cpp:
- testing/MockCDM.h:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userInterfaceLayoutDirection):
- WebProcess/WebProcess.cpp:
(WebKit::m_resourceLoadStatisticsStorage):
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Also remove the
ENABLE_IOS_TEXT_AUTOSIZING feature define that was renamed in r206395 and was
throwing up style checker errors.
- 7:26 AM Changeset in webkit [206810] by
-
- 20 edits7 adds in trunk
[WK2][NetworkSession] Ping requests should follow redirects if applicable
https://bugs.webkit.org/show_bug.cgi?id=162580
<rdar://problem/28631274>
Reviewed by Alex Christensen.
Source/WebKit2:
Implement support for following redirects, if applicable, of a ping request when using the
Network Session (ENABLE(NETWORK_SESSION)) code path in WebKit2. For ping requests that are
in response to hyperlink auditing (e.g. <a ping>) we should follow redirect responses.
For Content Security Policy and XSS Auditor violation reports we should not follow redirect
responses.
Currently we always ignore redirects for ping requests that are sent using the Network Session
code path in WebKit2. This behavior disagrees with the behavior described in section
"Hyperlink auditing" of the HTML standard, <https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing> (27 September 2016),
as well as the behavior in Legacy WebKit and WebKit2 with Network Session disabled. We should
follow redirects for ping requests initiated as part of hyperlink auditing to more closely
conform to the HTML standard and match the behavior in Legacy WebKit and WebKit2 with Network
Session disabled.
- NetworkProcess/PingLoad.h:
LayoutTests:
Add tests to ensure that we follow redirects for ping requests that are initiated as part
of hyperlink auditing.
Modified http/tests/navigation/resources/save-Ping.php to include the host and request URI
information in the saved report and updated expected results for existing tests as a result
of this change.
- http/tests/contentextensions/block-cookies-in-csp-report-expected.txt:
- http/tests/contentextensions/block-cookies-in-image-load-in-onunload-expected.txt:
- http/tests/contentextensions/block-cookies-in-ping-expected.txt:
- http/tests/contentextensions/hide-on-csp-report-expected.txt:
- http/tests/contentextensions/hide-on-ping-expected.txt:
- http/tests/contentextensions/hide-on-ping-with-ping-that-redirects-expected.txt: Added.
- http/tests/contentextensions/hide-on-ping-with-ping-that-redirects.html: Added.
- http/tests/contentextensions/hide-on-ping-with-ping-that-redirects.html.json: Added.
- http/tests/contentextensions/resources/save-ping-and-redirect-to-save-ping.php: Added.
- http/tests/contentextensions/resources/save-ping.php:
- http/tests/navigation/image-load-in-pagehide-handler-expected.txt:
- http/tests/navigation/image-load-in-unload-handler-expected.txt:
- http/tests/navigation/ping-attribute/anchor-cookie-expected.txt:
- http/tests/navigation/ping-attribute/anchor-cross-origin-expected.txt:
- http/tests/navigation/ping-attribute/anchor-cross-origin-from-https-expected.txt:
- http/tests/navigation/ping-attribute/anchor-ping-and-do-not-follow-redirect-when-sending-ping-expected.txt: Added.
- http/tests/navigation/ping-attribute/anchor-ping-and-do-not-follow-redirect-when-sending-ping.html: Added.
- http/tests/navigation/ping-attribute/anchor-same-origin-expected.txt:
- http/tests/navigation/ping-attribute/area-cookie-expected.txt:
- http/tests/navigation/ping-attribute/area-cross-origin-expected.txt:
- http/tests/navigation/ping-attribute/area-cross-origin-from-https-expected.txt:
- http/tests/navigation/ping-attribute/area-same-origin-expected.txt:
- http/tests/navigation/resources/save-Ping.php:
- http/tests/navigation/resources/save-ping-and-redirect-to-save-ping.php: Added.
- 7:22 AM Changeset in webkit [206809] by
-
- 59 edits7 adds in trunk
Do not follow redirects when sending violation report
https://bugs.webkit.org/show_bug.cgi?id=162520
<rdar://problem/27957639>
Reviewed by Alex Christensen.
Source/WebCore:
Do not follow redirects when sending a Content Security Policy or XSS Auditor violation report
as redirects can be used to forward report details to a third-party.
This changes makes WebKit more closely conform to the reporting requirements in section Reporting
of the Content Security Level 2 standard: <https://w3c.github.io/webappsec-csp/2/#violation-reports>
(Editor's Draft, 25 April 2016).
Tests: http/tests/security/contentSecurityPolicy/report-blocked-uri-and-do-not-follow-redirect-when-sending-report.php
http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html
http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html
- loader/LoaderStrategy.h: Modified createPingHandle() to take a boolean, shouldFollowRedirects,
whether to follow redirect responses for a ping request.
- loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage): Pass ShouldFollowRedirects::Yes to PingLoader::startPingLoad to
keep our current behavior.
(WebCore::PingLoader::sendPing): Ditto. Note our current behavior of following redirects matches
the behavior described in the section "Hyperlink auditing" of the HTML standard:
<https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing> (23 September 2016).
(WebCore::PingLoader::sendViolationReport): Pass ShouldFollowRedirects::No to PingLoader::startPingLoad
so that we do not follow redirects when sending a violation report.
(WebCore::PingLoader::startPingLoad): Modified to take argument shouldFollowRedirects whether to
follow redirect responses for a ping request.
- loader/PingLoader.h:
- platform/network/PingHandle.h: Add boolean m_shouldFollowRedirects. I grouped this boolean with
the existing boolean, m_shouldUseCredentialStorage, as opposed to appending to the end of the class
definition to avoid increasing object size as clang will coalesces the two bools into a single
machine word. Override ResourceHandleClient::willSendRequest() and ResourceHandleClient::willSendRequestAsync()
to follow a redirect, if applicable.
Source/WebKit:
Update implementation of legacy WebKit loader strategy to pass through a boolean,
shouldFollowRedirects, to PingHandle as to whether to follow redirect responses
for a ping request.
- WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::createPingHandle):
- WebCoreSupport/WebResourceLoadScheduler.h:
Source/WebKit2:
Update the non-Network Session WebKit2 implementation to follow redirect responses for a ping
request, if applicable. I did not update the Network Session implementation at this time. I
will fix it in <https://bugs.webkit.org/show_bug.cgi?id=162580>.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::loadPing): Tell PingHandle whether to follow redirects.
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode): Encode NetworkResourceLoadParameters::shouldFollowRedirects.
(WebKit::NetworkResourceLoadParameters::decode): Decode NetworkResourceLoadParameters::shouldFollowRedirects.
- NetworkProcess/PingLoad.h: Added FIXME comment to implement support for following redirects,
if applicable (for hyperlink auditing). See <https://bugs.webkit.org/show_bug.cgi?id=162580>
for more details.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::createPingHandle): Modified to take a boolean whether to follow
redirects responses and set NetworkResourceLoadParameters::shouldFollowRedirects as appropriate.
- WebProcess/Network/WebLoaderStrategy.h:
LayoutTests:
Add tests for Content Security Policy and XSS Auditor to ensure that we do not follow redirects
when sending a violation report. Modified http/tests/security/contentSecurityPolicy/resources/save-report.php
to save the URL of the original ping request and conditionally clear cookies. Modified
http/tests/security/xssAuditor/resources/echo-intertag.pl to support testing for the XSS Auditor.
These changes together with the existing HTTP Host information that is saved with the report we can detect
if a redirect occurred when saving a report.
Updated expected results of existing tests now that we emit the URL of the ping request in the saved report.
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-uri-and-do-not-follow-redirect-when-sending-report-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/report-blocked-uri-and-do-not-follow-redirect-when-sending-report.php: Added.
- http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
- http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt:
- http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
- http/tests/security/contentSecurityPolicy/resources/save-report-and-redirect-to-save-report.php: Added.
- http/tests/security/contentSecurityPolicy/resources/save-report.php:
- http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report-expected.txt: Added.
- http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: Added.
- http/tests/security/xssAuditor/report-script-tag-expected.txt:
- http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report-expected.txt: Added.
- http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: Added.
- http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
- http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt:
- http/tests/security/xssAuditor/resources/echo-intertag.pl:
- 3:51 AM Changeset in webkit [206808] by
-
- 2 edits in trunk/Source/JavaScriptCore
ARM EABI buildfix after r206778
https://bugs.webkit.org/show_bug.cgi?id=162964
Unreviewed trivial fix.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- 2:43 AM Changeset in webkit [206807] by
-
- 7 edits in trunk/Source
[SOUP] Move global TLS errors handling from ResourceHandle to SoupNetworkSession
https://bugs.webkit.org/show_bug.cgi?id=162910
Reviewed by Alex Christensen.
Source/WebCore:
So that it will be shared with network session code. Also remove setHostAllowsAnyHTTPSCertificate() that we have
never actually used.
- platform/network/ResourceHandle.h:
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::tlsErrorsChangedCallback): Use SoupNetworkSession::checkTLSErrors().
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::HostTLSCertificateSet::add):
(WebCore::HostTLSCertificateSet::contains):
(WebCore::HostTLSCertificateSet::computeCertificateHash):
(WebCore::clientCertificates):
(WebCore::SoupNetworkSession::setShouldIgnoreTLSErrors):
(WebCore::SoupNetworkSession::checkTLSErrors):
(WebCore::SoupNetworkSession::allowSpecificHTTPSCertificateForHost):
- platform/network/soup/SoupNetworkSession.h:
Source/WebKit2:
Use SoupNetworkSession instead of ResourceHandle.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::setIgnoreTLSErrors):
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
- 2:23 AM Changeset in webkit [206806] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build with USE_REDIRECTED_XCOMPOSITE_WINDOW disabled.
- UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing):
- 12:08 AM Changeset in webkit [206805] by
-
- 6 edits in trunk/Source/WebCore
[SOUP] Move request HTTP body handling to ResourceRequestSoup and simplify it
https://bugs.webkit.org/show_bug.cgi?id=162891
Reviewed by Michael Catanzaro.
We are currently adding the HTTP body to the message in ResourceHandleSoup, but we could do it as part of the
ResourceRequest::updateSoupMessage() method, since the HTTP body is indeed part of the request. The code can be
also simplified, especially the handling of files, by using SharedBuffer that already mmaps the file when
possible, instead of using GMappedFile API.
- platform/SharedBuffer.h: Add createSoupBuffer() method.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::milisecondsSinceRequest): Deleted.
(WebCore::ResourceHandle::didStartRequest): Deleted.
(WebCore::startingCallback): Deleted.
(WebCore::networkEventCallback): Deleted.
(WebCore::ResourceHandle::start): Deleted.
(WebCore::ResourceHandle::releaseForDownload): Deleted.
(WebCore::ResourceHandle::timeoutFired): Deleted.
- platform/network/soup/ResourceRequest.h:
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody): Helper method to append the blob to the request message body.
(WebCore::ResourceRequest::updateSoupMessageBody): Add HTTPBody to the request message body.
(WebCore::ResourceRequest::updateSoupMessage): Call updateSoupMessageBody() to also update the body.
- platform/soup/SharedBufferSoup.cpp:
(WebCore::SharedBuffer::createSoupBuffer): Returns a new SoupBuffer for the SharedBuffer.
Oct 4, 2016:
- 11:16 PM Changeset in webkit [206804] by
-
- 27 edits2 adds in trunk
String.prototype.toLowerCase should be a DFG/FTL intrinsic
https://bugs.webkit.org/show_bug.cgi?id=162887
Reviewed by Filip Pizlo and Yusuke Suzuki.
JSTests:
- microbenchmarks/to-lower-case.js: Added.
(assert):
(foo):
(bar):
- stress/to-lower-case.js: Added.
(assert):
(foo):
Source/JavaScriptCore:
This patch makes ToLowerCase an intrinsic in the DFG/FTL. On the fast
path, the intrinsic will loop over an 8-bit string ensuring it's already
lower case, and simply return the string. In the slow path, it'll call
into C code to make a new string.
This is a 7-8% speedup on ES6SampleBench/Basic.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileToLowerCase):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase):
- jit/JITOperations.h:
- runtime/Intrinsic.h:
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
Source/WTF:
This patch exposes a new StringImpl function called convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit
which extracts slow path for the 8-bit part of convertToLowercaseWithoutLocale
into a helper function. I decided to extract this into its own function because
it may be the case that JSCs JITs will want to continue the operation
after it has already ensured that part of an 8-bit string is lower case.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::convertToLowercaseWithoutLocale):
(WTF::StringImpl::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit):
- wtf/text/StringImpl.h:
- wtf/text/WTFString.cpp:
(WTF::String::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit):
- wtf/text/WTFString.h:
- 8:13 PM Changeset in webkit [206803] by
-
- 29 edits2 copies3 adds in trunk
Implement KeyboardEvent.code from the UI Event spec
https://bugs.webkit.org/show_bug.cgi?id=149584
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt:
Source/WebCore:
Add support for Keyboard.code attribute:
The feature is only enabled on Mac for now as the implementation is
platform-specific and Mac only.
Test: fast/events/keyboardevent-code.html
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::code):
(WebCore::PlatformKeyboardEvent::unmodifiedText): Deleted.
- platform/mac/PlatformEventFactoryMac.h:
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::codeForKeyEvent):
(WebCore::keyIdentifierForKeyEvent):
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue):
(JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue):
Source/WebKit2:
Add support for Keyboard.code attribute:
- Shared/WebEvent.h:
(WebKit::WebKeyboardEvent::code):
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
- Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebKeyboardEvent):
Source/WTF:
Add build time flag to toggle support for the code attribute on
KeyboardEvent and only enable it on Mac for now, given that the
implementation is missing on other platforms.
- wtf/FeatureDefines.h:
LayoutTests:
Extend layout test coverage.
- fast/events/arrow-keys-on-body-expected.txt:
- fast/events/arrow-keys-on-body.html:
- fast/events/constructors/keyboard-event-constructor-expected.txt:
- fast/events/constructors/keyboard-event-constructor.html:
- fast/events/key-events-in-input-button-expected.txt:
- fast/events/key-events-in-input-button.html:
- fast/events/key-events-in-input-text-expected.txt:
- fast/events/key-events-in-input-text.html:
- fast/events/keyboardevent-code-expected.txt: Added.
- fast/events/keyboardevent-code.html: Added.
- fast/events/special-key-events-in-input-text-expected.txt:
- fast/events/special-key-events-in-input-text.html:
- 6:52 PM Changeset in webkit [206802] by
-
- 17 edits in trunk/Source
The dragged image should be the current frame only of the animated image
https://bugs.webkit.org/show_bug.cgi?id=162109
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-10-04
Reviewed by Tim Horton.
Source/WebCore:
Instead of creating an NSImage with all the frames for the dragImage,
create an NSImage with the current frame only.
- dom/DataTransferMac.mm:
(WebCore::DataTransfer::createDragImage): Call snapshotNSImage() to create the dragImage.
- editing/cocoa/HTMLConverter.mm:
(fileWrapperForElement): Call the Image function with its new name.
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::nsImage): Rename getNSImage() to nsImage().
(WebCore::Image::snapshotNSImage): Returns the NSImage of the current frame.
(WebCore::Image::tiffRepresentation): Rename getTIFFRepresentation() to tiffRepresentation().
(WebCore::Image::getNSImage): Deleted.
(WebCore::Image::getTIFFRepresentation): Deleted.
- platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::tiffRepresentation): Rename getTIFFRepresentation() to tiffRepresentation().
(WebCore::BitmapImage::nsImage): Rename getNSImage() to nsImage().
(WebCore::BitmapImage::snapshotNSImage): Returns the NSImage of the current frame.
(WebCore::BitmapImage::getTIFFRepresentation): Deleted.
(WebCore::BitmapImage::getNSImage): Deleted.
- platform/mac/CursorMac.mm:
(WebCore::createCustomCursor): Call snapshotNSImage() since the cursor does not animate anyway.
- platform/mac/DragImageMac.mm:
(WebCore::createDragImageFromImage): Use snapshotNSImage() for the dragImage.
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::write): Call the Image function with its new name.
Source/WebKit/mac:
- DOM/DOM.mm:
(-[DOMElement image]): Call the Image function with its new name.
(-[DOMElement _imageTIFFRepresentation]): Ditto.
- Misc/WebElementDictionary.mm:
(-[WebElementDictionary _image]): Call the Image function with its new name.
- Misc/WebIconDatabase.mm:
(-[WebIconDatabase defaultIconWithSize:]): Call snapshotNSImage() to create the icon image.
(webGetNSImage): Call the Image function with its new name.
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem): Call snapshotNSImage() instead of nsImage()..
(WebContextMenuClient::contextMenuForEvent): Ditto.
- WebView/WebHTMLView.mm:
(-[WebHTMLView pasteboard:provideDataForType:]): Call the Image function with its new name.
Source/WebKit2:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::provideDataForPasteboard): Call the Image function with its new name.
- 6:02 PM Changeset in webkit [206801] by
-
- 4 edits in trunk
[iOS] Crash in WebResourceLoaderQuickLookDelegate when the client cancels the navigation to a QuickLook resource
https://bugs.webkit.org/show_bug.cgi?id=162950
<rdar://problem/23759114>
Reviewed by Brady Eidson.
Source/WebCore:
When we receive data from QLPreviewConverter for the first time, we call
ResourceLoader::didReceiveResponse() with the preview NSURLResponse from QuickLook. If the
client decides to cancel this navigation in decidePolicyForResponse(),
WebResourceLoaderQuickLookDelegate will end up with a null _resourceLoader after
didReceiveResponse() returns. This change adds null checks in the methods that use
_resourceLoader after calling -_sendDidReceiveResponseIfNecessary.
New API test: QuickLook.CancelNavigationAfterResponse
- platform/network/ios/QuickLook.mm:
(-[WebResourceLoaderQuickLookDelegate connection:didReceiveDataArray:]): Changed to only
call ResourceLoader::didReceiveDataArray() if _resourceLoader is non-null.
(-[WebResourceLoaderQuickLookDelegate connection:didReceiveData:lengthReceived:]): Ditto for
ResourceLoader::didReceiveData().
(-[WebResourceLoaderQuickLookDelegate connection:didFailWithError:]): Ditto for
ResourceLoader::didFail().
Tools:
Added a new API test.
- TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm: Sorted imports and removed redundant
initialization of static bools.
(runTest): Factored out the common test logic between QuickLook.NavigationDelegate and
QuickLook.CancelNavigationAfterResponse.
(TEST): Added QuickLook.CancelNavigationAfterResponse.
(-[QuickLookDecidePolicyDelegate
webView:decidePolicyForNavigationResponse:decisionHandler:]): Canceled the navigation.
(-[QuickLookDecidePolicyDelegate webView:didFailProvisionalNavigation:withError:]): Set
isDone to true.
- 5:42 PM Changeset in webkit [206800] by
-
- 2 edits2 adds in trunk/Tools
Add the support for running ES6SampleBench to run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=162890
Reviewed by Saam Barati.
Added the support for running ES6SampleBench as "es6bench".
e.g. ./Tools/Scripts/run-benchmark --platform osx --plan es6bench --browser safari
Instead of the default 10 iterations, run the test 4 iterations using 5 instances of browser
for the total of 20 iterations.
- Scripts/webkitpy/benchmark_runner/data/patches/ES6SampleBench.patch: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/es6bench.plan: Added.
- Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(start): Fixed the bug that the linter will complain about the presence of "debugOutput" by
removing it if it's present.
- 5:40 PM Changeset in webkit [206799] by
-
- 2 edits in trunk/Source/WebKit2
Revert a change erroneously committed in r206795.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 5:23 PM Changeset in webkit [206798] by
-
- 10 edits2 adds in trunk
[iOS WK2] Make it possible for a test to describe a user gesture as a stream of events in JSON format
https://bugs.webkit.org/show_bug.cgi?id=162934
Reviewed by Dean Jackson.
Tools:
With this change, a test can describe a user gesture in an "event stream", which is
some JSON describing an array of events with their underlying touches. The added
test describes a single tap.
The implementation fires up an NSThread, and sleeps the thread between events to dispatch
them at close to real time.
In future, HIDEventGenerator could use this internally for all of the "compound" interactions.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::sendEventStream):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::sendEventStream):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/HIDEventGenerator.h:
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(transducerTypeFromString):
(phaseFromString):
(-[HIDEventGenerator eventMaskFromEventInfo:]):
(-[HIDEventGenerator touchFromEventInfo:]):
(-[HIDEventGenerator _createIOHIDEventWithInfo:]):
(-[HIDEventGenerator dispatchEventWithInfo:]):
(-[HIDEventGenerator eventDispatchThreadEntry:]):
(-[HIDEventGenerator sendEventStream:completionBlock:]):
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::sendEventStream):
LayoutTests:
- fast/events/ios/event-stream-single-tap-expected.txt: Added.
- fast/events/ios/event-stream-single-tap.html: Added.
- 5:15 PM Changeset in webkit [206797] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: don't synchronously send a listing message if we might need to query _WKAutomationDelegate
https://bugs.webkit.org/show_bug.cgi?id=162810
<rdar://problem/28571460>
Reviewed by Timothy Hatcher.
We shouldn't ever access the _WKAutomationDelegate through RemoteInspector::Client methods
off of the main thread, because it could cause problems. This happens when we pushListingsNow()
in response to a WIRApplicationGetListingMessage XPC message. In this case, just use
pushListingsSoon() since it dispatches on the correct (main) queue to gather listing information.
This may induce a slight update delay when first connecting to the UIProcess through RemoteInspector,
but this is at most 200ms and will coalesce with other updates that happen when UIProcess gets set up.
There are no other code paths through RemoteInspector (for UIProcess) that could cause a call
to pushListingsNow(), so this only needs to be changed in the XPC message handler.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedGetListingMessage):
- 5:02 PM Changeset in webkit [206796] by
-
- 9 edits in trunk
Add support for KeyboardEvent.isComposing attribute
https://bugs.webkit.org/show_bug.cgi?id=162921
Reviewed by Darin Adler.
Source/WebCore:
Add support for KeyboardEvent.isComposing attribute:
- https://www.w3.org/TR/uievents/#dom-keyboardevent-iscomposing
- https://www.w3.org/TR/uievents/#ref-for-dom-keyboardevent-iscomposing-3
Manual test: https://jsfiddle.net/ay92sr08/9/
No new tests, extended existing tests.
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
LayoutTests:
Extend layout test coverage to test KeyboardEvent.isComposing.
- editing/mac/input/kotoeri-enter-to-confirm-and-newline-expected.txt:
- editing/mac/input/kotoeri-enter-to-confirm-and-newline.html:
- fast/events/constructors/keyboard-event-constructor-expected.txt:
- fast/events/constructors/keyboard-event-constructor.html:
- 4:42 PM Changeset in webkit [206795] by
-
- 13 edits3 adds in trunk
ShadowRoot interface should have elementFromPoint
https://bugs.webkit.org/show_bug.cgi?id=162882
Reviewed by Chris Dumez.
Source/WebCore:
Add elementFromPoint to ShadowRoot's prototype as specified at:
https://www.w3.org/TR/shadow-dom/#extensions-to-the-documentorshadowroot-mixin
with changes proposed at https://github.com/w3c/csswg-drafts/issues/556
Added TreeScope::retargetToScope which implements
This patch also factors DocumentOrShadowRoot.idl out of Document and ShadowRoot interfaces to better match
the latest DOM specification: https://dom.spec.whatwg.org/#mixin-documentorshadowroot
Test: fast/shadow-dom/Document-prototype-elementFromPoint.html
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::nodeFromPoint): Moved to TreeScope.
(WebCore::Document::elementFromPoint): Moved to TreeScope.
- dom/Document.h:
- dom/Document.idl: Moved elementFromPoint and activeElement to DocumentOrShadowRoot.idl.
- dom/DocumentOrShadowRoot.idl: Added.
- dom/EventPath.cpp:
(WebCore::RelatedNodeRetargeter::checkConsistency): Use newly added TreeScope::retargetToScope.
- dom/ShadowRoot.idl: Moved activeElement to DocumentOrShadowRoot.idl.
- dom/TreeScope.cpp:
(WebCore::TreeScope::retargetToScope): Added. Implements https://dom.spec.whatwg.org/#retarget efficiently.
Instead of checking whether A (node) is a shadow-including inclusive ancestor of B (this scope) at each
parent, find the lowest ancestor which contains both A and B, and return the self-inclusive ancestor of B
in that tree. To find the lowest common ancestor in O(n), traverse all ancestors of A and B separately and
do a top-down traversal. The last tree scope in which A's ancestor and B's ancestor match is the lowest
common ancestor.
(WebCore::TreeScope::nodeFromPoint): Moved from Document.
(WebCore::TreeScope::elementFromPoint): Moved from Document. Use retargetToScope and parentInComposedTree
instead of parentNode and ancestorInThisScope to match the semantics proposed in
https://github.com/w3c/csswg-drafts/issues/556
- dom/TreeScope.h:
LayoutTests:
Add a W3C style testharness.js test for elementFromPoint on ShadowRoot.
- fast/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint-expected.txt: Added.
- fast/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html: Added.
- 4:25 PM Changeset in webkit [206794] by
-
- 7 edits in trunk
WebAssembly: handle a few corner cases
https://bugs.webkit.org/show_bug.cgi?id=162884
Reviewed by Keith Miller.
JSTests:
- stress/wasm/generate-wasmops-header.js:
(const.opcodeIterator): max opcode value
Source/JavaScriptCore:
- wasm/JSWASMModule.cpp: missing include broke cmake build
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::parseBlock): check op is valid
(JSC::WASM::FunctionParser<Context>::parseExpression): switch covers all cases
- wasm/WASMOps.h:
(JSC::WASM::isValidOpType): op is valid
- wasm/WASMParser.h:
(JSC::WASM::Parser::consumeString): avoid str[i] being one-past-the-end
(JSC::WASM::Parser::parseUInt32): shift math around to avoid overflow
- 4:20 PM Changeset in webkit [206793] by
-
- 2 edits in trunk/Tools
Add Megan to contributor's list
https://bugs.webkit.org/show_bug.cgi?id=162944
Patch by Megan Gardner <Megan Gardner> on 2016-10-04
Reviewed by Tim Horton.
Add Megan to the contributor's lists so that her e-mail autocompletes for CC
- Scripts/webkitpy/common/config/contributors.json:
- 4:13 PM Changeset in webkit [206792] by
-
- 2 edits in trunk/Tools
Add tests verifying non-special URL hosts are parsed according to spec
https://bugs.webkit.org/show_bug.cgi?id=162885
Reviewed by Sam Weinig.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 4:10 PM Changeset in webkit [206791] by
-
- 3 edits2 adds in trunk
font-family: cursive should map to KaiTi in Chinese
https://bugs.webkit.org/show_bug.cgi?id=162889
<rdar://problem/28363547>
Reviewed by Tim Horton.
Source/WebCore:
According to Bobby Tung, this is a better mapping. Previously, we were
relying on the system fallback mechanism. However, an explicit mapping
is more robust.
Test: fast/text/cursive-zh.html
- page/cocoa/SettingsCocoa.mm:
(WebCore::Settings::initializeDefaultFontFamilies):
LayoutTests:
- fast/text/cursive-zh-expected.html: Added.
- fast/text/cursive-zh.html: Added.
- 3:51 PM WebKitGTK/Gardening/Calendar edited by
- Remove gardening calendar through October; we'll be experimenting with … (diff)
- 3:51 PM Changeset in webkit [206790] by
-
- 4 edits in trunk/Source/JavaScriptCore
REGRESSION (r206778): Release JSC test ChakraCore.yaml/ChakraCore/test/Error/validate_line_column.js.default failing
https://bugs.webkit.org/show_bug.cgi?id=162937
Reviewed by Saam Barati.
We dropped expression info accidentally at r206777.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCallDefineProperty):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitPutConstantProperty):
(JSC::ClassExprNode::emitBytecode):
- 3:41 PM Changeset in webkit [206789] by
-
- 7 edits in trunk
Properly kill web processes in the launching state
https://bugs.webkit.org/show_bug.cgi?id=162938
Reviewed by Tim Horton.
Source/WebKit2:
- UIProcess/Launcher/ProcessLauncher.h:
Add m_xpcConnection member.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
Store the XPC connection in the m_xpcConnection member variable.
In the reply handler, handle m_xpcConnection being null.
(WebKit::ProcessLauncher::platformInvalidate):
Cancel and kill the connection.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::terminateProcess):
Get rid of an assertion.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::requestTermination):
Handle the launching state.
Tools:
- TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp:
Enable this test again.
- 3:26 PM Changeset in webkit [206788] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/cache/disk-cache/disk-cache-media.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=162946
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:26 PM Changeset in webkit [206787] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/cache/disk-cache/disk-cache-request-max-stale.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=162945
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:11 PM Changeset in webkit [206786] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/cache/disk-cache/resource-becomes-uncacheable.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161649
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:52 PM Changeset in webkit [206785] by
-
- 2 edits in trunk/LayoutTests
Marking transitions/background-position-transitions.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=162881
Unreviewed test gardening.
- 2:22 PM Changeset in webkit [206784] by
-
- 4 edits in trunk
URLParser: query-only URLs relative to file URLs should just add a query
https://bugs.webkit.org/show_bug.cgi?id=162888
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Like bug 206749 but with queries instead of fragments.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:20 PM Changeset in webkit [206783] by
-
- 4 edits in trunk
URLParser should match URL::parse and other browsers when parsing a URL containing only scheme://
https://bugs.webkit.org/show_bug.cgi?id=162909
Reviewed by Tim Horton.
Source/WebCore:
If there's no host in this case we shouldn't fail, but rather make a valid URL with the in the path.
This matches Chrome, Firefox, and Safari's behavior.
Covered by API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:13 PM Changeset in webkit [206782] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::highestUsedItemID):
- 2:08 PM Changeset in webkit [206781] by
-
- 4 edits in trunk/Source/WebKit2
Fix a typo in WebBackForwardListItem (highed->highest)
https://bugs.webkit.org/show_bug.cgi?id=162935
Reviewed by Anders Carlsson.
- Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::highestUsedItemID):
(WebKit::WebBackForwardListItem::highedUsedItemID): Deleted.
- Shared/WebBackForwardListItem.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- 12:37 PM Changeset in webkit [206780] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r206773.
Exclude Direct2D definitions when building for normal CG Windows.
- platform/graphics/GraphicsContext.h:
- 12:34 PM Changeset in webkit [206779] by
-
- 23 edits5 adds in trunk
[DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information
https://bugs.webkit.org/show_bug.cgi?id=162916
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
In this patch, we introduce DOMJIT::GetterSetter.
This class maintains information required to emit JIT code in DFG and FTL.
DOMJIT::GetterSetter has 2 virtual functions: checkDOM and callDOM.
These functions can return a DOMJIT::Patchpoint that allows us to inject
appropriate machine code during DFG and FTL phases. DFG and FTL will invoke
these functions to get a patchpoint. And this patchpoint will be used to
emit code corresponding to CheckDOM and CallDOM DFG nodes, which will be added
in subsqeunt patch.
We propagate DOMJIT::GetterSetter through PropertySlot, AccessCase, GetByIdVariant,
and GetByIdStatus along with CustomGetter to teach DFG that this custom access
code has a chance to be inlined with this DOMJIT::GetterSetter information.
Instead of propagating CustomGetterSetter holding DOMJIT::GetterSetter and CustomGetter,
we propagate CustomGetter and DOMJIT::GetterSetter. This is because of the current
CustomGetterSetter design that we reify CustomGetterSetters only when we need to reify
all the properties. This design allows us to avoid frequent CustomGetterSetter allocations
and structure transitions.
Currently, domJIT field is always nullptr since there is no DOMJITAttribute user.
When we add this, we will add code handling this DOMJIT::GetterSetter in DFG::ByteCodeParser.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/GetByIdVariant.cpp:
(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::attemptToMerge):
(JSC::GetByIdVariant::dumpInContext):
- bytecode/GetByIdVariant.h:
(JSC::GetByIdVariant::domJIT):
(JSC::GetByIdVariant::intrinsic): Deleted.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::get):
(JSC::AccessCase::clone):
- bytecode/PolymorphicAccess.h:
(JSC::AccessCase::domJIT):
(JSC::AccessCase::RareData::RareData):
- dfg/DFGNode.h:
- domjit/DOMJITGetterSetter.h: Added.
(JSC::DOMJIT::GetterSetter::GetterSetter):
(JSC::DOMJIT::GetterSetter::~GetterSetter):
(JSC::DOMJIT::GetterSetter::getter):
(JSC::DOMJIT::GetterSetter::setter):
(JSC::DOMJIT::GetterSetter::thisClassInfo):
- domjit/DOMJITPatchpoint.h: Added.
(JSC::DOMJIT::Patchpoint::create):
(JSC::DOMJIT::Patchpoint::setGenerator):
(JSC::DOMJIT::Patchpoint::generator):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- runtime/CustomGetterSetter.h:
- runtime/JSObject.h:
(JSC::JSObject::fillCustomGetterPropertySlot):
- runtime/Lookup.h:
(JSC::HashTableValue::domJIT):
(JSC::getStaticPropertySlotFromTable):
(JSC::putEntry):
(JSC::reifyStaticProperty):
- runtime/PropertySlot.h:
(JSC::PropertySlot::domJIT):
(JSC::PropertySlot::setCacheableCustom):
Source/WebCore:
- ForwardingHeaders/domjit/DOMJITGetterSetter.h: Added.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
Source/WebKit2:
- CMakeLists.txt:
Tools:
- DumpRenderTree/CMakeLists.txt:
- 12:31 PM Changeset in webkit [206778] by
-
- 40 edits1 add in trunk/Source/JavaScriptCore
[JSC] Add a new byte code op_define_property instead of calling defineProperty
https://bugs.webkit.org/show_bug.cgi?id=162108
Reviewed by Saam Barati.
To construct ES6 class, we emitted bytecode that performs the following operations.
- construct a new object
- put "configurable", "enumerable" etc. fields
- call "defineProperty" function
However, this approach has problems. Every time we define a class method, we need to create
a new object to represent property descriptor. This can be removed if we can introduce
a special bytecode or special function.
This patch introduces new bytecodes, op_define_data_property and op_define_accessor_property.
Instead of taking an object, they takes several registers to avoid object allocations.
We're planning to use this bytecode to implement Object.defineProperty in builtin JS next.
This allows us to leverage object allocation sinking. And it also gives us a chance to use
faster ::get and ::hasProperty in JS.
Originally, I attempted to create one bytecode, op_define_property. However, it takes too many
children in DFG and uses so many registers in DFG. This leads tricky program in 32bit platforms.
Furthermore, it does not fit to the number of x64 argument registers. So instead, we introduce
two bytecodes.
And for op_define_accessor_property, we perform CellUse edge filter to getter and setter children.
This edge filter makes us possible to use SpeculateCellOperand and reduce the number of used registers
in comparison with JSValueOperand. To make children Cells even if we do not specify some accessors (for
example, { get: func, set: null } case), we fill registers with special throwTypeErrorFunction.
The attributes bitset keep information like "This property descriptor only has getter slot".
In these two bytecodes, we take attributes (configurable, enumerable, writable, hasGetter etc.) as
register instead of embedding constant int value because we will use these bytecodes to implement
Object.defineProperty next. In Object.defineProperty case, an attributes are not statically defined
at bytecode compiling time.
Run ES6SampleBench/Air 20 times. The result shows ~2% performance improvement.
Baseline:
firstIteration: 84.05 ms +- 4.37 ms
averageWorstCase: 40.54 ms +- 2.81 ms
steadyState: 3317.49 ms +- 48.25 ms
summary: 223.51 ms +- 5.07 ms
Patched:
firstIteration: 84.46 ms +- 4.22 ms
averageWorstCase: 41.48 ms +- 2.33 ms
steadyState: 3253.48 ms +- 29.31 ms
summary: 224.40 ms +- 4.72 ms
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/SpecialPointer.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitMoveLinkTimeConstant):
(JSC::BytecodeGenerator::emitCallDefineProperty):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitPutConstantProperty):
(JSC::BitwiseNotNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::ObjectPatternNode::bindValue):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDefineDataProperty):
(JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- 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):
(JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty):
(JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): Deleted.
- jit/CCallHelpers.cpp:
(JSC::CCallHelpers::setupFourStubArgsGPR): Deleted.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupFourStubArgsGPR):
(JSC::CCallHelpers::setupFiveStubArgsGPR):
(JSC::CCallHelpers::setupArgumentsWithExecState):
(JSC::CCallHelpers::setupStubArgsGPR):
(JSC::CCallHelpers::prepareForTailCallSlow): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_define_data_property):
(JSC::JIT::emit_op_define_accessor_property):
- llint/LowLevelInterpreter.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
- runtime/DefinePropertyAttributes.h: Added.
(JSC::DefinePropertyAttributes::DefinePropertyAttributes):
(JSC::DefinePropertyAttributes::rawRepresentation):
(JSC::DefinePropertyAttributes::hasValue):
(JSC::DefinePropertyAttributes::setValue):
(JSC::DefinePropertyAttributes::hasGet):
(JSC::DefinePropertyAttributes::setGet):
(JSC::DefinePropertyAttributes::hasSet):
(JSC::DefinePropertyAttributes::setSet):
(JSC::DefinePropertyAttributes::writable):
(JSC::DefinePropertyAttributes::configurable):
(JSC::DefinePropertyAttributes::enumerable):
(JSC::DefinePropertyAttributes::setWritable):
(JSC::DefinePropertyAttributes::setConfigurable):
(JSC::DefinePropertyAttributes::setEnumerable):
(JSC::DefinePropertyAttributes::fillWithTriState):
(JSC::DefinePropertyAttributes::extractTriState):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::throwTypeErrorFunction):
(JSC::JSGlobalObject::definePropertyFunction): Deleted.
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::addDefineProperty): Deleted.
- runtime/ObjectConstructor.h:
- runtime/PropertyDescriptor.h:
(JSC::toPropertyDescriptor):
- 12:00 PM Changeset in webkit [206777] by
-
- 17 edits in trunk
Return null when window.open() is popup blocked
https://bugs.webkit.org/show_bug.cgi?id=162897
Reviewed by Michael Catanzaro.
Source/WebCore:
The return value of window.open() when the popup is blocked should be null:
Firefox / Edge return null.
No new tests, rebaselined existing tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::open):
LayoutTests:
Rebaseline existing tests to reflect behavior change.
- fast/events/popup-blocked-from-fake-button-click-expected.txt:
- fast/events/popup-blocked-from-fake-button-click.html:
- fast/events/popup-blocked-from-fake-focus-expected.txt:
- fast/events/popup-blocked-from-fake-focus.html:
- fast/events/popup-blocked-from-fake-user-gesture-expected.txt:
- fast/events/popup-blocked-from-fake-user-gesture.html:
- fast/events/popup-blocked-from-untrusted-click-event-on-anchor-expected.txt:
- fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html:
- fast/events/popup-blocking-timers3-expected.txt:
- fast/events/popup-blocking-timers3.html:
- fast/events/popup-blocking-timers4-expected.txt:
- fast/events/popup-blocking-timers4.html:
- fast/events/popup-blocking-timers6-expected.txt:
- fast/events/popup-blocking-timers6.html:
- 11:51 AM Changeset in webkit [206776] by
-
- 7 edits in trunk/Source/WebCore
[Web IDL] Add support for dictionary inheritance
https://bugs.webkit.org/show_bug.cgi?id=162907
Reviewed by Sam Weinig.
Add support for dictionary inheritance to our Web IDL parser and
bindings generator. Leverage this new support for EventTarget's
EventListenerOptions / AddEventListenerOptions dictionaries, in
order to match the DOM specification:
Also update the bindings generator to convert the dictionary
members in lexicographical order, as per:
No new tests, rebaselined bindings tests.
- bindings/scripts/CodeGenerator.pm:
(GetDictionaryByName):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/IDLParser.pm:
(parseDictionary):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(WebCore::convertDictionary<TestObj::ParentDictionary>):
(WebCore::convertDictionary<TestObj::ChildDictionary>):
- bindings/scripts/test/TestObj.idl:
- dom/EventTarget.idl:
- 11:45 AM Changeset in webkit [206775] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/cache/disk-cache/disk-cache-204-status-code.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=162685
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:41 AM Changeset in webkit [206774] by
-
- 2 edits in trunk/LayoutTests
Land TestExpectations for rdar://problem/28586837.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:31 AM Changeset in webkit [206773] by
-
- 9 edits2 adds in trunk/Source/WebCore
[Win][Direct2D] Add initial D2D GraphicsContext implementation
https://bugs.webkit.org/show_bug.cgi?id=162917
Reviewed by Dean Jackson.
This patch lands a set of new files that implement the GraphicsContext
features on Windows using Direct2D.
No new tests until complete backend lands.
- platform/graphics/Color.h: Add new casting operator.
- platform/graphics/FloatSize.h: Ditto.
- platform/graphics/GraphicsContext.cpp: Update for Direct2D
implementation.
- platform/graphics/GraphicsContext.h:
- platform/graphics/win/ColorDirect2D.cpp:
(WebCore::Color::operator D2D1_VECTOR_4F): Added.
- platform/graphics/win/GraphicsContextCGWin.cpp: Add compiler
guard to avoid building when using Direct2D.
- platform/graphics/win/GraphicsContextDirect2D.cpp: Added.
- platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: Added.
- platform/graphics/win/GraphicsContextWin.cpp: Update for Direct2D
includes.
- platform/graphics/win/TransformationMatrixDirect2D.cpp: Fix comment.
- 9:53 AM Changeset in webkit [206772] by
-
- 5 edits in trunk/Source
[SOUP] Remove SSLPolicyFlags from SoupNetworkSession
https://bugs.webkit.org/show_bug.cgi?id=162906
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-10-04
Reviewed by Michael Catanzaro.
Source/WebCore:
All soup based ports are setting SSLUseSystemCAFile flag unconditionally, so we can just use that when creating
the session like we do for all other construct parameters.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::createTestingSession):
(WebCore::SoupNetworkSession::setupLogger):
(WebCore::SoupNetworkSession::SoupNetworkSession): Deleted.
(WebCore::SoupNetworkSession::clearOldSoupCache): Deleted.
(WebCore::SoupNetworkSession::setHTTPProxy): Deleted.
- platform/network/soup/SoupNetworkSession.h:
(WebCore::SoupNetworkSession::soupSession): Deleted.
Source/WebKit2:
- NetworkProcess/soup/NetworkProcessMainSoup.cpp:
(WebKit::NetworkProcessMainUnix):
- 8:35 AM Changeset in webkit [206771] by
-
- 17 edits in trunk
Media controls are displayed in the incorrect state momentarily after switching between tabs playing media
https://bugs.webkit.org/show_bug.cgi?id=162766
<rdar://problem/28533523>
Reviewed by Jer Noble.
Source/WebCore:
When showing Now Playing controls for a media session, we should first set up the Now Playing info and
playback state before telling MediaRemote to make the session visible. This is WebKit work in ensuring that
when switching Now Playing sessions by switching tabs, we do not first display an invalid Now Playing state
before updating to the expected state.
Adds 2 new WebKit API tests in NowPlayingControlsTests: NowPlayingControlsHideAfterShowingClearsInfo and
NowPlayingControlsClearInfoAfterSessionIsNoLongerValid.
- platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingTitle):
(WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingDuration):
(WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingElapsedTime):
(WebCore::PlatformMediaSessionManager::hasActiveNowPlayingSession): Deleted.
- platform/audio/mac/MediaSessionManagerMac.h:
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::updateNowPlayingInfo):
Source/WebKit2:
Plumbs some more Now Playing information from the web process to the UI process for testing purposes. See
WebCore ChangeLog for more details.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]):
(-[WKWebView _handleActiveNowPlayingSessionInfoResponse:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleActiveNowPlayingSessionInfoResponse):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::handleActiveNowPlayingSessionInfoResponse):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::requestActiveNowPlayingSessionInfo):
Tools:
Adds new tests and tweaks existing tests to verify last updated Now Playing information.
- TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm:
(-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]):
(TestWebKitAPI::TEST):
(-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-test-now-playing.html:
- 8:17 AM Changeset in webkit [206770] by
-
- 5 edits3 adds in trunk
[Fetch API] ReadableStream should be errored with TypeError values
https://bugs.webkit.org/show_bug.cgi?id=162895
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-04
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/error-after-response-expected.txt: Added.
- web-platform-tests/fetch/api/basic/error-after-response.html: Added.
- web-platform-tests/fetch/api/resources/bad-chunk-encoding.py: Added.
(main):
- web-platform-tests/fetch/api/response/response-consume-stream-expected.txt:
Source/WebCore:
Test: imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.html
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didFail): Removing FIXME.
- bindings/js/ReadableStreamDefaultController.h:
(WebCore::ReadableStreamDefaultController::error<String>): Erroring with TypeError values.
- 8:15 AM Changeset in webkit [206769] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1] LayoutTest http/tests/security/cached-cross-origin-preloading-css-stylesheet.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=162791
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-04
Reviewed by Alex Christensen.
Flackiness was due to one preload sometimes arriving after the test was finished.
This causes the issue of not having the preload actually being checked against CORS and the console error was not displayed.
Making the test wait 1 second after all loads finish to ensure the preload will also finishes.
Cleaning the test and improving it by:
- making each load to take 1 second (so that preload is not finished when actual load happens
- adding some comments explaining each subtest
- printing DONE at the end of all loads.
- http/tests/security/cached-cross-origin-preloading-css-stylesheet-expected.txt:
- http/tests/security/cached-cross-origin-preloading-css-stylesheet.html:
- platform/mac-wk1/TestExpectations: Removed flaky expectation.
- 6:49 AM Changeset in webkit [206768] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK+ build fix.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient): Guard the call to getDefaultWebCryptoMasterKey()
with ENABLE(SUBTLE_CRYPTO), since the same guard is used for the definition. Fixes
GTK+ production builds where the feature is disabled.
- 2:19 AM Changeset in webkit [206767] by
-
- 2 edits in trunk/Source/JavaScriptCore
Follow up fix to GetMapBucket and MapHash speculating on child node types.
To fix this, on 32-bit platforms, we do not speculate on the child
type since we just call into C code for these nodes.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
Oct 3, 2016:
- 11:28 PM Changeset in webkit [206766] by
-
- 5 edits in trunk/Source/WebCore
Bindings do not throw a TypeError if a required dictionary member is missing
https://bugs.webkit.org/show_bug.cgi?id=162734
Reviewed by Geoffrey Garen.
Bindings should throw a TypeError if a required dictionary member is missing.
For example, if there is a "required long id" member in a dictionary that is
missing, our bindings would prevously pass 0 to the implementation instead
of throwing a TypeError.
Relevant specification:
I aligned our bindings generator implementation with the specification,
except for the support for dictionary inheritance that is still missing
and will be addressed in a follow-up patch.
No new tests, I rebaselined the bindings tests and this is already covered
by fast/events/touch/touch-constructor.html on iOS.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define):
- bindings/js/JSDOMConvert.h:
(WebCore::convert): Deleted.
(WebCore::Converter<bool>::convert): Deleted.
(WebCore::Converter<String>::convert): Deleted.
(WebCore::Converter<IDLDOMString>::convert): Deleted.
(WebCore::Converter<IDLUSVString>::convert): Deleted.
(WebCore::Converter<JSC::JSValue>::convert): Deleted.
(WebCore::Converter<int8_t>::convert): Deleted.
(WebCore::Converter<uint8_t>::convert): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
- 8:33 PM Changeset in webkit [206765] by
-
- 2 edits in trunk/Source/WebCore
[ListItems] Render tree should be all clean by the end of FrameView::layout().
https://bugs.webkit.org/show_bug.cgi?id=162832
Reviewed by Simon Fraser.
List item markers are inserted into the tree during layout, right before laying out
the list item (that's a big FIXME). At this point we already know what part of the tree
needs to be laid out. Inserting a list item marker does not expand this dirty area.
However whenever we insert a new renderer into the tree, we call setNeedsLayout on the contining block chain.
In certain cases (floating renderers), it could potentially trigger some unintentional markings
and we return from FrameView::layout() with a dirty subtree.
This patch preemptively marks the list item and its marker dirty so that
when the marker is getting inserted into the tree, we stop the marking at the parent.
Not testable.
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
- 5:36 PM Changeset in webkit [206764] by
-
- 1 copy in tags/Safari-602.3.1
New tag.
- 5:35 PM Changeset in webkit [206763] by
-
- 4 edits in trunk/Source/JavaScriptCore
GetMapBucket node should speculate on the type of its 'key' child
https://bugs.webkit.org/show_bug.cgi?id=161638
Reviewed by Filip Pizlo.
This eliminates type-check branches when we've already
proven the type of the incoming key. Also, it reduces
the branches we emit when type checking the bucket's key.
This is a 2-3% speedup on ES6SampleBench/Basic.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
- 5:32 PM Changeset in webkit [206762] by
-
- 6 edits in trunk/Source/WebKit2
More logging to diagnose "WebKit encountered an internal error" messages
https://bugs.webkit.org/show_bug.cgi?id=162754
Reviewed by Antti Koivisto.
Add more logging around calls to internalError, as well as some
low-level logging around SharedMemory, and mach_vm_map in particular.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- Platform/Logging.h:
- Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::allocate):
(WebKit::makeMemoryEntry):
(WebKit::SharedMemory::map):
(WebKit::SharedMemory::~SharedMemory):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource):
- 5:06 PM Changeset in webkit [206761] by
-
- 8 edits10 adds in trunk
Implement rendering of font-variation-settings
https://bugs.webkit.org/show_bug.cgi?id=162782
Reviewed by Zalan Bujtas.
Source/WebCore:
(Re-landing after fixing tests.)
Because the heavy lifting for font-variation-settings is done by CoreText,
this patch is fairly minimal. It simply hooks up the CSS property to CoreText.
There is an existing bug in CoreText where variations inside fonts do not
survive the addition of a cascade list. Therefore, FontPlatformData::ctFont()
needs to work around this (conditionally) by resupplying the variation at
the same time as the cascade list. The CoreText bug is <rdar://problem/28449441>.
Tests: fast/text/variations/duplicate.html
fast/text/variations/exist.html
fast/text/variations/inheritance.html
fast/text/variations/order.html
fast/text/variations/outofbounds.html
- platform/graphics/FontCache.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortAttributesDictionary):
(WebCore::cascadeToLastResortAndVariationsFontDescriptor):
(WebCore::FontPlatformData::ctFont):
(WebCore::cascadeToLastResortFontDescriptor): Deleted.
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
LayoutTests:
- fast/text/variations/duplicate-expected.html: Added.
- fast/text/variations/duplicate.html: Added.
- fast/text/variations/exist-expected-mismatch.html: Added.
- fast/text/variations/exist.html: Added.
- fast/text/variations/getComputedStyle.html:
- fast/text/variations/inheritance-expected.html: Added.
- fast/text/variations/inheritance.html: Added.
- fast/text/variations/order-expected.html: Added.
- fast/text/variations/order.html: Added.
- fast/text/variations/outofbounds-expected.html: Added.
- fast/text/variations/outofbounds.html: Added.
- 4:26 PM Changeset in webkit [206760] by
-
- 3 edits in trunk/LayoutTests
Marking svg/custom/animate-initial-pause-unpause.html as flaky on mac and ios-simulator-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=127116
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 4:24 PM Changeset in webkit [206759] by
-
- 4 edits in trunk/Source/JavaScriptCore
Offline asm should not output masm assembly when using a x86_64 asm backend
https://bugs.webkit.org/show_bug.cgi?id=162705
When cross compiling on windows to Clang, masm was being generated simply because
the os was windows. This change adds a command line parameter --assembler=MASM
to set the output assembly to masm.
The functions isGCC and isCompilingToWindows were removed as they are no longer called.
Patch by Christopher Reid <Christopher.Reid@am.sony.com> on 2016-10-03
Reviewed by Mark Lam.
- CMakeLists.txt:
- offlineasm/asm.rb:
- offlineasm/x86.rb:
- 3:55 PM Changeset in webkit [206758] by
-
- 5 edits in trunk
Source/WebCore:
URLParser should strip tabs at all locations
https://bugs.webkit.org/show_bug.cgi?id=162836
Reviewed by Geoffrey Garen.
Covered by adding tabs to each location of each API test
except tests that test the encoding of surrogate pairs,
because inserting a tab between the pairs changes the encoding.
- platform/URLParser.cpp:
(WebCore::URLParser::takesTwoAdvancesUntilEnd):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseIPv4Number):
(WebCore::URLParser::parseIPv4Host):
- platform/URLParser.h:
Tools:
URLParser should ignore tabs at all locations
https://bugs.webkit.org/show_bug.cgi?id=162836
Reviewed by Geoffrey Garen.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
(TestWebKitAPI::TEST_F):
- 3:53 PM Changeset in webkit [206757] by
-
- 6 edits in trunk/Source/WebKit2
Unreviewed, rolling out r206754.
This change broke the El Capitan and Yosemite debug builds.
Reverted changeset:
"More logging to diagnose "WebKit encountered an internal
error" messages"
https://bugs.webkit.org/show_bug.cgi?id=162754
http://trac.webkit.org/changeset/206754
- 3:43 PM Changeset in webkit [206756] by
-
- 4 edits3 adds in trunk
Auto-generate WASMOps.h, share with testing JSON file
https://bugs.webkit.org/show_bug.cgi?id=162870
Reviewed by Keith Miller.
JSTests:
- stress/wasm/to-c++.js: Added. Generates WASMOps.h, siilar to the current one but with more data.
(const.opcode_iterator):
(opcode_macroizer):
- stress/wasm/wasm.json: Added. Data from 0xC binary format version.
Source/JavaScriptCore:
Add a few new opcodes, but keep this mostly as-is for now. I want
to generate smarter code but will do so in a later update to
reduce disruption.
- wasm/WASMOps.h: auto-generated from ./JSTests/stress/wasm/to-c++.js
- 3:32 PM Changeset in webkit [206755] by
-
- 2 edits in trunk/LayoutTests
Marking fast/events/tabindex-focus-blur-all.html as a flaky timeout on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=162830
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:18 PM Changeset in webkit [206754] by
-
- 6 edits in trunk/Source/WebKit2
More logging to diagnose "WebKit encountered an internal error" messages
https://bugs.webkit.org/show_bug.cgi?id=162754
Reviewed by Antti Koivisto.
Add more logging around calls to internalError, as well as some
low-level logging around SharedMemory, and mach_vm_map in particular.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- Platform/Logging.h:
- Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::allocate):
(WebKit::makeMemoryEntry):
(WebKit::SharedMemory::map):
(WebKit::SharedMemory::~SharedMemory):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource):
- 2:52 PM Changeset in webkit [206753] by
-
- 16 edits in trunk/Source/WebCore
Remove Document::elementSheet()
https://bugs.webkit.org/show_bug.cgi?id=162876
Reviewed by Andreas Kling.
This is a Document owned stylesheet that exists as a context for parsing element inline style.
It never contains any rules and is generally confusing.
This patch removes the requirement for a stylesheet to be present for CSSParser to operate in
the correct context. Inline style is now parsed without stylesheet and a context object is
passed instead.
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::root):
- bindings/js/JSCSSStyleDeclarationCustom.h:
(WebCore::root): Deleted.
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::cssParserContext):
(WebCore::StyleRuleCSSStyleDeclaration::parentStyleSheet):
(WebCore::StyleRuleCSSStyleDeclaration::cssParserContext):
(WebCore::InlineCSSStyleDeclaration::parentStyleSheet):
(WebCore::InlineCSSStyleDeclaration::cssParserContext):
- css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::didMutate): Deleted.
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setProperty):
(WebCore::MutableStyleProperties::setCustomProperty):
(WebCore::MutableStyleProperties::parseDeclaration):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyValue):
(WebCore::CSSParser::parseInlineStyleDeclaration):
- css/parser/CSSParser.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parseInlineStyleDeclaration):
- dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::updateBaseURL):
(WebCore::Document::usesStyleBasedEditability):
(WebCore::Document::setHasElementUsingStyleBasedEditability):
(WebCore::Document::elementSheet): Deleted.
- dom/Document.h:
- dom/StyledElement.cpp:
(WebCore::StyledElement::setInlineStyleFromString):
(WebCore::StyledElement::invalidateStyleAttribute):
The usesStyleBasedEditability bit used to be set via the elementSheet. Instead check for it after inline style mutations.
(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
- dom/StyledElement.h:
(WebCore::StyledElement::invalidateStyleAttribute): Deleted.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
- svg/SVGAnimateElementBase.cpp:
(WebCore::applyCSSPropertyToTarget):
- 2:51 PM Changeset in webkit [206752] by
-
- 3 edits in trunk/Source/JavaScriptCore
Creating pcToOriginMap in FTL shouldn't insert unnecessary NOPs
https://bugs.webkit.org/show_bug.cgi?id=162879
Reviewed by Filip Pizlo.
If there is a recent watchpoint label, using MacroAssembler::label() will pad
the instruction stream with NOPs to provide space for a jump. This changes
Air::generate() to use labelIgnoringWatchpoints() to create pcToOriginMap
entries to eliminate unneccesary NOPs.
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
- b3/testb3.cpp:
(JSC::B3::testPCOriginMapDoesntInsertNops): New test.
(JSC::B3::run):
- 2:36 PM Changeset in webkit [206751] by
-
- 3 edits3 adds in trunk
Avoid null dereference when changing focus in design mode.
https://bugs.webkit.org/show_bug.cgi?id=162877
<rdar://problem/28061261>
Reviewed by Chris Dumez.
Source/WebCore:
The bare m_frame pointer in DOMWindow can be cleared when setting focus to a new element. Check
that the m_frame pointer is non-null before using it after calling a routine that could
clear the pointer value.
Test: fast/frames/iframe-focus-crash.html
- page/DOMWindow.cpp:
(WebCore::DOMWindow::focus): Check that the pointer is still non-null after setting the
current focused element to nullptr.
LayoutTests:
- fast/frames/iframe-focus-crash-expected.txt: Added.
- fast/frames/iframe-focus-crash.html: Added.
- fast/frames/resources/iframe-focus-crash.html: Added.
- 2:32 PM Changeset in webkit [206750] by
-
- 32 edits2 adds in trunk
Add support for KeyboardEvent.key attribute
https://bugs.webkit.org/show_bug.cgi?id=36267
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline because that the tests are failing differently now that we support
the key attribute on KeyboardEvent but are still missing other standard API
on this interface.
- web-platform-tests/dom/events/Event-init-while-dispatching-expected.txt:
- web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt:
Source/WebCore:
Add support for KeyboardEvent.key attribute:
This is behind a compile time flag that is only enabled on Mac and
iOS and the implementation is still missing for other platforms.
Test: fast/events/keyboardevent-key.html
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::key):
- platform/cocoa/KeyEventCocoa.h:
- platform/cocoa/KeyEventCocoa.mm:
(WebCore::keyForCharCode):
- platform/ios/PlatformEventFactoryIOS.h:
- platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::keyForKeyEvent):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
- platform/mac/PlatformEventFactoryMac.h:
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::keyForKeyEvent):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder): Deleted.
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue):
(JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue):
Source/WebKit2:
Add support for KeyboardEvent.key attribute.
- Shared/WebEvent.h:
(WebKit::WebKeyboardEvent::key):
(WebKit::WebKeyboardEvent::unmodifiedText): Deleted.
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
- Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebKeyboardEvent):
Source/WTF:
Add compile time flag for the key attribute on KeyboardEvent and enable
it on Cocoa only.
- wtf/FeatureDefines.h:
LayoutTests:
Extend layout test coverage.
- fast/events/constructors/keyboard-event-constructor-expected.txt:
- fast/events/constructors/keyboard-event-constructor.html:
- fast/events/key-events-in-input-button-expected.txt:
- fast/events/key-events-in-input-button.html:
- fast/events/key-events-in-input-text-expected.txt:
- fast/events/key-events-in-input-text.html:
- fast/events/keyboardevent-key-expected.txt: Added.
- fast/events/keyboardevent-key.html: Added.
- fast/events/special-key-events-in-input-text-expected.txt:
- fast/events/special-key-events-in-input-text.html:
- platform/ios-simulator/TestExpectations:
- 2:31 PM Changeset in webkit [206749] by
-
- 4 edits in trunk
URLParser: fragment-only URLs relative to file URLs should just add a fragment
https://bugs.webkit.org/show_bug.cgi?id=162871
Reviewed by Geoffrey Garen.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Instead of adding /# after copying the base URL to the query, just add an #.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:30 PM Changeset in webkit [206748] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/index-cursor.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161926
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:27 PM Changeset in webkit [206747] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/anchor-download-allow-data.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161745
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:49 PM Changeset in webkit [206746] by
-
- 7 edits1 add in trunk
MapHash should speculate on the type of its child node
https://bugs.webkit.org/show_bug.cgi?id=161922
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/map-key-well-typed.js: Added.
(assert):
(intKey):
(doubleKey):
(objectKey):
(stringKey):
(booleanKey):
(symbolKey):
(cellKey):
(assert.doubleKey):
(assert.booleanKey):
PerformanceTests:
I gave the main generator a name so it's easier to see what
it is when using the sampling profiler.
- ES6SampleBench/Basic/ast.js:
(Basic.Program):
Source/JavaScriptCore:
This allows us to remove runtime type checks when we've already
proven the type of the incoming value.
This is a 2-3% speedup on ES6SampleBench/Basic.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::wangsInt64Hash):
(JSC::FTL::DFG::LowerDFGToB3::mapHashString):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
- 1:31 PM Changeset in webkit [206745] by
-
- 2 edits9 adds in trunk
[Modern Media Controls] LayoutItem and Button classes
https://bugs.webkit.org/show_bug.cgi?id=162868
<rdar://problem/28590166>
Patch by Antoine Quint <Antoine Quint> on 2016-10-03
Reviewed by Dean Jackson.
Source/WebCore:
We introduce the new Button class and its parent class LayoutItem. We will subclass Button
a lot in coming patches, as it provides a way to create a button and provide a delegate to
respond to UI events via theuiDelegate
property. A Button extends a LayoutItem, another
class that we'll subclass heavily in coming patches, which is simply a LayoutNode with a
layoutDelegate
which allows to set the node'slayoutTraits
, a bit-mask allowing to
specify layout attributes such as the platform and playback styles.
Tests: media/modern-media-controls/button/button.html
media/modern-media-controls/layout-item/layout-item.html
- Modules/modern-media-controls/controls/button.css: Added.
(button):
- Modules/modern-media-controls/controls/button.js: Added.
(Button):
(Button.prototype.get enabled):
(Button.prototype.set enabled):
(Button.prototype.handleEvent):
(Button.prototype._handleUIEvent):
- Modules/modern-media-controls/controls/layout-item.js: Added.
(LayoutItem.prototype.get layoutTraits):
(LayoutItem):
LayoutTests:
Testing all public properties and methods of the LayoutItem and Button classes.
- media/modern-media-controls/button/button-expected.txt: Added.
- media/modern-media-controls/button/button.html: Added.
- media/modern-media-controls/layout-item/layout-item-expected.txt: Added.
- media/modern-media-controls/layout-item/layout-item.html: Added.
- 1:27 PM Changeset in webkit [206744] by
-
- 8 edits2 adds in trunk
ASSERTION FAILED: url.containsOnlyASCII() in WebCore::checkEncodedString() when parsing an invalid CSS cursor URL
https://bugs.webkit.org/show_bug.cgi?id=162763
<rdar://problem/28572758>
Reviewed by Youenn Fablet.
Source/WebCore:
CSSCursorImageValue copies the URL of its underlying CSSImageValue by using the
ParsedURLString URL constructor on the String returned by CSSImageValue::url(). While
CSSImageValues were always being constructed from a URL implicitly converted to a String,
nothing ensured that the URL was valid. For invalid URLs, URL::string() returns the string
it was constructed with, which might still represent a relative URL or contain non-ASCII
characters, violating the preconditions of the ParsedURLString URL constructor and causing
an assertion to fail in Debug builds.
Fix this by having CSSImageValue store its image URL using a WebCore::URL rather than a
String. CSSCursorImageValue can then copy this URL instead of attempting to re-parse a
possibly-invalid URL string.
Test: fast/css/cursor-with-invalid-url.html
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue): Copied m_imageValue.url() into
m_originalURL instead of using the ParsedURLString URL constructor, since
CSSImageValue::url() now returns a WebCore::URL.
(WebCore::CSSCursorImageValue::loadImage): Created a URL from cursorElement->href() by
calling Document::completeURL().
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue): Changed to take a URL&& instead of a const String&.
(WebCore::CSSImageValue::loadImage): Stopped calling Document::completeURL(), since m_url is
now a WebCore::URL.
- css/CSSImageValue.h: Changed url() to return a const URL&, and changed m_url to be a URL.
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute): Removed a call to
URL::string().
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::collectStyleForPresentationAttribute): Ditto.
- html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute): Ditto.
LayoutTests:
- fast/css/cursor-with-invalid-url.html: Added.
- fast/css/cursor-with-invalid-url-expected.txt: Added.
- 1:26 PM Changeset in webkit [206743] by
-
- 2 edits in trunk/Source/WebCore
Log an error to stderr when FrameView::layout() fails to clean all the renderers.
https://bugs.webkit.org/show_bug.cgi?id=162835
Reviewed by Simon Fraser.
We've come across multiple layout/painting bugs caused by renderers left dirty
after FrameView::layout(). This patch helps catching such issues early.
Once all the blocking bugs are fixed (webkit.org/b/162835), logging should be replaced with ASSERT().
Not testable.
- page/FrameView.cpp:
(WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker):
(WebCore::FrameView::layout):
- 1:22 PM Changeset in webkit [206742] by
-
- 12 edits7 adds in trunk/Source/WebCore
[Win][Direct2D] Add D2D Bitmap Image handling code
https://bugs.webkit.org/show_bug.cgi?id=162761
Reviewed by Dean Jackson.
This patch lands a set of new files that implement
Image and BitmapImage features on Windows using
Direct2D.
The desired ID2D1RenderTarget handle is needed by the
image decoder so that it can load the resulting bitmap
into the GPU.
No new tests until complete backend lands.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw): Tell the Direct2D image decoder
which render target to use.
- platform/graphics/BitmapImage.h:
- platform/graphics/ImageBuffer.cpp:
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferData.h:
- platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::setRenderTarget): Added.
- platform/graphics/ImageFrameCache.h:
(WebCore::ImageFrameCache::decoder): Added.
- platform/graphics/ImageSource.cpp:
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::setRenderTarget):
- platform/graphics/win/ImageBufferDataDirect2D.cpp: Added.
- platform/graphics/win/ImageBufferDataDirect2D.h: Added.
- platform/graphics/win/ImageBufferDirect2D.cpp: Added.
- platform/graphics/win/ImageCGWin.cpp:
- platform/graphics/win/ImageDecoderDirect2D.cpp: Added.
- platform/graphics/win/ImageDecoderDirect2D.h: Added.
- platform/graphics/win/ImageDirect2D.cpp: Added.
- platform/graphics/win/NativeImageDirect2D.cpp: Added.
- 12:26 PM Changeset in webkit [206741] by
-
- 2 edits in trunk/Tools
[Win] DRT temp folder is not used.
https://bugs.webkit.org/show_bug.cgi?id=162863
Reviewed by Alex Christensen.
Convert DRT temp folder to DOS path, which DRT can use.
- Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver):
- 12:13 PM Changeset in webkit [206740] by
-
- 5 edits in trunk/Source/WebCore
[SOUP] Remove unused methods toSoupMessage from ResourceRequest/Response
https://bugs.webkit.org/show_bug.cgi?id=162867
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-10-03
Reviewed by Sergio Villar Senin.
- platform/network/soup/ResourceRequest.h:
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessage):
(WebCore::ResourceRequest::updateFromSoupMessage): Deleted.
- platform/network/soup/ResourceResponse.h:
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage): Deleted.
- 11:36 AM Changeset in webkit [206739] by
-
- 9 edits in trunk
B3 trapping memory accesses should be documented
https://bugs.webkit.org/show_bug.cgi?id=162845
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
While writing some documentation, I found some small holes in the code.
- b3/B3Effects.cpp:
(JSC::B3::Effects::operator==): Need this to write tests.
(JSC::B3::Effects::operator!=): Need this to write tests.
- b3/B3Effects.h:
- b3/B3HeapRange.h:
- b3/B3MemoryValue.cpp:
(JSC::B3::MemoryValue::dumpMeta): Sometimes the heap range dump won't show you the memory value's actual range. This makes the dump show you the actual range in that case.
- b3/B3Value.cpp:
(JSC::B3::Value::effects): While documenting this, I remembered that trapping also has to imply reading top. I fixed this.
- b3/testb3.cpp:
(JSC::B3::testTrappingLoad): Added checks for the effects of trapping loads.
(JSC::B3::testTrappingStore): Added checks for the effects of trapping stores.
(JSC::B3::testMoveConstants): Made this not crash with validation.
Websites/webkit.org:
Added documentation for the Traps flag, and factored out the documentation of the Chill flag
to a new flags section.
- docs/b3/intermediate-representation.html:
- 11:36 AM Changeset in webkit [206738] by
-
- 4 edits in trunk
[ES6] GeneratorFunction (a.k.a. GeneratorWrapperFunction)'s prototype object does not have constructor property
https://bugs.webkit.org/show_bug.cgi?id=162849
Reviewed by Geoffrey Garen.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
Since GeneratorFunction is not constructible, GeneratorFunction.prototype does not have "constructor" property.
function* generatorFunction() { }
generatorFunction.prototype.constructor undefined
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
- 10:57 AM Changeset in webkit [206737] by
-
- 9 edits in trunk/Source/WebCore
Remove FetchBody::m_isEmpty
https://bugs.webkit.org/show_bug.cgi?id=162857
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-03
Reviewed by Alex Christensen.
No change of behavior.
Moving handling of null bodies in FetchBodyOwner, by having an Optional<FetchBody> in FetchBodyOwner.
Moving storage of m_contentType in FetchBodyOwner.
Moving header storage from FetchResponse/FetchRequest to FetchBodyOwner, as it helps updating m_contentType.
- Modules/fetch/FetchBody.cpp: removing m_isEmpty and m_contentType.
(WebCore::FetchBody::extract): Computes the default content-type which is stored in FetchBodyOwner.
(WebCore::FetchBody::blob):
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeAsStream):
(WebCore::FetchBody::loadingSucceeded):
(WebCore::FetchBody::bodyForInternalRequest):
(WebCore::FetchBody::clone):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::loadingBody):
(WebCore::FetchBody::FetchBody):
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::FetchBodyOwner):
(WebCore::FetchBodyOwner::stop):
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::cloneBody): Needs to clone m_contentType as well.
(WebCore::FetchBodyOwner::extractBody):
(WebCore::FetchBodyOwner::updateContentType):
(WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
(WebCore::FetchBodyOwner::loadBlob):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::finishBlobLoading):
- Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::body):
(WebCore::FetchBodyOwner::isBodyNull):
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::setBody):
(WebCore::FetchRequest::internalRequest):
(WebCore::FetchRequest::clone):
- Modules/fetch/FetchRequest.h:
(WebCore::FetchRequest::FetchRequest):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::initializeWith):
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::cloneForJS):
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::BodyLoader::start):
(WebCore::FetchResponse::createReadableStreamSource):
- Modules/fetch/FetchResponse.h:
- 10:44 AM Changeset in webkit [206736] by
-
- 5 edits in trunk
ASSERTION FAILED: result in WebCore::CSSParser::parseURI
https://bugs.webkit.org/show_bug.cgi?id=141638
<rdar://problem/27709952>
Reviewed by Andreas Kling.
Source/WebCore:
CSSParser::parseURIInternal() failed to parse unquoted URLs with Unicode escape sequences
greater than 0xFF, even when the destination character type was multi-byte. Fixed by
checking the size of DestCharacterType instead of SrcCharacterType.
Updated fast/css/url-with-multi-byte-unicode-escape.html to test for an unquoted URL.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseURIInternal): For code points greater than 0xFF, only returned
false if sizeof(DestCharacterType) == 1.
LayoutTests:
- fast/css/url-with-multi-byte-unicode-escape-expected.txt: Added a test for an unquoted URL.
- fast/css/url-with-multi-byte-unicode-escape.html:
- 10:28 AM Changeset in webkit [206735] by
-
- 6 edits in trunk
URLParser: empty relative URLs should not copy fragment from the base URL
https://bugs.webkit.org/show_bug.cgi?id=162864
Reviewed by Chris Dumez.
Source/WebCore:
Covered by new API tests.
- platform/URL.cpp:
(WebCore::URL::removeFragmentIdentifier):
Optimize removing fragments, now that it happens more often. We don't need to reparse,
because the result will always be equal to just a substring when removing the fragment at the end.
- platform/URLParser.cpp:
(WebCore::URLParser::copyASCIIStringUntil):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::containsOnlyC0ControlOrSpace):
(WebCore::URLParser::URLParser):
(WebCore::URLParser::parse):
- platform/URLParser.h:
Because we are not copying the fragment, we can simplify and remove some unreachable code.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 9:43 AM Changeset in webkit [206734] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSStringRef should define JSChar without platform checks
https://bugs.webkit.org/show_bug.cgi?id=162808
Patch by Nicolas Breidinger <Nicolas.Breidinger@sony.com> on 2016-10-03
Reviewed by Mark Lam.
- API/JSStringRef.h:
- 9:23 AM Changeset in webkit [206733] by
-
- 7 edits in trunk
td.scope should only return known values
https://bugs.webkit.org/show_bug.cgi?id=162755
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-tabular-expected.txt:
Source/WebCore:
td.scope should only return known values:
Firefox conforms to the specification.
No new tests, rebaselined existing test.
- html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::scope):
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/element-attribute-js-null-expected.txt:
- fast/dom/element-attribute-js-null.html:
- 3:42 AM Changeset in webkit [206732] by
-
- 5 edits in trunk/Source/WebCore
[SOUP] Simplify AuthenticationChallenge
https://bugs.webkit.org/show_bug.cgi?id=162784
Reviewed by Alex Christensen.
We don't really need to keep references to the SoupSession and SoupMessage in AuthenticationChallenge, the
SoupNetworkSession callback already forwards the challenge to the right ResourceHandle.
- platform/network/soup/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::authenticationClient):
(WebCore::AuthenticationChallenge::soupSession): Deleted.
(WebCore::AuthenticationChallenge::soupMessage): Deleted.
- platform/network/soup/AuthenticationChallengeSoup.cpp:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::platformCompare):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedCancellation):
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::authenticateCallback):
- 3:32 AM Changeset in webkit [206731] by
-
- 15 edits1 delete in trunk
[SOUP] Cleanup persistent credential storage code
https://bugs.webkit.org/show_bug.cgi?id=162777
Reviewed by Alex Christensen.
.:
Remove ENABLE(CREDENTIAL_STORAGE) build flag and replace it by USE(LIBSECRET).
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
We have this feature behind ENABLE_CREDENTIAL_STORAGE flag, which is confusing, because we use credential
storage unconditionally and this is only about persistent storage. Also the flag assumes libsecret is available,
and since it's only used by GTK sometimes we use GTK ifdefs instead of CREDENTIAL_STORAGE. So, I think we should
use USE(LIBSECRET) instead, and reduce a bit the ifdefs in common soup code. Another problem is that current
implementation is always used, while it should depend on the current network storage session and never used in
ephemeral sessions. This patch moves the code from CredentialBackingStore to NetworkStorageSessionSoup and
modernizes a bit.
- PlatformGTK.cmake: Remove CredentialBackingStore.cpp.
- platform/gtk/GRefPtrGtk.cpp: Use USE(LIBSECRET)
- platform/gtk/GRefPtrGtk.h:
- platform/network/NetworkStorageSession.h:
- platform/network/ResourceHandleInternal.h:
- platform/network/gtk/CredentialBackingStore.cpp: Removed.
- platform/network/gtk/CredentialBackingStore.h: Removed.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::~NetworkStorageSession):
(WebCore::schemeFromProtectionSpaceServerType):
(WebCore::authTypeFromProtectionSpaceAuthenticationScheme):
(WebCore::NetworkStorageSession::getCredentialFromPersistentStorage):
(WebCore::NetworkStorageSession::saveCredentialToPersistentStorage):
(WebCore::NetworkStorageSession::ensurePrivateBrowsingSession): Deleted.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Deleted.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Deleted.
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): Deleted.
(WebCore::ResourceHandle::receivedCancellation): Deleted.
Source/WebKit2:
Use USE(LIBSECRET) instead of ENABLE(CREDENTIAL_STORAGE).
- UIProcess/API/gtk/WebKitAuthenticationRequest.cpp:
(webkit_authentication_request_can_save_credentials):
Tools:
Use USE(LIBSECRET) instead of ENABLE(CREDENTIAL_STORAGE).
- TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp:
(testWebViewAuthenticationStorage):
- 2:51 AM Changeset in webkit [206730] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix the build with coordinated graphics enabled after r206712.
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachNode):