WebKit-https.git
4 years agoREGRESSION (r179497): Crash inside setAttributeNode
rniwa@webkit.org [Mon, 13 Feb 2017 02:01:26 +0000 (02:01 +0000)]
REGRESSION (r179497): Crash inside setAttributeNode
https://bugs.webkit.org/show_bug.cgi?id=168161
<rdar://problem/30451581>

Reviewed by Andreas Kling.

Source/WebCore:

The bug was caused by setAttributeNode calling setAttributeInternal with the same element data as the one used
to call removeAttributeInternal despite of the fact removeAttributeInternal could have invoked arbitrary scripts
and mutated element's m_elementData.

Fixed the bug by calling with setAttributeInternal with the result of new invocation of ensureUniqueElementData().

Test: fast/dom/Attr/make-unique-element-data-while-replacing-attr.html

* dom/Element.cpp:
(WebCore::Element::setAttributeNode):

LayoutTests:

Added a regression test.

* fast/dom/Attr/make-unique-element-data-while-replacing-attr-expected.txt: Added.
* fast/dom/Attr/make-unique-element-data-while-replacing-attr.html: Added.

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

4 years agoRebaseline bindings tests after r212207.
rniwa@webkit.org [Mon, 13 Feb 2017 01:59:20 +0000 (01:59 +0000)]
Rebaseline bindings tests after r212207.

* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:

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

4 years agoC loop build fix attempt after r212207.
rniwa@webkit.org [Mon, 13 Feb 2017 01:56:41 +0000 (01:56 +0000)]
C loop build fix attempt after r212207.

* runtime/Lookup.h:

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

4 years ago[Cocoa] Some -respondsToSelector: checks are unnecessary
mitz@apple.com [Sun, 12 Feb 2017 22:01:24 +0000 (22:01 +0000)]
[Cocoa] Some -respondsToSelector: checks are unnecessary
https://bugs.webkit.org/show_bug.cgi?id=168183

Reviewed by Tim Horton.

Source/WebCore:

* English.lproj/Localizable.strings: Removed a string that’s no longer needed after the
  change to WebKit2/Platform/mac/MenuUtilities.mm.

* editing/mac/DictionaryLookup.mm:
(WebCore::showPopupOrCreateAnimationController): Removed check whether
  LULookupDefinitionModule responds to +showDefinitionForTerm:relativeToRect:ofView:options:.

* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::initialize): Changed to use
  -[NEFilterSource setSourceAppIdentifier:], without checking, instead of
  -setSourceAppBundleID:, which does not exist.

* platform/cocoa/ScrollController.mm:
(systemUptime): Deleted.
(WebCore::ScrollController::snapRubberBand): Use -[NSProcessInfo systemUptime] directly.

* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Remove unnecessary check.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck): Replaced
  -respondsToSelector: check with -isKindOfClass: check corresponding to the above cast.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep): Removed unnecessary
  check.

* platform/graphics/avfoundation/objc/VideoFullscreenLayerManager.mm:
(WebCore::VideoFullscreenLayerManager::setVideoFullscreenLayer): Removed unnecessary checks.

* platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer initWithGraphicsContext3D:]): Ditto.

* platform/mac/PlatformEventFactoryMac.mm:
(WebCore::typeForEvent): Removed check whether NSMenu responds to +menuTypeForEvent: and
  all code to handle that case that it doesn’t.

* platform/mac/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController applicationDidResignActive:]): Removed check whether
  NSWindow responds to -isOnActiveSpace.
(-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Removed check whether
  NSApplication responds to -setPresentationOptions:

* platform/mac/WebVideoFullscreenInterfaceMac.mm:
(-[WebVideoFullscreenInterfaceMacObjC updateIsPlaying:newPlaybackRate:]): Removed
  unnecessary -respondsToSelector: check.
(-[WebVideoFullscreenInterfaceMacObjC setVideoDimensions:]): Ditto.
(-[WebVideoFullscreenInterfaceMacObjC setUpPIPForVideoView:withFrame:inWindow:]): Ditto.

* platform/spi/cf/CFNetworkSPI.h: Moved declarations of
  -[NSURLCache _initWithMemoryCapacity:diskCapacity:relativePath:] and
  -[NSURLCache _CFURLCache] to the !USE(APPLE_INTERNAL_SDK) section.

* platform/spi/cocoa/NEFilterSourceSPI.h: Added declaration of NEFilterSource’
  sourceAppIdentifier property to the !USE(APPLE_INTERNAL_SDK) section and deleted
  unconditional declaration of sourceAppBundleID property, which doesn’t exist.

* platform/spi/cocoa/QuartzCoreSPI.h: Removed redundant declarations.

* platform/spi/ios/DataDetectorsUISPI.h: Moved declarations of DDDetectionController methods
  from WebKit2/UIProcess/ios/{WKActionSheetAssistant,WKContentViewInteraction}.mm to here.
  Removed an unused declaration.

* platform/spi/mac/LookupSPI.h: Moved redundant declarations into the
  !USE(APPLE_INTERNAL_SDK) section.

* platform/spi/mac/NSMenuSPI.h: Changed to import NSMenu_Private.h when using the
  Apple internal SDK. Cleaned up the declarations for the other case.

* platform/spi/mac/TUCallSPI.h: Changed to import TUCall_Strings.h when use the Apple
  internal SDK.

Source/WebKit/mac:

* WebView/WebFullScreenController.mm:
(-[WebFullScreenController applicationDidResignActive:]): Removed check whether NSWindow
  responds to -isOnActiveSpace.
(-[WebFullScreenController exitFullScreen]): Ditto.
(-[WebFullScreenController _updateMenuAndDockForFullScreen]): Removed check whether
  NSApplication responds to -setPresentationOptions.

* WebView/WebHTMLView.mm:
(createShareMenuItem): Removed unnecessary -respondsToSelector: check.
(-[WebHTMLView otherMouseDown:]): Ditto.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]): Ditto.
(-[WebImmediateActionController _animationControllerForDataDetectedText]): Ditto.

* WebView/WebView.mm:
(-[WebView _didStartProvisionalLoadForFrame:]): Removed redundant nil check.
(+[WebView _setCacheModel:]): Removed unnecessary -respondsToSelector: check.

Source/WebKit2:

* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::setColorMatchUntaggedContent): Removed unnecessary
  -respondsToSelector: check.
(WebKit::LayerHostingContext::colorMatchUntaggedContent): Ditto.

* Platform/mac/MenuUtilities.mm:
(WebKit::menuItemTitleForTelephoneNumberGroup): Ditto.

* Platform/spi/ios/UIKitSPI.h: Moved declaration of
  -[UIScrollView _isInterruptingDeceleration] from WKWebView.mm to the
  !USE(APPLE_INTERNAL_SDK) section here.

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setSharedHTTPCookieStorage): Removed unnecessary -respondsToSelector:
  check.

* Shared/mac/WebEventFactory.mm:
(WebKit::typeForEvent): Ditto.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateVisibleContentRectAfterScrollInView:]): Ditto.

* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup): Ditto.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly): Ditto.

* UIProcess/WKImagePreviewViewController.mm:
(-[WKImagePreviewViewController previewActions]): Removed check whether _WKElementAction
  responds to -runActionWithElementInfo:.

* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showDataDetectorsSheet]): Ditto.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _lookup:]): Ditto.
(-[WKContentView _share:]): Ditto.
(-[WKContentView _addShortcut:]): Ditto.
(-[WKContentView _promptForReplace:]): Ditto.
(-[WKContentView _transliterateChinese:]): Ditto.
(-[WKContentView _didHandleKeyEvent:eventWasHandled:]): Removed call to
  -[UIKeyboardImpl didHandleWebKeyEvent], which is a no-op.
(-[WKContentView _interpretKeyEvent:isCharEvent:]): Removed unnecessary -respondsToSelector:
  check.
(-[WKContentView _dataForPreviewItemController:atPosition:type:]): Ditto.

* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::createFence): Ditto.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _animationControllerForDataDetectedText]): Ditto.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createShareMenuItem): Ditto.

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

4 years ago[GTK] Unreviewed, minor documentation improvements
mcatanzaro@igalia.com [Sun, 12 Feb 2017 21:19:38 +0000 (21:19 +0000)]
[GTK] Unreviewed, minor documentation improvements

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkit_web_page_class_init):

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

4 years agoUnreviewed, skip flaky WebKitPrintOperation/custom-widget test
mcatanzaro@igalia.com [Sun, 12 Feb 2017 19:53:29 +0000 (19:53 +0000)]
Unreviewed, skip flaky WebKitPrintOperation/custom-widget test

* Scripts/run-gtk-tests:
(TestRunner):

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

4 years agoUnreviewed, skip flaky form-controls-associated-signal test
mcatanzaro@igalia.com [Sun, 12 Feb 2017 19:28:16 +0000 (19:28 +0000)]
Unreviewed, skip flaky form-controls-associated-signal test

* Scripts/run-gtk-tests:
(TestRunner):

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

4 years agoRemove the remaining functions out of JSDOMBinding
weinig@apple.com [Sun, 12 Feb 2017 18:29:15 +0000 (18:29 +0000)]
Remove the remaining functions out of JSDOMBinding
https://bugs.webkit.org/show_bug.cgi?id=168179

Reviewed by Darin Adler.

Move utility functions into more appropriate locations.
Source/JavaScriptCore:

- Move hasIteratorMethod to IteratorOperations.
- Move nonCachingStaticFunctionGetter to Lookup

* runtime/IteratorOperations.cpp:
(JSC::hasIteratorMethod):
* runtime/IteratorOperations.h:
* runtime/Lookup.h:
(JSC::nonCachingStaticFunctionGetter):

Source/WebCore:

- Move hasIteratorMethod to runtime/IteratorOperations.h
- Move nonCachingStaticFunctionGetter to runtime/Lookup.h
- Move addImpureProperty to CommonVM

Remove toJS overload that took a Vector<T>. Replace it's usage
with toJS<IDLSequence<T>> usage. To make this work, added two
new types, IDLIDBKeyData and IDLIDBValue.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
Adopt JSDOMConvert infrastructure for conversions using new types.

* bindings/IDLTypes.h:
* bindings/js/JSDOMConvertIndexedDB.h:
(WebCore::JSConverter<IDLIDBKeyData>::convert):
(WebCore::JSConverter<IDLIDBValue>::convert):
Add new types for IDBKeyData and IDBValue.

* bindings/js/CommonVM.cpp:
(WebCore::addImpureProperty):
* bindings/js/CommonVM.h:
Move addImpureProperty here from JSDOMBinding.

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyDataToScriptValue): Deleted.
* bindings/js/IDBBindingUtilities.h:
Remove unused idbKeyDataToScriptValue, and group like functions
together.

* bindings/js/JSDOMBinding.cpp: Removed.
* bindings/js/JSDOMBinding.h:
(WebCore::nonCachingStaticFunctionGetter): Deleted.
(WebCore::toJS): Deleted.
Move/remove functions.

* bindings/js/JSDOMConvertUnion.h:
Update for move of hasIteratorMethod to runtime/IteratorOperations.h

* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSHTMLDocumentCustom.cpp:
* bindings/js/JSLocationCustom.cpp:
Update for move of nonCachingStaticFunctionGetter to runtime/Lookup.h

* bindings/js/JSSubtleCryptoCustom.cpp:
Remove unneeded include of runtime/IteratorOperations.h

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateOverloadedFunctionOrConstructor):
Include runtime/IteratorOperations when needing to distinguish a sequence.

* html/HTMLDocument.cpp:
Replace include of JSDOMBinding.h with CommonVM.h for addImpureProperty.

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

4 years ago[SOUP] Downloads fail when the given destination is not a URI
commit-queue@webkit.org [Sun, 12 Feb 2017 17:05:41 +0000 (17:05 +0000)]
[SOUP] Downloads fail when the given destination is not a URI
https://bugs.webkit.org/show_bug.cgi?id=168187

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-12
Reviewed by Michael Catanzaro.

It always expects a uri, and fails if a local path is given.

Fixes: http/tests/download/anchor-download-no-extension.html
       http/tests/download/area-download.html
       http/tests/security/anchor-download-allow-data.html
       http/tests/security/anchor-download-allow-sameorigin.html

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::download): Use g_file_new_for_path() if the pending destination is a path instead
of a URI.

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

4 years ago[GTK] Handle caps lock indicator in event modifiers
carlosgc@webkit.org [Sun, 12 Feb 2017 16:48:03 +0000 (16:48 +0000)]
[GTK] Handle caps lock indicator in event modifiers
https://bugs.webkit.org/show_bug.cgi?id=168186

Reviewed by Michael Catanzaro.

Source/WebCore:

Add helper function to check if caps lock is present in the given modifiers. We need this because in GDK
GDK_LOCK_MASK might be either CapsLock or ShiftLock in X11. We use this new method in all platform event
implementations to add the appropriate modifiers.

Fixes: fast/events/special-key-events-in-input-text.html

* platform/PlatformKeyboardEvent.h:
* platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::modifiersForGdkKeyEvent):
(WebCore::PlatformKeyboardEvent::modifiersContainCapsLock):
* platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):

Source/WebKit2:

Use PlatformKeyboardEvent::modifiersContainCapsLock() to check if modifiers contain the caps lock and add
Modifiers::CapsLockKey in that case.

* Shared/gtk/WebEventFactory.cpp:
(WebKit::modifiersForEvent):
* UIProcess/API/gtk/WebKitPrivate.cpp:
(wkEventModifiersToGdkModifiers):
(toGdkModifiers):

Tools:

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::webkitModifiersToGDKModifiers): Handle kWKEventModifiersCapsLockKey.

LayoutTests:

Add platform specific results for fast/events/special-key-events-in-input-text.html. This patch fixes the caps
lock key case, but we still have different results in the PrintScreen case.

* platform/gtk/fast/events/special-key-events-in-input-text-expected.txt: Added.

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

4 years agoUnreviewed GTK+ gardening. Rebaseline some test and update expectations.
carlosgc@webkit.org [Sun, 12 Feb 2017 12:04:20 +0000 (12:04 +0000)]
Unreviewed GTK+ gardening. Rebaseline some test and update expectations.

* platform/gtk/TestExpectations:
* platform/gtk/fast/events/focus-label-legend-elements-with-tab-expected.txt: Added.
* platform/gtk/fast/events/touch/document-create-touch-expected.txt: Added.
* platform/gtk/fast/repaint/block-inputrange-repaint-expected.txt: Added.
* platform/gtk/http/tests/dom/document-attributes-null-handling-expected.txt: Added.

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

4 years ago[iOS] PDF page number indicator can show "0 of n" on short pages
aestes@apple.com [Sun, 12 Feb 2017 10:21:19 +0000 (10:21 +0000)]
[iOS] PDF page number indicator can show "0 of n" on short pages
https://bugs.webkit.org/show_bug.cgi?id=168185

Reviewed by Tim Horton.

When viewing a PDF with a last page that is shorter than the frame height, it's possible
(thanks to rubber-banding) to scroll down until the page no longer intersects the rect we
use to determine the center page. When this happens, the page number indicator displays
"0 of n".

Fix this by handling cases where the first page starts below the center page rect or the
last page ends above it.

* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _revalidateViews]):

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

4 years agoRefresh WPT tests up to 06c6c52e05e05483d3c844168a417ee27a554eb7
commit-queue@webkit.org [Sun, 12 Feb 2017 05:17:45 +0000 (05:17 +0000)]
Refresh WPT tests up to 06c6c52e05e05483d3c844168a417ee27a554eb7
https://bugs.webkit.org/show_bug.cgi?id=168175

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-11
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* resources/TestRepositories:
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/IndexedDB/OWNERS:
* web-platform-tests/IndexedDB/bindings-inject-key-expected.txt: Added.
* web-platform-tests/IndexedDB/bindings-inject-key.html: Added.
* web-platform-tests/IndexedDB/clone-before-keypath-eval-expected.txt: Added.
* web-platform-tests/IndexedDB/clone-before-keypath-eval.html: Added.
* web-platform-tests/IndexedDB/delete-request-queue-expected.txt: Added.
* web-platform-tests/IndexedDB/delete-request-queue.html: Added.
* web-platform-tests/IndexedDB/error-attributes-expected.txt: Added.
* web-platform-tests/IndexedDB/error-attributes.html: Added.
* web-platform-tests/IndexedDB/idb-binary-key-detached-expected.txt: Added.
* web-platform-tests/IndexedDB/idb-binary-key-detached.htm: Added.
* web-platform-tests/IndexedDB/idb-binary-key-roundtrip-expected.txt: Added.
* web-platform-tests/IndexedDB/idb-binary-key-roundtrip.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-advance-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbcursor-continue-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-delete-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbcursor-update-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm: Added.
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbindex-getAll-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbindex-query-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbindex-query-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbkeyrange-includes-expected.txt:
* web-platform-tests/IndexedDB/idbkeyrange-includes.htm:
* web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore-query-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore_getKey-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore_getKey.html: Added.
* web-platform-tests/IndexedDB/idbrequest-onupgradeneeded-expected.txt: Added.
* web-platform-tests/IndexedDB/idbrequest-onupgradeneeded.htm: Added.
* web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order-expected.txt: Added.
* web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html: Added.
* web-platform-tests/IndexedDB/idbversionchangeevent.htm:
* web-platform-tests/IndexedDB/key-conversion-exceptions-expected.txt: Added.
* web-platform-tests/IndexedDB/key-conversion-exceptions.htm: Added.
* web-platform-tests/IndexedDB/keypath-exceptions-expected.txt: Added.
* web-platform-tests/IndexedDB/keypath-exceptions.htm: Added.
* web-platform-tests/IndexedDB/keypath-special-identifiers-expected.txt: Added.
* web-platform-tests/IndexedDB/keypath-special-identifiers.htm: Added.
* web-platform-tests/IndexedDB/open-request-queue-expected.txt: Added.
* web-platform-tests/IndexedDB/open-request-queue.html: Added.
* web-platform-tests/IndexedDB/support.js:
(auto_fail):
(createdb_for_multiple_tests):
(assert_key_equals):
(indexeddb_test):
* web-platform-tests/IndexedDB/w3c-import.log:
* web-platform-tests/README.md:
* web-platform-tests/XMLHttpRequest/abort-during-done.htm:
* web-platform-tests/XMLHttpRequest/historical-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/historical.html: Added.
* web-platform-tests/XMLHttpRequest/resources/corsenabled.py:
(main):
* web-platform-tests/XMLHttpRequest/response-method-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/send-redirect-post-upload-expected.txt:
* web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm:
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/check_stability.py:
(do_delayed_imports):
(setup_logging):
(setup_action_filter.as):
(setup_action_filter.LogActionFilter):
(setup_action_filter.LogActionFilter.__init__):
(setup_action_filter.LogActionFilter.__call__):
(TravisFold):
(TravisFold.__init__):
(TravisFold.__enter__):
(TravisFold.__exit__):
(FilteredIO):
(FilteredIO.__init__):
(FilteredIO.__getattr__):
(FilteredIO.disable):
(FilteredIO.write):
(replace_streams):
(replace_streams.on_write):
(Browser):
(Browser.install):
(Browser.install_webdriver):
(Browser.version):
(Browser.wptrunner_args):
(Firefox):
(Firefox.install):
(Firefox._latest_geckodriver_version):
(Firefox.install_webdriver):
(Firefox.version):
(Firefox.wptrunner_args):
(Chrome):
(Chrome.install):
(Chrome.install_webdriver):
(Chrome.version):
(Chrome.wptrunner_args):
(get):
(call):
(get_git_cmd):
(seekable):
(untar):
(unzip):
(pwd):
(fetch_wpt_master):
(get_sha1):
(build_manifest):
(install_wptrunner):
(get_files_changed):
(get_affected_testfiles):
(wptrunner_args):
(setup_log_handler.as):
(setup_log_handler.LogHandler):
(is_inconsistent):
(err_string):
(process_results):
(format_comment_title):
(markdown_adjust):
(table):
(write_inconsistent):
(write_results):
(get_parser):
(main):
* web-platform-tests/ci_built_diff.sh:
* web-platform-tests/ci_stability.sh:
* web-platform-tests/common/OWNERS:
* web-platform-tests/custom-elements/reactions/DOMTokenList-expected.txt:
* web-platform-tests/custom-elements/reactions/DOMTokenList.html:
* web-platform-tests/dom/events/EventListener-invoke-legacy-expected.txt: Added.
* web-platform-tests/dom/events/EventListener-invoke-legacy.html: Added.
* web-platform-tests/dom/events/w3c-import.log:
* web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-iteration.html:
* web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
* web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
* web-platform-tests/dom/nodes/Document-createElementNS-expected.txt:
* web-platform-tests/dom/nodes/Document-createElementNS.html:
* web-platform-tests/dom/nodes/Document-createElementNS.js:
* web-platform-tests/dom/nodes/Node-isSameNode-expected.txt:
* web-platform-tests/dom/nodes/Node-isSameNode.html:
* web-platform-tests/dom/nodes/NodeList-Iterable-expected.txt:
* web-platform-tests/dom/nodes/NodeList-Iterable.html:
* web-platform-tests/dom/ranges/Range-selectNode-expected.txt:
* web-platform-tests/dom/ranges/Range-selectNode.html:
* web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.js:
(corsPreflight):
* web-platform-tests/fetch/api/headers/header-values-expected.txt: Added.
* web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt: Added.
* web-platform-tests/fetch/api/headers/header-values-normalize.html: Added.
* web-platform-tests/fetch/api/headers/header-values.html: Added.
* web-platform-tests/fetch/api/headers/w3c-import.log:
* web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin.js:
(promise_test):
* web-platform-tests/fetch/api/request/request-cache-default-conditional-expected.txt:
* web-platform-tests/fetch/api/request/request-cache-default-conditional.html:
* web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt:
* web-platform-tests/fetch/api/request/request-disturbed-expected.txt:
* web-platform-tests/fetch/api/request/request-disturbed.html:
* web-platform-tests/fetch/api/request/request-error-expected.txt:
* web-platform-tests/fetch/api/request/request-error.html:
* web-platform-tests/fetch/api/request/request-idl-expected.txt:
* web-platform-tests/fetch/api/request/request-idl.html:
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
* web-platform-tests/fetch/api/request/request-init-001.sub.html:
* web-platform-tests/fetch/api/resources/preflight.py:
(main):
* web-platform-tests/fetch/api/response/response-idl-expected.txt:
* web-platform-tests/fetch/api/response/response-idl.html:
* web-platform-tests/fonts/OWNERS: Added.
* web-platform-tests/fonts/w3c-import.log:
* web-platform-tests/hr-time/idlharness-expected.txt:
* web-platform-tests/hr-time/idlharness.html:
* web-platform-tests/hr-time/w3c-import.log:
* web-platform-tests/hr-time/window-worker-time-origin-expected.txt: Added.
* web-platform-tests/hr-time/window-worker-time-origin.html: Added.
* web-platform-tests/html/OWNERS:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name-0.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin.html:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/same-url-expected.txt: Added.
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/same-url.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-1.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-2.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-expected.txt: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment-1.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment-2.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment-expected.txt: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html: Added.
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_same_origin-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_same_origin.html:
* web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-image-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-image.html:
* web-platform-tests/html/browsers/browsing-the-web/read-media/pageload-video.html:
* web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/unload/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/w3c-import.log:
* web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-expected.txt:
* web-platform-tests/html/browsers/offline/browser-state/navigator_online_online-expected.txt:
* web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html:
* web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log:
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log:
* web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/empty.html: Added.
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/w3c-import.log:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/write-active-document-expected.txt: Added.
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/write-active-document.html: Added.
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt:
* web-platform-tests/html/dom/elements-forms.js:
* web-platform-tests/html/dom/elements-misc.js:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/dom/reflection-misc-expected.txt:
* web-platform-tests/html/semantics/embedded-content/image-maps/contains.json:
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.jpeg-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.jpeg.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.png-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.png.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-synchronously-discard-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-synchronously-discard.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html:
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-expected.txt: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-form.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-echo.py: Added.
(main):
* web-platform-tests/html/semantics/forms/form-submission-0/url-encoded-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm-expected.txt: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm-support.html: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
* web-platform-tests/html/semantics/forms/the-button-element/button-menu-historical-expected.txt: Added.
* web-platform-tests/html/semantics/forms/the-button-element/button-menu-historical.html: Added.
* web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-001.html:
* web-platform-tests/html/semantics/forms/the-input-element/date-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/date.html:
* web-platform-tests/html/semantics/forms/the-input-element/datetime-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/datetime.html:
* web-platform-tests/html/semantics/forms/the-input-element/number-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/number.html:
* web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/range.html:
* web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/selection.html:
* web-platform-tests/html/semantics/forms/the-input-element/time-2-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/time-2.html:
* web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/time.html:
* web-platform-tests/html/semantics/forms/the-input-element/week-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/week.html:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-menu-expected.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-menu.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-skip-no-boxes-expected.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-skip-no-boxes.html: Added.
* web-platform-tests/html/semantics/grouping-content/the-li-element/w3c-import.log:
* web-platform-tests/html/semantics/links/linktypes/alternate-import.css: Added.
(body):
* web-platform-tests/html/semantics/links/linktypes/alternate.css:
(@import url("alternate-import.css");):
* web-platform-tests/html/semantics/links/linktypes/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-reflect-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-reflect.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/cocoa-module.js: Added.
(export.default.Cocoa.prototype.taste):
(export.default.Cocoa):
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/exports-cocoa.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/set-script-executed.js: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click-expected.txt: Added.
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click.html: Added.
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log:
* web-platform-tests/html/syntax/OWNERS: Added.
* web-platform-tests/html/syntax/w3c-import.log:
* web-platform-tests/html/webappapis/scripting/events/body-exposed-window-event-handlers-expected.txt: Added.
* web-platform-tests/html/webappapis/scripting/events/body-exposed-window-event-handlers.html: Added.
* web-platform-tests/html/webappapis/scripting/events/eventhandler-cancellation-expected.txt: Added.
* web-platform-tests/html/webappapis/scripting/events/eventhandler-cancellation.html: Added.
* web-platform-tests/html/webappapis/scripting/events/w3c-import.log:
* web-platform-tests/images/OWNERS:
* web-platform-tests/lint.whitelist:
* web-platform-tests/media-source/mediasource-duration-expected.txt:
* web-platform-tests/resource-timing/resource-timing-expected.txt:
* web-platform-tests/shadow-dom/HTMLSlotElement-interface-expected.txt:
* web-platform-tests/shadow-dom/HTMLSlotElement-interface.html:
* web-platform-tests/shadow-dom/event-inside-slotted-node-expected.txt:
* web-platform-tests/shadow-dom/event-inside-slotted-node.html:
* web-platform-tests/shadow-dom/event-with-related-target-expected.txt:
* web-platform-tests/shadow-dom/event-with-related-target.html:
* web-platform-tests/streams/OWNERS:
* web-platform-tests/streams/README.md: Added.
* web-platform-tests/streams/byte-length-queuing-strategy-expected.txt:
* web-platform-tests/streams/byte-length-queuing-strategy.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.dedicatedworker.html: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.html: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.https-expected.txt: Removed.
* web-platform-tests/streams/byte-length-queuing-strategy.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html.
* web-platform-tests/streams/byte-length-queuing-strategy.sharedworker-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.sharedworker.html: Added.
* web-platform-tests/streams/count-queuing-strategy-expected.txt:
* web-platform-tests/streams/count-queuing-strategy.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.dedicatedworker.html: Added.
* web-platform-tests/streams/count-queuing-strategy.html: Added.
* web-platform-tests/streams/count-queuing-strategy.https-expected.txt: Removed.
* web-platform-tests/streams/count-queuing-strategy.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/count-queuing-strategy.sharedworker-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.sharedworker.html: Added.
* web-platform-tests/streams/generate-test-wrappers.js: Added.
(const.arg.of.process.argv.slice):
(generateWrapper):
* web-platform-tests/streams/piping/close-propagation-backward-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/close-propagation-backward.html: Added.
* web-platform-tests/streams/piping/close-propagation-backward.js: Added.
(promise_test):
(promise_test.t.const.rs.recordingReadableStream.cancel):
(promise_test.t.string_appeared_here.then):
(string_appeared_here.promise_test):
(Symbol):
(promise_test.t.then):
* web-platform-tests/streams/piping/close-propagation-backward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/piping/close-propagation-backward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-backward.sharedworker.html: Added.
* web-platform-tests/streams/piping/close-propagation-forward-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/close-propagation-forward.html: Added.
* web-platform-tests/streams/piping/close-propagation-forward.js: Added.
(promise_test):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.const.ws.recordingWritableStream.close):
(promise_test.t.string_appeared_here.then):
(string_appeared_here.promise_test):
(Symbol):
(promise_test.t.return.pipePromise.then):
(promise_test.t.setTimeout):
* web-platform-tests/streams/piping/close-propagation-forward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/piping/close-propagation-forward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/close-propagation-forward.sharedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-backward-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-backward.html: Added.
* web-platform-tests/streams/piping/error-propagation-backward.js: Added.
(promise_test.t.const.ws.recordingWritableStream.start):
(promise_test.t.string_appeared_here.then):
(promise_test.t.const.ws.recordingWritableStream.write):
(promise_test.t.const.rs.recordingReadableStream.cancel):
(string_appeared_here.promise_test.t.const.ws.recordingWritableStream.write):
(string_appeared_here.promise_test.t.string_appeared_here.then):
(Symbol):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.pipePromise.then):
(promise_test):
(promise_test.t.then):
(promise_test.t.return.writeCalledPromise.then):
* web-platform-tests/streams/piping/error-propagation-backward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/piping/error-propagation-backward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-backward.sharedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-forward-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/error-propagation-forward.html: Added.
* web-platform-tests/streams/piping/error-propagation-forward.js: Added.
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.string_appeared_here.then):
(promise_test.t.const.ws.recordingWritableStream.abort):
(string_appeared_here.promise_test.t.const.rs.recordingReadableStream.start):
(string_appeared_here.promise_test.t.string_appeared_here.then):
(Symbol):
(promise_test.t.return.pipePromise.then):
(promise_test.t.setTimeout):
(promise_test.t.const.ws.recordingWritableStream.write):
(promise_test.t.rs.pipeTo.ws.then):
(promise_test.t.return.writeCalledPromise.then):
(promise_test.t.then):
* web-platform-tests/streams/piping/error-propagation-forward.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html.
* web-platform-tests/streams/piping/error-propagation-forward.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/error-propagation-forward.sharedworker.html: Added.
* web-platform-tests/streams/piping/flow-control-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/flow-control.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.https.html.
* web-platform-tests/streams/piping/flow-control.js: Added.
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.flushAsyncEvents.then):
(promise_test.t.string_appeared_here.then):
(promise_test):
(promise_test.const.rs.recordingReadableStream.):
* web-platform-tests/streams/piping/flow-control.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/flow-control.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/flow-control.sharedworker.html: Added.
* web-platform-tests/streams/piping/general-expected.txt: Added.
* web-platform-tests/streams/piping/general.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/general.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/general.html: Added.
* web-platform-tests/streams/piping/general.js: Added.
(test):
(promise_test):
(promise_test.t.rs.pipeTo.ws.then):
(false.promise_test.t.const.rs.new.ReadableStream.pull):
(false.promise_test.t.return.rs.pipeTo.new.WritableStream):
(false.promise_test.t.const.ws.new.WritableStream.write):
* web-platform-tests/streams/piping/general.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/general.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/general.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/general.sharedworker.html: Added.
* web-platform-tests/streams/piping/multiple-propagation-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/multiple-propagation.html: Added.
* web-platform-tests/streams/piping/multiple-propagation.js: Added.
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.const.ws.recordingWritableStream.start):
(promise_test.t.string_appeared_here.then):
(promise_test):
* web-platform-tests/streams/piping/multiple-propagation.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/multiple-propagation.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/multiple-propagation.sharedworker.html: Added.
* web-platform-tests/streams/piping/pipe-through-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/pipe-through.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.https.html.
* web-platform-tests/streams/piping/pipe-through.js: Added.
(duckTypedPassThroughTransform):
(promise_test):
(promise_test.t.const.transform.writable.new.WritableStream.start):
(test):
* web-platform-tests/streams/piping/pipe-through.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/pipe-through.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/pipe-through.sharedworker.html: Added.
* web-platform-tests/streams/piping/transform-streams-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.dedicatedworker.html: Added.
* web-platform-tests/streams/piping/transform-streams.html: Added.
* web-platform-tests/streams/piping/transform-streams.js: Added.
(promise_test):
* web-platform-tests/streams/piping/transform-streams.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/piping/transform-streams.sharedworker-expected.txt: Added.
* web-platform-tests/streams/piping/transform-streams.sharedworker.html: Added.
* web-platform-tests/streams/piping/w3c-import.log: Added.
* web-platform-tests/streams/readable-byte-streams/general-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-byte-streams/general.html: Added.
* web-platform-tests/streams/readable-byte-streams/general.js: Added.
(test):
(promise_test):
(promise_test.t.const.stream.new.ReadableStream.start):
(promise_test.t.return.reader.closed.then):
(promise_test.t.string_appeared_here.then):
(extractViewInfo):
(promise_test.t.const.stream.new.ReadableStream.cancel):
(promise_test.t.pump):
(promise_test.t.const.stream.new.ReadableStream.pull):
* web-platform-tests/streams/readable-byte-streams/general.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-byte-streams/general.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-byte-streams/general.sharedworker.html: Added.
* web-platform-tests/streams/readable-byte-streams/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log.
* web-platform-tests/streams/readable-streams/bad-strategies-expected.txt:
* web-platform-tests/streams/readable-streams/bad-strategies.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.html: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/bad-strategies.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/bad-strategies.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources-expected.txt:
* web-platform-tests/streams/readable-streams/bad-underlying-sources.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.html: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.js:
(promise_test.t.const.rs.new.ReadableStream.pull):
(promise_test.t.return.Promise.resolve.then):
* web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/brand-checks-expected.txt:
* web-platform-tests/streams/readable-streams/brand-checks.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/brand-checks.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.https.html.
* web-platform-tests/streams/readable-streams/brand-checks.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/brand-checks.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.serviceworker.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.https.html.
* web-platform-tests/streams/readable-streams/brand-checks.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/cancel-expected.txt:
* web-platform-tests/streams/readable-streams/cancel.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/cancel.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.https.html.
* web-platform-tests/streams/readable-streams/cancel.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/cancel.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/cancel.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration-expected.txt:
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.html: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https.html: Removed.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/garbage-collection-expected.txt:
* web-platform-tests/streams/readable-streams/garbage-collection.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.https.html.
* web-platform-tests/streams/readable-streams/garbage-collection.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/garbage-collection.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/garbage-collection.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/general-expected.txt:
* web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/general.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.https.html.
* web-platform-tests/streams/readable-streams/general.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/general.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/general.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/pipe-through-expected.txt:
* web-platform-tests/streams/readable-streams/pipe-through.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/pipe-through.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.https.html.
* web-platform-tests/streams/readable-streams/pipe-through.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/pipe-through.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/pipe-through.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader-expected.txt:
* web-platform-tests/streams/readable-streams/readable-stream-reader.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.html: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/readable-stream-reader.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html.
* web-platform-tests/streams/readable-streams/readable-stream-reader.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/tee-expected.txt:
* web-platform-tests/streams/readable-streams/tee.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/tee.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.https.html.
* web-platform-tests/streams/readable-streams/tee.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/tee.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/tee.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/templated-expected.txt:
* web-platform-tests/streams/readable-streams/templated.dedicatedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.dedicatedworker.html: Added.
* web-platform-tests/streams/readable-streams/templated.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.https.html.
* web-platform-tests/streams/readable-streams/templated.https-expected.txt: Removed.
* web-platform-tests/streams/readable-streams/templated.serviceworker.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.serviceworker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html.
* web-platform-tests/streams/readable-streams/templated.sharedworker-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.sharedworker.html: Added.
* web-platform-tests/streams/readable-streams/w3c-import.log:
* web-platform-tests/streams/resources/recording-streams.js: Added.
(self.recordingReadableStream):
(self.recordingWritableStream):
* web-platform-tests/streams/resources/rs-test-templates.js:
(self.templatedRSEmpty):
(self.templatedRSClosed):
(self.templatedRSErrored):
(self.templatedRSErroredSyncOnly):
(self.templatedRSEmptyReader):
(self.templatedRSClosedReader):
(self.templatedRSErroredReader):
(self.templatedRSTwoChunksOpenReader):
(self.templatedRSTwoChunksClosedReader):
* web-platform-tests/streams/resources/test-initializer.js: Removed.
* web-platform-tests/streams/resources/test-utils.js:
(self.methodRejects):
* web-platform-tests/streams/resources/w3c-import.log:
* web-platform-tests/streams/w3c-import.log:
* web-platform-tests/test_keys_wdspec.html: Added.
* web-platform-tests/url/a-element-expected.txt:
* web-platform-tests/url/a-element-origin-xhtml.xhtml:
* web-platform-tests/url/a-element-origin.html:
* web-platform-tests/url/a-element-xhtml-expected.txt:
* web-platform-tests/url/a-element-xhtml.xhtml:
* web-platform-tests/url/a-element.html:
* web-platform-tests/url/interfaces-expected.txt:
* web-platform-tests/url/setters_tests.json:
* web-platform-tests/url/url-constructor-expected.txt:
* web-platform-tests/url/url-setters-expected.txt:
* web-platform-tests/url/url-tojson-expected.txt:
* web-platform-tests/url/urltestdata.json:
* web-platform-tests/url/w3c-import.log:
* web-platform-tests/user-timing/resources/webperftestharness.js:
(has_required_interfaces):
* web-platform-tests/user-timing/test_user_timing_clear_marks.html:
* web-platform-tests/user-timing/test_user_timing_clear_measures.html:
* web-platform-tests/user-timing/test_user_timing_mark.html:
* web-platform-tests/user-timing/test_user_timing_mark_exceptions.html:
* web-platform-tests/user-timing/test_user_timing_measure.html:
* web-platform-tests/user-timing/test_user_timing_measure_exceptions.html:
* web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure_navigation_timing.html:
* web-platform-tests/w3c-import.log:
* web-platform-tests/webrtc/datachannel-emptystring-expected.txt:
* web-platform-tests/webrtc/no-media-call-expected.txt:
* web-platform-tests/webrtc/promises-call-expected.txt:

LayoutTests:

* TestExpectations: Marking some tests as failing/skipping.
* tests-options.json:

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

4 years agoRemove custom bindings for XSLTProcessor.idl
weinig@apple.com [Sun, 12 Feb 2017 04:59:10 +0000 (04:59 +0000)]
Remove custom bindings for XSLTProcessor.idl
https://bugs.webkit.org/show_bug.cgi?id=168174

Reviewed by Andreas Kling.

Source/WebCore:

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSXSLTProcessorCustom.cpp: Removed.
Remove file.

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsStringOrUndefined): Deleted.
* bindings/js/JSDOMBinding.h:
Remove now unused jsStringOrUndefined.

* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::setParameter):
(WebCore::XSLTProcessor::getParameter):
(WebCore::XSLTProcessor::removeParameter):
* xml/XSLTProcessor.idl:
Replace custom bindings bindings with early returns. One subtle difference
between the custom bindings and this, is that getParameter will return
jsNull() rather than jsUndefined() for null String returns. This matches
all other bindings.

LayoutTests:

* fast/xsl/xslt-processor-expected.txt:
* fast/xsl/xslt-processor.html:
Update test / results for subtle new no-result behavior.

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

4 years ago[GStreamer][MSE][EME] Fix decryptor assignment
commit-queue@webkit.org [Sun, 12 Feb 2017 04:14:22 +0000 (04:14 +0000)]
[GStreamer][MSE][EME] Fix decryptor assignment
https://bugs.webkit.org/show_bug.cgi?id=168122

Patch by Olivier Blin <olivier.blin@softathome.com> on 2017-02-11
Reviewed by Michael Catanzaro.

The new decryptor is a floating reference so we should not use the
adopt GRefPtr constructor, but use the regular assignment operator
that will sink the object (clear the floating flag).

This fixes assertions in debug build.

See previous pipeline fix in r210851 and WPE commit
06020b18831e1c0eead34e2c1a5a4b7d026c227d.

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
Do not use adoptGRef(), it prevented the object from being sunk.

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

4 years agoLayoutTest fast/scrolling/page-cache-back-overflow-scroll-restore.html is a flaky...
akling@apple.com [Sun, 12 Feb 2017 04:11:56 +0000 (04:11 +0000)]
LayoutTest fast/scrolling/page-cache-back-overflow-scroll-restore.html is a flaky failure
<https://webkit.org/b/168084>

Reviewed by Michael Catanzaro.

Wait for a scroll event before triggering a navigation. This removes the flakiness.
Also use element.scrollTop to scroll the overflow:scroll element instead of eventSender.

* fast/scrolling/page-cache-back-overflow-scroll-restore.html:

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

4 years agoFix crashes after [NSURLSession invalidateAndCancel]
achristensen@apple.com [Sun, 12 Feb 2017 04:10:20 +0000 (04:10 +0000)]
Fix crashes after [NSURLSession invalidateAndCancel]
https://bugs.webkit.org/show_bug.cgi?id=168181
<rdar://problem/29813868>

Reviewed by Brady Eidson.

When we call NetworkSessionCocoa::invalidateAndCancel, we intend for the session to immediately
become invalid and stop doing things. [NSURLSession invalidateAndCancel] asynchronously cancels
everything and then calls the delegate's didBecomeInvalidWithError, so before this change there
is a time when we have torn down the session with SessionTracker::destroySession but we can still
get a delegate callback which assumes the session and its NetworkStorageSession exists.  If we
get any delegate callbacks after a NetworkSession has been invalidated, we will want to ignore them.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate sessionInvalidated]):
(-[WKNetworkSessionDelegate URLSession:didBecomeInvalidWithError:]):
(-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
The pointer to the NetworkSessionCocoa can now be null. We need to check it.
(WebKit::NetworkSessionCocoa::invalidateAndCancel):
Synchronously remove the connection between the delegates and the NetworkSessionCocoa.

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

4 years agoAvoid a redundant scroll to 0,0 when navigating back to a url with no fragment
simon.fraser@apple.com [Sun, 12 Feb 2017 03:18:09 +0000 (03:18 +0000)]
Avoid a redundant scroll to 0,0 when navigating back to a url with no fragment
https://bugs.webkit.org/show_bug.cgi?id=168177

Reviewed by Sam Weinig.

FrameView::scrollToFragment() is called from FrameLoader::scrollToFragmentWithParentBoundary()
when navigating within the page. If the URL had no fragment identifier, this code would
call into FrameView::scrollToAnchor() with an empty name, where maintainScrollPositionAtAnchor()
used the document as the anchor, thus scrolling to 0,0. Later, history().restoreScrollPositionAndViewState()
the restores the scroll position from history.

This scroll to 0,0 happened to be not visible to the page because of scroll event
coalescing, but it makes implementation of history.scrollRestoration harder, so avoid it
by just returning early from FrameView::scrollToFragment() if there is no fragment,
making sure to clear the document's CSSTarget.

* dom/Document.cpp:
(WebCore::Document::setCSSTarget):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToFragment):
(WebCore::FrameView::scrollToAnchor):

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

4 years ago[JSC] Implement (Shared)ArrayBuffer.prototype.byteLength
utatane.tea@gmail.com [Sat, 11 Feb 2017 22:12:36 +0000 (22:12 +0000)]
[JSC] Implement (Shared)ArrayBuffer.prototype.byteLength
https://bugs.webkit.org/show_bug.cgi?id=166476

Reviewed by Saam Barati.

JSTests:

* ChakraCore/test/typedarray/arraybufferType.baseline-jsc:
* stress/array-buffer-byte-length.js: Added.
(shouldBe):
(shouldThrow):
(Symbol):
* stress/reflect-set.js:

Source/JavaScriptCore:

`byteLength` becomes getter and is set in ArrayBuffer.prototype
and SharedArrayBuffer.prototype. This patch implements the
above getter in native function. We do not have any optimization
path for that for now since ArrayBuffer.prototype.byteLength is
not considered a hot function: while TypedArrays have [] accesses,
ArrayBuffer does not have that. Thus byteLength getter is not so
meaningful for a hot paths like iterations.

* runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::getOwnPropertySlot): Deleted.
(JSC::JSArrayBuffer::put): Deleted.
(JSC::JSArrayBuffer::defineOwnProperty): Deleted.
(JSC::JSArrayBuffer::deleteProperty): Deleted.
(JSC::JSArrayBuffer::getOwnNonIndexPropertyNames): Deleted.
* runtime/JSArrayBuffer.h:
(JSC::JSArrayBuffer::impl): Deleted.
* runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoGetterFuncByteLength):
(JSC::sharedArrayBufferProtoGetterFuncByteLength):
(JSC::JSArrayBufferPrototype::finishCreation):

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

4 years agoMiniBrowser WK1 fails to update URL for within-page navigations
simon.fraser@apple.com [Sat, 11 Feb 2017 22:12:09 +0000 (22:12 +0000)]
MiniBrowser WK1 fails to update URL for within-page navigations
https://bugs.webkit.org/show_bug.cgi?id=168173

Reviewed by Tim Horton.

Implement -webView:didChangeLocationWithinPageForFrame: so that clicking on named
anchors updates the URL field.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:didChangeLocationWithinPageForFrame:]):

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

4 years agoUnreviewed GTK+ gardening. Mark resource load stats tests as crashing.
carlosgc@webkit.org [Sat, 11 Feb 2017 17:07:14 +0000 (17:07 +0000)]
Unreviewed GTK+ gardening. Mark resource load stats tests as crashing.

* platform/gtk/TestExpectations:

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

4 years agoImplement URL's toJSON()
cdumez@apple.com [Sat, 11 Feb 2017 15:14:47 +0000 (15:14 +0000)]
Implement URL's toJSON()
https://bugs.webkit.org/show_bug.cgi?id=167979

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Re-sync URL tests from upstream to gain test coverage for
URL's toJSON().

* web-platform-tests/url/interfaces-expected.txt:
* web-platform-tests/url/interfaces.html:
* web-platform-tests/url/url-tojson-expected.txt: Added.
* web-platform-tests/url/url-tojson.html: Added.
* web-platform-tests/url/w3c-import.log:

Source/WebCore:

Implement URL's toJSON() as per:
- https://url.spec.whatwg.org/#dom-url-tojson

This is already supported by Firefox.

Also, drop URLUtils.idl as it is no longer in the specification.
Merge its content to DOMURL.idl as per the URL specification.

Finally, mark href attribute as stringifier and drop the toString()
operation to match the specification. This fixes a bug where our
toString property was not enumerable but should have been.

Tests: fast/url/url-tojson.html
       imported/w3c/web-platform-tests/url/url-tojson.html

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/DOMURL.idl:
* html/URLUtils.h:
(WebCore::URLUtils<T>::toJSON):
* html/URLUtils.idl: Removed.

LayoutTests:

Extend test coverage.

* fast/url/url-tojson-expected.txt: Added.
* fast/url/url-tojson.html: Added.

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

4 years ago[GTK][EFL] Implement MIMETypeRegistry::getPreferredExtensionForMIMEType
carlosgc@webkit.org [Sat, 11 Feb 2017 14:29:52 +0000 (14:29 +0000)]
[GTK][EFL] Implement MIMETypeRegistry::getPreferredExtensionForMIMEType
https://bugs.webkit.org/show_bug.cgi?id=168163

Reviewed by Michael Catanzaro.

It's missing causing several HTML anchor download tests to fail because the suggested filename missed the
extension. This patch moves MIMETypeRegistry::appendFileExtensionIfNecessary() from the cocoa specific file to the
common file because it's not actually platform specific. MIMETypeRegistry::getPreferredExtensionForMIMEType() is
what platforms should implement.

Fixes: fast/dom/HTMLAnchorElement/anchor-download-user-triggered-synthetic-click.html
       fast/dom/HTMLAnchorElement/anchor-download.html
       fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html
       fast/dom/HTMLAnchorElement/anchor-nodownload-set.html

* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):
* platform/cocoa/MIMETypeRegistryCocoa.mm:
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary): Deleted.
* platform/efl/MIMETypeRegistryEfl.cpp:
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
* platform/gtk/MIMETypeRegistryGtk.cpp:
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

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

4 years agoUnreviewed GTK+ gardening. Update several tests expected to timeout that are failing...
carlosgc@webkit.org [Sat, 11 Feb 2017 14:03:23 +0000 (14:03 +0000)]
Unreviewed GTK+ gardening. Update several tests expected to timeout that are failing now.

* platform/gtk/TestExpectations:

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

4 years agoUnreviewed GTK+ gardening. Updated expectations of several WebCryptoAPI tests that...
carlosgc@webkit.org [Sat, 11 Feb 2017 13:46:34 +0000 (13:46 +0000)]
Unreviewed GTK+ gardening. Updated expectations of several WebCryptoAPI tests that are failing.

* platform/gtk/TestExpectations:

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

4 years agoUnreviewed GTK+ gardening. Mark tests using drag and drop as crashing in Wayland.
carlosgc@webkit.org [Sat, 11 Feb 2017 12:17:16 +0000 (12:17 +0000)]
Unreviewed GTK+ gardening. Mark tests using drag and drop as crashing in Wayland.

* platform/gtk-wayland/TestExpectations:

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

4 years agoUnreviewed GTK+ gardening. Rebaseline several tests.
carlosgc@webkit.org [Sat, 11 Feb 2017 12:02:32 +0000 (12:02 +0000)]
Unreviewed GTK+ gardening. Rebaseline several tests.

* platform/gtk/fast/css/font_property_normal-expected.png:
* platform/gtk/fast/css/font_property_normal-expected.txt:
* platform/gtk/fast/dynamic/text-combine-expected.png:
* platform/gtk/fast/dynamic/text-combine-expected.txt:
* platform/gtk/fast/forms/select-empty-option-height-expected.png:
* platform/gtk/fast/forms/select-empty-option-height-expected.txt:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.png:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
* platform/gtk/fast/forms/validation-message-appearance-expected.png:
* platform/gtk/fast/forms/validation-message-appearance-expected.txt:
* platform/gtk/fast/images/icon-decoding-expected.png:
* platform/gtk/fast/images/icon-decoding-expected.txt: Added.
* platform/gtk/fast/inline/continuation-outlines-with-layers-expected.png:
* platform/gtk/fast/inline/continuation-outlines-with-layers-expected.txt:
* platform/gtk/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt:
* platform/gtk/fast/layers/video-layer-expected.png:
* platform/gtk/fast/layers/video-layer-expected.txt:
* platform/gtk/fast/repaint/4776765-expected.txt: Added.
* platform/gtk/fast/repaint/focus-ring-repaint-expected.txt: Added.
* platform/gtk/fast/repaint/zoomed-fixed-background-expected.txt: Added.
* platform/gtk/fast/scrolling/page-cache-back-overflow-scroll-restore-expected.txt: Added.
* platform/gtk/http/tests/plugins/plugin-javascript-access-expected.txt:
* platform/gtk/http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe-expected.txt: Added.
* platform/gtk/inspector/css/get-system-fonts-expected.txt:
* platform/gtk/plugins/plugin-javascript-access-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/text-align-06-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/text-align-06-b-expected.txt: Added.
* platform/gtk/svg/batik/text/verticalText-expected.png:
* platform/gtk/svg/batik/text/verticalText-expected.txt: Added.
* platform/gtk/svg/batik/text/verticalTextOnPath-expected.png:
* platform/gtk/svg/batik/text/verticalTextOnPath-expected.txt: Added.
* platform/gtk/svg/text/text-align-06-b-expected.png:
* platform/gtk/svg/text/text-align-06-b-expected.txt: Added.
* platform/gtk/tables/mozilla/bugs/bug4427-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4427-expected.txt:

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

4 years agoUnreviewed GTK+ gardening. Remove more platform specific results.
carlosgc@webkit.org [Sat, 11 Feb 2017 12:00:14 +0000 (12:00 +0000)]
Unreviewed GTK+ gardening. Remove more platform specific results.

* platform/gtk/fast/media/w3c/test_media_queries-expected.txt: Removed.
* platform/gtk/http/tests/eventsource/eventsource-cors-non-http-expected.txt: Removed.
* platform/gtk/http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/failure-expected.txt: Removed.

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

4 years agoUnreviewed. Update imageTitle translatable string.
carlosgc@webkit.org [Sat, 11 Feb 2017 11:05:30 +0000 (11:05 +0000)]
Unreviewed. Update imageTitle translatable string.

To match mac port. Fixes fast/images/imageDocument-title.html.

* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::imageTitle):

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

4 years agoUnreviewed GTK+ gardening. Update platform specific results for fast/css-generated...
carlosgc@webkit.org [Sat, 11 Feb 2017 10:38:16 +0000 (10:38 +0000)]
Unreviewed GTK+ gardening. Update platform specific results for fast/css-generated-content/malformed-url.html and fast/events/mouse-cursor-image-set.html

Remove platform specific results of fast/css-generated-content/malformed-url.html and add platform specific
results for fast/events/mouse-cursor-image-set.html, because this test fails only for the missing scale due to
MOUSE_CURSOR_SCALE not implemented in GTK+ port.

* platform/gtk/TestExpectations:
* platform/gtk/fast/css-generated-content/malformed-url-expected.txt: Removed.
* platform/gtk/fast/events/mouse-cursor-image-set-expected.txt: Added.

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

4 years agoUnreviewed GTK+ gardening. Skip CSS image-orientation and image-resolution tests.
carlosgc@webkit.org [Sat, 11 Feb 2017 07:44:07 +0000 (07:44 +0000)]
Unreviewed GTK+ gardening. Skip CSS image-orientation and image-resolution tests.

* platform/gtk/TestExpectations:

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

4 years agoUpdates to Resource Load Statistics: Get the right website data store and introduce...
wilander@apple.com [Sat, 11 Feb 2017 07:34:40 +0000 (07:34 +0000)]
Updates to Resource Load Statistics: Get the right website data store and introduce timeout for user interaction
https://bugs.webkit.org/show_bug.cgi?id=167474
<rdar://problem/24681808>
<rdar://problem/24703286>
<rdar://problem/30290270>

Source/WebCore:

This patch does the following:
1. Gets the right website data store. API::WebsiteDataStore::defaultDataStore()
    does not provide the right data store.
2. Introduces timeout for user interaction. A domain needs interaction every 30
    days to stay in that category.
3. Adds grandfathered to the statistics model in preparation for grandfathering of
    existing data records.
4. Adds test infrastructure to allow testing of the various rules in place for
    data records removal.
5. Fixes various smaller bugs that were found as part of setting up the tests.
6. Regresses the data records removal counting. We need to come up with a thread
    safe way of gathering removal statistics from more than one data store now
    that we potentially interact with multiple stores.
7. Adds a first set of layout tests for resource load statistics.

Reviewed by Andy Estes.

Tests: http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html
       http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html
       http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html
       http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html
       http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html

* dom/Document.cpp:
(WebCore::Document::updateLastHandledUserGestureTimestamp):
    This now calls ResourceLoadObserver::logUserInteraction() every time since
    we want to keep track of the most recent user interaction.
* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::statisticsStore):
    New getter used by WebResourceLoadStatisticsManager::resetToConsistentState().
(WebCore::reduceTimeResolutionToOneDay):
    Convenience function.
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
    Reduces time resolution for privacy reasons.
(WebCore::ResourceLoadObserver::logUserInteraction):
(WebCore::ResourceLoadObserver::clearUserInteraction):
(WebCore::ResourceLoadObserver::hasHadUserInteraction):
(WebCore::ResourceLoadObserver::setPrevalentResource):
(WebCore::ResourceLoadObserver::isPrevalentResource):
(WebCore::ResourceLoadObserver::clearPrevalentResource):
(WebCore::ResourceLoadObserver::setTimeToLiveUserInteraction):
(WebCore::ResourceLoadObserver::fireDataModificationHandler):
    New functions that allow WebKitTestRunner to stage exact
    statistics, fire the handler, and test the outcome.
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::encode):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString):
(WebCore::ResourceLoadStatistics::merge):
    Support for statistics mostRecentUserInteraction, grandfathered, and
    dataRecordsRemoved.
* loader/ResourceLoadStatistics.h:
* loader/ResourceLoadStatisticsStore.cpp:
(WebCore::ResourceLoadStatisticsStore::setTimeToLiveUserInteraction):
    New function that allows WebKitTestRunner to test
    aging out of user interaction.
(WebCore::ResourceLoadStatisticsStore::hasHadRecentUserInteraction):
    Now takes into account the timestamp and ages
    out user interaction.
(WebCore::ResourceLoadStatisticsStore::prevalentResourceDomainsWithoutUserInteraction):
    Now makes use of ResourceLoadStatisticsStore::hasHadRecentUserInteraction().
* loader/ResourceLoadStatisticsStore.h:

Source/WebKit2:

This patch does the following:
1. Gets the right website data store. API::WebsiteDataStore::defaultDataStore()
    does not provide the right data store.
2. Introduces timeout for user interaction. A domain needs interaction every 30
    days to stay in that category.
3. Adds grandfathered to the statistics model in preparation for grandfathering of
    existing data records.
4. Adds test infrastructure to allow testing of the various rules in place for
    data records removal.
5. Fixes various smaller bugs that were found as part of setting up the tests.
6. Regresses the data records removal counting. We need to come up with a thread
    safe way of gathering removal statistics from more than one data store now
    that we potentially interact with multiple stores.
7. Adds a first set of layout tests for resource load statistics.

Reviewed by Andy Estes.

* PlatformEfl.cmake:
    Added UIProcess/WebResourceLoadStatisticsManager.cpp and
    UIProcess/API/C/WKResourceLoadStatisticsManager.cpp.
* PlatformGTK.cmake:
    Added UIProcess/WebResourceLoadStatisticsManager.cpp and
    UIProcess/API/C/WKResourceLoadStatisticsManager.cpp.
* PlatformMac.cmake:
    Added UIProcess/WebResourceLoadStatisticsManager.cpp and
    UIProcess/API/C/WKResourceLoadStatisticsManager.cpp.
* Shared/API/APIObject.h:
    Adds WebResourceLoadStatisticsManager to the Type enum.
* Shared/API/c/WKBase.h:
    Typedef of WKResourceLoadStatisticsManagerRef.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
    Adds support for statistics mostRecentUserInteraction, grandfathered, and
    dataRecordsRemoved.
* UIProcess/API/C/WKAPICast.h:
    Adds API mapping between WKResourceLoadStatisticsManagerRef and
    WebResourceLoadStatisticsManager.
* UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: Added.
(WKResourceLoadStatisticsManagerGetTypeID):
(WKResourceLoadStatisticsManagerSetPrevalentResource):
(WKResourceLoadStatisticsManagerIsPrevalentResource):
(WKResourceLoadStatisticsManagerSetHasHadUserInteraction):
(WKResourceLoadStatisticsManagerIsHasHadUserInteraction):
(WKResourceLoadStatisticsManagerSetTimeToLiveUserInteraction):
(WKResourceLoadStatisticsManagerFireDataModificationHandler):
(WKResourceLoadStatisticsManagerSetNotifyPagesWhenDataRecordsWereScanned):
(WKResourceLoadStatisticsManagerSetShouldClassifyResourcesBeforeDataRecordsRemoval):
(WKResourceLoadStatisticsManagerSetMinimumTimeBetweeenDataRecordsRemoval):
(WKResourceLoadStatisticsManagerResetToConsistentState):
    API level bridge to WebResourceLoadStatisticsManager functions.
* UIProcess/API/C/WKResourceLoadStatisticsManager.h: Added.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyOwnedDomainsInAllPersistentDataStores):
    A way to delete website data in persistent store(s) configured by the
    embedding client. API::WebsiteDataStore::defaultDataStore() does not
    do this which caused us to skip session storage.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebResourceLoadStatisticsManager.cpp: Added.
(WebKit::WebResourceLoadStatisticsManager::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsManager::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsManager::setHasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::setTimeToLiveUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::fireDataModificationHandler):
(WebKit::WebResourceLoadStatisticsManager::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebResourceLoadStatisticsManager::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsManager::resetToConsistentState):
    Static functions to manage the state and behavior of the UI process'
    resource load statistics store.
* UIProcess/WebResourceLoadStatisticsManager.h: Added.
(WebKit::WebResourceLoadStatisticsManager::create):
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
    An effect of a member variable rename. See header file comment below.
(WebKit::WebResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebResourceLoadStatisticsStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval):
    Three static functions for controlling the behavior of the store.
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
    Changes:
    1. Covers all data record types.
    2. Allows data removal when m_lastTimeDataRecordsWereRemoved is not set.
    3. Moves the heavy lifting to WebsiteDataStore (see below).
    4. No longer counts removed data regressions.
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
    See next comment.
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
    WebResourceLoadStatisticsStore::processStatisticsAndDataRecords() is
    broken out of WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated
    to allow for statistics processing without prior classification.
    Tests need to set statistics and a run of the classifier may
    reset the data.
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
    Sets the notification callback which calls
    WebResourceLoadStatisticsStore::processStatisticsAndDataRecords().
* UIProcess/WebResourceLoadStatisticsStore.h:
(WebKit::WebResourceLoadStatisticsStore::coreStore):
    Renamed m_resourceStatisticsStore to m_resourceLoadStatisticsStore to
    harmonize with other naming.
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyOwnedDomains):
    This is now where matching is made between prevalent resources
    and data records. This function is used by
    WebsiteDataStore::removeDataForTopPrivatelyOwnedDomains().
(WebKit::WebsiteDataStore::removeDataForTopPrivatelyOwnedDomains):
    The function WebResourceLoadStatisticsStore::removeDataRecords()
    calls to get data records removed in all persistent stores.
* UIProcess/WebsiteData/WebsiteDataStore.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::m_resourceLoadStatisticsStore):
(WebKit::WebProcess::statisticsChangedTimerFired):
(WebKit::m_resourceLoadStatisticsStorage): Deleted.
    Renamed m_resourceLoadStatisticsStorage to m_resourceLoadStatisticsStore
    to harmonize with other naming.
* WebProcess/WebProcess.h:

Tools:

This patch adds test infrastructure to allow testing
of the various rules in place for data records removal.

Reviewed by Andy Estes.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
    Callback mechanism to tell pages that a website data store
    scan has happened.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsPrevalentResource):
(WTR::TestRunner::isStatisticsPrevalentResource):
(WTR::TestRunner::setStatisticsHasHadUserInteraction):
(WTR::TestRunner::isStatisticsHasHadUserInteraction):
(WTR::TestRunner::setStatisticsTimeToLiveUserInteraction):
(WTR::TestRunner::installStatisticsDidModifyDataRecordsCallback):
(WTR::TestRunner::statisticsDidModifyDataRecordsCallback):
(WTR::TestRunner::statisticsFireDataModificationHandler):
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestRunner::setStatisticsMinimumTimeBetweeenDataRecordsRemoval):
(WTR::TestRunner::statisticsResetToConsistentState):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsPrevalentResource):
(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::setStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::setStatisticsTimeToLiveUserInteraction):
(WTR::TestController::statisticsFireDataModificationHandler):
(WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestController::setStatisticsMinimumTimeBetweeenDataRecordsRemoval):
(WTR::TestController::statisticsResetToConsistentState):
* WebKitTestRunner/TestController.h:
    These are all configuration and test functions.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

Reviewed by Andy Estes.

* TestExpectations:
    Marked as general skip (see WK2 expectations below).
* http/tests/loading/resourceLoadStatistics: Added.
* http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html: Added.
* http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html: Added.
* http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: Added.
* http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: Added.
* http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: Added.
* platform/wk2/TestExpectations:
    Marked as valid for WebKit2 only.

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

4 years agoREGRESSION(r182916) run-perf-tests never timeouts
clopez@igalia.com [Sat, 11 Feb 2017 06:01:20 +0000 (06:01 +0000)]
REGRESSION(r182916) run-perf-tests never timeouts
https://bugs.webkit.org/show_bug.cgi?id=167626

Reviewed by Ryosuke Niwa.

The --time-out-ms value (defaults to 600 seconds) of run-perf-tests
was beeing ignored because the driver was created with no_timeout=True
unconditionally.
This adds a new parameter --no-timeout (disabled by default), that
allows to use the driver with the expected timeout values.
It also passes --no-timeout to DRT/WTR to ensure that timeouts
are always controlled by the Python Driver.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._create_driver): Only disable timeout if --no-timeout is passed.
(PerfTest.run): Disabling timeout should be done when the Driver is created.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__): Ensure --no-timeout is passed to DRT/WTR
(PerfTestsRunner._parse_args): Add a --no-timeout parameter.
(_run_tests_set): Pass the no-timeout parameter.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_drt_notimeout): Test --no-timeout is passed to DRT/WTR
(MainTest.test_default_args): Test default values for additional_drt_flag and no_timeout.
(MainTest.test_parse_args): Test that the argument no-timeout.

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

4 years ago[WebIDL] Cleanup XMLHttpRequest's bindings
commit-queue@webkit.org [Sat, 11 Feb 2017 05:49:23 +0000 (05:49 +0000)]
[WebIDL] Cleanup XMLHttpRequest's bindings
https://bugs.webkit.org/show_bug.cgi?id=168067

Patch by Sam Weinig <sam@webkit.org> on 2017-02-10
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt:
Update results now that we pass.

Source/WebCore:

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsOwnedStringOrNull): Deleted.
* bindings/js/JSDOMBinding.h:
Remove jsOwnedStringOrNull and inline it into it's one use
in JSXMLHttpRequestCustom.

* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::responseText):
(WebCore::SendFunctor::SendFunctor): Deleted.
(WebCore::SendFunctor::line): Deleted.
(WebCore::SendFunctor::column): Deleted.
(WebCore::SendFunctor::url): Deleted.
(WebCore::SendFunctor::operator()): Deleted.
(WebCore::JSXMLHttpRequest::send): Deleted.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
* xml/XMLHttpRequest.h:
Remove custom send, replacing it with a single send implementation that
takes a variant.

* xml/XMLHttpRequest.idl:
Cleanup the IDL to better match the spec. Update correct types where trivial.

LayoutTests:

* http/tests/xmlhttprequest/set-bad-headervalue.html:
Update test now that we throw the correct exceptions.

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

4 years ago[Xcode] WTF installs extra copies of two headers outside /usr/local/include/wtf
mitz@apple.com [Sat, 11 Feb 2017 05:33:44 +0000 (05:33 +0000)]
[Xcode] WTF installs extra copies of two headers outside /usr/local/include/wtf
https://bugs.webkit.org/show_bug.cgi?id=168160

Reviewed by Sam Weinig.

* WTF.xcodeproj/project.pbxproj: Demoted OrdinalNumber.h MemoryFootprint.h from Private to
  Project.

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

4 years agoWebKitLegacy doesn't re-export various symbols from WebCore required by clients
aakash_jain@apple.com [Sat, 11 Feb 2017 04:54:32 +0000 (04:54 +0000)]
WebKitLegacy doesn't re-export various symbols from WebCore required by clients
https://bugs.webkit.org/show_bug.cgi?id=168158
<rdar://problem/24527933>

Reviewed by Dan Bernstein.

* WebKit.iOS.exp: Exporting various symbols which are required by clients. This
would enable clients to stop linking against WebCore and instead link against WebKit.

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

4 years agodocument.origin doesn't match spec
cdumez@apple.com [Sat, 11 Feb 2017 04:40:38 +0000 (04:40 +0000)]
document.origin doesn't match spec
https://bugs.webkit.org/show_bug.cgi?id=168022

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline test now that document.origin has the right format.

* web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:

Source/WebCore:

Update document.origin to return the origin in the expected format:
- https://dom.spec.whatwg.org/#dom-document-origin

Change: "https_webkit.org_0 -> "https://webkit.org".

The new behavior matches Firefox and Chrome.

No new tests, updated existing tests.

* dom/Document.cpp:
(WebCore::Document::origin):

LayoutTests:

* http/tests/media/media-stream/enumerate-devices-source-id-persistent.html:
Fix test that was passing only because the document.origin would never match the
expected string:
- Move idCounts to the global scope has the handler function is called 3 times
  and we need to properly update the same idCounts object in all 3 calls.
- Fix initialization of idCounts to start at 1, not 0. Otherwise, idCounts[uniqueID]
  is 0 instead of 1.
- Use a Map instead of an array since the ids are UUID strings, not integers.
- Fix check for non-unique ids, was idCounts[deviceId] == 1 instead of
 idCounts[deviceId] != 1.

* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade.html:
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html:
* http/tests/ssl/iframe-upgrade.https.html:
Update / rebaseline now that document.origin has the right format.

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

4 years agoObject allocation sinking phase doesn't properly handle control flow when emitting...
sbarati@apple.com [Sat, 11 Feb 2017 04:05:06 +0000 (04:05 +0000)]
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object
https://bugs.webkit.org/show_bug.cgi?id=168140
<rdar://problem/30205880>

Reviewed by Filip Pizlo.

JSTests:

* stress/allocation-sinking-puthint-control-flow.js: Added.
(e):
(bar):
(let.y):
(else.let.y):
(baz):
(foo):
(catch):

Source/JavaScriptCore:

This patch fixes a bug in allocation sinking phase where
we don't properly handle control flow when materializing
an object and also PutHinting that materialization into
a still sunken object. We were performing the PutHint
for the materialization at the point of materialization,
however, we may have materialized along both edges
of a control flow diamond, in which case, we need to
also PutHint at the join point. Consider this program:

```
bb#0:
b: PhantomActivation()
a: PhantomNewFunction()
c: PutHint(@a, @b, ActivationLoc)
Branch(#1, #2)

bb#1:
d: MaterializeActivation()
e: PutHint(@a, @d, ActivationLoc)
f: Upsilon(@d, ^p)
Jump(#3)

bb#2:
g: MaterializeActivation()
h: PutHint(@a, @g, ActivationLoc)
i: Upsilon(@d, ^p)
Jump(#3)

bb#3:
p: Phi()
// What is PromotedHeapLocation(@a, ActivationLoc) here?
// What would we do if we exited?
```
Before this patch, we didn't perform a PutHint of the Phi.
However, we need to, otherwise when exit, we won't know
the value of PromotedHeapLocation(@a, ActivationLoc)

The program we need then, for correctness, is this:
```
bb#0:
b: PhantomActivation()
a: PhantomNewFunction()
c: PutHint(@a, @b, ActivationLoc)
Branch(#1, #2)

bb#1:
d: MaterializeActivation()
e: PutHint(@a, @d, ActivationLoc)
f: Upsilon(@d, ^p)
Jump(#3)

bb#2:
g: MaterializeActivation()
h: PutHint(@a, @g, ActivationLoc)
i: Upsilon(@d, ^p)
Jump(#3)

bb#3:
p: Phi()
j: PutHint(@a, @p, ActivationLoc)
```

This patch makes it so that we emit the necessary PutHint at node `j`.
I've also added more validation to the OSRAvailabilityAnalysisPhase
to catch this problem during validation.

* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
* dfg/DFGObjectAllocationSinkingPhase.cpp:
* ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):

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

4 years agoZero out some WKWebView state in the case of a web content crash
simon.fraser@apple.com [Sat, 11 Feb 2017 03:59:06 +0000 (03:59 +0000)]
Zero out some WKWebView state in the case of a web content crash
https://bugs.webkit.org/show_bug.cgi?id=168157

Reviewed by Tim Horton.

Reset some bits of state in WKWebView when the web content process crashes, in
to try to avoid states that might cause the web view to stay blank.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processDidExit]):

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

4 years agoAttempt to fix the WinCairo 64-Bit Release build following <https://trac.webkit.org...
dbates@webkit.org [Sat, 11 Feb 2017 03:32:40 +0000 (03:32 +0000)]
Attempt to fix the WinCairo 64-Bit Release build following <https://trac.webkit.org/changeset/212173>
(https://bugs.webkit.org/show_bug.cgi?id=166774)

Touch WebKit.idl in the hopes that it will cause CMake to regenerate the COM interface files.

* Interfaces/WebKit.idl:

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

4 years agoAttempt to fix the build following <https://trac.webkit.org/changeset/212173>
dbates@webkit.org [Sat, 11 Feb 2017 03:09:10 +0000 (03:09 +0000)]
Attempt to fix the build following <https://trac.webkit.org/changeset/212173>
(https://bugs.webkit.org/show_bug.cgi?id=166774)

* dom/Document.cpp:
(WebCore::Document::detachFromCachedFrame): Use ASSER_UNUSED() instead of ASSERT() since
the parameter cachedFrame is unused in non-debug build.

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

4 years agoDetach frame from document when entering page cache
dbates@webkit.org [Sat, 11 Feb 2017 02:53:53 +0000 (02:53 +0000)]
Detach frame from document when entering page cache
https://bugs.webkit.org/show_bug.cgi?id=166774
<rdar://problem/29904368>

Reviewed by Chris Dumez.

Source/WebCore:

When a page enters the page cache it is unnecessary for it to hold a reference to its
associated frame because subsequent interactions with the page do not need to make use
of it. Once a page exits the page cache we associate it with its frame.

* dom/Document.cpp:
(WebCore::Document::frameDestroyed): Update comment to reflect the renaming of disconnectFromFrame().
(WebCore::Document::attachToCachedFrame): Added.
(WebCore::Document::detachFromCachedFrame): Added.
(WebCore::Document::prepareForDestruction): Only call CSSAnimationController::detachFromDocument() if
we have a frame. Substitute detachFromFrame() for disconnectFromFrame() as the latter was renamed to
the former.
(WebCore::Document::hasEverCalledWindowOpen): Deleted.
(WebCore::Document::markHasCalledWindowOpen): Deleted.
(WebCore::Document::disconnectFromFrame): Renamed to detachFromFrame.
* dom/Document.h:
(WebCore::Document::detachFromFrame): Renamed; formerly named disconnectFromFrame(). Changed
visibility from public to private and made this function inline.
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::pruneDetachedChildFrames): Remove cached child frames that were
removed from the page when it was in the page cache as there is no need to restore such frames.
(WebCore::CachedFrameBase::restore): Call pruneDetachedChildFrames() before restoring the
frame tree.
(WebCore::CachedFrame::CachedFrame): Detach from the frame.
(WebCore::CachedFrame::open): Assert that we have a document and re-attach the frame.
(WebCore::CachedFrame::destroy): Update assertion as this function should only be called for a
frameless document. Only detach the FrameView, DocumentLoader, and Page when the cached frame is for
subframe and is associated with a Page object. Call CSSAnimationController::detachFromDocument() to
detach the animation controller from the document as it is being destroyed. We have to do this here
because the document does not have a frame. And Document::prepareForDestruction() only calls
CSSAnimationController::detachFromDocument() if the document has a frame.
* history/CachedFrame.h:
* history/PageCache.cpp:
(WebCore::canCachePage): Remove logic that prevents caching of a page that called window.open()
or has an opener as it is feasible to keep such pages in the page cache.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::finishedInsertingSubtree): Fix style nit.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::frameDetached): Only stop all loaders and stop active DOM objects if the
page is not in- or about to enter- the page cache. A page in the page cache has finished loading
and its active DOM objects are suspended. Also fix style nit in comment.
(WebCore::FrameLoader::detachFromParent): Only stop all loaders if the page is not in- or about to
enter- the page cache. A page in the page cache has finished loading. Also added a comment to explain
that we protect the frame because stopAllLoaders() can cause the frame to be deallocated.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow): Remove logic to call markHasCalledWindowOpen() as this
function will be removed.
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::hasCalledWindowOpenKey): Deleted.
(WebCore::DiagnosticLoggingKeys::hasOpenerKey): Deleted.
* page/DiagnosticLoggingKeys.h:
* page/Page.cpp:
(WebCore::Page::openedByWindowOpen): Deleted.
* page/Page.h:
* page/Settings.in: Remove setting allowsPageCacheWithWindowOpener.

Source/WebKit/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowsPageCacheWithWindowOpener]): Deleted.
(-[WebPreferences setAllowsPageCacheWithWindowOpener:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setAllowsPageCacheWithWindowOpener): Deleted.
(WebPreferences::allowsPageCacheWithWindowOpener): Deleted.
* WebPreferences.h:
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAllowsPageCacheWithWindowOpener): Deleted.
(WKPreferencesGetAllowsPageCacheWithWindowOpener): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

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

4 years agoREGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-color-masked...
simon.fraser@apple.com [Sat, 11 Feb 2017 02:30:23 +0000 (02:30 +0000)]
REGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-color-masked.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168054

Reviewed by Tim Horton.

Source/WebCore:

When adding mask layers, there was an ordering dependency. There was a hack in GraphicsLayerCA::setVisibleAndCoverageRects()
to propagate m_intersectsCoverageRect to masks. However, if GraphicsLayerCA::setVisibleAndCoverageRects()
ran on the masked layer before the mask was added, nothing updated the "m_intersectsCoverageRect" state of the mask layer.

Fix by explicitly calling setVisibleAndCoverageRects() on the mask layer, passing the same rects and
viewport-constrained state as for its host layer (we already assume that their geometry matches).

Tested by compositing/masks/solid-color-masked.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):

LayoutTests:

Make the timeout 10ms so the test consistently fails with the old code.

* compositing/masks/solid-color-masked.html:

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

4 years agoWeb Inspector: Debugger sidebar panel should not have multiple tree selections
mattbaker@apple.com [Sat, 11 Feb 2017 02:25:04 +0000 (02:25 +0000)]
Web Inspector: Debugger sidebar panel should not have multiple tree selections
https://bugs.webkit.org/show_bug.cgi?id=166000
<rdar://problem/29721988>

Reviewed by Timothy Hatcher.

The method for synchronizing tree element selection across a sidebar's
tree outlines fails for selections made during startup, because it depends
on events which are being suppressed.

This adds a new class, TreeOutlineGroup, which restricts tree element selection
inside a group of tree outlines by receiving messages directly from TreeElement.

* UserInterface/Main.html:
Add file for TreeOutlineGroup class.

* UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject):
(WebInspector.ContentBrowserTabContentView):
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
Update `createContentTreeOutline` calls for new signature.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
Replace _visibleContentTreeOutlines with a TreeOutlineGroup, which
contains the single-selection behavior previously handled by the sidebar.

(WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlines):
(WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement):
Implement using the sidebar's tree outline group.
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Remove first parameter, which is always true.
(WebInspector.NavigationSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
(WebInspector.NavigationSidebarPanel.prototype.pruneStaleResourceTreeElements):
(WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
(WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie):
(WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): Deleted.
Remove unused setter.
(WebInspector.NavigationSidebarPanel.prototype.get visibleContentTreeOutlines): Deleted.
Renamed to contentTreeOutlines.
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineDidFocus): Deleted.
No longer needed.
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange): Deleted.
Selection across trees handled by the tree outline group.

* UserInterface/Views/TreeElement.js:
(WebInspector.TreeElement.prototype.select):
Inform the element's tree outline group (if any), of the selection changed.

* UserInterface/Views/TreeOutlineGroup.js: Added.
(WebInspector.TreeOutlineGroup):
(WebInspector.TreeOutlineGroup.groupForTreeOutline):
(WebInspector.TreeOutlineGroup.prototype.get selectedTreeElement):
(WebInspector.TreeOutlineGroup.prototype.itemAdded):
Associate tree outline with the group and wrap tree elements. If the
incoming tree outline has a selection, deselect the group's currently
selected tree element.

(WebInspector.TreeOutlineGroup.prototype.itemRemoved):
Disassociate the tree outline from the group.
(WebInspector.TreeOutlineGroup.prototype.didSelectTreeElement):
Called by TreeElement when it becomes selected.
(WebInspector.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
Deselect any selected items in all tree outlines belonging to the group,
except for the specified item.

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

4 years agoUnreviewed, rolling out r212154, r212154, and r212156.
commit-queue@webkit.org [Sat, 11 Feb 2017 02:20:21 +0000 (02:20 +0000)]
Unreviewed, rolling out r212154, r212154, and r212156.
https://bugs.webkit.org/show_bug.cgi?id=168156

broke internal builds (Requested by smfr on #webkit).

Reverted changesets:

"Add a DragImage class that wraps a DragImageRef"
https://bugs.webkit.org/show_bug.cgi?id=168131
http://trac.webkit.org/changeset/212154

"Add a DragImage class that wraps a DragImageRef"
https://bugs.webkit.org/show_bug.cgi?id=168131
http://trac.webkit.org/changeset/212154

"Try to fix the iOS and Windows builds."
http://trac.webkit.org/changeset/212156

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

4 years agoWebInspector: refactor RemoteInspector to move cocoa specific code to their own files
bburg@apple.com [Sat, 11 Feb 2017 01:27:21 +0000 (01:27 +0000)]
WebInspector: refactor RemoteInspector to move cocoa specific code to their own files
https://bugs.webkit.org/show_bug.cgi?id=166681

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-10
Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

Move RemoteConnectionToTarget.mm and RemoteInspector.mm to a cocoa directory renamed with a Cocoa prefix,
because those are now the cocoa implementation of RemoteConnectionToTarget and RemoteInspector. The
cross-platform parts of RemoteInspector have been moced to a new RemoteInspector.cpp file. Also moved to cocoa
directory RemoteInspectorXPCConnection.h and RemoteInspectorXPCConnection.mm keeping the same name. Other than
that there aren't important code changes, only some cocoa specific types like NSString used in common headers,
and some other platform ifdefs needed. This is in preparation for adding a remote inspector implementation for
the GTK+ port.

* API/JSRemoteInspector.cpp:
(JSRemoteInspectorSetParentProcessInformation): Add PLATFORM(COCOA) to the ifdef.
* JavaScriptCore.xcodeproj/project.pbxproj:
* PlatformMac.cmake:
* inspector/remote/RemoteConnectionToTarget.h: Add platform ifdefs for cocoa specific parts and change
sendMessageToTarget to receive a WTF String instead of an NSString.
* inspector/remote/RemoteControllableTarget.h: Add platform ifdefs for CF specific parts.
* inspector/remote/RemoteInspectionTarget.h:
* inspector/remote/RemoteInspector.cpp: Added.
(Inspector::RemoteInspector::startDisabled):
(Inspector::RemoteInspector::nextAvailableTargetIdentifier):
(Inspector::RemoteInspector::registerTarget):
(Inspector::RemoteInspector::unregisterTarget):
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateClientCapabilities):
(Inspector::RemoteInspector::setRemoteInspectorClient):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupCompleted):
(Inspector::RemoteInspector::waitingForAutomaticInspection):
(Inspector::RemoteInspector::clientCapabilitiesDidChange):
(Inspector::RemoteInspector::stop):
(Inspector::RemoteInspector::listingForTarget):
(Inspector::RemoteInspector::updateHasActiveDebugSession):
* inspector/remote/RemoteInspector.h: Add platform ifdefs for cocoa specific parts. Also add TargetListing
typedef to define platform specific types for the listings without more ifdefs.
* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm: Renamed from Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.mm.
(Inspector::RemoteTargetInitializeGlobalQueue):
(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::setupRunLoop):
* inspector/remote/cocoa/RemoteInspectorCocoa.mm: Renamed from Source/JavaScriptCore/inspector/remote/RemoteInspector.mm.
(Inspector::canAccessWebInspectorMachPort):
(Inspector::RemoteInspector::singleton):
(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):
* inspector/remote/cocoa/RemoteInspectorXPCConnection.h: Renamed from Source/JavaScriptCore/inspector/remote/RemoteInspectorXPCConnection.h.
* inspector/remote/cocoa/RemoteInspectorXPCConnection.mm: Renamed from Source/JavaScriptCore/inspector/remote/RemoteInspectorXPCConnection.mm.
(Inspector::RemoteInspectorXPCConnection::closeFromMessage):

Source/WebKit2:

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Add PLATFORM(COCOA) to the ifdef.

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

4 years agoUnreviewed test gardening.
ryanhaddad@apple.com [Sat, 11 Feb 2017 01:12:07 +0000 (01:12 +0000)]
Unreviewed test gardening.

* TestExpectations:

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

4 years agoInfinite UI process hang under ensurePositionInformationIsUpToDate
timothy_horton@apple.com [Sat, 11 Feb 2017 01:09:55 +0000 (01:09 +0000)]
Infinite UI process hang under ensurePositionInformationIsUpToDate
https://bugs.webkit.org/show_bug.cgi?id=168154
<rdar://problem/30428673>

Reviewed by Simon Fraser.

Source/WebKit2:

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanupInteraction]):
If the web process crashes or we're being torn down for another reason,
assume that we aren't ever going to receive any pending async interaction
information update. Otherwise, ensurePositionInformationIsUpToDate can end
up waiting for it forever.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/InteractionDeadlockAfterCrash.mm: Added.
(recursiveFindHighlightLongPressRecognizer):
(TEST):
Add a somewhat nasty test that does an async interaction information update, but
kills the Web process before it arrives, and then does a sync interaction
information update, which will wait for the oustanding async interaction
information update if we still think it's coming. Before the patch, this
test times out with the UI process stuck under ensurePositionInformationIsUpToDate.

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

4 years agoWeb Inspector: ContentViewContainer can have redundant back-forward entries after...
mattbaker@apple.com [Sat, 11 Feb 2017 00:44:42 +0000 (00:44 +0000)]
Web Inspector: ContentViewContainer can have redundant back-forward entries after ContentView close
https://bugs.webkit.org/show_bug.cgi?id=168105

Reviewed by Joseph Pecoraro.

* UserInterface/Models/BackForwardEntry.js:
(WebInspector.BackForwardEntry.prototype.isEqual):
Make check for equal ContentView/cookie reusable.

* UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.showContentView):
Use BackForwardEntry.prototype.isEqual.
(WebInspector.ContentViewContainer.prototype.replaceContentView):
(WebInspector.ContentViewContainer.prototype.closeContentView):
Clean-up the BackForwardEntry list after changes that can cause
identical entries to become adjacent.

(WebInspector.ContentViewContainer.prototype._removeIdenticalAdjacentBackForwardEntries):
Remove consecutive entries with the same ContentView and cookie.
(WebInspector.ContentViewContainer):
(WebInspector.ContentViewContainer.closeAllContentViewsOfPrototype): Deleted.
Drive-by cleanup: removed dead code.

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

4 years agoUnreviewed, rolling out r212139.
commit-queue@webkit.org [Sat, 11 Feb 2017 00:19:06 +0000 (00:19 +0000)]
Unreviewed, rolling out r212139.
https://bugs.webkit.org/show_bug.cgi?id=168152

Caused some assertions (Requested by JoePeck on #webkit).

Reverted changeset:

"Fix misleading comment in RunLoop.h"
https://bugs.webkit.org/show_bug.cgi?id=167832
http://trac.webkit.org/changeset/212139

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

4 years agoFix the !ENABLE(WEBGL) build
ossy@webkit.org [Sat, 11 Feb 2017 00:12:41 +0000 (00:12 +0000)]
Fix the !ENABLE(WEBGL) build
https://bugs.webkit.org/show_bug.cgi?id=168112

Reviewed by Alex Christensen.

* html/canvas/WebGLRenderingContextBase.h:

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

4 years agoAdd mediaStreamEnabled property to WKPreferences for Cocoa.
commit-queue@webkit.org [Fri, 10 Feb 2017 23:55:14 +0000 (23:55 +0000)]
Add mediaStreamEnabled property to WKPreferences for Cocoa.
https://bugs.webkit.org/show_bug.cgi?id=168080

Patch by Andrew Gold <agold@apple.com> on 2017-02-10
Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Sets the pageConfiguration's mediaStreamEnabled preference value.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]): Copies the mediaStreamEnabled property.
(-[WKWebViewConfiguration _mediaStreamEnabled]): Gets the mediaStreamEnabled property.
(-[WKWebViewConfiguration _setMediaStreamEnabled:]): Sets the mediaStreamEnabled property.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

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

4 years ago[Fetch API] fetch fails when undefined is passed as headers
commit-queue@webkit.org [Fri, 10 Feb 2017 23:53:31 +0000 (23:53 +0000)]
[Fetch API] fetch fails when undefined is passed as headers
https://bugs.webkit.org/show_bug.cgi?id=168043

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-10
Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

* web-platform-tests/fetch/api/request/request-headers-expected.txt:
* web-platform-tests/fetch/api/request/request-headers.html:

Source/WebCore:

Covered by updated test.

* Modules/fetch/FetchInternals.js:
(fillFetchHeaders): Exit early in case of undefined headers, since it is an optional parameter.

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

4 years agoFix the !ENABLE(WEB_TIMING) build
ossy@webkit.org [Fri, 10 Feb 2017 23:51:47 +0000 (23:51 +0000)]
Fix the !ENABLE(WEB_TIMING) build
https://bugs.webkit.org/show_bug.cgi?id=168113

Reviewed by Alex Christensen.

* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):

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

4 years agoWebProcess: remove unused m_inDidClose
commit-queue@webkit.org [Fri, 10 Feb 2017 23:49:26 +0000 (23:49 +0000)]
WebProcess: remove unused m_inDidClose
https://bugs.webkit.org/show_bug.cgi?id=168121

Patch by Olivier Blin <olivier.blin@softathome.com> on 2017-02-10
Reviewed by Alex Christensen.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didClose):
* WebProcess/WebProcess.h:
m_inDidClose has been unused since r83774

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

4 years agoUpdate features.json for Performance Timing APIs
commit-queue@webkit.org [Fri, 10 Feb 2017 23:47:41 +0000 (23:47 +0000)]
Update features.json for Performance Timing APIs
https://bugs.webkit.org/show_bug.cgi?id=168148

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-10
Reviewed by Simon Fraser.

* features.json:

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

4 years ago[Cocoa] Web Inspector: payload initializers for ObjC protocol types handles special...
bburg@apple.com [Fri, 10 Feb 2017 23:47:02 +0000 (23:47 +0000)]
[Cocoa] Web Inspector: payload initializers for ObjC protocol types handles special-cased property names incorrectly
https://bugs.webkit.org/show_bug.cgi?id=168141

Reviewed by Joseph Pecoraro.

The generated code erroneously uses the ObjC variable name as the payload key,
rather than the raw type member name. For example, 'identifier' would be used instead of 'id'.

* inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload):

* inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
Rebaseline an affected test.

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

4 years agoTry to fix the iOS and Windows builds.
andersca@apple.com [Fri, 10 Feb 2017 23:41:35 +0000 (23:41 +0000)]
Try to fix the iOS and Windows builds.

* platform/ios/DragImageIOS.mm:
(WebCore::deleteDragImage):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::setDragImage):

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

4 years agoAdd basic debugging macros for CMake
bburg@apple.com [Fri, 10 Feb 2017 23:14:39 +0000 (23:14 +0000)]
Add basic debugging macros for CMake
https://bugs.webkit.org/show_bug.cgi?id=161538

Reviewed by Michael Catanzaro.

It's useful to be able to dump the state of everything when debugging
CMake build problems, especially when they happen on EWS (but not locally).

Start with macros for:
    - dumping out all CMake variables
    - dumping all executed commands (by turning off pretty-printing)

* Source/cmake/WebKitMacros.cmake:

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

4 years agoAdd a DragImage class that wraps a DragImageRef
andersca@apple.com [Fri, 10 Feb 2017 23:09:45 +0000 (23:09 +0000)]
Add a DragImage class that wraps a DragImageRef
https://bugs.webkit.org/show_bug.cgi?id=168131

Reviewed by Beth Dakin.

This allows us to get rid of the explicit deleteDragImage calls and will make additional cleanup of the
various drag code paths possible. No functionality change.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::updateDragImage):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):
* page/DragController.h:
* platform/DragImage.cpp:
(WebCore::DragImage::DragImage):
(WebCore::DragImage::operator=):
(WebCore::DragImage::~DragImage):
* platform/DragImage.h:
* platform/Pasteboard.h:
* platform/StaticPasteboard.h:
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::setDragImage):

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

4 years agoMake sure the "inwindow" flag propagates to TiledBackings for masks and reflections
simon.fraser@apple.com [Fri, 10 Feb 2017 23:02:36 +0000 (23:02 +0000)]
Make sure the "inwindow" flag propagates to TiledBackings for masks and reflections
https://bugs.webkit.org/show_bug.cgi?id=168127
rdar://problem/30467120

Reviewed by Tim Horton.
Source/WebCore:

Replace the special-case, but wrong, GraphicsLayer traversal in setIsInWindowIncludingDescendants()
which forgot to hit masks and replica layers with a generic traverse() function, which
is then used for setting 'inWindow' as well as resetting tracked repaints.

Tests: compositing/tiling/tiled-mask-inwindow.html
       compositing/tiling/tiled-reflection-inwindow.html

* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::layerWithDocumentOverlays):
(WebCore::PageOverlayController::layerWithViewOverlays):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setIsInWindow):
(WebCore::GraphicsLayer::setReplicatedByLayer):
(WebCore::GraphicsLayer::traverse):
(WebCore::GraphicsLayer::setIsInWindowIncludingDescendants): Deleted.
* platform/graphics/GraphicsLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::resetTrackedRepaintRects):
(WebCore::resetTrackedRepaintRectsRecursive): Deleted.

Tools:

Reparent the web view before we try to fetch it via:
    [[[window contentView] subviews] objectAtIndex:0];
which would throw an exception if the test unparented it.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
(runTest):

LayoutTests:

* compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
* compositing/tiling/tiled-mask-inwindow.html: Added.
* compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
* compositing/tiling/tiled-reflection-inwindow.html: Added.
* platform/ios-simulator-wk1/compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
* platform/ios-simulator-wk1/compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
* platform/ios-simulator-wk2/compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
* platform/ios-simulator-wk2/compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.
* platform/mac-wk1/compositing/tiling/tiled-mask-inwindow-expected.txt: Added.
* platform/mac-wk1/compositing/tiling/tiled-reflection-inwindow-expected.txt: Added.

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

4 years agoTiled layers are sometimes left with some tiles when outside the viewport
simon.fraser@apple.com [Fri, 10 Feb 2017 22:40:18 +0000 (22:40 +0000)]
Tiled layers are sometimes left with some tiles when outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=168104
Source/WebCore:

rdar://problem/30459055

Reviewed by Tim Horton.

When the coverage rect of a TiledBacking goes from a non-empty rect to an empty rect, we
shouldn't just early return from TileGrid::revalidateTiles(), otherwise we are left with some
tiles. Run through the function as normal, which will remove all the tiles for an empty coverage rect.

Minor logging changes.

Test: tiled-drawing/tile-coverage-iframe-to-zero-coverage.html

* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):

LayoutTests:

Reviewed by Tim Horton.

* tiled-drawing/tile-coverage-iframe-to-zero-coverage-expected.txt: Added.
* tiled-drawing/tile-coverage-iframe-to-zero-coverage.html: Added.

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

4 years agoMail hangs when removing multiple rows from large table.
zalan@apple.com [Fri, 10 Feb 2017 22:36:12 +0000 (22:36 +0000)]
Mail hangs when removing multiple rows from large table.
https://bugs.webkit.org/show_bug.cgi?id=168103
<rdar://problem/30090186>

Reviewed by Ryosuke Niwa.

PerformanceTests:

* DOM/large-table-edit.html: Added.

Source/WebCore:

DeleteSelectionCommand::removeNode doesn't actually destroy table structure items,
but instead it removes their content. In order to be able to continue editing the table after
the delete, we need to ensure that its cells' width and height are > 0. Currently we issue layout on
each table item recursively.
This patch delays the layout until after we've finished with the entire subtree delete (10x progression).

Performance test added.

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::insertBlockPlaceholderForTableCellIfNeeded):
(WebCore::DeleteSelectionCommand::removeNodeUpdatingStates):
(WebCore::shouldRemoveContentOnly):
(WebCore::DeleteSelectionCommand::removeNode):
* editing/DeleteSelectionCommand.h:

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

4 years ago[Resource Timing] Enable Resource Timing by default in Tests
joepeck@webkit.org [Fri, 10 Feb 2017 22:28:56 +0000 (22:28 +0000)]
[Resource Timing] Enable Resource Timing by default in Tests
https://bugs.webkit.org/show_bug.cgi?id=168145

Reviewed by Ryosuke Niwa.

Source/WebCore:

* loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::addResourceTiming):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setResourceTimingEnabled): Deleted.
* testing/InternalSettings.h:
* testing/InternalSettings.idl:
No longer needed for tests.

Source/WebKit/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences resourceTimingEnabled]):
(-[WebPreferences setResourceTimingEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setResourceTimingEnabled):
(WebPreferences::resourceTimingEnabled):
* WebPreferences.h:
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetResourceTimingEnabled):
(WKPreferencesGetResourceTimingEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

* fast/dom/Window/window-properties-performance-resource-timing.html:
* http/tests/misc/resource-timing-resolution.html:
* http/tests/performance/performance-resource-timing-cached-entries-expected.txt:
* http/tests/performance/performance-resource-timing-cached-entries.html:
* http/tests/performance/performance-resource-timing-entries-iterable.html:
* http/tests/performance/performance-resource-timing-entries.html:
* http/tests/performance/performance-resource-timing-initiator-css.html:
* http/tests/performance/performance-resource-timing-initiator-no-override.html:
* http/tests/performance/performance-resource-timing-xhr-single-entry.html:
* http/tests/preload/dynamic_remove_preload_href-expected.txt:
* http/tests/preload/dynamic_remove_preload_href.html:
* http/tests/preload/dynamic_removing_preload.html:
* http/tests/preload/not_evicting_preload_at_onload.html:
* http/tests/preload/single_download_preload-expected.txt:
* http/tests/preload/single_download_preload.html:
* resources/testharnessreport.js:
Eliminate the internals setResourceTimingEnabled way to toggle a runtime feature.

* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
* 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:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
Update results when ResourceTiming is enabled.

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

4 years ago[Cocoa] Add shouldChangeSelectedRange to WKWebProcessPlugInEditingDelegate
mitz@apple.com [Fri, 10 Feb 2017 22:16:19 +0000 (22:16 +0000)]
[Cocoa] Add shouldChangeSelectedRange to WKWebProcessPlugInEditingDelegate
https://bugs.webkit.org/show_bug.cgi?id=168097

Reviewed by Tim Horton.

Source/WebCore:

Added a userTriggered argument to FrameSelection::setSelectedRange so that WebKit2 can
indicate that changes should be agreed to by the delegate.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectedRange): If the change is user-triggered, check with
  shouldChangeSelection.
* editing/FrameSelection.h:

Source/WebKit2:

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h:
  Declared new delegate method.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): Dispatch new delegate
  method.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture): Pass UserTriggered whan calling
  WebCore::Frame::Selection::setSelectedRange, so that the delegate is consulted.
(WebKit::WebPage::changeBlockSelection): Ditto.
(WebKit::WebPage::updateSelectionWithTouches): Ditto.
(WebKit::WebPage::selectWithTwoTouches): Ditto.
(WebKit::WebPage::extendSelection): Ditto.
(WebKit::WebPage::selectWordBackward): Ditto,
(WebKit::WebPage::moveSelectionByOffset): Ditto.
(WebKit::WebPage::selectPositionAtPoint): Ditto.
(WebKit::WebPage::selectPositionAtBoundaryWithDirection): Ditto.
(WebKit::WebPage::moveSelectionAtBoundaryWithDirection): Ditto.
(WebKit::WebPage::selectTextWithGranularityAtPoint): Ditto.
(WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): Ditto.
(WebKit::WebPage::updateSelectionWithExtentPoint): Ditto.

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

4 years agoRemoving LayoutTestRelay
jbedard@apple.com [Fri, 10 Feb 2017 21:58:23 +0000 (21:58 +0000)]
Removing LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=165927

Reviewed by Daniel Bates.
Part 2

LayoutTestRelay uses SPI, since recent versions of the iOS SDK allow for installing apps on
simulators through simctl (iOS 10 and later), use this functionality instead.

Source/WebCore:

* platform/RuntimeApplicationChecks.mm:
(WebCore::IOSApplication::isDumpRenderTree): Update comment to reflect removal of LayoutTestRelay.

Tools:

* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct): Remove archiving of LayoutTestRelay as it is no longer being built.
Added a FIXME that we will need to implement similar archiving machinery once we build
ImageDiff for Mac when building WebKit for iOS. Currently ImageDiff is built with the iOS SDK.
* BuildSlaveSupport/kill-old-processes:
(main): Remove LayoutTestRelay from list of processes.
* LayoutTestRelay: Removed LayoutTestRelay.
* Makefile:
* Scripts/build-layouttestrelay: Removed.
* Scripts/build-webkit: Removed LayoutTestRelay references.

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

4 years agoUpdate LayoutTests/resources/testharness.js
cdumez@apple.com [Fri, 10 Feb 2017 21:51:44 +0000 (21:51 +0000)]
Update LayoutTests/resources/testharness.js
https://bugs.webkit.org/show_bug.cgi?id=168100

Reviewed by Youenn Fablet.

Update LayoutTests/resources/testharness.js to match the web-platform-tests
one landed in r211930.

* media/track/w3c/interfaces/HTMLTrackElement/srclang-expected.txt:
* media/track/w3c/interfaces/TextTrack/language-expected.txt:
* resources/testharness.js:
(SharedWorkerTestEnvironment):
(ServiceWorkerTestEnvironment):
(create_test_environment):
(promise_test):
(EventWatcher):
(is_node):
(format_value):
* streams/shadowing-Promise-expected.txt:
* streams/shadowing-Promise.html:
* streams/streams-public-array-api-expected.txt: Added.
* streams/streams-public-array-api.html: Added.

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

4 years agoStructureStubInfo::considerCaching() should write barrier its owner CodeBlock when...
mark.lam@apple.com [Fri, 10 Feb 2017 21:34:27 +0000 (21:34 +0000)]
StructureStubInfo::considerCaching() should write barrier its owner CodeBlock when buffering a new Structure.
https://bugs.webkit.org/show_bug.cgi?id=168137
<rdar://problem/28656664>

Reviewed by Filip Pizlo.

If we're adding a new structure to StructureStubInfo's bufferedStructures, we
should write barrier the StubInfo's owner CodeBlock because that structure may be
collected during the next GC.  Write barrier-ing the owner CodeBlock ensures that
CodeBlock::finalizeBaselineJITInlineCaches() is called on it during the GC,
which, in turn, gives the StructureStubInfo the opportunity to filter out the
dead structure.

* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
* jit/JITOperations.cpp:

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

4 years agoFix iOS libwebrtc build after r212127
achristensen@apple.com [Fri, 10 Feb 2017 21:31:28 +0000 (21:31 +0000)]
Fix iOS libwebrtc build after r212127
https://bugs.webkit.org/show_bug.cgi?id=168134

* Configurations/libwebrtc.xcconfig:
* libwebrtc.xcodeproj/project.pbxproj:
I got a little carried away removing ObjC sources.
We still need RTCLogging.mm and RTCUIApplication.mm on iOS.
Also sorted the project file.

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

4 years ago[WebRTC] Implement Outgoing libwebrtc audio source support
commit-queue@webkit.org [Fri, 10 Feb 2017 21:29:32 +0000 (21:29 +0000)]
[WebRTC] Implement Outgoing libwebrtc audio source support
https://bugs.webkit.org/show_bug.cgi?id=168118

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-10
Reviewed by Eric Carlson.

No new automated tests as we need the audio rendering to work to test the whole loop.

Using an AudioSampleDataSource to convert the captured data to libwebrtc expected format.
Capturing and pushing data happens in the capture thread.
Pulling of converted data happens in libwebrtc thread.

Introducing LibWebRTCAudioFormat.h to centralize libwbebrtc expected audio format.

* WebCore.xcodeproj/project.pbxproj:
* platform/audio/WebAudioBufferList.cpp:
(WebCore::WebAudioBufferList::WebAudioBufferList): Missing initialization leads to assertion failure.
* platform/audio/mac/AudioSampleBufferList.cpp:
(WebCore::AudioSampleBufferList::copyFrom): In case of interleaved channels, there is one buffer but two channels.
* platform/audio/mac/AudioSampleDataSource.cpp:
(WebCore::AudioSampleDataSource::pushSamples):
(WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
* platform/audio/mac/AudioSampleDataSource.h:
* platform/mediastream/libwebrtc/LibWebRTCAudioFormat.h: Added.
* platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:
(WebCore::libwebrtcAudioFormat):
(WebCore::RealtimeOutgoingAudioSource::RealtimeOutgoingAudioSource):
(WebCore::RealtimeOutgoingAudioSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSource::pullAudioData):
* platform/mediastream/mac/RealtimeOutgoingAudioSource.h:

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

4 years agocleanup WebLocalizableStrings.
aakash_jain@apple.com [Fri, 10 Feb 2017 21:24:43 +0000 (21:24 +0000)]
cleanup WebLocalizableStrings.
https://bugs.webkit.org/show_bug.cgi?id=168078

Reviewed by Alexey Proskuryakov.

* Misc/WebLocalizableStrings.h: Make visibility hidden for WebLocalizableStringsBundle
as it's for each framework's own consumption, and never needs to be exported.

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

4 years agoREGRESSION (r211829): Web Inspector: Elements tab is blank when added after page...
mattbaker@apple.com [Fri, 10 Feb 2017 21:17:37 +0000 (21:17 +0000)]
REGRESSION (r211829): Web Inspector: Elements tab is blank when added after page load
https://bugs.webkit.org/show_bug.cgi?id=168142

Reviewed by Brian Burg.

The Elements tab can be shown in two ways: by adding the Elements tab
from the "New Tab" tab, or via Inspect Element. In both cases we should
be checking that the ContentView exists, and create it if needed.

* UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView.prototype.showRepresentedObject):
(WebInspector.ElementsTabContentView.prototype.shown):

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

4 years agoSkip some very slow WebCryptoAPI tests.
ryanhaddad@apple.com [Fri, 10 Feb 2017 21:15:57 +0000 (21:15 +0000)]
Skip some very slow WebCryptoAPI tests.

Unreviewed test gardening.

* TestExpectations:

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

4 years agoHTMLConstructionSiteTask::Insert should never be called on a node with a parent
rniwa@webkit.org [Fri, 10 Feb 2017 21:15:51 +0000 (21:15 +0000)]
HTMLConstructionSiteTask::Insert should never be called on a node with a parent
https://bugs.webkit.org/show_bug.cgi?id=168099

Reviewed by Sam Weinig.

insertAlreadyParsedChild always use HTMLConstructionSiteTask::InsertAlreadyParsedChild instead
of using HTMLConstructionSiteTask::Insert when fostering a child.

Also combine the step to take all children and re-parenting into a single task instead of
separately issuing TakeAllChildren and Reparent tasks.

No new tests since this is a refactoring.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::insert): Now asserts that the child node never have a parent.
(WebCore::executeInsertAlreadyParsedChildTask): Moved the code to remove the parent here.
(WebCore::executeTakeAllChildrenAndReparentTask): Renamed from executeTakeAllChildrenTask
now that this function also does the reparenting.
(WebCore::executeTask):
(WebCore::HTMLConstructionSite::reparent): Removed the variant only used with takeAllChildren.
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Always use InsertAlreadyParsedChild
instead of calling fosterParent which uses Insert when fostering parents.
(WebCore::HTMLConstructionSite::takeAllChildrenAndReparent): Renamed from takeAllChildren.
* html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSiteTask:Operation):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

4 years agoFix misleading comment in RunLoop.h
commit-queue@webkit.org [Fri, 10 Feb 2017 21:08:32 +0000 (21:08 +0000)]
Fix misleading comment in RunLoop.h
https://bugs.webkit.org/show_bug.cgi?id=167832

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-10
Reviewed by Sam Weinig.

* wtf/RunLoop.h:
Mac initialization used to force using CFRunLoopGetMain(). Now however it just
uses RunLoop::current which uses CFRunLoopGetCurrent(). So this comment that
it can be done on any thread is misleading and can lead to incorrect behavior
if it is actually done on a non-main thread on Mac.

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

4 years ago[WebCrypto] Remove imported/w3c/WebCryptoAPI tests
jiewen_tan@apple.com [Fri, 10 Feb 2017 20:59:40 +0000 (20:59 +0000)]
[WebCrypto] Remove imported/w3c/WebCryptoAPI tests
https://bugs.webkit.org/show_bug.cgi?id=168064

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* WebCryptoAPI/OWNERS: Removed.
* WebCryptoAPI/README.md: Removed.
* WebCryptoAPI/WebCryptoAPI.idl: Removed.
* WebCryptoAPI/digest/digest.js: Removed.
* WebCryptoAPI/digest/digest.worker.js: Removed.
* WebCryptoAPI/digest/test_digest-expected.txt: Removed.
* WebCryptoAPI/digest/test_digest.html: Removed.
* WebCryptoAPI/digest/w3c-import.log: Removed.
* WebCryptoAPI/encrypt_decrypt/aes.js: Removed.
* WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Removed.
* WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Removed.
* WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Removed.
* WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Removed.
* WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Removed.
* WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Removed.
* WebCryptoAPI/encrypt_decrypt/rsa.js: Removed.
* WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Removed.
* WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Removed.
* WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Removed.
* WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Removed.
* WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Removed.
* WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Removed.
* WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Removed.
* WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Removed.
* WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Removed.
* WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Removed.
* WebCryptoAPI/encrypt_decrypt/w3c-import.log: Removed.
* WebCryptoAPI/generateKey/failures.js: Removed.
* WebCryptoAPI/generateKey/failures.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_ECDH.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_HMAC.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Removed.
* WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Removed.
* WebCryptoAPI/generateKey/successes.js: Removed.
* WebCryptoAPI/generateKey/successes.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_ECDH.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_HMAC.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Removed.
* WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Removed.
* WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_aes-cbc.html: Removed.
* WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_aes-ctr.html: Removed.
* WebCryptoAPI/generateKey/test_failures-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures.html: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_AES-KW.html: Removed.
* WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_ECDH.html: Removed.
* WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_ECDSA.html: Removed.
* WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_HMAC.html: Removed.
* WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Removed.
* WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Removed.
* WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Removed.
* WebCryptoAPI/generateKey/test_successes-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes.html: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_AES-KW.html: Removed.
* WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_ECDH.html: Removed.
* WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_ECDSA.html: Removed.
* WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_HMAC.html: Removed.
* WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Removed.
* WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Removed.
* WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Removed.
* WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Removed.
* WebCryptoAPI/generateKey/w3c-import.log: Removed.
* WebCryptoAPI/getRandomValues.js: Removed.
* WebCryptoAPI/getRandomValues.worker.js: Removed.
* WebCryptoAPI/idlharness-expected.txt: Removed.
* WebCryptoAPI/idlharness.html: Removed.
* WebCryptoAPI/idlharness.worker.js: Removed.
* WebCryptoAPI/test_getRandomValues-expected.txt: Removed.
* WebCryptoAPI/test_getRandomValues.html: Removed.
* WebCryptoAPI/tools/generate.py: Removed.
* WebCryptoAPI/tools/w3c-import.log: Removed.
* WebCryptoAPI/util/helpers.js: Removed.
* WebCryptoAPI/util/w3c-import.log: Removed.
* WebCryptoAPI/w3c-import.log: Removed.

LayoutTests:

* TestExpectations:
Remove test expectations of imported/w3c/WebCryptoAPI tests.

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

4 years agoRemove platform expectations without tests
commit-queue@webkit.org [Fri, 10 Feb 2017 20:51:00 +0000 (20:51 +0000)]
Remove platform expectations without tests
https://bugs.webkit.org/show_bug.cgi?id=168139

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-10
Reviewed by Sam Weinig.

* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object-expected.txt: Removed.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Removed.

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

4 years agofast/forms/formsubmission-appendFormData-crash.html times out on WebKit1
cdumez@apple.com [Fri, 10 Feb 2017 20:45:00 +0000 (20:45 +0000)]
fast/forms/formsubmission-appendFormData-crash.html times out on WebKit1
https://bugs.webkit.org/show_bug.cgi?id=168133

Reviewed by Brent Fulgham.

Call testRunner.notifyDone() synchronously instead of doing it in a
setTimeout(). The test no longer times out on WK1 and still reproduces
the original bug.

* fast/forms/formsubmission-appendFormData-crash.html:

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

4 years ago[WebCrypto] Add WebCryptoAPI to watchlist
jiewen_tan@apple.com [Fri, 10 Feb 2017 20:39:54 +0000 (20:39 +0000)]
[WebCrypto] Add WebCryptoAPI to watchlist
https://bugs.webkit.org/show_bug.cgi?id=168138

Reviewed by Youenn Fablet.

* Scripts/webkitpy/common/config/watchlist:

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

4 years agoReplace all WebKit Library Version checks in WK2 with SDK version checks.
beidson@apple.com [Fri, 10 Feb 2017 20:38:35 +0000 (20:38 +0000)]
Replace all WebKit Library Version checks in WK2 with SDK version checks.
https://bugs.webkit.org/show_bug.cgi?id=168124

Reviewed by Geoffrey Garen.

Source/WebKit2:

This change gets rid of WebKit Library Version checks and replaces them with SDK version checks.

To allow our tools to still be able to test new behaviors even when built against older SDKs,
it also opts them into an SPI default to have "linkedOnOrAfter()" always return true.

* Shared/Cocoa/CompletionHandlerCallChecker.mm:
(WebKit::shouldThrowExceptionForDuplicateCompletionHandlerCall):

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):

* UIProcess/Cocoa/VersionChecks.h:
(WebKit::linkedOnOrAfter): Deleted.
* UIProcess/Cocoa/VersionChecks.mm:
(WebKit::linkedOnOrAfter):

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::isNetworkCacheEnabled):

Tools:

For each of our tools that use WebKit2, opt them in to the new linkedOnOrAfter(Everything) setting.

* MiniBrowser/mac/main.m:
(main):
* MobileMiniBrowser/MobileMiniBrowser/main.m:
(main):
* TestWebKitAPI/ios/mainIOS.mm:
(main):
* TestWebKitAPI/mac/mainMac.mm:
(main):
* WebKitTestRunner/ios/mainIOS.mm:
(main):
* WebKitTestRunner/mac/main.mm:
(setDefaultsToConsistentValuesForTesting):

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

4 years agoLayoutTest workers/sab/postMessage-clones.html is a flaky failure
fpizlo@apple.com [Fri, 10 Feb 2017 20:34:15 +0000 (20:34 +0000)]
LayoutTest workers/sab/postMessage-clones.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168129

Unreviewed, make this test more deterministic.

* workers/sab/postMessage-clones.html:

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

4 years ago[CSS Parser] Make intercap property values serialize correctly
hyatt@apple.com [Fri, 10 Feb 2017 20:26:30 +0000 (20:26 +0000)]
[CSS Parser] Make intercap property values serialize correctly
https://bugs.webkit.org/show_bug.cgi?id=168073

Reviewed by Zalan Bujtas.

Source/WebCore:

Fix CSS value keywords to preserve case when the value contains capital
letters. Examples include optimizeSpeed, translateX, scaleY, etc.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator TextRenderingMode):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):
* css/MediaQueryEvaluator.cpp:
(WebCore::colorGamutEvaluate):
* css/SVGCSSValueKeywords.in:
* css/TransformFunctions.cpp:
(WebCore::transformOperationType):
(WebCore::transformsForValue):
* css/makevalues.pl:
* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::parseTransformTranslateArguments):
(WebCore::parseSimpleTransformValue):
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTransformValue):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):

LayoutTests:

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/image-rendering-parsing-expected.txt:
* fast/css/parsing-text-rendering-expected.txt:
* fast/css/resources/parsing-text-rendering.js:
* fast/css/script-tests/image-rendering-parsing.js:
* svg/css/getComputedStyle-basic-expected.txt:
* svg/css/script-tests/shape-rendering-parsing.js:
* svg/css/shape-rendering-parsing-expected.txt:
* transforms/2d/transform-value-types-expected.txt:
* transforms/2d/transform-value-types.html:

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

4 years agoFix iOS libwebrtc build after r212127
achristensen@apple.com [Fri, 10 Feb 2017 19:52:57 +0000 (19:52 +0000)]
Fix iOS libwebrtc build after r212127
https://bugs.webkit.org/show_bug.cgi?id=168134

* libwebrtc.xcodeproj/project.pbxproj:
I got a little carried away removing -fobjc-arc.  These files need it.
It was originally added in r211902 and these files are in the
EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] list in libwebrtc.xcconfig
so adding this flag won't break the 32-bit El Capitan build.

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

4 years agoBeef up the ARES-6 explainer text
fpizlo@apple.com [Fri, 10 Feb 2017 19:49:55 +0000 (19:49 +0000)]
Beef up the ARES-6 explainer text
https://bugs.webkit.org/show_bug.cgi?id=167867

Reviewed by Saam Barati.

Added appropriate links.

Added text that explains the subscores.

* ARES-6/index.html:

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

4 years agoWebResourceLoadDelegatePrivate.h cannot be imported standalone
aakash_jain@apple.com [Fri, 10 Feb 2017 19:26:36 +0000 (19:26 +0000)]
WebResourceLoadDelegatePrivate.h cannot be imported standalone
https://bugs.webkit.org/show_bug.cgi?id=168096

Reviewed by Alexey Proskuryakov.

* WebView/WebResourceLoadDelegatePrivate.h: Change WebNSInteger to NSInteger.

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

4 years agoRemove unnecessary automatic reference counting in libwebrtc
achristensen@apple.com [Fri, 10 Feb 2017 19:16:59 +0000 (19:16 +0000)]
Remove unnecessary automatic reference counting in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=168134

Reviewed by Youenn Fablet.

* libwebrtc.xcodeproj/project.pbxproj:

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

4 years ago[WebRTC] Activate libwebrtc G711/G722 audio codecs
commit-queue@webkit.org [Fri, 10 Feb 2017 19:03:56 +0000 (19:03 +0000)]
[WebRTC] Activate libwebrtc G711/G722 audio codecs
https://bugs.webkit.org/show_bug.cgi?id=168123

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-10
Reviewed by Alex Christensen.

Adding G711/G722 missing codec files.
Activating use of these in the build system.

* Configurations/libwebrtc.xcconfig:
* Source/webrtc/modules/audio_coding/codecs/g711/g711.c: Added.
(ulaw_to_alaw):
* Source/webrtc/modules/audio_coding/codecs/g711/g711.h: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.cc: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/audio_encoder_g722.cc: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/audio_encoder_g722.h: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/g722_decode.c: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/g722_enc_dec.h: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/g722_encode.c: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/g722_interface.c: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/g722_interface.h: Added.
* Source/webrtc/modules/audio_coding/codecs/g722/test/testG722.cc: Added.
* libwebrtc.xcodeproj/project.pbxproj:

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

4 years ago[WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
jiewen_tan@apple.com [Fri, 10 Feb 2017 18:21:16 +0000 (18:21 +0000)]
[WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
https://bugs.webkit.org/show_bug.cgi?id=165723

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/WebCryptoAPI/OWNERS: Added.
* web-platform-tests/WebCryptoAPI/README.md: Added.
* web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.js: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.worker.html: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.worker.js: Added.
* web-platform-tests/WebCryptoAPI/digest/test_digest-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/digest/test_digest.html: Added.
* web-platform-tests/WebCryptoAPI/digest/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.js: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.worker.html: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.worker.js: Added.
* web-platform-tests/WebCryptoAPI/idlharness-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/idlharness.html: Added.
* web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/idlharness.worker.html: Added.
* web-platform-tests/WebCryptoAPI/idlharness.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/test_getRandomValues-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/test_getRandomValues.html: Added.
* web-platform-tests/WebCryptoAPI/tools/generate.py: Added.
* web-platform-tests/WebCryptoAPI/tools/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/util/helpers.js: Added.
* web-platform-tests/WebCryptoAPI/util/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.js: Added.

LayoutTests:

* TestExpectations:
Skip superset/unsupported tests and mark slow tests as Slow.
* tests-options.json:

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

4 years agoMark compositing/masks/solid-color-masked.html as failing on ios-simulator.
ryanhaddad@apple.com [Fri, 10 Feb 2017 18:01:38 +0000 (18:01 +0000)]
Mark compositing/masks/solid-color-masked.html as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=168054

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoAdd platform specific expected.txt file for fast/text/mark-matches-overflow-clip...
ryanhaddad@apple.com [Fri, 10 Feb 2017 17:44:36 +0000 (17:44 +0000)]
Add platform specific expected.txt  file for fast/text/mark-matches-overflow-clip.html after r212113.

Unreviewed test gardening.

* fast/text/mark-matches-overflow-clip-expected.txt:
* platform/gtk/fast/text/mark-matches-overflow-clip-expected.txt: Copied from LayoutTests/fast/text/mark-matches-overflow-clip-expected.txt.

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

4 years ago[Cocoa] Web Inspector: generate an NS_ENUM containing platforms supported by the...
bburg@apple.com [Fri, 10 Feb 2017 17:29:36 +0000 (17:29 +0000)]
[Cocoa] Web Inspector: generate an NS_ENUM containing platforms supported by the protocol code generator
https://bugs.webkit.org/show_bug.cgi?id=168019
<rdar://problem/28718990>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

It's useful to have an symbolic value (not a string) for each of the supported platform values.
Generate this once per protocol for the Objective-C bindings. Covered by existing tests.

* inspector/scripts/codegen/generate_objc_header.py:
(ObjCHeaderGenerator.generate_output):
(ObjCHeaderGenerator._generate_enum_for_platforms):
Create an NS_ENUM for Platform values in Platforms.

* inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:
(ObjCProtocolTypeConversionsHeaderGenerator.generate_output):
(ObjCProtocolTypeConversionsHeaderGenerator._generate_enum_conversion_for_platforms):
Add type conversion/parsing methods for the newly added enum.

* inspector/scripts/codegen/generator.py:
(Generator.stylized_name_for_enum_value):
(Generator.stylized_name_for_enum_value.replaceCallback):
Support arbitrary special-cased substrings in enums, not just all-caps. Add 'IOS' and 'MacOS'.

* inspector/scripts/codegen/models.py:
(Platforms):
Use lower-case string values for platform names, to avoid guesswork.

(Platforms.__metaclass__):
(Platforms.__metaclass__.__iter__):
Make it possible to iterate over Platform instances of Platforms.

* inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result:
* inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result:
* inspector/scripts/tests/generic/expected/domain-availability.json-result:
* inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/generic/expected/enum-values.json-result:
* inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
* inspector/scripts/tests/generic/expected/worker-supported-domains.json-result:
* inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result:
* inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result:
Rebaseline results.

Source/WebKit2:

* UIProcess/Automation/Automation.json: Fix the platform values to be lowercase.

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

4 years agoWeb Automation: fail gracefully when a screenshot cannot be encoded as base64
bburg@apple.com [Fri, 10 Feb 2017 17:25:36 +0000 (17:25 +0000)]
Web Automation: fail gracefully when a screenshot cannot be encoded as base64
https://bugs.webkit.org/show_bug.cgi?id=168095
<rdar://problem/30297427>

Reviewed by Joseph Pecoraro.

Convert platformGetBase64EncodedPNGData to return a std::optional<String>.
Return nullopt if we can't create a screenshot or convert it to base64.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::didTakeScreenshot):
(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):
* UIProcess/Automation/WebAutomationSession.h:
* UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm:
(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):

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

4 years agoFix El Capitan build.
achristensen@apple.com [Fri, 10 Feb 2017 16:50:57 +0000 (16:50 +0000)]
Fix El Capitan build.

* Scripts/build-webkit:
Don't build libwebrtc anywhere for now.

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

4 years agoUnreviewed GTK+ gardening. Rebaseline several fast/text/ tests.
carlosgc@webkit.org [Fri, 10 Feb 2017 14:32:59 +0000 (14:32 +0000)]
Unreviewed GTK+ gardening. Rebaseline several fast/text/ tests.

* fast/text/mark-matches-overflow-clip-expected.txt:
* platform/gtk/fast/text/crash-complex-text-surrogate-expected.txt:
* platform/gtk/fast/text/hyphenate-first-word-expected.png:
* platform/gtk/fast/text/hyphenate-first-word-expected.txt:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
* platform/gtk/fast/text/hyphens-expected.png:
* platform/gtk/fast/text/hyphens-expected.txt:
* platform/gtk/fast/text/international/text-combine-image-test-expected.png:
* platform/gtk/fast/text/international/text-combine-image-test-expected.txt:
* platform/gtk/fast/text/international/thai-line-breaks-expected.png:
* platform/gtk/fast/text/international/thai-line-breaks-expected.txt:
* platform/gtk/fast/text/orientation-sideways-expected.png:
* platform/gtk/fast/text/orientation-sideways-expected.txt:
* platform/gtk/fast/text/whitespace/023-expected.txt:

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

4 years agoUnreviewed GTK+ gardening. Rebaseline fast/table/ tests.
carlosgc@webkit.org [Fri, 10 Feb 2017 13:57:16 +0000 (13:57 +0000)]
Unreviewed GTK+ gardening. Rebaseline fast/table/ tests.

* platform/gtk/fast/table/border-collapsing/004-vertical-expected.png:
* platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/gtk/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt:

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

4 years agoUnreviewed GTK+ gardening. Update expectations of CSS shapes duplicated tests.
carlosgc@webkit.org [Fri, 10 Feb 2017 10:51:20 +0000 (10:51 +0000)]
Unreviewed GTK+ gardening. Update expectations of CSS shapes duplicated tests.

* platform/gtk/TestExpectations:

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

4 years ago[EME] Implement MediaKeySession::load()
zandobersek@gmail.com [Fri, 10 Feb 2017 10:40:29 +0000 (10:40 +0000)]
[EME] Implement MediaKeySession::load()
https://bugs.webkit.org/show_bug.cgi?id=168041

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the MediaKeySession::load() method, tracing the steps as they
are defined in the EME specification. The only exception is step 8.3,
which requires additional facility that tracks currently open sessions
and provides information whether for a given session ID there's already
a MediaKeySession that's not yet been closed.

Session ID sanitization is done through the CDM::sanitizeSessionId()
method, which relays the task to the CDMPrivate implementation.

The CDMInstance::loadSession() virtual method is called with the session
type, sanitized ID, the Document's origin (in string form) and the
callback that's invoked upon completion of the task. The callback
checks whether the operation was successful, or examines the reason for
the load failure in case it wasn't, rejecting the promise in the latter
case either immediately or in the following task at the latest.

When the load was successful, the optional known keys, expiration time
and message are handled appropriately, and the promise is resolved.

MockCDM::sanitizeSessionId() implementation only treats
'valid-loaded-session' as a valid session ID.
MockCDMInstance::loadSession() implementation is kept slim for now, only
providing the 'license-renewal' message when invoking the passed-in
callback. Known keys and expiration time will also be tested once the
relevant MediaKeySession algorithms are implemented.

Test: media/encrypted-media/mock-MediaKeySession-load.html

* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::sanitizeSessionId):
* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMInstance.h:
* Modules/encryptedmedia/CDMPrivate.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::load):
* testing/MockCDMFactory.cpp:
(WebCore::MockCDM::sanitizeSessionId):
(WebCore::MockCDMInstance::loadSession):
* testing/MockCDMFactory.h:

LayoutTests:

Add the mock-MediaKeySession-load.html test, testing the basic behavior
of the MediaKeySession::load() implementation. Invalid session IDs and
session types are tested to ensure the returned promise is rejected.
A simplistic test case also tests that for a valid session ID and
session type, the basic MockCDM implementation correctly 'loads' the
specified session and provides the 'license-renewal' message in return.
More tests should be added as the EME implementation advances and the
MockCDM implementations improve to cover additional cases.

* media/encrypted-media/mock-MediaKeySession-load-expected.txt: Added.
* media/encrypted-media/mock-MediaKeySession-load.html: Added.
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:

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

4 years ago[EME] Implement MediaKeySession::sessionClosed()
zandobersek@gmail.com [Fri, 10 Feb 2017 10:31:57 +0000 (10:31 +0000)]
[EME] Implement MediaKeySession::sessionClosed()
https://bugs.webkit.org/show_bug.cgi?id=168039

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the 'session closed' algorithm for MediaKeySession by
following the specified steps. After this algorithm is run, the
session should be considered closed, which we track via the m_closed
member variable on the class. This is set to true before the promise
that's accessible through the 'closed' attribute is resolved.

Because the algorithm requires the CDM instance to store any record
of key usage when the session's type is 'persistent-usage-record', the
storeRecordOfKeyUsage() virtual method is added to the CDMInstance
interface. MockCDMInstance implementation is left unimplemented for now.

JSMediaKeySession::closed() accessor now has a custom implementation
that creates a deferred promise for that object if there's none yet, and
shares it with the wrapped class through the registerClosedPromise()
method, storing a reference to the promise in the m_closedPromise
member variable, or resolving the promise immediately if the session was
already closed.

Test cases added to media/encrypted-media/mock-MediaKeySession-close.html.

* Modules/encryptedmedia/CDMInstance.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::registerClosedPromise):
(WebCore::MediaKeySession::sessionClosed):
* Modules/encryptedmedia/MediaKeySession.h:
* bindings/js/JSMediaKeySessionCustom.cpp:
(WebCore::JSMediaKeySession::closed):
* testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstance::storeRecordOfKeyUsage):
* testing/MockCDMFactory.h:

LayoutTests:

Enhance the mock-MediaKeySession-close.html test by adding test cases
covering the dispatch of the promise that's accessible through the
'closed' attribute and covering the session closure status, making
sure that various operations properly resolve or reject after the
session object was closed.

* media/encrypted-media/mock-MediaKeySession-close-expected.txt:
* media/encrypted-media/mock-MediaKeySession-close.html:

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

4 years agoMove two MiniBrowserBundle settings out of the .pbxproj
aestes@apple.com [Fri, 10 Feb 2017 10:28:59 +0000 (10:28 +0000)]
Move two MiniBrowserBundle settings out of the .pbxproj
https://bugs.webkit.org/show_bug.cgi?id=168106

Reviewed by Tim Horton.

INFOPLIST_FILE was specified in MiniBrowserBundle.xcconfig but overridden to "" in
the project file. This removes the project file override.

WRAPPER_EXTENSION was moved from the project file to MiniBrowserBundle.xcconfig.

* MiniBrowser/Configurations/MiniBrowserBundle.xcconfig:
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:

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

4 years ago[EME] Implement MediaKeySession::updateKeyStatuses(), MediaKeyStatusMap
zandobersek@gmail.com [Fri, 10 Feb 2017 10:22:50 +0000 (10:22 +0000)]
[EME] Implement MediaKeySession::updateKeyStatuses(), MediaKeyStatusMap
https://bugs.webkit.org/show_bug.cgi?id=167888

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement MediaKeySession::updateKeyStatuses(), transforming the passed-in
KeyStatusVector into a Vector mapping the key IDs to MediaKeyStatus values.
A keystatuseschange event is fired on the MediaKeySession object afterwards.
The queueing of the task that runs the 'attemp to resume playback' on the
related HTMLMediaElement objects isn't done yet since that algorithm isn't
implemented yet.

The statuses Vector is stored on the MediaKeySession object. That Vector is
then exposed through the MediaKeyStatusMap object, each such object being
unique to one MediaKeySession object. The implementation of MediaKeyStatusMap
thus keeps a reference to the session object as long as that object is alive,
and queries the MediaKeySession::statuses() getter to access the Vector that
contains status information for all the key IDs.

MediaKeyStatusMap::Iterator object keeps a reference to the MediaKeyStatusMap
object and accesses the statuses by indexing into the status Vector of the
related MediaKeySession object.

CDMInstance::updateLicense() now accepts the session ID string as the first
argument, making it possible to specify which session should be updated.

MockCDMFactory::keysForSessionWithID() returns an optional reference to the
Vector value in the session map that lists all the key IDs that are being
stored for that session.

MockCDMInstance::updateLicense() now detects the 'keys-changed' entry in the
passed-in response data, and upon detecting that constructs a KeyStatusVector
object containing all the keys for that session. KeyStatus::Usable is returned
for each object at the moment, but this should be adjustable in the future
through additional parameters passed through the response data. The Vector
object is then passed to the callback and is then passed to the 'update key
statuses' algorithm in MediaKeySession.

Covered by a test case in media/encrypted-media/mock-MediaKeySession-update.html.

* Modules/encryptedmedia/CDMInstance.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::~MediaKeySession):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::updateKeyStatuses):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeyStatusMap.cpp:
(WebCore::MediaKeyStatusMap::MediaKeyStatusMap):
(WebCore::MediaKeyStatusMap::detachSession):
(WebCore::MediaKeyStatusMap::size):
(WebCore::keyIdsMatch):
(WebCore::MediaKeyStatusMap::has):
(WebCore::MediaKeyStatusMap::get):
(WebCore::MediaKeyStatusMap::Iterator::Iterator):
(WebCore::MediaKeyStatusMap::Iterator::next):
* Modules/encryptedmedia/MediaKeyStatusMap.h:
(WebCore::MediaKeyStatusMap::create):
* Modules/encryptedmedia/MediaKeyStatusMap.idl:
* testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::keysForSessionWithID):
(WebCore::MockCDMInstance::updateLicense):
* testing/MockCDMFactory.h:

LayoutTests:

Add another test case to the mock-MediaKeySession-update.html test that
ensures the keystatuseschange event is fired on the MediaKeySession object
and that the status of the keys is properly reported through the
MediaKeyStatusMap object associated with this MediaKeySession.

* media/encrypted-media/mock-MediaKeySession-update-expected.txt:
* media/encrypted-media/mock-MediaKeySession-update.html:

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