WebKit-https.git
16 months agoLayout Test svg/dom/animated-tearoff-list-remove-target.html is a flaky timeout
commit-queue@webkit.org [Tue, 12 Jun 2018 00:11:02 +0000 (00:11 +0000)]
Layout Test svg/dom/animated-tearoff-list-remove-target.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=185698
<rdar://problem/40341200>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-06-11
Reviewed by Daniel Bates.

The test is flaky because we get the animVal.getItem(0) of the 'x' attribute
from the target element without initializing this attribute with a base value.

The test assumes the animator would set the animVal of the 'x' attribute
from the 'from' attribute of the <animate> element before animVal.getItem(0)
is executed. But this may not always happen. Therefore the test will get
the 'IndexSizeError' exception and it will time out.

The fix is:
-- Initialize the attribute of the target element by a base value.
-- Use requestAnimationFrame() instead of using setTimeout() to make the
   test deterministic.
-- Allow the animation to advance one more step after kicking off the GC
   to ensure the variable 'animItem' is detached from animVal.getItem(0).

* svg/dom/animated-tearoff-list-remove-target.html:

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

16 months agoUnreviewed gardening; add a late endTest(), in case none of the other events fire...
jer.noble@apple.com [Mon, 11 Jun 2018 23:14:12 +0000 (23:14 +0000)]
Unreviewed gardening; add a late endTest(), in case none of the other events fire in time.

* media/track/track-delete-during-setup.html:

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

16 months agoAdd logging around internalError(const URL&)
krollin@apple.com [Mon, 11 Jun 2018 22:52:24 +0000 (22:52 +0000)]
Add logging around internalError(const URL&)
https://bugs.webkit.org/show_bug.cgi?id=186369
<rdar://problem/40872046>

Reviewed by Brent Fulgham.

There are times when we receive bug reports where the user says that
they are simply shown a page saying an internal error occurred. To
help understand the circumstances of that error, add some logging to
internalError() in WebErrors.cpp. This logging logs at the Error level
that internalError() was called and then logs a backtrace.

Source/WebKit:

* Shared/WebErrors.cpp:
(WebKit::internalError):

Source/WTF:

* wtf/Assertions.cpp:
* wtf/Assertions.h:

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

16 months agoAdd support for webkit-test-runner jscOptions in DumpRenderTree and WebKitTestRunner.
mark.lam@apple.com [Mon, 11 Jun 2018 22:15:05 +0000 (22:15 +0000)]
Add support for webkit-test-runner jscOptions in DumpRenderTree and WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=186451
<rdar://problem/40875792>

Reviewed by Tim Horton.

Source/JavaScriptCore:

Enhance setOptions() to be able to take a comma separated options string in
addition to white space separated options strings.

* runtime/Options.cpp:
(JSC::isSeparator):
(JSC::Options::setOptions):

Tools:

This jscOptions option can be used by a layout test to specify some JSC runtime
options needed by the test e.g. by adding something like this to the top of the
html file after the DOCTYPE tag:
    <!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true ] -->

If more than one option is needed, the options can be specified as a comma
separated string e.g.
    <!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true,--useZombieMode=true ] -->

This only works with JSC options that can be changed at runtime.  Not all JSC
options can be changed this way as some options are only checked and set once at
VM / process initialization time: changing this type of options may have no
effect.  It's the test writer's responsibility to determine which options are
appropriate for with this webkit-test-runner jscOptions option.

This implementation is a workaround until we can change the run-webkit-tests
scripts to parse the option and apply it to a new launch of DRT or WKTR:
https://bugs.webkit.org/show_bug.cgi?id=186452

* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
(TestOptions::webViewIsCompatibleWithOptions const):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setJSCOptions):
(resetWebViewToConsistentStateBeforeTesting):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):

LayoutTests:

* js/intl-numberformat-format-to-parts.html:
* js/intl-pluralrules.html:
* js/script-tests/intl-numberformat-format-to-parts.js:

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

16 months agoAdd a command line default to force WebKitTestRunner to turn on process swap on navig...
beidson@apple.com [Mon, 11 Jun 2018 21:29:44 +0000 (21:29 +0000)]
Add a command line default to force WebKitTestRunner to turn on process swap on navigation.
https://bugs.webkit.org/show_bug.cgi?id=186534

Reviewed by Chris Dumez.

Right now Process Swap On Navigation is enabled on a per-test basis.
The future is to enable it by default.

Adding a 'defaults write' helps us get to that future.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::testOptionsForTest const):
(WTR::TestController::platformAddTestOptions const):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformAddTestOptions const):

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

16 months agoLink drag image is inconsistently unreadable in dark mode
timothy_horton@apple.com [Mon, 11 Jun 2018 21:06:52 +0000 (21:06 +0000)]
Link drag image is inconsistently unreadable in dark mode
https://bugs.webkit.org/show_bug.cgi?id=186472

Reviewed by Timothy Hatcher.

Source/WebCore:

* platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink):
Use LocalDefaultSystemAppearance so that NSColors used inside
createDragImageForLink are interpreted correctly. This function
always follows the system appearance regardless of what the preference
is set to, because it's generating UI that isn't part of the page.

Use controlBackgroundColor to get a consistently contrasting background
for the link drag image.

Source/WebKit:

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::useDefaultAppearance):
Make defaultAppearance accurate even if useSystemAppearance is false.
Some parts of WebKit (like the link drag image, but also context menus)
want to be able to follow the system appearance regardless of whether
the view or content has opted in.

Source/WebKitLegacy/mac:

* WebView/WebView.mm:
(-[WebView _defaultAppearance]):
Make defaultAppearance accurate even if useSystemAppearance is false.
Some parts of WebKit (like the link drag image, but also context menus)
want to be able to follow the system appearance regardless of whether
the view or content has opted in.

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

16 months agohttp/tests/security/cors-post-redirect-307.html fails with PSON enabled
cdumez@apple.com [Mon, 11 Jun 2018 20:52:31 +0000 (20:52 +0000)]
http/tests/security/cors-post-redirect-307.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186441

Reviewed by Brady Eidson.

Source/WebCore:

When we are continuing a load in a new process, we currently bypass the navigation policy
check. We now also bypass the adding of headers such as the Origin one since the request
was already processed in the previous process. This is important because in the case of
a cross-origin redirect, the previous process has removed the Origin header from the
request and we do not want the new process to add it again.

Test: http/tests/security/cors-post-redirect-307-pson.html

* WebCore.xcodeproj/project.pbxproj:
* history/BackForwardController.cpp:
(WebCore::BackForwardController::goBackOrForward):
(WebCore::BackForwardController::goBack):
(WebCore::BackForwardController::goForward):
* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setShouldTreatAsContinuingLoad):
(WebCore::FrameLoadRequest::shouldTreatAsContinuingLoad const):
(WebCore::FrameLoadRequest::setShouldCheckNavigationPolicy): Deleted.
(WebCore::FrameLoadRequest::shouldCheckNavigationPolicy const): Deleted.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::loadItem):
(WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
* loader/FrameLoader.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::setDefersLoading):
(WebCore::HistoryController::recursiveGoToItem):
* loader/HistoryController.h:
* loader/ShouldTreatAsContinuingLoad.h: Renamed from Source/WebCore/loader/NavigationPolicyCheck.h.
* page/Page.cpp:
(WebCore::Page::goToItem):
* page/Page.h:

Source/WebKit:

Rename existing flag to something a bit more generic, now that it is used for
more things than bypassing the navigation policy check.

* Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
* Shared/LoadParameters.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcessForReload):
(WebKit::WebPageProxy::reattachToWebProcessWithItem):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadRequestWithNavigation):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::goToBackForwardItem):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

Rename existing flag to something a bit more generic, now that it is used for
more things than bypassing the navigation policy check.

* WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView goToBackForwardItem:]):

Source/WebKitLegacy/win:

Rename existing flag to something a bit more generic, now that it is used for
more things than bypassing the navigation policy check.

* WebView.cpp:
(WebView::goToBackForwardItem):
(WebView::loadBackForwardListFromOtherView):

LayoutTests:

Add layout test coverage.

* http/tests/security/cors-post-redirect-307-pson-expected.txt: Added.
* http/tests/security/cors-post-redirect-307-pson.html: Added.

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

16 months agoAllow enabling PSON in layout tests without window.open support
cdumez@apple.com [Mon, 11 Jun 2018 20:28:32 +0000 (20:28 +0000)]
Allow enabling PSON in layout tests without window.open support
https://bugs.webkit.org/show_bug.cgi?id=186537

Reviewed by Geoffrey Garen.

Tools:

Allow enabling PSON in layout tests without window.open support since window.open support
is far from being ready and we plan to enable PSON in layout tests soon.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):

LayoutTests:

Update layout test which requires window.open support in addition to PSON.

* http/tests/navigation/process-swap-window-open.html:

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

16 months agoAccept request header values should be more tightly checked after r232572 in case...
youenn@apple.com [Mon, 11 Jun 2018 20:18:07 +0000 (20:18 +0000)]
Accept request header values should be more tightly checked after r232572 in case of CORS load
https://bugs.webkit.org/show_bug.cgi?id=186533
<rdar://problem/40933880>

Reviewed by Darin Adler.

Source/WebCore:

Covered by updated test.

* platform/network/HTTPParsers.cpp:
(WebCore::isValidAcceptHeaderValue): Checking that Accept header value conforms with RFC7370.
If not, this will trigger preflighting for CORS cross origin loads.
Current checks for Accept-Language and Content-Language are sufficient to ensure values conform with RFC7370.

LayoutTests:

Added test to check Accept header value preflight.
Updated test to check that a preflight really happens if expected.

* http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight-expected.txt:
* http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight.html:
* http/tests/xmlhttprequest/resources/cors-preflight-safelisted-headers-responder.php:

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

16 months agoFollowup to [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
beidson@apple.com [Mon, 11 Jun 2018 19:55:42 +0000 (19:55 +0000)]
Followup to [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
https://bugs.webkit.org/show_bug.cgi?id=186436

Patch by Darin Adler
Reviewed by Brady Eidson.

* TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
(TestWebKitAPI::TEST):

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

16 months agoFix spelling.
antti@apple.com [Mon, 11 Jun 2018 19:35:04 +0000 (19:35 +0000)]
Fix spelling.

* http/tests/cache/disk-cache/disk-cache-media-small.html:

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

16 months agoGardening: skip BigInt tests on iOS until the feature is stable.
mark.lam@apple.com [Mon, 11 Jun 2018 19:23:56 +0000 (19:23 +0000)]
Gardening: skip BigInt tests on iOS until the feature is stable.
<rdar://problem/40331121>

Not reviewed.

* Scripts/run-jsc-stress-tests:

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

16 months agohttp/tests/navigation/https-in-page-cache.html fails with process swapping on.
beidson@apple.com [Mon, 11 Jun 2018 19:07:02 +0000 (19:07 +0000)]
http/tests/navigation/https-in-page-cache.html fails with process swapping on.
https://bugs.webkit.org/show_bug.cgi?id=186532

Reviewed by Geoffrey Garen.

* http/tests/navigation/resources/https-in-page-cache-1.php:
* http/tests/navigation/resources/https-in-page-cache-2.php:
* http/tests/navigation/resources/https-in-page-cache-3.html:

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

16 months ago[Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API
Hironori.Fujii@sony.com [Mon, 11 Jun 2018 18:59:21 +0000 (18:59 +0000)]
[Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API
https://bugs.webkit.org/show_bug.cgi?id=186478

Reviewed by Alex Christensen.

Added "New WebKit Window" and "New WebKitLegacy Window" menu
items. Disabled the menu item "New WebKit Window" if
!ENABLE(WEBKIT).

* MiniBrowser/win/CMakeLists.txt: Added WebKitBrowserWindow.cpp
source file and ENABLE_WEBKIT macro if ENABLE_WEBKIT.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::MainWindow):
(MainWindow::create):
(MainWindow::init):
(MainWindow::WndProc):
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/MiniBrowserLib.rc:
* MiniBrowser/win/MiniBrowserLibResource.h:
* MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest):
* MiniBrowser/win/WebKitBrowserWindow.cpp: Added.
(createString):
(toUtf8):
(createWKString):
(createWKURL):
(WebKitBrowserWindow::create):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::init):
(WebKitBrowserWindow::hwnd):
(WebKitBrowserWindow::loadURL):
(WebKitBrowserWindow::loadHTMLString):
(WebKitBrowserWindow::navigateForwardOrBackward):
(WebKitBrowserWindow::navigateToHistory):
(WebKitBrowserWindow::setPreference):
(WebKitBrowserWindow::print):
(WebKitBrowserWindow::launchInspector):
(WebKitBrowserWindow::setUserAgent):
(WebKitBrowserWindow::userAgent):
(WebKitBrowserWindow::showLayerTree):
(WebKitBrowserWindow::updateStatistics):
(WebKitBrowserWindow::resetZoom):
(WebKitBrowserWindow::zoomIn):
(WebKitBrowserWindow::zoomOut):
(toWebKitBrowserWindow):
(WebKitBrowserWindow::didReceiveTitleForFrame):
(WebKitBrowserWindow::didCommitLoadForFrame):
* MiniBrowser/win/WebKitBrowserWindow.h:
* MiniBrowser/win/WinMain.cpp:
(wWinMain):

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

16 months agoAX: [iOS] accessibility sometimes doesn't know process suspension is canceled
n_wang@apple.com [Mon, 11 Jun 2018 18:11:23 +0000 (18:11 +0000)]
AX: [iOS] accessibility sometimes doesn't know process suspension is canceled
https://bugs.webkit.org/show_bug.cgi?id=186450

Reviewed by Chris Fleizach.

There's some early return condition in WebProcess::cancelPrepareToSuspend() which
could lead to accessibility failing to post process status notificaiton. Fixed it
by moving the accessibility notification before the early return condition.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::cancelPrepareToSuspend):

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

16 months agoAdd missing whitespace to run-jsc command
keith_miller@apple.com [Mon, 11 Jun 2018 17:24:58 +0000 (17:24 +0000)]
Add missing whitespace to run-jsc command
https://bugs.webkit.org/show_bug.cgi?id=186528

Reviewed by Mark Lam.

* Scripts/run-jsc:

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

16 months agoCrash under com.apple.WebKit.Networking at WebCore: WebCore::NetworkStorageSession...
cdumez@apple.com [Mon, 11 Jun 2018 16:58:18 +0000 (16:58 +0000)]
Crash under com.apple.WebKit.Networking at WebCore: WebCore::NetworkStorageSession::hasStorageAccess const
https://bugs.webkit.org/show_bug.cgi?id=186433
<rdar://problem/40750907>

Reviewed by Geoffrey Garen.

Do some hardening in NetworkStorageSession::hasStorageAccess() to make sure
we do not try and do a HashMap lookup with a null firstPartyDomain, as this
would crash.

* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::hasStorageAccess const):

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

16 months agoJavaScriptCore: Disable 32-bit JIT on Windows
msaboff@apple.com [Mon, 11 Jun 2018 16:39:49 +0000 (16:39 +0000)]
JavaScriptCore: Disable 32-bit JIT on Windows
https://bugs.webkit.org/show_bug.cgi?id=185989

Reviewed by Mark Lam.

.:

* Source/cmake/OptionsWin.cmake:

Source/JavaScriptCore:

Fixed the CLOOP so it can work when COMPUTED_GOTOs are not supported.

* llint/LLIntData.h:
(JSC::LLInt::getCodePtr): Used a reinterpret_cast since Opcode could be an int.
* llint/LowLevelInterpreter.cpp: Changed the definition of OFFLINE_ASM_GLOBAL_LABEL to not
have a case label because these aren't opcodes.
* runtime/Options.cpp: Made assembler related Windows conditional code also conditional
on the JIT being enabled.
(JSC::recomputeDependentOptions):

Source/WTF:

Fixed the CLOOP so it can work when COMPUTED_GOTOs are not supported.

* wtf/Platform.h:

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

16 months agoTest js/regexp-zero-length-alternatives.html fails when RegExpJIT is disabled
msaboff@apple.com [Mon, 11 Jun 2018 16:32:21 +0000 (16:32 +0000)]
Test js/regexp-zero-length-alternatives.html fails when RegExpJIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=186477

Reviewed by Filip Pizlo.

Fixed bug where we were using the wrong frame size for TypeParenthesesSubpatternTerminalBegin
YARR interpreter nodes.  This caused us to overwrite other frame information.

Added frame offset debugging code to YARR interpreter.

* yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::emitDisjunction):
(JSC::Yarr::ByteCompiler::dumpDisjunction):

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

16 months agoREGRESSION (Mojave): LayoutTest http/tests/cache/disk-cache/disk-cache-media-small...
antti@apple.com [Mon, 11 Jun 2018 15:44:56 +0000 (15:44 +0000)]
REGRESSION (Mojave): LayoutTest http/tests/cache/disk-cache/disk-cache-media-small.html is failing
https://bugs.webkit.org/show_bug.cgi?id=186482
<rdar://problem/40924056>

Reviewed by Zalan Bujtas.

The test was sensitive to which exact ranges the system media framework would request.

* http/tests/cache/disk-cache/disk-cache-media-small-expected.txt:
* http/tests/cache/disk-cache/disk-cache-media-small.html:

Don't print out the ranges, just check they are all coming from the right source.

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

16 months ago[LFC] Remove redundant position functions for out-of-flow elements
zalan@apple.com [Mon, 11 Jun 2018 15:33:08 +0000 (15:33 +0000)]
[LFC] Remove redundant position functions for out-of-flow elements
https://bugs.webkit.org/show_bug.cgi?id=186525

Reviewed by Antti Koivisto.

Position is computed as part of the Horizontal/Vertical geometry computation.
(see outOfFlow(Non)ReplacedHorizontalGeometry/outOfFlow(Non)ReplacedVerticalGeometry functions)

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const): Deleted.
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::outOfFlowNonReplacedPosition): Deleted.
(WebCore::Layout::outOfFlowReplacedPosition): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowPosition): Deleted.

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

16 months ago[LFC] Merge top, bottom, height and vertical margin computation for out-of-flow repla...
zalan@apple.com [Mon, 11 Jun 2018 15:22:46 +0000 (15:22 +0000)]
[LFC] Merge top, bottom, height and vertical margin computation for out-of-flow replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186524

Reviewed by Antti Koivisto.

Implement https://www.w3.org/TR/CSS22/visudet.html#abs-replaced-height
(10.6.5 Absolutely positioned, replaced elements)

* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):

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

16 months ago[LFC] Merge left, right, width and horizontal margin computation for out-of-flow...
zalan@apple.com [Mon, 11 Jun 2018 14:48:48 +0000 (14:48 +0000)]
[LFC] Merge left, right, width and horizontal margin computation for out-of-flow replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186475

Reviewed by Antti Koivisto.

Implement https://www.w3.org/TR/CSS22/visudet.html#abs-replaced-width
(10.3.8 Absolutely positioned, replaced elements)

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidthAndMargin const): Deleted.
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidthAndMargin): Deleted.

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

16 months agoSome CSS animations tests are failing on Windows.
pvollan@apple.com [Mon, 11 Jun 2018 14:41:51 +0000 (14:41 +0000)]
Some CSS animations tests are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=186522

Unreviewed test gardening.

* platform/win/TestExpectations:

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

16 months ago[LFC] Merge left, right, width and horizontal margin computation for out-of-flow...
zalan@apple.com [Mon, 11 Jun 2018 14:37:08 +0000 (14:37 +0000)]
[LFC] Merge left, right, width and horizontal margin computation for out-of-flow non-replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186474

Reviewed by Antti Koivisto.

Implement https://www.w3.org/TR/CSS22/visudet.html#abs-non-replaced-width
(10.3.7 Absolutely positioned, non-replaced elements)

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidthAndMargin const): Deleted.
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidthAndMargin): Deleted.

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

16 months ago[webkitpy] PHP7.2 support on Debian platforms
philn@webkit.org [Mon, 11 Jun 2018 14:27:58 +0000 (14:27 +0000)]
[webkitpy] PHP7.2 support on Debian platforms
https://bugs.webkit.org/show_bug.cgi?id=186521

Reviewed by Michael Catanzaro.

Tools:

* Scripts/webkitpy/port/base.py:
(Port._debian_php_version): Refactor and add PHP 7.2 version support.

LayoutTests:

* http/conf/debian-httpd-2.4-php7.2.conf: Added.

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

16 months ago[LFC] Merge top, bottom, height and vertical margin computation for out-of-flow non...
zalan@apple.com [Mon, 11 Jun 2018 14:27:50 +0000 (14:27 +0000)]
[LFC] Merge top, bottom, height and vertical margin computation for out-of-flow non-replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186476

Reviewed by Antti Koivisto.

Implement https://www.w3.org/TR/CSS22/visudet.html#abs-non-replaced-height
(10.6.4 Absolutely positioned, non-replaced elements)

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const): Deleted.
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeightAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHeightAndMargin): Deleted.

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass...
graouts@webkit.org [Mon, 11 Jun 2018 10:13:20 +0000 (10:13 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183850

Unreviewed.

This test is now passing.

LayoutTests/imported/mozilla:

* css-transitions/test_setting-effect-expected.txt:

LayoutTests:

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-animations/test_setting-effect.html pass...
graouts@webkit.org [Mon, 11 Jun 2018 10:10:46 +0000 (10:10 +0000)]
[Web Animations] Make imported/mozilla/css-animations/test_setting-effect.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183849

Unreviewed.

This test is now passing.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-animations/test_cssanimation-animationname...
graouts@webkit.org [Mon, 11 Jun 2018 10:04:18 +0000 (10:04 +0000)]
[Web Animations] Make imported/mozilla/css-animations/test_cssanimation-animationname.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183838

Unreviewed.

This test is now passing.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_csstransition-transitionp...
graouts@webkit.org [Mon, 11 Jun 2018 09:58:38 +0000 (09:58 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_csstransition-transitionproperty.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183835

Unreviewed.

This test is now passing.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html...
graouts@webkit.org [Mon, 11 Jun 2018 09:56:47 +0000 (09:56 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183833

Unreviewed.

This test is now passing.

LayoutTests/imported/mozilla:

* css-transitions/test_animation-starttime-expected.txt:

LayoutTests:

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-animations/test_animation-reverse.html...
graouts@webkit.org [Mon, 11 Jun 2018 09:41:15 +0000 (09:41 +0000)]
[Web Animations] Make imported/mozilla/css-animations/test_animation-reverse.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183832

Unreviewed.

This test is now passing.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_animation-pausing.html...
graouts@webkit.org [Mon, 11 Jun 2018 09:37:36 +0000 (09:37 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_animation-pausing.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183829

Unreviewed.

This test is now passing.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_animation-finished.html...
graouts@webkit.org [Mon, 11 Jun 2018 09:34:45 +0000 (09:34 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_animation-finished.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183827

Unreviewed.

This test is now passing.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime...
graouts@webkit.org [Mon, 11 Jun 2018 09:32:25 +0000 (09:32 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183825

Unreviewed.

This test is now passing.

LayoutTests/imported/mozilla:

* css-transitions/test_animation-currenttime-expected.txt:

LayoutTests:

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-animations/test_animation-id.html pass...
graouts@webkit.org [Mon, 11 Jun 2018 09:28:55 +0000 (09:28 +0000)]
[Web Animations] Make imported/mozilla/css-animations/test_animation-id.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183824

Unreviewed.

This test has been passing reliably on the bots.

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing...
graouts@webkit.org [Mon, 11 Jun 2018 09:26:11 +0000 (09:26 +0000)]
[Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183823

Unreviewed.

This test is now passing.

LayoutTests/imported/mozilla:

* css-transitions/test_animation-computed-timing-expected.txt:

LayoutTests:

* TestExpectations:

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

16 months ago[Web Animations] Make imported/mozilla/css-animations/test_animation-finished.html...
graouts@webkit.org [Mon, 11 Jun 2018 09:22:04 +0000 (09:22 +0000)]
[Web Animations] Make imported/mozilla/css-animations/test_animation-finished.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=183822

Unreviewed.

This test has been passing reliably on the bots.

* TestExpectations:

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

16 months agoUnreviewed. Fix WPE API and layout tests after r232670.
carlosgc@webkit.org [Mon, 11 Jun 2018 08:13:05 +0000 (08:13 +0000)]
Unreviewed. Fix WPE API and layout tests after r232670.

Now that dyz is not installed, there's not -default.so symlink for the WPE backend, so we need to use
WPE_BACKEND_LIBRARY environment variable to ensure tests are run with fdo backend.

* Scripts/run-wpe-tests:
(WPETestRunner.__init__):
(WPETestRunner):
(WPETestRunner.setup_testing_environment):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
* glib/api_test_runner.py:
(TestRunner.setup_testing_environment):
(TestRunner.run_tests):
(TestRunner._setup_testing_environment): Deleted.

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

16 months ago[GTK][WPE] Add API run run javascript from a WebKitWebView in an isolated world
carlosgc@webkit.org [Mon, 11 Jun 2018 07:26:14 +0000 (07:26 +0000)]
[GTK][WPE] Add API run run javascript from a WebKitWebView in an isolated world
https://bugs.webkit.org/show_bug.cgi?id=186192

Reviewed by Michael Catanzaro.

Source/WebCore:

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld): Add ExceptionDetails parameter.
* bindings/js/ScriptController.h:

Source/WebKit:

Add webkit_web_view_run_javascript_in_world() that receives a world name. Also add
webkit_script_world_new_with_name() to create an isolated world with a name and webkit_script_world_get_name()
to get the name of a WebKitScriptWorld.

* UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_run_javascript):
(webkit_web_view_run_javascript_finish):
(webkit_web_view_run_javascript_in_world):
(webkit_web_view_run_javascript_in_world_finish):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
* UIProcess/API/wpe/WebKitWebView.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld): Send RunJavaScriptInMainFrameScriptWorld message to
the WebProcess.
* UIProcess/WebPageProxy.h:
* WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp:
(webkitScriptWorldCreate):
(webkit_script_world_new_with_name):
(webkit_script_world_get_name):
* WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h:
* WebProcess/InjectedBundle/API/wpe/WebKitScriptWorld.h:
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
(WebKit::InjectedBundleScriptWorld::find): Find an InjectedBundleScriptWorld by its name.
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrameScriptWorld): Find the InjectedBundleScriptWorld for the given name
and run the script in its js context.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Add RunJavaScriptInMainFrameScriptWorld message.

Tools:

Add tests cases for the new API.

* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewRunJavaScript):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(methodCallCallback):
(webkit_web_extension_initialize_with_user_data):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(runJavaScriptInWorldReadyCallback):
(WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
(WebViewTest::runJavaScriptInWorldAndWaitUntilFinished):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:

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

16 months ago[WPE] Add a MiniBrowser and use it to run WebDriver tests
carlosgc@webkit.org [Mon, 11 Jun 2018 06:43:14 +0000 (06:43 +0000)]
[WPE] Add a MiniBrowser and use it to run WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=186345

Reviewed by Žan Doberšek.

.:

Add an option to enable building the MiniBrowser.

* Source/cmake/FindWaylandProtocols.cmake: Added.
* Source/cmake/OptionsWPE.cmake:

Source/WebDriver:

Use MiniBrowser instead of dyz as the default WebDriver browser for WPE.

* wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformParseCapabilities const):

Tools:

Most of the code is based on dyz and gtk MiniBrowser. This patch adds a new internal library WPEToolingBackends,
including the headless view backend and a new window backend to be used by the MiniBrowser. MiniBrowser can also
run in headless mode, by using the headless backend instead of the window one, which will allow us to run the
WebDriver tests in the bots.

* CMakeLists.txt:
* MiniBrowser/wpe/CMakeLists.txt: Added.
* MiniBrowser/wpe/main.cpp: Added.
(automationStartedCallback):
(createViewBackend):
(main):
* Scripts/run-minibrowser: Remove WPE specific code.
* Scripts/run-webdriver-tests: Add headless display-server option.
* Scripts/webkitdirs.pm:
(launcherName): Remove WPE specific code.
* Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.browser_name): Return MiniBrowser.
(WebDriverWPE.browser_path): Return the path to the MiniBrowser in build dir.
(WebDriverWPE.browser_args): Add --headless when running in headless mode.
(WebDriverWPE.capabilities): Use the full browser path.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.collect_tests): Fix early return value.
* TestWebKitAPI/PlatformWPE.cmake: Use WPEToolingBackends instead of HeadlessViewBackend.
* TestWebKitAPI/PlatformWebView.h: Ditto.
* TestWebKitAPI/glib/PlatformWPE.cmake: Ditto
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::createWebViewBackend): Ditto.
* TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
(TestWebKitAPI::PlatformWebView::initialize): Ditto.
* WebKitTestRunner/PlatformWPE.cmake: Ditto.
* WebKitTestRunner/PlatformWebView.h: Ditto.
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::PlatformWebView): Ditto.
* wpe/HeadlessViewBackend/CMakeLists.txt: Removed.
* wpe/backends/CMakeLists.txt: Added.
* wpe/backends/HeadlessViewBackend.cpp: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.cpp.
(WPEToolingBackends::getEGLDisplay):
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::createSnapshot):
(WPEToolingBackends::HeadlessViewBackend::performUpdate):
(WPEToolingBackends::HeadlessViewBackend::displayBuffer):
* wpe/backends/HeadlessViewBackend.h: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.h.
* wpe/backends/ViewBackend.cpp: Added.
(WPEToolingBackends::ViewBackend::ViewBackend):
(WPEToolingBackends::ViewBackend::~ViewBackend):
(WPEToolingBackends::ViewBackend::initialize):
(WPEToolingBackends::ViewBackend::setInputClient):
(WPEToolingBackends::ViewBackend::backend const):
(WPEToolingBackends::ViewBackend::dispatchInputPointerEvent):
(WPEToolingBackends::ViewBackend::dispatchInputAxisEvent):
(WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent):
* wpe/backends/ViewBackend.h: Added.
* wpe/backends/WindowViewBackend.cpp: Added.
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::displayBuffer):
(WPEToolingBackends::WindowViewBackend::handleKeyEvent):
* wpe/backends/WindowViewBackend.h: Added.
* wpe/jhbuild.modules: Remove dyz and add wayland-protocols.

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

16 months ago[Win][MiniBrowser] MiniBrowser class should be renamed to WebKitLegacyBrowserWindow
Hironori.Fujii@sony.com [Mon, 11 Jun 2018 02:44:16 +0000 (02:44 +0000)]
[Win][MiniBrowser] MiniBrowser class should be renamed to WebKitLegacyBrowserWindow
https://bugs.webkit.org/show_bug.cgi?id=186427

Reviewed by Ryosuke Niwa.

* MiniBrowser/win/AccessibilityDelegate.cpp:
* MiniBrowser/win/AccessibilityDelegate.h:
(AccessibilityDelegate::AccessibilityDelegate):
* MiniBrowser/win/CMakeLists.txt: Removed MiniBrowser.cpp. Added WebKitLegacyBrowserWindow.cpp.
* MiniBrowser/win/Common.h:
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/MiniBrowserWebHost.cpp:
* MiniBrowser/win/MiniBrowserWebHost.h:
(MiniBrowserWebHost::MiniBrowserWebHost):
* MiniBrowser/win/PageLoadTestClient.cpp:
(PageLoadTestClient::PageLoadTestClient):
* MiniBrowser/win/PageLoadTestClient.h:
* MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest):
* MiniBrowser/win/PrintWebUIDelegate.h:
(PrintWebUIDelegate::PrintWebUIDelegate):
* MiniBrowser/win/ResourceLoadDelegate.cpp:
* MiniBrowser/win/ResourceLoadDelegate.h:
(ResourceLoadDelegate::ResourceLoadDelegate):
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: Renamed from Tools/MiniBrowser/win/MiniBrowser.cpp.
* MiniBrowser/win/WebKitLegacyBrowserWindow.h: Renamed from Tools/MiniBrowser/win/MiniBrowser.h.
* MiniBrowser/win/WebDownloadDelegate.cpp:
(WebDownloadDelegate::WebDownloadDelegate):
* MiniBrowser/win/WebDownloadDelegate.h:

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

16 months agoReload the Web view in case of crash if the client does not implement webViewWebConte...
cdumez@apple.com [Sun, 10 Jun 2018 22:39:22 +0000 (22:39 +0000)]
Reload the Web view in case of crash if the client does not implement webViewWebContentProcessDidTerminate delegate
https://bugs.webkit.org/show_bug.cgi?id=186468

Reviewed by Geoffrey Garen.

Source/WebKit:

We now attempt to reload the Web view if the web content process crashes and the client
does not implement the webViewWebContentProcessDidTerminate delegate (or any of the similar
delegates in our SPI).

* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::processDidCrash):
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::processDidTerminate):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
(WKPageSetPageNavigationClient):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/glib/WebKitNavigationClient.cpp:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::processDidTerminate):
* UIProcess/WebPageProxy.cpp:
(WebKit::m_resetRecentCrashCountTimer):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::shouldReloadAfterProcessTermination):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):
(WebKit::WebPageProxy::tryReloadAfterProcessTermination):
(WebKit::WebPageProxy::resetRecentCrashCountSoon):
(WebKit::WebPageProxy::resetRecentCrashCount):
(WebKit::m_configurationPreferenceValues): Deleted.
* UIProcess/WebPageProxy.h:

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(-[BasicNavigationDelegateWithoutCrashHandler webView:didStartProvisionalNavigation:]):
(-[BasicNavigationDelegateWithoutCrashHandler webView:didFinishNavigation:]):
(TEST):

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

16 months ago[WPE][GTK] paypal.com requires user agent quirk
mcatanzaro@igalia.com [Sun, 10 Jun 2018 09:23:28 +0000 (09:23 +0000)]
[WPE][GTK] paypal.com requires user agent quirk
https://bugs.webkit.org/show_bug.cgi?id=186466

Reviewed by Carlos Garcia Campos.

Source/WebCore:

* platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):

Tools:

* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):

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

16 months ago[JSC] Array.prototype.sort should rejects null comparator
utatane.tea@gmail.com [Sun, 10 Jun 2018 07:36:40 +0000 (07:36 +0000)]
[JSC] Array.prototype.sort should rejects null comparator
https://bugs.webkit.org/show_bug.cgi?id=186458

Reviewed by Keith Miller.

JSTests:

* ChakraCore/test/Array/array_sort.baseline-jsc:
* stress/array-sort-bad-comparator.js:
(test):
* stress/sort-null-comparator.js: Removed.
* test262/expectations.yaml:

Source/JavaScriptCore:

This relaxed behavior is once introduced in r216169 to fix some pages by aligning
the behavior to Chrome and Firefox.

However, now Chrome, Firefox and Edge reject a null comparator. So only JavaScriptCore
accepts it. This patch reverts r216169 to align JSC to the other engines and fix
the spec issue.

* builtins/ArrayPrototype.js:
(sort):

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

16 months ago[Xcode] Clean up and modernize some build setting definitions
mitz@apple.com [Sun, 10 Jun 2018 05:18:08 +0000 (05:18 +0000)]
[Xcode] Clean up and modernize some build setting definitions
https://bugs.webkit.org/show_bug.cgi?id=186463

Reviewed by Sam Weinig.

Source/bmalloc:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.

Source/JavaScriptCore:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11. Simplified the
  definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS
  is true for all supported Xcode versions.
* Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
* Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and
  ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
* Configurations/Version.xcconfig: Removed definition for macOS 10.11.
* Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.

Source/ThirdParty/libwebrtc:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/Version.xcconfig: Removed definitions for macOS 10.10 and 10.11, and added
  definitions for later versions.
* Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
* Configurations/opus.xcconfig: Simplified the definition of SSE4_FLAG now that macOS 10.12
  is the earliest supported version.

Source/WebCore:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and
  ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
* Configurations/Version.xcconfig: Removed definition for macOS 10.11.
* Configurations/WebCore.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR
  now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
* Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/WebCore/PAL:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and
  ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
* Configurations/PAL.xcconfig: Removed WK_PRIVATE_FRAMEWORKS_DIR, because the private
  framework stubs aren’t used when linking PAL.
* Configurations/Version.xcconfig: Removed definition for macOS 10.11.
* Configurations/WebKitTargetConditionals.xcconfig: Ditto.

Source/WebInspectorUI:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/Version.xcconfig: Ditto.

Source/WebKit:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/BaseTarget.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR
  now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
* Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
* Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and
  ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
* Configurations/Version.xcconfig: Removed definition for macOS 10.11.
* Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/WebKitLegacy/mac:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and
  ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
* Configurations/Version.xcconfig: Removed definition for macOS 10.11.
* Configurations/WebKitLegacy.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR
  now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
* Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/WTF:

* Configurations/Base.xcconfig: Removed definition for macOS 10.11.
* Configurations/DebugRelease.xcconfig: Ditto.

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that
  WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Removed definition for macOS
  10.11.
* MiniBrowser/Configurations/Base.xcconfig: Ditto.
* MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
* TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
* TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Simplified the definitions of
  ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest
  supported version.
* TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for
  macOS 10.11.
* WebKitTestRunner/Configurations/Base.xcconfig: Ditto. Also simplified the definition of
  WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all
  supported Xcode versions
* WebKitTestRunner/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.

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

16 months agoAdded missing file references to the Configuration group.
mitz@apple.com [Sun, 10 Jun 2018 01:33:48 +0000 (01:33 +0000)]
Added missing file references to the Configuration group.

Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/ThirdParty/libwebrtc:

* libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKitLegacy:

* WebKitLegacy.xcodeproj/project.pbxproj:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

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

16 months agoREGRESSION (r230480): Cannot adjust photo position on LinkedIn's profile page
zalan@apple.com [Sun, 10 Jun 2018 01:26:53 +0000 (01:26 +0000)]
REGRESSION (r230480): Cannot adjust photo position on LinkedIn's profile page
https://bugs.webkit.org/show_bug.cgi?id=186464
<rdar://problem/40369448>

Reviewed by Simon Fraser.

Source/WebCore:

The optimization logic for skipping image layout when we only need overflow computation should check if the image actually needs
simplified layout only. The needsSimplifiedNormalFlowLayout() flag means that the overflow information needs to be updated but
it does not mean that overflow is the only property that we need to recompute.

Test: fast/images/positioned-image-when-transform-is-present.html

* rendering/RenderImage.cpp:
(WebCore::RenderImage::layout):
* rendering/RenderObject.h:
(WebCore::RenderObject::needsSimplifiedNormalFlowLayoutOnly const):

LayoutTests:

* fast/images/positioned-image-when-transform-is-present-expected.html: Added.
* fast/images/positioned-image-when-transform-is-present.html: Added.

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

16 months agoREGRESSION(macOS Mojave): move-by-word-visually-multi-line.html fails
rniwa@webkit.org [Sat, 9 Jun 2018 20:15:28 +0000 (20:15 +0000)]
REGRESSION(macOS Mojave): move-by-word-visually-multi-line.html fails
https://bugs.webkit.org/show_bug.cgi?id=186454

Reviewed by Darin Adler.

Source/WebCore:

Like r232635, this patch fixes a selection test failure caused by the change in ICU's behavior in macOS Mojave,
which caused isWordTextBreak to return true in more cases.

In this particular failing test case, previousTextOrLineBreakBox and nextTextOrLineBreakBox were failing to find
an inline text box when it found an inline box for a BR, which was mentioned by an existing FIXME comment.
Consequently, visualWordPosition were erroneously detecting the end of a word followed by a blank line created by
a BR as a valid word boundary to move when the Windows editing behavior is enacted.

Addressed the FIXME comment by finding the next inline text box skipping all inline boxes for BRs. Renamed
misleadingly named previousBoxInDifferentBlock and nextBoxInDifferentBlock to previousBoxInDifferentLine and
nextBoxInDifferentLine respectively, and set them to true as they're really indicating whether line boxes
belong to a distinct line or not; whether an inline box belong to two (render) blocks or not is irrelevant.

Finally, this patch fixes a bug in visualWordPosition that it was failing to skip blank lines when a word break is
found as we traversed past a line break. In those cases, we must skip all line breaks before stopping.

Tests: editing/selection/move-by-word-visually-mac.html
       editing/selection/move-by-word-visually-multi-line.htm

* editing/VisibleUnits.cpp:
(WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves const):
(WebCore::logicallyPreviousBox):
(WebCore::logicallyNextBox):
(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::visualWordPosition):

LayoutTests:

Added a multi-line test case which causes a failure under Mac editing behavior. The test case is symmetric to ml_1.

* editing/selection/move-by-word-visually-mac-expected.txt:
* editing/selection/move-by-word-visually-mac.html:
* editing/selection/move-by-word-visually-multi-line-expected.txt:
* editing/selection/move-by-word-visually-multi-line.html:

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

16 months ago[LFC] MarginCollapse functions should be able to resolve non-fixed margin values
zalan@apple.com [Sat, 9 Jun 2018 19:35:33 +0000 (19:35 +0000)]
[LFC] MarginCollapse functions should be able to resolve non-fixed margin values
https://bugs.webkit.org/show_bug.cgi?id=186461

Reviewed by Antti Koivisto.

We need the containing block's computed width to resolve vertical and horizontal margins.

* layout/blockformatting/BlockFormattingContext.h:
* layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::nonCollapsedMarginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedNonCollapsedMarginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedNonCollapsedMarginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginBottomFromLastChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::nonCollapsedMarginBottom):
(WebCore::Layout::collapsedMarginTopFromFirstChild): Deleted.
(WebCore::Layout::nonCollapsedMarginTop): Deleted.

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

16 months ago[Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
darin@apple.com [Sat, 9 Jun 2018 16:27:16 +0000 (16:27 +0000)]
[Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
https://bugs.webkit.org/show_bug.cgi?id=186436

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* heap/Heap.cpp: Include FoundationSPI.h rather than directly including
objc-internal.h and explicitly declaring the alternative.

Source/WebCore:

* bridge/objc/objc_class.mm: Use import instead of include.

* bridge/objc/objc_instance.h: Replaced _pool member to hold an object with
m_autoreleasePool member to hold a token from objc_autoreleasePoolPush. Also
initialize all data members here in the class definition.

* bridge/objc/objc_instance.mm:
(ObjcInstance::ObjcInstance): Moved most initialization to class definition.
(ObjcInstance::virtualBegin): Use objc_autoreleasePoolPush instead of
NSAutoreleasePool class.
(ObjcInstance::virtualEnd): Use objc_autoreleasePoolPop.

* bridge/objc/objc_runtime.mm: Use import instead of include.
* bridge/objc/objc_utility.mm: Ditto.

* platform/audio/mac/AudioBusMac.mm:
(WebCore::AudioBus::loadPlatformResource): Use @autoreleasepool.

* platform/ios/wak/WebCoreThread.mm: Re-sorted includes. Removed declaration of
autorelease pool SPI and use FoundationSPI.h instead.

* platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformLazyInit): Use @autoreleasepool.

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj: Removed FoundationSPI.h.
* pal/PlatformMac.cmake: Ditto.
* pal/spi/cocoa/FoundationSPI.h: Moved into WTF project.

Source/WebKitLegacy/mac:

* Carbon/CarbonUtils.m: Updated include location of FoundationSPI.h.
(getNSAutoreleasePoolCount): Use objc_autoreleasePoolPush/Pop.
(WebInitForCarbon): Use objc_autoreleasePoolPush/Pop instead of NSAutoreleasePool object.
(PoolCleaner): Ditto.

* History/WebHistory.mm:
(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
Use @autoreleasepool instead of NSAutoreleasePool object. No need to do the "drain pool only
every 50 times"; the -[WebHistory loadFromURL] family of methods were once used by Safari, and
now hardly used if at all.
* WebView/WebView.mm:
(-[WebView rectsForTextMatches]): Ditto.

Source/WTF:

* WTF.xcodeproj/project.pbxproj: Added FoundationSPI.h.

* wtf/AutodrainedPool.h: Streamlined header a bit, added some comments.

* wtf/PlatformMac.cmake: Added FoundationSPI.h.

* wtf/cocoa/AutodrainedPool.cpp: Moved here from AutodrainedPoolMac.mm.
(WTF::AutodrainedPool::AutodrainedPool): Use objc_autoreleasePoolPush/Pop instead of
the NSAutoreleasePool class.
(WTF::AutodrainedPool::~AutodrainedPool): Ditto.

 * wtf/spi/cocoa/FoundationSPI.h: Moved from Source/WebCore/PAL/pal/spi/cocoa/FoundationSPI.h.
 Changed both include and declarations so it's the objc_autoreleasePoolPush/Pop instead
 of the higher level NS functions that call them.

Tools:

* TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(TestWebKitAPI::WebKit2CustomProtocolsTest_ProcessPoolDestroyedDuringLoading):
Use @autoreleasepool.
* TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
(TestWebKitAPI::buildAndPerformTest): Ditto.
* TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
(TestWebKitAPI::WebKitLegacy_StopLoadingFromDidFinishLoading): Ditto.

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

16 months ago[WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 1)
wenson_hsieh@apple.com [Sat, 9 Jun 2018 03:12:20 +0000 (03:12 +0000)]
[WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=186442
<rdar://problem/40879364>

Reviewed by Tim Horton.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No change in behavior.

* Configurations/FeatureDefines.xcconfig:
* page/DisabledAdaptations.cpp:
(WebCore::extraZoomModeAdaptationName):

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dismissQuickboardViewControllerAndRevealFocusedFormOverlayIfNecessary:]):
(-[WKContentView quickboard:textEntered:]):
(-[WKContentView quickboardInputCancelled:]):
(-[WKContentView viewController:inputContextViewHeightForSize:]):
(-[WKContentView allowsLanguageSelectionMenuForListViewController:]):
(-[WKContentView inputContextViewForViewController:]):
(-[WKContentView inputLabelTextForViewController:]):
(-[WKContentView initialValueForViewController:]):
(-[WKContentView shouldDisplayInputContextViewForListViewController:]):
(-[WKContentView numericInputModeForListViewController:]):
(-[WKContentView textContentTypeForListViewController:]):
(-[WKContentView textSuggestionsForListViewController:]):
(-[WKContentView listViewController:didSelectTextSuggestion:]):
(-[WKContentView allowsDictationInputForListViewController:]):
* UIProcess/ios/WKScrollView.mm:
(-[WKScrollView initWithFrame:]):
(-[WKScrollView addGestureRecognizer:]):
(-[WKScrollView _configureDigitalCrownScrolling]):
(-[WKScrollView _puic_contentOffsetForCrownInputSequencerOffset:]):
* UIProcess/ios/forms/WKFocusedFormControlView.h:
* UIProcess/ios/forms/WKFocusedFormControlView.mm:
(pathWithRoundedRectInFrame):
(-[WKFocusedFormControlView initWithFrame:delegate:]):
(-[WKFocusedFormControlView handleWheelEvent:]):
(-[WKFocusedFormControlView show:]):
(-[WKFocusedFormControlView hide:]):
(-[WKFocusedFormControlView delegate]):
(-[WKFocusedFormControlView setDelegate:]):
(-[WKFocusedFormControlView dimmingMaskLayer]):
(-[WKFocusedFormControlView handleTap]):
(-[WKFocusedFormControlView _wheelChangedWithEvent:]):
(-[WKFocusedFormControlView didDismiss]):
(-[WKFocusedFormControlView didSubmit]):
(-[WKFocusedFormControlView layoutSubviews]):
(-[WKFocusedFormControlView setHighlightedFrame:]):
(-[WKFocusedFormControlView computeDimmingViewCutoutPath]):
(-[WKFocusedFormControlView disengageFocusedFormControlNavigation]):
(-[WKFocusedFormControlView engageFocusedFormControlNavigation]):
(-[WKFocusedFormControlView reloadData:]):
(-[WKFocusedFormControlView setMaskLayerPosition:animated:]):
(-[WKFocusedFormControlView setHighlightedFrame:animated:]):
(-[WKFocusedFormControlView submitActionName]):
(submitActionNameFontAttributes):
(-[WKFocusedFormControlView setSubmitActionName:]):
(-[WKFocusedFormControlView scrollViewForCrownInputSequencer]):
(-[WKFocusedFormControlView updateViewForCurrentCrownInputSequencerState]):
(-[WKFocusedFormControlView scrollOffsetForCrownInputOffset:]):
(-[WKFocusedFormControlView _crownInputSequencerTimerFired]):
(-[WKFocusedFormControlView cancelPendingCrownInputSequencerUpdate]):
(-[WKFocusedFormControlView scheduleCrownInputSequencerUpdate]):
(-[WKFocusedFormControlView crownInputSequencerOffsetDidChange:]):
(-[WKFocusedFormControlView crownInputSequencerDidBecomeIdle:willDecelerate:]):
(-[WKFocusedFormControlView crownInputSequencerIdleDidChange:]):
(-[WKFocusedFormControlView suggestions]):
(-[WKFocusedFormControlView setSuggestions:]):
(-[WKFocusedFormControlView handleWebViewCredentialsSaveForWebsiteURL:user:password:passwordIsAutoGenerated:]):
(-[WKFocusedFormControlView selectionWillChange:]):
(-[WKFocusedFormControlView selectionDidChange:]):
(-[WKFocusedFormControlView textWillChange:]):
(-[WKFocusedFormControlView textDidChange:]):

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

16 months agojumpTrueOrFalse only takes the fast path for boolean false on 64bit LLInt
commit-queue@webkit.org [Sat, 9 Jun 2018 00:57:23 +0000 (00:57 +0000)]
jumpTrueOrFalse only takes the fast path for boolean false on 64bit LLInt
https://bugs.webkit.org/show_bug.cgi?id=186446
<rdar://problem/40949995>

Patch by Tadeu Zagallo <tzagallo@apple.com> on 2018-06-08
Reviewed by Mark Lam.

On 64bit LLInt, jumpTrueOrFalse did a mask check to take the fast path for
boolean literals, but it would only work for false. Change it so that it
takes the fast path for true, false, null and undefined.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:

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

16 months ago[MotionMark] Rename Suits test files
jonlee@apple.com [Fri, 8 Jun 2018 23:53:00 +0000 (23:53 +0000)]
[MotionMark] Rename Suits test files
https://bugs.webkit.org/show_bug.cgi?id=186447

Reviewed by Said Abou-Hallawa.

* MotionMark/resources/runner/tests.js:
* MotionMark/tests/master/resources/suits.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/svg-particles.js.
* MotionMark/tests/master/suits.html: Renamed from PerformanceTests/MotionMark/tests/master/svg-particles.html.
* MotionMark/tests/svg/suits.html:

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

16 months agoOnly display refresh monitors having requested display refresh callback should get...
pvollan@apple.com [Fri, 8 Jun 2018 23:50:13 +0000 (23:50 +0000)]
Only display refresh monitors having requested display refresh callback should get notified on screen updates.
https://bugs.webkit.org/show_bug.cgi?id=186397
<rdar://problem/40897835>

Reviewed by Brent Fulgham.

Since all display refresh monitors in the WebContent process share a single UI process display link,
we should make sure that only the monitors having requested callback are getting notified on screen
updates. I have not been able to reproduce a case where a monitor is being notified without having
requested updates, but we should safeguard the code for future code changes.

Source/WebCore:

No new tests, since this is a safeguarding measure.

* platform/graphics/DisplayRefreshMonitor.h:
(WebCore::DisplayRefreshMonitor::hasRequestedRefreshCallback const):
* platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):

Source/WebKit:

* WebProcess/WebPage/mac/DrawingAreaMac.cpp:

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

16 months agoREGRESSION: Cannot listen to audio on Google Translate with side switch set to ...
jer.noble@apple.com [Fri, 8 Jun 2018 23:30:57 +0000 (23:30 +0000)]
REGRESSION:  Cannot listen to audio on Google Translate with side switch set to "vibrate"
https://bugs.webkit.org/show_bug.cgi?id=186415
<rdar://problem/40584651>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/audio-session-category-audio-autoplay.html

Make sure that the PlatformMediaSession's state has already been set when calling updateSessionStates().

* platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::setState):
* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
(WebCore::PlatformMediaSessionManager::sessionStateChanged):

LayoutTests:

* platform/mac/media/audio-session-category-audio-autoplay-expected.txt: Added.
* platform/mac/media/audio-session-category-audio-autoplay.html: Added.

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

16 months ago'setRenderPipelineState:' is unavailable: not available on iOS
dino@apple.com [Fri, 8 Jun 2018 23:26:21 +0000 (23:26 +0000)]
'setRenderPipelineState:' is unavailable: not available on iOS
https://bugs.webkit.org/show_bug.cgi?id=186449
<rdar://problem/40880602>

Reviewed by Simon Fraser.

Be more explicit about the protocol type to avoid
the compiler getting confused by a similar signature.

* platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm:
(WebCore::GPURenderCommandEncoder::setRenderPipelineState):

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

16 months agoFix iOS build.
darin@apple.com [Fri, 8 Jun 2018 23:18:27 +0000 (23:18 +0000)]
Fix iOS build.

* platform/ios/QuickLookSoftLink.mm: Removed QLPreviousScheme, which I said I did in the
change log but looks like it didn't happen.

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

16 months agoAdd sub-tests based on Suits
jonlee@apple.com [Fri, 8 Jun 2018 23:12:22 +0000 (23:12 +0000)]
Add sub-tests based on Suits
https://bugs.webkit.org/show_bug.cgi?id=186260

Reviewed by Said Abou-Hallawa.

Add a new developer Suits suite with sub-tests that isolate parts of each particle.
The sub-tests are:
    - Particles using only clip paths
    - Particles using only shapes
    - Particles that have no gradients
    - Particles that have no rotation
    - Particles that do not move around at all (but all of the physics calculations are
    still performed)

* MotionMark/resources/debug-runner/tests.js:
* MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, and
benchmark to "Suits" from "SVG". Change SuitsParticle so that we guarantee 50% clip and
shape paths rather than relying on random chance. Wrap a check around creation of the
gradient element, and use a simple fill color when we aren't using a gradient.
* MotionMark/tests/svg/suits.html: Added.
* MotionMark/tests/svg/suits.js: Added.
Look for the query string and set the particle based on what is selected.

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

16 months ago[Cocoa] Minor ARC tidying of libwebrtc
darin@apple.com [Fri, 8 Jun 2018 22:30:23 +0000 (22:30 +0000)]
[Cocoa] Minor ARC tidying of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186396

Reviewed by Dan Bernstein.

* Configurations/Base.xcconfig: Set CLANG_ENABLE_OBJC_ARC here as we will eventually be
doing in all the various Base.xcconfig files as we make progress on conversion.

* Configurations/libwebrtc.xcconfig: Removed override of CLANG_ENABLE_OBJC_ARC here and
also removed five other redundant settings that match Base.xcconfig.

* libwebrtc.xcodeproj/project.pbxproj: Removed explicit -fobjc-arc that was set on
one particular source file, since that's already the default for the project.

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

16 months ago[Cocoa] Make more of our soft linking ARC-compatible
darin@apple.com [Fri, 8 Jun 2018 22:29:26 +0000 (22:29 +0000)]
[Cocoa] Make more of our soft linking ARC-compatible
https://bugs.webkit.org/show_bug.cgi?id=186437

Reviewed by Daniel Bates.

Source/WebCore:

* editing/cocoa/DataDetection.mm:
(WebCore::removeResultLinksFromAnchor): Fix comment referring to unused constant DDURLScheme.

* platform/cocoa/DataDetectorsCoreSoftLink.h: Removed unused DDURLScheme.
* platform/cocoa/DataDetectorsCoreSoftLink.mm: Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
Use SOFT_LINK_CONSTANT_MAY_FAIL for NSString constants instead of using
SOFT_LINK_POINTER_OPTIONAL. Required moving iOS-specific items inside the
#if PLATFORM(IOS) section.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the
canLoad functions instead of checking for null to handle possibly-missing string constants.
(WebCore::metadataType): Ditto.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Removed unused
AVMediaTypeVideo, AVMediaTypeAudio, and AVMediaTypeText soft linking.

* platform/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL): Removed unneeded assertion.

* platform/ios/QuickLookSoftLink.h: Removed unneeded QLPreviousScheme, which was used only
for an assertion, one we can do without.
* platform/ios/QuickLookSoftLink.mm: Ditto.

* platform/mediastream/mac/AVVideoCaptureSource.mm: Removed unused soft linking of
AVCaptureVideoPreviewLayer class and AVCaptureSessionPresetLow string constant. Use
SOFT_LINK_CONSTANT_MAY_FAIL for NSString constants instead of using
SOFT_LINK_POINTER_OPTIONAL.
(WebCore::AVVideoCaptureSource::initializeCapabilities): Use the canLoad functions
instead of checking for null to handle possibly-missing string constants.
(WebCore::sizeForPreset): Ditto.
(WebCore::AVVideoCaptureSource::bestSessionPresetForVideoDimensions const): Ditto.

Source/WebCore/PAL:

* pal/spi/cocoa/DataDetectorsCoreSPI.h: Removed unused DDURLScheme.

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

16 months ago[Mojave] Enable build
jbedard@apple.com [Fri, 8 Jun 2018 22:11:32 +0000 (22:11 +0000)]
[Mojave] Enable build
https://bugs.webkit.org/show_bug.cgi?id=186401
<rdar://problem/39759031>

Reviewed by Dan Bernstein.

* pal/spi/cg/CoreGraphicsSPI.h: Declare CGSShutdownServerConnections().
* pal/spi/cocoa/QuartzCoreSPI.h: Declare [CAContext setAllowsCGSConnections] in Mojave + builds.
* pal/spi/mac/DataDetectorsSPI.h: Declare DDResultGetCFTypeID in Mojave+ builds.

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

16 months agoSync web-platform-tests repo to 197cdad
commit-queue@webkit.org [Fri, 8 Jun 2018 21:26:04 +0000 (21:26 +0000)]
Sync web-platform-tests repo to 197cdad
https://bugs.webkit.org/show_bug.cgi?id=186267

Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-06-08
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/resource-files.json:
* web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html:
* web-platform-tests/2dcontext/imagebitmap/w3c-import.log:
* web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
* web-platform-tests/FileAPI/BlobURL/support/w3c-import.log:
* web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
* web-platform-tests/FileAPI/FileReader/workers-expected.txt: Added.
* web-platform-tests/FileAPI/FileReader/workers.html: Added.
* web-platform-tests/FileAPI/blob/Blob-constructor-endings-expected.txt: Added.
* web-platform-tests/FileAPI/blob/Blob-constructor-endings.html: Added.
* web-platform-tests/FileAPI/blob/w3c-import.log:
* web-platform-tests/FileAPI/file/File-constructor-endings-expected.txt: Added.
* web-platform-tests/FileAPI/file/File-constructor-endings.html: Added.
* web-platform-tests/FileAPI/file/send-file-form-expected.txt: Added.
* web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.tentative-expected.txt: Added.
* web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.tentative.html: Added.
* web-platform-tests/FileAPI/file/send-file-form-utf-8-expected.txt: Added.
* web-platform-tests/FileAPI/file/send-file-form-utf-8.html: Added.
* web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative-expected.txt: Added.
* web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative.html: Added.
* web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative-expected.txt: Added.
* web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative.html: Added.
* web-platform-tests/FileAPI/file/send-file-form.html: Added.
* web-platform-tests/FileAPI/historical.https-expected.txt:
* web-platform-tests/FileAPI/historical.https.html:
* web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads-expected.txt:
* web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html:
* web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString-expected.txt: Added.
* web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString.html: Added.
* web-platform-tests/FileAPI/reading-data-section/w3c-import.log:
* web-platform-tests/FileAPI/support/send-file-form-helper.js: Added.
(const.formPostFileUploadTest):
* web-platform-tests/FileAPI/support/w3c-import.log:
* web-platform-tests/FileAPI/unicode-expected.txt: Added.
* web-platform-tests/FileAPI/unicode.html: Added.
* web-platform-tests/FileAPI/url/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/BlobURL/support/w3c-import.log.
* web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js: Added.
(async_test.t.frame.onload.t.step_func_done):
(async_test.t.frame.onload.t.step_func):
(async_test.t.add_completion_callback):
(async_test.t.win.onload.t.step_func_done):
(receive_message_on_channel):
(async_test.t.const.blob.new.Blob.window_contents_for_channel):
(async_test.t.e.onload.t.step_func_done):
* web-platform-tests/FileAPI/url/url-in-tags.window.js:
(async_test.t.frame.contentWindow.onscroll.t.step_func_done):
* web-platform-tests/FileAPI/url/url-reload.window.js: Added.
(blob_url_reload_test):
* web-platform-tests/FileAPI/url/w3c-import.log:
* web-platform-tests/FileAPI/w3c-import.log:
* web-platform-tests/IndexedDB/bigint_value-expected.txt: Added.
* web-platform-tests/IndexedDB/bigint_value.htm: Added.
* web-platform-tests/IndexedDB/historical-expected.txt:
* web-platform-tests/IndexedDB/historical.html:
* web-platform-tests/IndexedDB/idbcursor-iterating-update-expected.txt: Added.
* web-platform-tests/IndexedDB/idbcursor-iterating-update.htm: Added.
* web-platform-tests/IndexedDB/interleaved-cursors-common.js: Added.
(objectKey):
(objectValue):
(writeCursorObjects):
(interleaveCursors):
* web-platform-tests/IndexedDB/interleaved-cursors-large-expected.txt: Added.
* web-platform-tests/IndexedDB/interleaved-cursors-large.html: Added.
* web-platform-tests/IndexedDB/interleaved-cursors-small-expected.txt: Added.
* web-platform-tests/IndexedDB/interleaved-cursors-small.html: Added.
* web-platform-tests/IndexedDB/keypath-special-identifiers-expected.txt:
* web-platform-tests/IndexedDB/keypath-special-identifiers.htm:
* web-platform-tests/IndexedDB/keypath.htm:
* web-platform-tests/IndexedDB/support.js:
(add_completion_callback):
(indexeddb_test):
* web-platform-tests/IndexedDB/w3c-import.log:
* web-platform-tests/IndexedDB/wasm-module-value-expected.txt: Added.
* web-platform-tests/IndexedDB/wasm-module-value.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt:
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt:
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt:
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt:
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker-expected.txt.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes.js:
(run_test):
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker.js: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log:
* web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object-expected.txt: Added.
* web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html: Added.
* web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object-expected.txt: Added.
* web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html: Added.
* web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any-expected.txt: Added.
* web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.js: Added.
(test):
(test.regExp.Symbol.iterator):
(promise_test.async):
* web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.worker-expected.txt: Added.
* web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
* web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
* web-platform-tests/background-fetch/interfaces.html:
* web-platform-tests/background-fetch/interfaces.worker.js:
(promise_test.async):
(promise_test): Deleted.
* web-platform-tests/beacon/OWNERS: Added.
* web-platform-tests/beacon/beacon-common.sub.js:
* web-platform-tests/beacon/beacon-cors.sub.window.js:
(runTests.self.buildId):
(runTests.self.buildBaseUrl):
(runTests.self.buildTargetUrl):
(runTests):
* web-platform-tests/beacon/beacon-error.window.js:
(promise_test.async):
* web-platform-tests/beacon/beacon-navigate-expected.txt:
* web-platform-tests/beacon/headers/header-content-type.html:
* web-platform-tests/beacon/resources/beacon.py:
(main):
* web-platform-tests/beacon/w3c-import.log:

LayoutTests:

* TestExpectations:
* platform/ios/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt:
* platform/mac-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.
* platform/mac/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-large-expected.txt: Added.
* platform/mac/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small-expected.txt: Added.
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
* platform/mac/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt:

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

16 months ago[Datalist] Allow TextFieldInputType to show and hide suggestions
commit-queue@webkit.org [Fri, 8 Jun 2018 21:08:58 +0000 (21:08 +0000)]
[Datalist] Allow TextFieldInputType to show and hide suggestions
https://bugs.webkit.org/show_bug.cgi?id=186151

Patch by Aditya Keerthi <akeerthi@apple.com> on 2018-06-08
Reviewed by Tim Horton.

Source/WebCore:

TextFieldInputTypes with a list attribute should be able to display suggestions as the user
interacts with the input field. In order to display suggestions for an input field with a list
attribute, we need provide certain information - including the items to suggest and the location
to present the suggestions. TextFieldInputType can now provide this information by conforming to
the DataListSuggestionsClient interface.

In this initial patch, the suggestions can be shown in two ways. The first is by clicking on the
input field. The other is by typing text in the field. In a later patch, we will add a third way
to display suggestions, using a button. These ways to activate the suggestions are enumerated in
DataListSuggestionInformation.

We hide the suggestions if there are no more to show, or if the input has blurred.

Tests to be added once work has been done in the UIProcess.

* WebCore.xcodeproj/project.pbxproj:
* html/DataListSuggestionInformation.h: Added. Contains the information necessary to display suggestions.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::~TextFieldInputType):
(WebCore::TextFieldInputType::handleClickEvent): Show suggestions when the element is clicked.
(WebCore::TextFieldInputType::handleKeydownEvent): Allow users to interact with the suggestions using the keyboard.
(WebCore::TextFieldInputType::elementDidBlur): Hide the suggestions.
(WebCore::TextFieldInputType::shouldRespectListAttribute):
(WebCore::TextFieldInputType::didSetValueByUserEdit): Update the suggestions if the text has changed.
(WebCore::TextFieldInputType::elementRectRelativeToRootView const): Provide the location where the suggestions should be shown.
(WebCore::TextFieldInputType::suggestions const): Provide the list of suggestions.
(WebCore::TextFieldInputType::didSelectDataListOption): Update the text once an suggestion has been selected.
(WebCore::TextFieldInputType::didCloseSuggestions):
(WebCore::TextFieldInputType::displaySuggestions):
(WebCore::TextFieldInputType::closeSuggestions):
* html/TextFieldInputType.h:
* loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createDataListSuggestionPicker):
* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::createDataListSuggestionPicker):
* page/Chrome.h:
* page/ChromeClient.h:
* platform/DataListSuggestionPicker.h: Added.
(WebCore::DataListSuggestionPicker::close):
(WebCore::DataListSuggestionPicker::handleKeydownWithIdentifier):
(WebCore::DataListSuggestionPicker::displayWithActivationType):
* platform/DataListSuggestionsClient.h: Added.

Source/WebKit:

Added WebDataListSuggestionPicker to send messages to the UIProcess in order to update the suggestions view.
This object is also responsible for forwarding messages from WebKit into the DataListSuggestionsClient, which
is the TextFieldInputType in this case. The client needs to know when the suggestions are hidden or if an
suggestion has been selected.

* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createDataListSuggestionPicker): Responsible for creating WebDataListSuggestionPicker to send/receive messages.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebDataListSuggestionPicker.cpp: Added. Responsible for sending messages to UIProcess and updating the DataListSuggestionsClient.
(WebKit::WebDataListSuggestionPicker::WebDataListSuggestionPicker):
(WebKit::WebDataListSuggestionPicker::~WebDataListSuggestionPicker):
(WebKit::WebDataListSuggestionPicker::handleKeydownWithIdentifier):
(WebKit::WebDataListSuggestionPicker::didSelectOption):
(WebKit::WebDataListSuggestionPicker::didCloseSuggestions):
(WebKit::WebDataListSuggestionPicker::close):
(WebKit::WebDataListSuggestionPicker::displayWithActivationType):
* WebProcess/WebCoreSupport/WebDataListSuggestionPicker.h: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::didSelectDataListOption): Called by UIProcess when option selected.
(WebKit::WebPage::didCloseSuggestions): Called by UIProcess if the suggestions view is closed.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createDataListSuggestionPicker):

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

16 months ago[Win] Fix initial value of HANDLE to INVALID_HANDLE_VALUE
Basuke.Suzuki@sony.com [Fri, 8 Jun 2018 21:06:58 +0000 (21:06 +0000)]
[Win] Fix initial value of HANDLE to INVALID_HANDLE_VALUE
https://bugs.webkit.org/show_bug.cgi?id=186405

The handle was not initialized at all. Initialized with INVALID_HANDLE_VALUE.

Reviewed by Per Arne Vollan.

* Platform/IPC/Attachment.h:
* Platform/IPC/win/AttachmentWin.cpp:
(IPC::Attachment::decode):

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

16 months agohttp/tests/navigation/https-no-store-subframe-in-page-cache.html fails with PSON...
cdumez@apple.com [Fri, 8 Jun 2018 20:59:43 +0000 (20:59 +0000)]
http/tests/navigation/https-no-store-subframe-in-page-cache.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186440

Reviewed by Geoffrey Garen.

Override the PageCache setting *after* the cross-origin navigation. It was previously
overriden before the navigation and thus would not persist with process swap on navigation
enabled.

* http/tests/navigation/https-no-store-subframe-in-page-cache.html:
* http/tests/navigation/resources/https-no-store-subframe-in-page-cache.html:

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

16 months agohttp/tests/cache/partitioned-cache.html fails with PSON enabled
cdumez@apple.com [Fri, 8 Jun 2018 20:59:20 +0000 (20:59 +0000)]
http/tests/cache/partitioned-cache.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186438

Reviewed by Geoffrey Garen.

http/tests/cache/partitioned-cache.html was overriding a setting then navigating
cross-origin, expecting the setting override to persist. However, with process
swap on navigation enabled, the setting does not persist. To address the issue,
we override the setting again in the document we navigate to.

* http/tests/cache/partitioned-cache-expected.txt:
* http/tests/cache/resources/partitioned-cache-loader.html:

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

16 months ago[Cocoa] Web Automation: include browser name and version in listing for automation...
bburg@apple.com [Fri, 8 Jun 2018 20:46:14 +0000 (20:46 +0000)]
[Cocoa] Web Automation: include browser name and version in listing for automation targets
https://bugs.webkit.org/show_bug.cgi?id=186204
<rdar://problem/36950423>

Reviewed by Darin Adler.

Source/JavaScriptCore:

Ask the client what the reported browser name and version should be, then
send this as part of the listing for an automation target.

* inspector/remote/RemoteInspectorConstants.h:
* inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::listingForAutomationTarget const):

Source/WebKit:

Add a new delegate method that allows the client to set the name and version
of the browser as returned in the 'browserName' and 'browserVersion' capabilities.
If the delegate methods are not implemented, try to get this information from
the main bundle.

In the RWI protocol, these fields are added to automation target listings.

* UIProcess/API/Cocoa/_WKAutomationDelegate.h:
* UIProcess/Cocoa/AutomationClient.h:
* UIProcess/Cocoa/AutomationClient.mm:
(WebKit::AutomationClient::AutomationClient):
(WebKit::AutomationClient::browserName const):
(WebKit::AutomationClient::browserVersion const):

Source/WTF:

* wtf/spi/cf/CFBundleSPI.h: Add needed infoDictionary key values.

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

16 months agoREGRESSION(macOS Mojave): move-by-word-visually-inline-block-positioned-element.html...
rniwa@webkit.org [Fri, 8 Jun 2018 20:36:09 +0000 (20:36 +0000)]
REGRESSION(macOS Mojave): move-by-word-visually-inline-block-positioned-element.html fails
https://bugs.webkit.org/show_bug.cgi?id=186424

Reviewed by Wenson Hsieh.

The test failure is ultimately caused by the change in ICU's behavior. With the CPU in the latest macOS Mojave,
ubrk_getRuleStatus returns 200 / UBRK_WORD_LETTER at the end of a buffer given to UBreakIterator. This caused
isWordTextBreak to return true instead of false in isLogicalStartOfWord at the end of the buffer.

This ICU behavior shouldn't have caused a problem in theory. However, WebKit had a bug in visualWordPosition which
caused UBreakIterator to not include the succeeding word when traversing words to the left (backwards in LTR text)
at the beginning of the last block element with exactly one line box after an non-statically positioned element.

In this case, visualWordPosition invokes wordBreakIteratorForMaxOffsetBoundary (because adjacentCharacterPosition
is now at the end of the last word in the non-statically positioned element) to setup UBreakIterator. Because
there are no line boxes left in the current line (in the last block element with exactly one line box),
logicallyNextBox enters the while loop and invoke nextRootInlineBoxCandidatePosition to find the next root line box.
However, the visible position given to this function is at the beginning of the first word in the block element.
As a result, nextRootInlineBoxCandidatePosition skips over this entire line and finds no line box after the one
we had in the non-statically positioned element.

Let us consider the following concrete example in which a position: static div is followed by another div, and each
div contains text nodes "hello" and "world" respectively:
- div position: static (1)
    - "hello"
- div (2)
    - "world"
Suppose we're at the offset 0 of "world", and trying to move to the left. In this case, adjacentCharacterPosition is
at offset 5 of "world". The next line box should be that of "world". However, because we invoke logicallyNextBox via
wordBreakIteratorForMaxOffsetBoundary with the visible position at offset 0 of "world", it skips this line and return
nullptr.

This patch addresses this test failure by fixing visualWordPosition by passing adjacentCharacterPosition (at offset 5
of "hello") as the visible position to find the next text box so that nextRootInlineBoxCandidatePosition invoked in
logicallyNextBox would not skip the line ("world") from which we started the traversal to find the next line box.

Tests: editing/selection/move-by-word-visually-inline-block-positioned-element.html

* editing/VisibleUnits.cpp:
(WebCore::visualWordPosition):

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

16 months agoRun display links in the UI process when ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING...
pvollan@apple.com [Fri, 8 Jun 2018 18:45:52 +0000 (18:45 +0000)]
Run display links in the UI process when ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING) is true.
https://bugs.webkit.org/show_bug.cgi?id=186379

Reviewed by Brent Fulgham.

Replace __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 with ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING).

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchActivityStateChange):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/DisplayLink.cpp:
* UIProcess/mac/DisplayLink.h:
* UIProcess/mac/WebPageProxyMac.mm:
* WebProcess/WebPage/DrawingArea.cpp:
* WebProcess/WebPage/mac/DrawingAreaMac.cpp:

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

16 months ago[GTK] Update to libva-2.1.0 in jhbuild
aboya@igalia.com [Fri, 8 Jun 2018 18:37:44 +0000 (18:37 +0000)]
[GTK] Update to libva-2.1.0 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=186434

Reviewed by Philippe Normand.

* gstreamer/jhbuild.modules:

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

16 months agoSend display link IPC message from display link thread.
pvollan@apple.com [Fri, 8 Jun 2018 18:30:01 +0000 (18:30 +0000)]
Send display link IPC message from display link thread.
https://bugs.webkit.org/show_bug.cgi?id=186429

Reviewed by Geoffrey Garen.

When the display link callback is firing on the display link thread in the UI process,
we schedule a function to be called on the main thread to send the IPC message to the
WebContent process. Since Connection::send is thread-safe, we can just send the message
from the display link thread, instead. This should be a small performance improvement.

* UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::displayLinkCallback):
* UIProcess/mac/DisplayLink.h:

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

16 months agoCommitSet range bisector should use commits occur in commit sets which specify the...
dewei_zhu@apple.com [Fri, 8 Jun 2018 18:23:17 +0000 (18:23 +0000)]
CommitSet range bisector should use commits occur in commit sets which specify the range as valid commits for commits without ordering.
https://bugs.webkit.org/show_bug.cgi?id=186062

Reviewed by Ryosuke Niwa.

For commits without ordering, we should use the commits occurs in the commit sets which specify the range as valid commits.
Commit sets in range should only contain those valid commits for corresponding repositories.

* public/v3/commit-set-range-bisector.js: Updated logic to add check on commits without ordering.
(CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits):
* unit-tests/commit-set-range-bisector-tests.js: Added a unit test for this case.

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

16 months agoREGRESSION (r230930): Link drag image is very blurry
bfulgham@apple.com [Fri, 8 Jun 2018 18:20:44 +0000 (18:20 +0000)]
REGRESSION (r230930): Link drag image is very blurry
https://bugs.webkit.org/show_bug.cgi?id=186435
<rdar://problem/40797202>

Reviewed by Tim Horton.

Source/WebCore:

Tell NSImage the proper display scale factor it needs when performing a 'lockFocus' by passing
the correct scaling transform as an NSImageHintCTM.

I reviewed the other drag operations (selection, image, and attachment) and confirmed through
manual testing that these operations already properly scale the images. It appears that links
were the only place where we relied on NSImage to determine and use the relevant device scale
factor.

* SourcesCocoa.txt: Add new WebKitNSImageExtras.mm file.
* WebCore.xcodeproj/project.pbxproj: Update for new files.
* platform/graphics/mac/WebKitNSImageExtras.h: Added.
* platform/graphics/mac/WebKitNSImageExtras.mm: Added.
(-[NSImage _web_lockFocusWithTransform:]): Helper method that takes a device scale factor, creates the
relevant scaling NSAffineTransform and passes it to the internal NSImage 'lockFocusWithRect' as the
NSImageHintCTM hint.
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink): Use the new helper function.

Source/WebCore/PAL:

Add the necessary NSImage SPI to our SPI headers.

* PAL.xcodeproj/project.pbxproj:
* pal/spi/mac/NSImageSPI.h: Added.

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

16 months agoVersioning.
kocsen_chung@apple.com [Fri, 8 Jun 2018 17:30:14 +0000 (17:30 +0000)]
Versioning.

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

16 months ago[Cocoa] Turn on ARC for the single Objective-C++ source file in bmalloc
darin@apple.com [Fri, 8 Jun 2018 17:23:58 +0000 (17:23 +0000)]
[Cocoa] Turn on ARC for the single Objective-C++ source file in bmalloc
https://bugs.webkit.org/show_bug.cgi?id=186398

Reviewed by Saam Barati.

* Configurations/Base.xcconfig: Turn on ARC.
* bmalloc/ProcessCheck.mm:
(bmalloc::gigacageEnabledForProcess): Removed the globals from this function,
since it's only called once. If it was called more than once, we could optimize
that with a single boolean global rather than two strings and two booleans.

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

16 months ago[LFC] Add vertical margin computation for inline, block-level, inline-block and float...
zalan@apple.com [Fri, 8 Jun 2018 16:35:35 +0000 (16:35 +0000)]
[LFC] Add vertical margin computation for inline, block-level, inline-block and floating replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186432

Reviewed by Antti Koivisto.

* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Use the computed non-auto values when margin is not auto.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):

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

16 months ago[WTF] Add WorkerPool
utatane.tea@gmail.com [Fri, 8 Jun 2018 08:47:06 +0000 (08:47 +0000)]
[WTF] Add WorkerPool
https://bugs.webkit.org/show_bug.cgi?id=174569

Reviewed by Carlos Garcia Campos.

Source/WebCore:

We start using WorkerPool for NicosiaPaintingEngineThreaded instead of glib thread pool.
This makes NicosiaPaintingEngineThreaded platform-independent and usable for WinCairo.

* platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
(Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
(Nicosia::PaintingEngineThreaded::~PaintingEngineThreaded):
(Nicosia::PaintingEngineThreaded::paint):
(Nicosia::s_threadFunc): Deleted.
* platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:

Source/WTF:

This patch adds WorkerPool, which is a thread pool that consists of AutomaticThread.
Since it is based on AutomaticThread, this WorkerPool can take `timeout`: once `timeout`
passes without any tasks, threads in WorkerPool will be destroyed.

We add shouldSleep handler to AutomaticThread to make destruction of threads in WorkerPool moderate.
Without this, all threads are destroyed at once after `timeout` passes.

* WTF.xcodeproj/project.pbxproj:
* wtf/AutomaticThread.cpp:
(WTF::AutomaticThread::AutomaticThread):
(WTF::AutomaticThread::start):
* wtf/AutomaticThread.h:
* wtf/CMakeLists.txt:
* wtf/WorkerPool.cpp: Added.
(WTF::WorkerPool::WorkerPool):
(WTF::WorkerPool::~WorkerPool):
(WTF::WorkerPool::shouldSleep):
(WTF::WorkerPool::postTask):
* wtf/WorkerPool.h: Added.
(WTF::WorkerPool::create):

Tools:

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/WorkerPool.cpp: Added.
(TestWebKitAPI::TEST):

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

16 months ago[GTK][WPE] Wrong result when calling ImageBufferCairo's getImageData()
magomez@igalia.com [Fri, 8 Jun 2018 07:59:08 +0000 (07:59 +0000)]
[GTK][WPE] Wrong result when calling ImageBufferCairo's getImageData()
https://bugs.webkit.org/show_bug.cgi?id=186384

Reviewed by Michael Catanzaro.

Fix calculations so the result is the expected one.

* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::getImageData):

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

16 months agoRelated task may not have a metric or platform.
dewei_zhu@apple.com [Fri, 8 Jun 2018 06:02:47 +0000 (06:02 +0000)]
Related task may not have a metric or platform.
https://bugs.webkit.org/show_bug.cgi?id=186426

Reviewed by Ryosuke Niwa.

Related task in the related task list can be a custom analysis task which
may not have platform or metric.

* public/v3/pages/analysis-task-page.js: Added null checks for platform and metric.
(AnalysisTaskPage.prototype._renderRelatedTasks):

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

16 months ago[Win][MiniBrowser] Add a new BrowserWindow interface to abstract WK1 and WK2 BrowserW...
Hironori.Fujii@sony.com [Fri, 8 Jun 2018 05:14:03 +0000 (05:14 +0000)]
[Win][MiniBrowser] Add a new BrowserWindow interface to abstract WK1 and WK2 BrowserWindow
https://bugs.webkit.org/show_bug.cgi?id=186421

Reviewed by Ryosuke Niwa.

This is the core patch to make MiniBrowser to support WK1 and WK2
windows (Bug 184770).

I will rename MiniBrowser class to WK1BrowserWindow in a follow-up
patch (Bug 184770 Comment 12).

* MiniBrowser/win/BrowserWindow.h: Added.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::WndProc):
* MiniBrowser/win/MainWindow.h:
(MainWindow::browserWindow const):
* MiniBrowser/win/MiniBrowser.cpp:
(MiniBrowser::create):
(MiniBrowser::navigateForwardOrBackward): Removed the unsed first argument hWnd.
(MiniBrowser::navigateToHistory): Ditto.
* MiniBrowser/win/MiniBrowser.h: Inherit BrowserWindow interface.
Make all other methods private and make delegates classes friends.
* MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest):

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

16 months agoAdd base class to get WeakPtrFactory member and avoid some boilerplate code
Hironori.Fujii@sony.com [Fri, 8 Jun 2018 04:55:02 +0000 (04:55 +0000)]
Add base class to get WeakPtrFactory member and avoid some boilerplate code
https://bugs.webkit.org/show_bug.cgi?id=186407
<rdar://problem/40922716>

Unreviewed WinCairo build fix

MediaPlayerPrivateMediaFoundation.cpp(1726): error C2039: 'makeWeakPtr': is not a member of 'WebCore::MediaPlayerPrivateMediaFoundation'

No new tests (No behavior change).

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify):

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

16 months agoFix browser test failed assertions and a bug in 'common-component-base'
dewei_zhu@apple.com [Fri, 8 Jun 2018 04:40:42 +0000 (04:40 +0000)]
Fix browser test failed assertions and a bug in 'common-component-base'
https://bugs.webkit.org/show_bug.cgi?id=186423

Reviewed by Ryosuke Niwa.

Fixed serveral assertion failures in browser tests.
Fixed a bug in common-component-base that null/undefined as attribute value is not allowed.

* browser-tests/chart-revision-range-tests.js: Should not import 'lazily-evaluated-function.js' twice.
* browser-tests/chart-status-evaluator-tests.js: Should not import 'lazily-evaluated-function.js' twice.
* browser-tests/component-base-tests.js: Added a unit test for element attributes being null or undefined.
* browser-tests/index.html: Make mocked data from makeSampleCluster also contains commit_order.
* public/shared/common-component-base.js: Make it allow to take null as attribute value.
(CommonComponentBase.createElement):

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

16 months agoAdd base class to get WeakPtrFactory member and avoid some boilerplate code
cdumez@apple.com [Fri, 8 Jun 2018 03:56:04 +0000 (03:56 +0000)]
Add base class to get WeakPtrFactory member and avoid some boilerplate code
https://bugs.webkit.org/show_bug.cgi?id=186407

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

* wasm/WasmInstance.h:
* wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::registerInstance):

Source/WebCore:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

* Modules/credentialmanagement/CredentialsMessenger.h:
* Modules/credentialmanagement/NavigatorCredentials.cpp:
(WebCore::NavigatorCredentials::credentials):
* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::doSupportedConfigurationStep):
(WebCore::CDM::getConsentStatus):
* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::createSession):
* Modules/encryptedmedia/MediaKeys.h:
* Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):
* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices):
* Modules/mediastream/MediaDevices.h:
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::applyConstraints):
* Modules/mediastream/MediaStreamTrack.h:
* Modules/webauthn/cocoa/LocalAuthenticator.h:
* Modules/webauthn/cocoa/LocalAuthenticator.mm:
(WebCore::LocalAuthenticator::makeCredential):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilitySVGRoot.cpp:
(WebCore::AccessibilitySVGRoot::setParent):
* crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::encrypt):
(WebCore::SubtleCrypto::decrypt):
(WebCore::SubtleCrypto::sign):
(WebCore::SubtleCrypto::verify):
(WebCore::SubtleCrypto::digest):
(WebCore::SubtleCrypto::generateKey):
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
(WebCore::SubtleCrypto::importKey):
(WebCore::SubtleCrypto::exportKey):
(WebCore::SubtleCrypto::wrapKey):
(WebCore::SubtleCrypto::unwrapKey):
* crypto/SubtleCrypto.h:
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::CSSFontFace):
(WebCore::CSSFontFace::wrapper):
(WebCore::CSSFontFace::setWrapper):
* css/DeprecatedCSSOMValue.h:
* css/FontFace.cpp:
* css/FontFace.h:
* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
* css/StyleSheetContents.h:
* css/parser/CSSDeferredParser.cpp:
(WebCore::CSSDeferredParser::CSSDeferredParser):
* dom/DataTransferItemList.cpp:
(WebCore::DataTransferItemList::add):
(WebCore::DataTransferItemList::ensureItems const):
(WebCore::DataTransferItemList::didSetStringData):
* dom/DataTransferItemList.h:
* dom/Document.cpp:
(WebCore::Document::postTask):
(WebCore::Document::hasStorageAccess):
(WebCore::Document::requestStorageAccess):
* dom/Document.h:
(WebCore::Document::setContextDocument):
* dom/MessagePort.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setPictureElement):
* html/HTMLInputElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
* html/HTMLMediaElement.h:
* html/HTMLPictureElement.h:
* html/parser/HTMLResourcePreloader.h:
* layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::style const):
* loader/FormState.h:
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::preconnectIfNeeded):
* loader/LinkLoader.h:
* loader/LinkPreloadResourceClients.cpp:
(WebCore::LinkPreloadResourceClient::LinkPreloadResourceClient):
* loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::MediaResourceLoader):
* loader/MediaResourceLoader.h:
* page/DOMWindow.h:
* page/EventHandler.cpp:
(WebCore::widgetForElement):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher<Timer>::postTask):
* platform/GenericTaskQueue.h:
(WebCore::GenericTaskQueue::enqueueTask):
(WebCore::GenericTaskQueue::cancelAllTasks):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
* platform/Scrollbar.h:
* platform/Widget.cpp:
(WebCore::Widget::setParent):
* platform/Widget.h:
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::decodeAudioForBusCreation):
* platform/audio/mac/AudioHardwareListenerMac.cpp:
(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
* platform/audio/mac/AudioHardwareListenerMac.h:
* platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceClearKey::requestLicense):
(WebCore::CDMInstanceClearKey::updateLicense):
(WebCore::CDMInstanceClearKey::loadSession):
(WebCore::CDMInstanceClearKey::closeSession):
(WebCore::CDMInstanceClearKey::removeSessionData):
* platform/encryptedmedia/clearkey/CDMClearKey.h:
* platform/graphics/FontCascade.h:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
* platform/graphics/cv/TextureCacheCV.h:
* platform/graphics/cv/TextureCacheCV.mm:
(WebCore::TextureCacheCV::textureFromImage):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
* platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
(WebCore::DisplayRefreshMonitorMac::displayLinkFired):
* platform/graphics/mac/DisplayRefreshMonitorMac.h:
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore::TextureMapperLayer::setReplicaLayer):
* platform/graphics/texmap/TextureMapperLayer.h:
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify):
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
* platform/ios/RemoteCommandListenerIOS.h:
* platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):
* platform/mac/RemoteCommandListenerMac.h:
* platform/mac/RemoteCommandListenerMac.mm:
(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac):
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::scheduleDeferredTask):
* platform/mediastream/MediaStreamPrivate.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::scheduleDeferredTask):
* platform/mediastream/RealtimeMediaSource.h:
* platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
* platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):
* platform/vr/VRPlatformDisplay.h:
* platform/vr/openvr/VRPlatformManagerOpenVR.cpp:
(WebCore::VRPlatformManagerOpenVR::getVRDisplays):
* rendering/FloatingObjects.h:
(WebCore::FloatingObject::setOriginatingLine):
* rendering/RenderObject.h:
* rendering/RootInlineBox.cpp:
* rendering/RootInlineBox.h:
* svg/SVGPathElement.h:
* svg/SVGPathSegWithContext.h:
(WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
(WebCore::SVGPathSegWithContext::setContextAndRole):
* svg/SVGTransformList.h:
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedListPropertyTearOff::animVal):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
* svg/properties/SVGAnimatedPropertyTearOff.h:
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::initializeValuesAndWrappers):
(WebCore::SVGListProperty::getItemValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::replaceItemValuesAndWrappers):
(WebCore::SVGListProperty::appendItemValuesAndWrappers):
* svg/properties/SVGMatrixTearOff.h:
* svg/properties/SVGPropertyTearOff.h:
* testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::createCDM):
(WebCore::MockCDM::createInstance):
* testing/MockCDMFactory.h:
* workers/service/ExtendableEvent.h:
* workers/service/FetchEvent.cpp:
(WebCore::FetchEvent::respondWith):
* workers/service/server/SWServer.h:
* xml/DOMParser.cpp:
(WebCore::DOMParser::DOMParser):

Source/WebCore/PAL:

186407_CanMakeWeakPtr

* pal/system/mac/SystemSleepListenerMac.h:
* pal/system/mac/SystemSleepListenerMac.mm:
(PAL::SystemSleepListenerMac::SystemSleepListenerMac):

Source/WebKit:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

* NetworkProcess/NetworkLoadChecker.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::canAuthenticateAgainstProtectionSpace):
* NetworkProcess/PreconnectTask.h:
* NetworkProcess/cache/CacheStorageEngine.h:
* Shared/Authentication/AuthenticationManager.h:
* UIProcess/API/APIAttachment.cpp:
(API::Attachment::Attachment):
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::canMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::openPaymentSetup):
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
* UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
* UIProcess/ApplicationStateTracker.h:
* UIProcess/ApplicationStateTracker.mm:
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
* UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::setTopContentInset):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
(WebKit::WebViewImpl::interpretKeyEvent):
(WebKit::WebViewImpl::firstRectForCharacterRange):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyUp):
(WebKit::WebViewImpl::keyDown):
* UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp:
(WebKit::WebCredentialsMessengerProxy::makeCredential):
(WebKit::WebCredentialsMessengerProxy::getAssertion):
* UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h:
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::setOriginatingPage):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/ProcessAssertion.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebsiteData/WebsiteDataStore.h:
* UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::attachBuffer):
* UIProcess/gtk/WaylandCompositor.h:
* UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::ProcessAssertion::ProcessAssertion):
* UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::displayLinkCallback):
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:

Source/WebKitLegacy/mac:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):

Source/WTF:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

* wtf/WeakPtr.h:
(WTF::CanMakeWeakPtr::weakPtrFactory const):
(WTF::CanMakeWeakPtr::weakPtrFactory):

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

16 months agoAdded sending notification feature when test group finishes.
dewei_zhu@apple.com [Fri, 8 Jun 2018 03:44:28 +0000 (03:44 +0000)]
Added sending notification feature when test group finishes.
https://bugs.webkit.org/show_bug.cgi?id=184340

Reviewed by Ryosuke Niwa.

Added 'testgroup_needs_notification' filed to 'analysis_test_group' table to indicate whether a test group
has a pending notification.
Added 'testgroup_notification_sent_at' to record the last notification sent time.
SQL queries to update existing database are:
    'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_needs_notification boolean NOT NULL DEFAULT FALSE;'
    'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_notification_sent_at timestamp DEFAULT NULL;'
Updated 'run-analysis' script to be able to send notification when test group finishes.
Added 'Notify on completion' checkbox while creating/retrying/bisecting a test group.

* browser-tests/test-group-form-tests.js: Updated existing tests and added a new test.
* browser-tests/test-group-result-page-tests.js: Added unit tests for TestGroupResultPage.
* init-database.sql: Added 'testgroup_needs_notification' filed to 'analysis_test_group' table.
* public/api/test-groups.php: Added '/api/test-groups/ready-for-notification' API to 'test-group' to show all
test groups that need to send notification. Only the ones with 'completed', 'failed' or 'cancelled' status and its
'testgroup_needs_notification' is true will be returned by this API.
* public/include/build-requests-fetcher.php: Added 'fetch_requests_for_groups' to return test groups with given ids.
* public/include/commit-sets-helpers.php: Updated the logic to support setting 'testgroup_needs_notification'
while create an analysis_test_groups.
* public/privileged-api/create-analysis-task.php: Updated the logic to support setting 'testgroup_needs_notification'.
* public/privileged-api/create-test-group.php: Updated the logic to support setting 'testgroup_needs_notification'.
* public/privileged-api/update-test-group.php: Updated the logic to support updating 'testgroup_needs_notification'.
Extended this API to allow authentication both from CSRF token and slave.
* public/v3/components/custom-configuration-test-group-form.js:
(CustomConfigurationTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents
'testgroup_needs_notification' from API perspective.
* public/v3/components/customizable-test-group-form.js:
(CustomizableTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents
'testgroup_needs_notification' from API perspective.
(CustomizableTestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list.
* public/v3/components/test-group-form.js:
(TestGroupForm): Added '_notifyOnCompletion' instance variable.
(TestGroupForm.prototype.didConstructShadowTree): Added 'onchange' event for notify on completion checkbox.
(TestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents
'testgroup_needs_notification' from API perspective.
(TestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list.
* public/v3/models/analysis-results.js: Export 'AnalysisResults'.
(AnalysisResults.fetch): Update API path to use absolute url.
(AnalysisResults):
* public/v3/models/analysis-task.js:
(AnalysisTask.async.create): Extend this function to take notifyOnCompletion as argument which will be used as
'needsNotification' to send to server.
(AnalysisTask):
* public/v3/models/test-group.js:
(TestGroup): Added '_needsNotification' field.
(TestGroup.prototype.updateSingleton): Added logic to update '_needsNotification' field.
(TestGroup.prototype.needsNotification): Returns '_needsNotification' field.
(TestGroup.prototype.author): Returns author information.
(TestGroup.prototype.async.didSendNotification): API that updates 'testgroup_needs_notification' to true.
(TestGroup.prototype.async.fetchTask): API to fetch the task when it has not been fetched.
(TestGroup.createWithTask): Updated this function to accept 'notifyOnCompletion' which will be used as
'needsNotification' to send to server.
(TestGroup.createWithCustomConfiguration): Updated this function to accept 'notifyOnCompletion' which will be used as
'needsNotification' to send to server.
(TestGroup.createAndRefetchTestGroups): Updated this function to accept 'notifyOnCompletion' which will be used as
'needsNotification' to send to server.
(TestGroup.fetchAllWithNotificationReady): New function that invokes '/api/test-groups/ready-for-notification'.
* public/v3/pages/analysis-task-page.js: Update logic to 'notifyOnCompletion' around
(AnalysisTaskChartPane.prototype.didConstructShadowTree):
(AnalysisTaskResultsPane.prototype.didConstructShadowTree):
(AnalysisTaskTestGroupPane.prototype.didConstructShadowTree):
(AnalysisTaskPage.prototype.didConstructShadowTree):
(AnalysisTaskPage.prototype._retryCurrentTestGroup):
(AnalysisTaskPage.prototype.async._bisectCurrentTestGroup):
(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList.set const):
(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList):
(AnalysisTaskPage.prototype._createCustomTestGroup):
* public/v3/pages/chart-pane.js: Added 'Notify on completion' checkbox.
(ChartPane.prototype.didConstructShadowTree):
(ChartPane.prototype.async._analyzeRange):
* public/v3/pages/create-analysis-task-page.js: Adapted API change.
(CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup):
* server-tests/api-test-groups.js: Added tests for '/api/test-groups/ready-for-notification'.
* server-tests/privileged-api-create-analysis-task-tests.js: Updated tests to adapt this change.
Added new tests.
* server-tests/privileged-api-create-test-group-tests.js: Added new tests.
* server-tests/privileged-api-update-test-group-tests.js: Added unit test for 'update-test-group' API.
* server-tests/resources/mock-data.js: addMockData should set 'testgroup_needs_notification' to be true.
* server-tests/tools-sync-buildbot-integration-tests.js: Updated tests to adapt this change.
(async.createTestGroupWihPatch):
(createTestGroupWihOwnedCommit):
* tools/js/analysis-results-notifier.js: Added notifier to send notification for completed test groups.
(AnalysisResultsNotifier):
(AnalysisResultsNotifier.prototype.async.sendNotificationsForTestGroups):
(AnalysisResultsNotifier.prototype._sendNotification): Invoke remote API to send notification.
(AnalysisResultsNotifier.prototype._constructMessageByRules):
(AnalysisResultsNotifier._matchesRule):
(AnalysisResultsNotifier._applyUpdate):
(AnalysisResultsNotifier.async._messageForTestGroup): Build html as message body for a test group.
(AnalysisResultsNotifier._URLForAnalysisTask): Returns URL for an analysis task.
(AnalysisResultsNotifier._instantiateNotificationTemplate):
* tools/js/test-group-result-page.js: Added 'TestGroupResultPage' and 'BarGraph' to show test group result.
(TestGroupResultPage):
(TestGroupResultPage.prototype.async.setTestGroup):
(TestGroupResultPage._urlForAnalysisTask):
(TestGroupResultPage.prototype._URLForAnalysisTask):
(TestGroupResultPage.prototype.constructTables):
(TestGroupResultPage.prototype._constructTableForMetric):
(TestGroupResultPage.):
(TestGroupResultPage.prototype.get pageContent):
(TestGroupResultPage.prototype.get styleTemplate):
(BarGraph):
(BarGraph.prototype.setWidth):
(BarGraph.prototype._constructBarGraph):
(BarGraph.prototype.get pageContent):
(BarGraph.prototype.get styleTemplate):
* tools/js/measurement-set-analyzer.js: Adapted 'AnalysisTask.create' change.
(MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet):
(MeasurementSetAnalyzer):
* tools/js/v3-models.js:
* tools/run-analysis.js: Added the logic that sends notification for completed test groups.
(main):
(async.analysisLoop):
* unit-tests/analysis-task-tests.js:
* unit-tests/analysis-results-notifier-tests.js: Added a unit test for 'AnalysisResultsNotifier' and 'NotificationService'.
* unit-tests/measurement-set-analyzer-tests.js: Updated unit tests per this change.
* unit-tests/test-groups-tests.js: Added unit tests for 'TestGroup.needsNotification'.
* unit-tests/resources/mock-remote-api.js: Only set 'privilegedAPI' when it exits.

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

16 months agoDon’t install process-webcontent-entitlements.sh into the built XPC services.
mitz@apple.com [Fri, 8 Jun 2018 03:44:27 +0000 (03:44 +0000)]
Don’t install process-webcontent-entitlements.sh into the built XPC services.

* WebKit.xcodeproj/project.pbxproj:

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

16 months agoPopStateEvent should not be cancelable by default
cdumez@apple.com [Fri, 8 Jun 2018 03:08:14 +0000 (03:08 +0000)]
PopStateEvent should not be cancelable by default
https://bugs.webkit.org/show_bug.cgi?id=186420

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Resync web-platform-tests after:
https://github.com/web-platform-tests/wpt/pull/11355

* web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event.html:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/popstate_event.html:

Source/WebCore:

PopStateEvent should not be cancelable by default:
- https://github.com/web-platform-tests/wpt/pull/11355
- https://html.spec.whatwg.org/#history-traversal

All other browsers agree with the specification.

No new tests, updated existing tests.

* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::PopStateEvent):

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

16 months ago[Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's...
Hironori.Fujii@sony.com [Fri, 8 Jun 2018 02:19:39 +0000 (02:19 +0000)]
[Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
https://bugs.webkit.org/show_bug.cgi?id=186387

Reviewed by Ryosuke Niwa.

MiniBrowser::updateDeviceScaleFactor does nothing for MiniBrowser.
It should be a MainWindow's method.

* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init): Call MainWindow::updateDeviceScaleFactor.
(MainWindow::resizeSubViews): Do not set a font every time window size is changed.
(MainWindow::WndProc): Call MainWindow::updateDeviceScaleFactor on WM_DPICHANGED.
(MainWindow::updateDeviceScaleFactor): Converted from
MiniBrowser::updateDeviceScaleFactor and
MiniBrowser::generateFontForScaleFactor. Set a URL bar's font if DPI is changed.
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/MiniBrowser.cpp:
(MiniBrowser::init):
(MiniBrowser::generateFontForScaleFactor): Deleted.
(MiniBrowser::updateDeviceScaleFactor): Deleted.
* MiniBrowser/win/MiniBrowser.h:
(MiniBrowser::deviceScaleFactor): Deleted.
(MiniBrowser::urlBarFont): Deleted.

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

16 months ago[iOS] Inform the client when PDFKit's extension process crashes
aestes@apple.com [Fri, 8 Jun 2018 01:03:16 +0000 (01:03 +0000)]
[iOS] Inform the client when PDFKit's extension process crashes
https://bugs.webkit.org/show_bug.cgi?id=186418
<rdar://problem/40175864>

Reviewed by Tim Horton.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processDidTerminate):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):

Separated the dispatching of delegate methods from the rest of the web
process-specific processDidTerminate logic.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView web_setContentProviderData:suggestedFilename:]):

Minor style fix.

(-[WKPDFView pdfHostViewControllerExtensionProcessDidCrash:]):

Called WebPageProxy::dispatchProcessDidTerminate on the main thread.

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

16 months ago[iOS] Unable to present the share sheet after saving a PDF to Files.app
aestes@apple.com [Thu, 7 Jun 2018 23:23:55 +0000 (23:23 +0000)]
[iOS] Unable to present the share sheet after saving a PDF to Files.app
https://bugs.webkit.org/show_bug.cgi?id=186413
<rdar://problem/39937488>

Reviewed by Tim Horton.

WKApplicationStateTrackingView (WKPDFView's superclass) keeps track of whether
it's in a window so that it can suspend and resume the web process accordingly.
However, in WKPDFView's case, PDFKit's host view is in the window instead of
WKPDFView itself when a PDF is being displayed (WKPDFView is only in a window as a
placeholder while the PDF loads). Since WKApplicationStateTrackingView doesn't
think its in a window, it suspends the web process, preventing messages necessary
to displaying the share sheet from being delivered.

Fix this by teaching WKApplicationStateTrackingView to consider the in-windowness
of the proper content view. For all cases other than WKPDFView, this is |self|.
For WKPDFView, it is the PDFHostViewController's root view if it exists, otherwise
it's |self|.

* UIProcess/ios/WKApplicationStateTrackingView.h:
* UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView willMoveToWindow:]):
(-[WKApplicationStateTrackingView didMoveToWindow]):
(-[WKApplicationStateTrackingView _contentView]):
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _contentView]):
(-[WKPDFView web_contentView]):

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

16 months agoMatch HI spec for thumbnail view sizing and location
dino@apple.com [Thu, 7 Jun 2018 23:20:28 +0000 (23:20 +0000)]
Match HI spec for thumbnail view sizing and location
https://bugs.webkit.org/show_bug.cgi?id=186412
<rdar://problem/40226192>

Reviewed by Tim Horton.

Use the computed obscured inset to position the QuickLook
view inside the WKSystemPreviewView.

* UIProcess/ios/WKSystemPreviewView.mm:
(-[WKSystemPreviewView web_setContentProviderData:suggestedFilename:]):
(-[WKSystemPreviewView _layoutThumbnailView]):

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

16 months ago[webkitpy] Treat svn versions as Version objects
jbedard@apple.com [Thu, 7 Jun 2018 23:15:41 +0000 (23:15 +0000)]
[webkitpy] Treat svn versions as Version objects
https://bugs.webkit.org/show_bug.cgi?id=186403
<rdar://problem/40904860>

Reviewed by Dan Bernstein.

* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.svn_version): Return Version object instead of string.
(SVN._status_regexp): Convert version string to Version object.
(SVN.add_list): Ditto.

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

16 months agoDon't try to allocate JIT memory if we don't have the JIT entitlement
commit-queue@webkit.org [Thu, 7 Jun 2018 23:14:04 +0000 (23:14 +0000)]
Don't try to allocate JIT memory if we don't have the JIT entitlement
https://bugs.webkit.org/show_bug.cgi?id=182605
<rdar://problem/38271229>

Patch by Tadeu Zagallo <tzagallo@apple.com> on 2018-06-07
Reviewed by Mark Lam.

Source/JavaScriptCore:

Check that the current process has the correct entitlements before
trying to allocate JIT memory to silence warnings.

* jit/ExecutableAllocator.cpp:
(JSC::allowJIT): Helper that checks entitlements on iOS and returns true in other platforms
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator): check allowJIT before trying to allocate

Source/WebKit:

Remove processHasEntitlement, which was moved into WTF and update all call sites.

* Shared/mac/SandboxUtilities.h:
* Shared/mac/SandboxUtilities.mm:
(WebKit::processHasEntitlement): Deleted.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
* UIProcess/ApplicationStateTracker.mm:
(WebKit::applicationType):
* UIProcess/ios/WKActionSheetAssistant.mm:
(applicationHasAppLinkEntitlements):

Source/WTF:

Move processHasEntitlement from Source/WebKit/Shared/mac/SandboxUtilities.h
into WTF so JavaScriptCore can also use it.

* WTF.xcodeproj/project.pbxproj:
* wtf/PlatformMac.cmake:
* wtf/cocoa/Entitlements.cpp:
(WTF::processHasEntitlement):
* wtf/cocoa/Entitlements.h:
* wtf/spi/cocoa/SecuritySPI.h:

Tools:

Add the Security framework to the TestWTF target, since it's required by the new function to check the entitlements.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

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

16 months agoEnhance run-jsc-stress-tests to allow a test to specify test specific options require...
mark.lam@apple.com [Thu, 7 Jun 2018 22:07:37 +0000 (22:07 +0000)]
Enhance run-jsc-stress-tests to allow a test to specify test specific options required for it to run.
https://bugs.webkit.org/show_bug.cgi?id=186409
<rdar://problem/40909007>

Reviewed by Saam Barati.

Tools:

This is needed because some tests are written with specific features in mind, and
we may not necessarily want to enable that option for all tests.

We can now specify something like this at the top of a test file:
    //@ requireOptions("--useIntlPluralRules=true")

... and ensure that that test will be run with the --useIntlPluralRules=true
option for all test configurations that run the test.

* Scripts/run-jsc-stress-tests:

LayoutTests:

* js/script-tests/intl-pluralrules.js:

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

16 months agoTierUpCheckInjectionPhase systematically never puts the outer-most loop in an inner...
sbarati@apple.com [Thu, 7 Jun 2018 22:06:43 +0000 (22:06 +0000)]
TierUpCheckInjectionPhase systematically never puts the outer-most loop in an inner loop's vector of outer loops
https://bugs.webkit.org/show_bug.cgi?id=186386

Reviewed by Filip Pizlo.

This looks like an 8% speedup on Kraken's imaging-gaussian-blur subtest.

* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):

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

16 months agoREGRESSION (r232544): Pages are blank after homing out and then resuming on iPad
timothy_horton@apple.com [Thu, 7 Jun 2018 22:03:15 +0000 (22:03 +0000)]
REGRESSION (r232544): Pages are blank after homing out and then resuming on iPad
https://bugs.webkit.org/show_bug.cgi?id=186408
<rdar://problem/40907111>

Reviewed by Wenson Hsieh.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):
Clients who use _resizeWhileHidingContentWithUpdates don't call
_endAnimatedResize; the former API is a one-shot. We can't wait for
_endAnimatedResize to complete the animation (and don't need to, since
the content is hidden), but instead should just finish it when the
commit with the resized tiles arrives.

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

16 months agobmalloc: Fix 'noreturn' warnings when compiling with -std=gnu++17
ddkilzer@apple.com [Thu, 7 Jun 2018 21:05:29 +0000 (21:05 +0000)]
bmalloc: Fix 'noreturn' warnings when compiling with -std=gnu++17
<https://webkit.org/b/186400>

Reviewed by Saam Barati.

Fixes the following warnings when compiling with gnu++17:

    Source/bmalloc/bmalloc/Scavenger.cpp:363:1: error: function 'threadRunLoop' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
    {
    ^
    Source/bmalloc/bmalloc/Scavenger.cpp:358:1: error: function 'threadEntryPoint' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
    {
    ^

* bmalloc/BCompiler.h:
(BCOMPILER): Add support for the BCOMPILER() macro, then add
BCOMPILER(GCC_OR_CLANG).  Taken from Source/WTF/wtf/Compiler.h.
(BNO_RETURN): Implement 'norerturn' support using the new
BCOMPILER() macros.  Taken from Source/WTF/wtf/Compiler.h.
* bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::threadRunLoop): Remove the workaround that
tricked older compilers into thinking the while() loop wasn't
infinite.
* bmalloc/Scavenger.h:
(bmalloc::Scavenger::threadEntryPoint): Add BNO_RETURN attribute.
(bmalloc::Scavenger::threadRunLoop): Ditto.

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

16 months agoFunctionRareData::m_objectAllocationProfileWatchpoint is racy
fpizlo@apple.com [Thu, 7 Jun 2018 21:01:19 +0000 (21:01 +0000)]
FunctionRareData::m_objectAllocationProfileWatchpoint is racy
https://bugs.webkit.org/show_bug.cgi?id=186237

Reviewed by Saam Barati.

We initialize it blind and let it go into auto-watch mode once the DFG adds a watchpoint, but
that means that we never notice that it fired if it fires between when the DFG decides to
watch it and when it actually adds the watchpoint.

Most watchpoints are initialized watched for this purpose. This one had a somewhat good
reason for being initialized blind: that's how we knew to ignore changes to the prototype
before the first allocation. However, that functionality also arose out of the fact that the
rare data is created lazily and usually won't exist until the first allocation.

The fix here is to make the watchpoint go into watched mode as soon as we initialize the
object allocation profile.

It's hard to repro this race, however it started causing spurious test failures for me after
bug 164904.

* runtime/FunctionRareData.cpp:
(JSC::FunctionRareData::FunctionRareData):
(JSC::FunctionRareData::initializeObjectAllocationProfile):

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

16 months agoRemove a log that was left in by mistake.
simon.fraser@apple.com [Thu, 7 Jun 2018 20:45:19 +0000 (20:45 +0000)]
Remove a log that was left in by mistake.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):

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