WebKit-https.git
2 years ago[GTK] Mark tests that are failing on the EWS test queue (v3)
clopez@igalia.com [Fri, 15 Jun 2018 19:52:39 +0000 (19:52 +0000)]
[GTK] Mark tests that are failing on the EWS test queue (v3)

Unreviewed GTK gardening.

* platform/gtk/TestExpectations:

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

2 years ago[WinCairo] Move unrelated features of WorkQueueWin into IPC::Connection
Basuke.Suzuki@sony.com [Fri, 15 Jun 2018 19:36:00 +0000 (19:36 +0000)]
[WinCairo] Move unrelated features of WorkQueueWin into IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=186582

Source/WebKit:

Add EventListener private class to handle signaled tasks for I/O.
Originally they were in WTF::WorkQueueWin, but those features were not related
to WorkQueue and only used in IPC::ConnectionWin. Moved logic is more specialized
than old generalized logic. That was unneeded generalization.

Reviewed by Brent Fulgham.

* Platform/IPC/Connection.h:
(IPC::Connection::EventListener::state):
* Platform/IPC/win/ConnectionWin.cpp:
(IPC::Connection::platformInitialize):
(IPC::Connection::platformInvalidate):
(IPC::Connection::readEventHandler):
(IPC::Connection::writeEventHandler):
(IPC::Connection::invokeReadEventHandler):
(IPC::Connection::invokeWriteEventHandler):
(IPC::Connection::open):
(IPC::Connection::sendOutgoingMessage):
(IPC::Connection::EventListener::open):
(IPC::Connection::EventListener::callback):
(IPC::Connection::EventListener::close):

Source/WTF:

Remove unrelated feature from WorkQueueWin.

Reviewed by Brent Fulgham.

* wtf/PlatformWin.cmake: Remove WorkItemContext.*
* wtf/WorkQueue.cpp:
* wtf/WorkQueue.h:
* wtf/win/Win32Handle.h:
* wtf/win/WorkItemContext.cpp: Removed.
* wtf/win/WorkItemContext.h: Removed.
* wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::handleCallback): Deleted.
(WTF::WorkQueue::registerHandle): Deleted.
(WTF::WorkQueue::unregisterAndCloseHandle): Deleted.
(WTF::WorkQueue::unregisterWaitAndDestroyItemSoon): Deleted.
(WTF::WorkQueue::unregisterWaitAndDestroyItemCallback): Deleted.

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

2 years agoCrash in both StorageProcess and UIProcess when using custom WKWebsiteDataStores...
pvollan@apple.com [Fri, 15 Jun 2018 19:33:41 +0000 (19:33 +0000)]
Crash in both StorageProcess and UIProcess when using custom WKWebsiteDataStores for data management.
<rdar://problem/41019893> and https://bugs.webkit.org/show_bug.cgi?id=186682

Patch by Brady Eidson <beidson@apple.com> on 2018-06-15
Reviewed by Chris Dumez.

* UIProcess/Storage/StorageProcessProxy.cpp:
(WebKit::StorageProcessProxy::didClose): Protect this and the process pool as the cleanup that follows
  might cause either to get destroyed.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply): Protect the operating WebsiteDataStore while async operations
  are in flight. Otherwise if the data store is destroyed, the SessionIDs for those operations will get
  destroyed before they complete.
(WebKit::WebsiteDataStore::removeData): Ditto.

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

2 years agoCrash in both StorageProcess and UIProcess when using custom WKWebsiteDataStores...
beidson@apple.com [Fri, 15 Jun 2018 19:28:18 +0000 (19:28 +0000)]
Crash in both StorageProcess and UIProcess when using custom WKWebsiteDataStores for data management.
<rdar://problem/41019893> and https://bugs.webkit.org/show_bug.cgi?id=186682

Reviewed by Chris Dumez.

Source/WebKit:

* UIProcess/Storage/StorageProcessProxy.cpp:
(WebKit::StorageProcessProxy::didClose): Protect this and the process pool as the cleanup that follows
  might cause either to get destroyed.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply): Protect the operating WebsiteDataStore while async operations
  are in flight. Otherwise if the data store is destroyed, the SessionIDs for those operations will get
  destroyed before they complete.
(WebKit::WebsiteDataStore::removeData): Ditto.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):

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

2 years ago[GTK] Fix adding error in browserperfdash_runner.
clopez@igalia.com [Fri, 15 Jun 2018 18:58:59 +0000 (18:58 +0000)]
[GTK] Fix adding error in browserperfdash_runner.

Unreviewed follow-up fix after r232820.

* Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:
(BrowserPerfDashRunner.run):

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

2 years agoDisplayRefreshMonitorMac should hold a weak pointer to WebPage.
pvollan@apple.com [Fri, 15 Jun 2018 18:47:32 +0000 (18:47 +0000)]
DisplayRefreshMonitorMac should hold a weak pointer to WebPage.
https://bugs.webkit.org/show_bug.cgi?id=186683

Reviewed by Brent Fulgham.

Instead of DisplayRefreshMonitorMac having a RefPtr to WebPage, it should have a weak pointer.
Having a RefPtr could in theory create reference cycles. This potential problem has not been
observed in practice, but it is safer to use a weak pointer.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/DrawingAreaMac.cpp:
(WebKit::DisplayRefreshMonitorMac::DisplayRefreshMonitorMac):
(WebKit::DisplayRefreshMonitorMac::~DisplayRefreshMonitorMac):
(WebKit::DisplayRefreshMonitorMac::requestRefreshCallback):

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

2 years agoUnreviewed, rolling out r232816.
mcatanzaro@igalia.com [Fri, 15 Jun 2018 18:31:54 +0000 (18:31 +0000)]
Unreviewed, rolling out r232816.

Suggested by Caitlin:
"this patch clearly does get some things wrong, and it's not
easy to find what those things are"

Reverted changeset:

"[LLInt] use loadp consistently for
get_from_scope/put_to_scope"
https://bugs.webkit.org/show_bug.cgi?id=132333
https://trac.webkit.org/changeset/232816

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

2 years agoUnreviewed GTK test gardening
mcatanzaro@igalia.com [Fri, 15 Jun 2018 17:35:50 +0000 (17:35 +0000)]
Unreviewed GTK test gardening

* platform/gtk/TestExpectations:

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

2 years ago[GTK][WKE] Disable memory pressure handling when running layout tests (WTR)
clopez@igalia.com [Fri, 15 Jun 2018 17:35:30 +0000 (17:35 +0000)]
[GTK][WKE] Disable memory pressure handling when running layout tests (WTR)
https://bugs.webkit.org/show_bug.cgi?id=186663

Reviewed by Michael Catanzaro.

Source/WebKit:

r196943 added a mechanism to disable the memory pressure handling
on Mac. This patch enables using that mechanism also for GTK/WPE.
To do that the environment variable WEBKIT_DISABLE_MEMORY_PRESSURE_MONITOR
should bet set to 1.
We want to use this on the layout tests to avoid flaky tests caused
by accumulated leaks on the WebProcess by different tests.

* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* UIProcess/wpe/WebProcessPoolWPE.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):

Tools:

Disable memory pressure handling when running tests via WTR by
setting WEBKIT_DISABLE_MEMORY_PRESSURE_MONITOR=1 on the environment.

* WebKitTestRunner/gtk/main.cpp:
(main):
* WebKitTestRunner/wpe/main.cpp:
(main):

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

2 years agoREGRESSION (r232799): Form controls are blank in dark mode.
timothy@apple.com [Fri, 15 Jun 2018 17:32:50 +0000 (17:32 +0000)]
REGRESSION (r232799): Form controls are blank in dark mode.

https://bugs.webkit.org/show_bug.cgi?id=186677
rdar://problem/41162899

Reviewed by Wenson Hsieh.

* rendering/RenderThemeMac.mm:
(-[WebCoreTextFieldCell _adjustedCoreUIDrawOptionsForDrawingBordersOnly:]):
Dark mode controls don't have borders, just a semi-transparent background of shadows.
In the dark mode case we can't disable borders, or we will not paint anything for the control.

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

2 years agoRollout r231818, as it introduced regression on tickets.com.
pvollan@apple.com [Fri, 15 Jun 2018 17:32:48 +0000 (17:32 +0000)]
Rollout r231818, as it introduced regression on tickets.com.
https://bugs.webkit.org/show_bug.cgi?id=186675

Unreviewed, rolling out.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchActivityStateChange):
* UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::pause): Deleted.
(WebKit::DisplayLink::resume): Deleted.
* UIProcess/mac/DisplayLink.h:

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

2 years agoUpdate results for fast/css/apple-system-control-colors.html
timothy@apple.com [Fri, 15 Jun 2018 17:17:14 +0000 (17:17 +0000)]
Update results for fast/css/apple-system-control-colors.html

https://bugs.webkit.org/show_bug.cgi?id=186668

Unreviewed test gardening.

* fast/css/apple-system-control-colors-expected.txt: Updated for 10.13.
* platform/mac-sierra/fast/css/apple-system-control-colors-expected.txt: Copied from LayoutTests/fast/css/apple-system-control-colors-expected.txt.

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

2 years agoAdd iOS 12 and watchOS 5 to webkitpy
jbedard@apple.com [Fri, 15 Jun 2018 17:16:53 +0000 (17:16 +0000)]
Add iOS 12 and watchOS 5 to webkitpy
https://bugs.webkit.org/show_bug.cgi?id=186285

Reviewed by Aakash Jain.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
Trigger the right build queues for iOS 12 on check-in.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.__init__): Add iOS 12, tvOS 12 and watchOS 5.
* Scripts/webkitpy/common/version_name_map_unittest.py:
(VersionMapTestCase.test_ios_name_by_version): Test iOS 12 version-name mapping.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_layout_test_searchpath_without_apple_additions):
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):

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

2 years ago[LFC] Fix static position left/top
zalan@apple.com [Fri, 15 Jun 2018 16:26:23 +0000 (16:26 +0000)]
[LFC] Fix static position left/top
https://bugs.webkit.org/show_bug.cgi?id=186640

Reviewed by Antti Koivisto.

In visual formatting model, we normally go like [top, left] while LayoutPoint takes [x, y]. Let's make this less error prone.

* layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::Geometry::Position::operator LayoutPoint const):
* layout/blockformatting/BlockFormattingContext.h:
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition):

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

2 years agoLayout Test platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html is flaky
youenn@apple.com [Fri, 15 Jun 2018 16:19:20 +0000 (16:19 +0000)]
Layout Test platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=180171

Unreviewed.

As per dashboard, test is no longer flaky.
There might be a need to update it when bots have VCP support enabled.

* platform/mac/TestExpectations:
Removed flaky expectation.

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

2 years agoCrash under WebCore::SWServer::registrationStoreImportComplete()
cdumez@apple.com [Fri, 15 Jun 2018 16:16:34 +0000 (16:16 +0000)]
Crash under WebCore::SWServer::registrationStoreImportComplete()
https://bugs.webkit.org/show_bug.cgi?id=186644
<rdar://problem/40982257>

Reviewed by Brady Eidson.

Fix lifetime management issues with RegistrationDatabase. RegistrationDatabase
was previously subclassing CrossThreadTaskHandler. CrossThreadTaskHandler
currently is not safe for objects that can get destroyed (such as
RegistrationDatabase). This is because it does not keep the object alive
when going to the background thread or back to the main thread. This would
cause crashes such as the one in the radar.

To address the issue, stop subclassing CrossThreadTaskHandler and use a
simple WorkQueue instead. RegistrationDatabase is now ThreadSafeRefCounted
and we take care of ref'ing it whenever we dispatch a task to the work queue
or back to the main thread. Because the RegistrationDatabase can now outlive
the RegistrationStore, m_store is now a WeakPtr.

* workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::RegistrationDatabase):
(WebCore::RegistrationDatabase::~RegistrationDatabase):
(WebCore::RegistrationDatabase::postTaskToWorkQueue):
(WebCore::RegistrationDatabase::openSQLiteDatabase):
(WebCore::RegistrationDatabase::importRecordsIfNecessary):
(WebCore::RegistrationDatabase::pushChanges):
(WebCore::RegistrationDatabase::clearAll):
(WebCore::RegistrationDatabase::importRecords):
(WebCore::RegistrationDatabase::addRegistrationToStore):
(WebCore::RegistrationDatabase::databaseFailedToOpen):
(WebCore::RegistrationDatabase::databaseOpenedAndRecordsImported):
* workers/service/server/RegistrationDatabase.h:
(WebCore::RegistrationDatabase::create):
* workers/service/server/RegistrationStore.cpp:
(WebCore::RegistrationStore::RegistrationStore):
(WebCore::RegistrationStore::~RegistrationStore):
(WebCore::RegistrationStore::pushChangesToDatabase):
(WebCore::RegistrationStore::clearAll):
* workers/service/server/RegistrationStore.h:

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

2 years agoimported/w3c/web-platform-tests/service-workers/service-worker/fetch-frame-resource...
youenn@apple.com [Fri, 15 Jun 2018 16:12:36 +0000 (16:12 +0000)]
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-frame-resource.https.html is flaky due to the order of some console log messages
https://bugs.webkit.org/show_bug.cgi?id=186661

Unreviewed.

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/fetch-frame-resource.https-expected.txt:

LayoutTests:

* TestExpectations: Stop outputting console log lines.

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

2 years ago[GTK][WPE]: Avoid using uninitialized launchOptions in getLaunchOptions
commit-queue@webkit.org [Fri, 15 Jun 2018 16:03:43 +0000 (16:03 +0000)]
[GTK][WPE]: Avoid using uninitialized launchOptions in getLaunchOptions
https://bugs.webkit.org/show_bug.cgi?id=185611

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-15
Reviewed by Chris Dumez.

Otherwise we might segfault.

* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getLaunchOptions):

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

2 years ago[LFC] Align compute functions styles.
zalan@apple.com [Fri, 15 Jun 2018 16:00:56 +0000 (16:00 +0000)]
[LFC] Align compute functions styles.
https://bugs.webkit.org/show_bug.cgi?id=186649

Reviewed by Antti Koivisto.

Improve code readability.

* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::contentHeightForFormattingContextRoot):
(WebCore::Layout::FormattingContext::Geometry::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):
(WebCore::Layout::computedValueIfNotAuto): Deleted.
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition):

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

2 years ago[LFC] Add FormattingContextLayout logging channel
zalan@apple.com [Fri, 15 Jun 2018 15:01:04 +0000 (15:01 +0000)]
[LFC] Add FormattingContextLayout logging channel
https://bugs.webkit.org/show_bug.cgi?id=186637

Reviewed by Antti Koivisto.

Add some basic layout logging (-WebCoreLogging "FormattingContextLayout").

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::placeInFlowPositionedChildren const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::contentHeightForFormattingContextRoot):
(WebCore::Layout::shrinkToFitWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedBorder):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):
* layout/Verification.cpp:
(WebCore::Layout::outputMismatchingBoxInformationIfNeeded):
(WebCore::Layout::verifyAndOutputSubtree):
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree const):
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition):
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputLayoutBox):
(WebCore::Layout::outputLayoutTree):
(WebCore::Layout::TreeBuilder::showLayoutTree):
(WebCore::Layout::printLayoutTreeForLiveDocuments):
* layout/layouttree/LayoutTreeBuilder.h:
* platform/Logging.h:

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

2 years ago[WPE][GTK][WebGL] Layout test fast/canvas/webgl/simulated-vertexAttrib0-invalid-indic...
mcatanzaro@igalia.com [Fri, 15 Jun 2018 14:50:34 +0000 (14:50 +0000)]
[WPE][GTK][WebGL] Layout test fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html is failing
https://bugs.webkit.org/show_bug.cgi?id=181659
<rdar://problem/39175593>

Unreviewed. Miguel has verified that it's OK for this test to fail, so skip it.

* platform/gtk/TestExpectations:

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

2 years ago[Web Animations] CSS Animations should take precedence over CSS Transitions
graouts@webkit.org [Fri, 15 Jun 2018 12:30:27 +0000 (12:30 +0000)]
[Web Animations] CSS Animations should take precedence over CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=186651

Reviewed by Dean Jackson.

LayoutTests/imported/mozilla:

Mark some progressions in the Mozilla CSS Animations and CSS Transitions tests.

* css-animations/test_element-get-animations-expected.txt:
* css-transitions/test_document-get-animations-expected.txt:

Source/WebCore:

Ensure CSS Animations override CSS Transitions by modifying the order in which animations are returned by animationsForElement().

* animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::animationsForElement const):

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

2 years agosun spider compile time benchmark fails in run-jsc-benchmarks with JSC_validateOptions=1
sbarati@apple.com [Fri, 15 Jun 2018 06:28:17 +0000 (06:28 +0000)]
sun spider compile time benchmark fails in run-jsc-benchmarks with JSC_validateOptions=1
https://bugs.webkit.org/show_bug.cgi?id=186647

Reviewed by Yusuke Suzuki.

Let's use `unset JSC_useBlah` instead of `export JSC_useBlah=` to clear environment
variables. The latter was causing crashes with when JSC_validateOptions was true.

* Scripts/run-jsc-benchmarks:

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

2 years ago[GTK][buildbot] Raise timeouts for the step benchmark-test on the GTK perf bot
clopez@igalia.com [Fri, 15 Jun 2018 02:11:35 +0000 (02:11 +0000)]
[GTK][buildbot] Raise timeouts for the step benchmark-test on the GTK perf bot
https://bugs.webkit.org/show_bug.cgi?id=186635

Reviewed by Michael Catanzaro.

The current maximum timeout for a run-benchmark test is 1800 (Motionmark plan),
but the buildbot default timeout for the whole step without text output is 1200.
That means that a timeout on a single test can cause a whole step abort because
the buildbot one will trigger first.

Set the benchmark-test step timeout to 2000 to avoid this.

When this benchmark-test was added in r197505 it was already added with a higher
timeout than default (1500) due to the above problem, but it seems this has been
ignored so far because buildbot won't accept the timeout to be set on the class
definition (not even on the class constructor).
The new timeout has to be defined in the addStep call itself.
I have double-checked that by testing locally with the script run-buildbot-test.py
And this upstream issue confirms that https://github.com/buildbot/buildbot/issues/3887

* BuildSlaveSupport/build.webkit.org-config/factories.py:
(BuildAndPerfTestFactory.__init__):
(DownloadAndPerfTestFactory.__init__):
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunBenchmarkTests):

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

2 years ago[GTK] Mark tests that are failing on the EWS test queue (v2)
clopez@igalia.com [Fri, 15 Jun 2018 01:53:58 +0000 (01:53 +0000)]
[GTK] Mark tests that are failing on the EWS test queue (v2)

Unreviewed GTK gardening.

* platform/gtk/TestExpectations:

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

2 years agoUse new jQuery file layout
commit-queue@webkit.org [Fri, 15 Jun 2018 01:20:48 +0000 (01:20 +0000)]
Use new jQuery file layout
https://bugs.webkit.org/show_bug.cgi?id=186636

Patch by Roy Reapor <rreapor@apple.com> on 2018-06-14
Reviewed by Aakash Jain.

Tools:

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html:
* TestResultServer/static-dashboards/run-embedded-unittests.html:

Websites/webkit.org:

* ajax/libs/jqueryui/jquery-ui-1.8.15.css: Removed.
* ajax/libs/jqueryui/jquery-ui-1.8.15.min.js: Removed.

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

2 years agoMake NetworkProcess get cache storage parameters at creation of the CacheStorage...
youenn@apple.com [Fri, 15 Jun 2018 01:05:49 +0000 (01:05 +0000)]
Make NetworkProcess get cache storage parameters at creation of the CacheStorage engine
https://bugs.webkit.org/show_bug.cgi?id=186166

Reviewed by Alex Christensen.

Source/WebCore:

Covered by existing tests.

* platform/network/NetworkStorageSession.h:
(WebCore::NetworkStorageSession::cacheStorageDirectory const): Deleted.
(WebCore::NetworkStorageSession::setCacheStorageDirectory): Deleted.
(WebCore::NetworkStorageSession::cacheStoragePerOriginQuota const): Deleted.
(WebCore::NetworkStorageSession::setCacheStoragePerOriginQuota): Deleted.

Source/WebKit:

Make CacheStorage::Engine creation asynchronous.
Update Engine public methods be static methods taking a SessionID, which will be used to create the engine.

Add IPC methods to retrieve cache storage parameters from NetworkProcess to UIProcess.

Add NetworkProcessProxy ability to compute the cache storage parameters based on the SessionID.
For that purpose, make NetworkProcessProxy store a map of SessionID-to-WebsiteDataStore.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::cacheStorageParameters):
(WebKit::NetworkProcess::setCacheStorageParameters):
(WebKit::NetworkProcess::cacheStorageDirectory const): Deleted.
(WebKit::NetworkProcess::cacheStoragePerOriginQuota const): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::from):
(WebKit::CacheStorage::Engine::fetchEntries):
(WebKit::CacheStorage::Engine::open):
(WebKit::CacheStorage::Engine::remove):
(WebKit::CacheStorage::Engine::retrieveCaches):
(WebKit::CacheStorage::Engine::retrieveRecords):
(WebKit::CacheStorage::Engine::putRecords):
(WebKit::CacheStorage::Engine::deleteMatchingRecords):
(WebKit::CacheStorage::Engine::lock):
(WebKit::CacheStorage::Engine::unlock):
(WebKit::CacheStorage::Engine::clearMemoryRepresentation):
(WebKit::CacheStorage::Engine::representation):
(WebKit::CacheStorage::Engine::clearAllCaches):
(WebKit::CacheStorage::Engine::clearCachesForOrigin):
(WebKit::CacheStorage::Engine::Engine):
(WebKit::CacheStorage::Engine::readCachesFromDisk):
(WebKit::CacheStorage::Engine::defaultEngine): Deleted.
* NetworkProcess/cache/CacheStorageEngine.h:
(WebKit::CacheStorage::Engine::shouldPersist const):
(WebKit::CacheStorage::Engine::weakPtrFactory):
(WebKit::CacheStorage::Engine::create): Deleted.
* NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::~CacheStorageEngineConnection):
(WebKit::CacheStorageEngineConnection::open):
(WebKit::CacheStorageEngineConnection::remove):
(WebKit::CacheStorageEngineConnection::caches):
(WebKit::CacheStorageEngineConnection::retrieveRecords):
(WebKit::CacheStorageEngineConnection::deleteMatchingRecords):
(WebKit::CacheStorageEngineConnection::putRecords):
(WebKit::CacheStorageEngineConnection::reference):
(WebKit::CacheStorageEngineConnection::dereference):
(WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
(WebKit::CacheStorageEngineConnection::engineRepresentation):
* NetworkProcess/cache/CacheStorageEngineConnection.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
* Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
(WebKit::WebsiteDataStoreParameters::privateSessionParameters):
* Shared/WebsiteDataStoreParameters.h:
(): Deleted.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::addSession):
(WebKit::NetworkProcessProxy::removeSession):
(WebKit::NetworkProcessProxy::retrieveCacheStorageParameters):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
(WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):

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

2 years ago[Win][MiniBrowser] Change to use WebKit by default if it's available
Basuke.Suzuki@sony.com [Fri, 15 Jun 2018 00:23:03 +0000 (00:23 +0000)]
[Win][MiniBrowser] Change to use WebKit by default if it's available
https://bugs.webkit.org/show_bug.cgi?id=186633

When MiniBrowser is built with WebKit, use it by default. Also add command
line switch for WebKitLegacy.

Reviewed by Youenn Fablet.

* MiniBrowser/win/Common.cpp:
(parseCommandLine):
(dllLauncherEntryPoint): Deleted.
* MiniBrowser/win/Common.h:
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
(dllLauncherEntryPoint):

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

2 years ago[GTK] Mark tests that are failing on the EWS test queue
clopez@igalia.com [Fri, 15 Jun 2018 00:18:52 +0000 (00:18 +0000)]
[GTK] Mark tests that are failing on the EWS test queue

Unreviewed GTK gardening.

* platform/gtk/TestExpectations:

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

2 years ago[Win] Add IPC error case for broken pipe
Basuke.Suzuki@sony.com [Fri, 15 Jun 2018 00:07:15 +0000 (00:07 +0000)]
[Win] Add IPC error case for broken pipe
https://bugs.webkit.org/show_bug.cgi?id=186445

Add error handling for ERROR_BROKEN_PIPE on IPC::Connection::readEventHandler.

Reviewed by Ryosuke Niwa.

* Platform/IPC/win/ConnectionWin.cpp:
(IPC::Connection::readEventHandler):

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

2 years agoUnreviewed, rolling out r232823.
jlewis3@apple.com [Thu, 14 Jun 2018 23:53:40 +0000 (23:53 +0000)]
Unreviewed, rolling out r232823.

This caused both test timeouts and api failures.

Reverted changeset:

"[Mail] Use the Mail Viewer width as the base for resolving
horizontal viewport units"
https://bugs.webkit.org/show_bug.cgi?id=186585
https://trac.webkit.org/changeset/232823

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

2 years agoActivate -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
youenn@apple.com [Thu, 14 Jun 2018 23:21:06 +0000 (23:21 +0000)]
Activate -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186615

Reviewed by Darin Adler.

Update xcconfig files to activate these compile flags.
Also enable -Wthread-safety since libwebrtc code is using some related attributes.
Update libwebrtc code base to accomodate these flags.

* Configurations/libwebrtc.xcconfig:
* Configurations/opus.xcconfig:
* Configurations/usrsctp.xcconfig:
* Source/webrtc/modules/audio_processing/beamformer/array_util.h:
(webrtc::DegreesToRadians): Make function constexpr.
* Source/webrtc/modules/rtp_rtcp/source/rtp_utility.cc:
Make sure the destructor is never called.
* Source/webrtc/rtc_base/logging.cc:
Update code to move streams_ from a static class member to a regular static function variable.
* Source/webrtc/rtc_base/logging.h:
* Source/webrtc/system_wrappers/source/clock.cc:
Make sure the destructor is never called.

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

2 years agoTestWebKitAPI.WebKit.WKNavigationResponsePDFType fails after r232815
youenn@apple.com [Thu, 14 Jun 2018 22:08:22 +0000 (22:08 +0000)]
TestWebKitAPI.WebKit.WKNavigationResponsePDFType fails after r232815
https://bugs.webkit.org/show_bug.cgi?id=186631

Reviewed by Chris Dumez.

* TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
(TEST): Update PDF plug-in identifier.

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

2 years agoREGRESSION(232741): Crash running ARES-6
msaboff@apple.com [Thu, 14 Jun 2018 21:48:02 +0000 (21:48 +0000)]
REGRESSION(232741): Crash running ARES-6
https://bugs.webkit.org/show_bug.cgi?id=186630

Reviewed by Saam Barati.

The de-duplicating work in r232741 caused a bug in breakCriticalEdge() where it
treated edges between identical predecessor->successor pairs independently.
This fixes the issue by handling such edges once, using the added intermediate
pad for all instances of the edges between the same pairs.

* dfg/DFGCriticalEdgeBreakingPhase.cpp:
(JSC::DFG::CriticalEdgeBreakingPhase::run):
(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge): Deleted.

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

2 years ago[test262-runner] Improve displayed settings, use rel paths
commit-queue@webkit.org [Thu, 14 Jun 2018 21:44:01 +0000 (21:44 +0000)]
[test262-runner] Improve displayed settings, use rel paths
https://bugs.webkit.org/show_bug.cgi?id=186626

Patch by Leo Balter <leonardo.balter@gmail.com> on 2018-06-14
Reviewed by Michael Saboff.

Use relative paths for the information printed in the settings summary after calling the Test262 Runner. This provides a cleaner summary that is easier to read and consume.
* Scripts/test262/Runner.pm:
(processCLI):
(getBuildPath):

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

2 years agoTest262-Runner: Add more information in the summarized stats
commit-queue@webkit.org [Thu, 14 Jun 2018 21:41:07 +0000 (21:41 +0000)]
Test262-Runner: Add more information in the summarized stats
https://bugs.webkit.org/show_bug.cgi?id=185749

Patch by Leo Balter <leonardo.balter@gmail.com> on 2018-06-14
Reviewed by Michael Saboff.

This patch adds extra information in the summarized stats for the given results for each run.
This includes a total of files, a total of executed files and a time information per path and feature.
* Scripts/test262/Runner.pm:
(summarizeResults):

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

2 years agoTest262-Runner: Update config list with some failing tests
commit-queue@webkit.org [Thu, 14 Jun 2018 21:40:29 +0000 (21:40 +0000)]
Test262-Runner: Update config list with some failing tests
https://bugs.webkit.org/show_bug.cgi?id=185628

Patch by Leo Balter <leonardo.balter@gmail.com> on 2018-06-14
Reviewed by Michael Saboff.

The config list is updated to match some slow / hanging tests that are currenctly failing
due to the length used in Array or Array like objects.

This also adds matching bugs for known features that are still in progress and not enabled
yet.
* test262/config.yaml:

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

2 years agoAX: Crash in AccessibilityNodeObject::textUnderElement(WebCore::AccessibilityTextUnde...
n_wang@apple.com [Thu, 14 Jun 2018 21:11:10 +0000 (21:11 +0000)]
AX: Crash in AccessibilityNodeObject::textUnderElement(WebCore::AccessibilityTextUnderElementMode) const + 536
https://bugs.webkit.org/show_bug.cgi?id=186629

Reviewed by Chris Fleizach.

Source/WebCore:

This crashed when we passed a null node to ancestorsOfType. Fixed it
by adding a null check.

Test: accessibility/hidden-object-text-value-crash.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::textUnderElement const):

LayoutTests:

* accessibility/hidden-object-text-value-crash-expected.txt: Added.
* accessibility/hidden-object-text-value-crash.html: Added.

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

2 years agoMinor layout fix for WebKit Feature Status Page
jond@apple.com [Thu, 14 Jun 2018 20:26:38 +0000 (20:26 +0000)]
Minor layout fix for WebKit Feature Status Page
https://bugs.webkit.org/show_bug.cgi?id=186539

Reviewed by Timothy Hatcher.

* wp-content/themes/webkit/status.php: Added padding below the bottom paragraph.

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

2 years agoResource Load Statistics: Shortcut classification for redirect to prevalent resource
wilander@apple.com [Thu, 14 Jun 2018 20:06:15 +0000 (20:06 +0000)]
Resource Load Statistics: Shortcut classification for redirect to prevalent resource
https://bugs.webkit.org/show_bug.cgi?id=186627
<rdar://problem/41132308>

Reviewed by Brent Fulgham.

Source/WebKit:

This patch shortcuts classification of redirect collusion so that we more seldom
have to rely on the recursive backtrace of the redirect graph. The initial
implementation of Resource Load Statistics actually had this classification method.

* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::markAsPrevalentIfHasRedirectedToPrevalent):
    Iterates through a non-classified resource's data for where it has redirected
    and classifies it as prevalent if has redirected to
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
    Now calls WebResourceLoadStatisticsStore::markAsPrevalentIfHasRedirectedToPrevalent()
    before regular classification steps.
* UIProcess/WebResourceLoadStatisticsStore.h:

LayoutTests:

* http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-expected.txt: Added.
* http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent.html: Added.
* http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-expected.txt: Added.
* http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent.html: Added.
* platform/wk2/TestExpectations:
    New tests marked as [ Pass ].

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

2 years agoApply CSP checks before Content blocker checks in NetworkLoadChecker as done by Cache...
youenn@apple.com [Thu, 14 Jun 2018 19:59:47 +0000 (19:59 +0000)]
Apply CSP checks before Content blocker checks in NetworkLoadChecker as done by CachedResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=186550

Reviewed by Alex Christensen.

Source/WebKit:

Do CSP checks and URL upgrade before content blocker checks.

* NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::continueCheckingRequest):

LayoutTests:

* http/tests/contentextensions/fetch-redirect-blocked-expected.txt: Added.
* http/tests/contentextensions/fetch-redirect-blocked.html: Added.
* http/tests/contentextensions/fetch-redirect-blocked.html.json: Added.
* http/tests/contentextensions/resources/subresource-redirect.php:

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

2 years agoPlug-in Process crashing on Mojave (affects Flash, others)
bfulgham@apple.com [Thu, 14 Jun 2018 19:58:37 +0000 (19:58 +0000)]
Plug-in Process crashing on Mojave (affects Flash, others)
https://bugs.webkit.org/show_bug.cgi?id=186628
<rdar://problem/41120462>

Reviewed by Eric Carlson.

Add the missing “com.apple.security.cs.allow-unsigned-executable-memory” entitlement. Also alphabetize
the entitlements file to make it easier to read.

* Configurations/PluginService.entitlements:

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

2 years agoExpose more semantic system colors.
timothy@apple.com [Thu, 14 Jun 2018 19:16:59 +0000 (19:16 +0000)]
Expose more semantic system colors.

https://bugs.webkit.org/show_bug.cgi?id=186609
rdar://problem/39287277

Reviewed by Tim Horton.

Source/WebCore:

Add the following semantic colors:
 -apple-system-control-accent
 -apple-system-even-alternating-content-background
 -apple-system-odd-alternating-content-background
 -apple-system-selected-content-background
 -apple-system-unemphasized-selected-content-background
 -apple-system-selected-text
 -apple-system-unemphasized-selected-text
 -apple-system-selected-text-background
 -apple-system-unemphasized-selected-text-background
 -apple-system-placeholder-text
 -apple-system-find-highlight-background
 -apple-system-separator

* css/CSSValueKeywords.in:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor const):

Source/WebCore/PAL:

* pal/spi/cocoa/NSColorSPI.h: Added findHighlightColor and placeholderTextColor.

LayoutTests:

* fast/css/apple-system-control-colors.html: Updated for new colors.
* fast/css/apple-system-control-colors-expected.txt: Ditto.

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

2 years agoEliminate static initializers in libwebrtc.dylib
youenn@apple.com [Thu, 14 Jun 2018 18:04:34 +0000 (18:04 +0000)]
Eliminate static initializers in libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=186570
<rdar://problem/41054874>

Reviewed by Darin Adler.

* Source/webrtc/rtc_base/flags.h:
Fix memory corruption error by having the actual flag value be static.

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

2 years agojQuery UI image assets are missing on webkit.org website.
aakash_jain@apple.com [Thu, 14 Jun 2018 18:02:43 +0000 (18:02 +0000)]
jQuery UI image assets are missing on webkit.org website.
https://bugs.webkit.org/show_bug.cgi?id=185949

Patch by Roy Reapor <rreapor@apple.com> on 2018-06-14
Reviewed by Aakash Jain.

* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_flat_75_ffffff_40x100.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_65_ffffff_1x400.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_75_dadada_1x400.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_222222_256x240.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_2e83ff_256x240.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_454545_256x240.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_888888_256x240.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_cd0a0a_256x240.png: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery-ui.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.accordion.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.all.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.autocomplete.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.base.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.button.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.core.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.datepicker.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.dialog.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.progressbar.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.resizable.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.selectable.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.slider.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.tabs.min.css: Added.
* ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.theme.min.css: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery-ui.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.blind.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.bounce.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.clip.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.core.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.drop.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.explode.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fade.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fold.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.highlight.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.core.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.position.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.progressbar.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js: Added.
* ajax/libs/jqueryui/1.8.15/ui/jquery.ui.widget.min.js: Added.

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

2 years ago[GTK] Enable tests on the GTK EWS queue
clopez@igalia.com [Thu, 14 Jun 2018 17:57:20 +0000 (17:57 +0000)]
[GTK] Enable tests on the GTK EWS queue
https://bugs.webkit.org/show_bug.cgi?id=186559

Reviewed by Michael Catanzaro.

Enable testing for the gtk-wk2 EWS queue.

* Scripts/webkitpy/common/config/ews.json:

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

2 years ago[Win] Fix build break after r232815 (SupportedPluginIdentifier)
Basuke.Suzuki@sony.com [Thu, 14 Jun 2018 17:57:14 +0000 (17:57 +0000)]
[Win] Fix build break after r232815 (SupportedPluginIdentifier)
https://bugs.webkit.org/show_bug.cgi?id=186623

Reviewed by Youenn Fablet.

* WebCoreSupport/WebPluginInfoProvider.cpp:
(WebPluginInfoProvider::pluginInfo):
(WebPluginInfoProvider::webVisiblePluginInfo):
* WebCoreSupport/WebPluginInfoProvider.h:

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

2 years ago[iOS] WebAVPlayerController isPlayingOnSecondScreen should be declared read-write
eric.carlson@apple.com [Thu, 14 Jun 2018 17:49:44 +0000 (17:49 +0000)]
[iOS] WebAVPlayerController isPlayingOnSecondScreen should be declared read-write
https://bugs.webkit.org/show_bug.cgi?id=186621
<rdar://problem/40243303>

Reviewed by Jer Noble.

* platform/ios/WebAVPlayerController.h:

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

2 years ago[test262-runner] Test output should summarize tests that are
commit-queue@webkit.org [Thu, 14 Jun 2018 17:49:01 +0000 (17:49 +0000)]
[test262-runner] Test output should summarize tests that are
unexpectedly passing/failing.
https://bugs.webkit.org/show_bug.cgi?id=186527

Patch by Valerie R Young <valerie@bocoup.com> on 2018-06-14
Reviewed by Michael Saboff.

* Scripts/test262/Runner.pm:
(main):
  In verbose mode, a summary of all new failing tests
  and all new passing tests are printed at the end of
  the script output.

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

2 years agoUnreviewed GTK+ gardening after r232834.
magomez@igalia.com [Thu, 14 Jun 2018 14:31:28 +0000 (14:31 +0000)]
Unreviewed GTK+ gardening after r232834.

* platform/gtk/TestExpectations:

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

2 years ago[LFC] Miscellaneous fixes to be able to layout <div> with fixed width/height
zalan@apple.com [Thu, 14 Jun 2018 14:27:28 +0000 (14:27 +0000)]
[LFC] Miscellaneous fixes to be able to layout <div> with fixed width/height
https://bugs.webkit.org/show_bug.cgi?id=186616

Reviewed by Antti Koivisto.

1. Move box horizontally/vertically when relevant margin is computed.
2. Fix isStretchedToViewport() logic and make sure that the width/height is adjusted with the margin when the box is stretchy.
3. Fix isPaddingApplicable() and add "GenericElement" for elements that don't need special handling.

With this patch LFC produces the correct geometry for the following content:
<html><body><div style="width: 100px; height: 100px;"></div></body></html>

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
(WebCore::Layout::FormattingContext::computeFloatingWidthAndMargin const):
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidthAndMargin const):
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::isStretchedToViewport):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
* layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::moveHorizontally):
(WebCore::Display::Box::moveVertically):
(WebCore::Display::Box::Rect::setWidth):
(WebCore::Display::Box::Rect::setHeight):
(WebCore::Display::Box::Rect::moveHorizontally):
(WebCore::Display::Box::Rect::moveVertically):
* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isPaddingApplicable const):
* layout/layouttree/LayoutBox.h:
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):

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

2 years ago[GTK][WPE] MiniBrowsers should be able to ignore TLS errors
zandobersek@gmail.com [Thu, 14 Jun 2018 08:57:03 +0000 (08:57 +0000)]
[GTK][WPE] MiniBrowsers should be able to ignore TLS errors
https://bugs.webkit.org/show_bug.cgi?id=186557

Reviewed by Carlos Garcia Campos.

Add the --ignore-tls-errors flags to the GTK and WPE MiniBrowsers.
Enabling the flag enforces ignoring of TLS errors that occur during
load. This is primarily useful for loading test cases from the wpt or
run-webkit-httpd servers where testing-purpose certificates are used.

* MiniBrowser/gtk/main.c:
(main):
* MiniBrowser/wpe/main.cpp:
(main):

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

2 years ago[GTK][WPE] WebDriver: handle acceptInsecureCertificates capability
carlosgc@webkit.org [Thu, 14 Jun 2018 07:23:40 +0000 (07:23 +0000)]
[GTK][WPE] WebDriver: handle acceptInsecureCertificates capability
https://bugs.webkit.org/show_bug.cgi?id=186560

Reviewed by Brian Burg.

Source/JavaScriptCore:

Add SessionCapabilities struct to Client class and unify requestAutomationSession() methods into a single one
that always receives the session capabilities.

* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspectorConstants.h:
* inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::receivedAutomationSessionRequestMessage): Move the parsing of mac capabilities from
WebKit here and fill the SessionCapabilities instead.
* inspector/remote/glib/RemoteInspectorGlib.cpp:
(Inspector::RemoteInspector::requestAutomationSession): Pass SessionCapabilities to the client.
* inspector/remote/glib/RemoteInspectorServer.cpp:
(Inspector::RemoteInspectorServer::startAutomationSession): Process SessionCapabilities.
* inspector/remote/glib/RemoteInspectorServer.h:

Source/WebDriver:

Send session capabilities as part of the StartAutomationSession message. For now only acceptInsecureCerts
capability is sent.

* glib/SessionHostGlib.cpp:
(WebDriver::SessionHost::startAutomationSession):
* gtk/WebDriverServiceGtk.cpp:
(WebDriver::WebDriverService::platformCapabilities): Remove default value of acceptInsecureCerts, since that's
now handled by the browser.
* wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformCapabilities): Ditto.

Source/WebKit:

* UIProcess/API/glib/WebKitAutomationSession.cpp:
(webkitAutomationSessionCreate): Check the acceptInsecureCertificates capability and set the TLS error policy in
the WebContext accordingly if needed.
* UIProcess/API/glib/WebKitAutomationSessionPrivate.h:
* UIProcess/API/glib/WebKitWebContext.cpp:
* UIProcess/Cocoa/AutomationClient.h:
* UIProcess/Cocoa/AutomationClient.mm:
(WebKit::AutomationClient::requestAutomationSession): Use SessionCapabilities to fill the session configuration.
(WebKit::AutomationClient::requestAutomationSessionWithCapabilities): Deleted.

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

2 years ago[WPE] Trying to access the remote inspector hits an assertion in the UIProcess
aperez@igalia.com [Thu, 14 Jun 2018 06:39:15 +0000 (06:39 +0000)]
[WPE] Trying to access the remote inspector hits an assertion in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=186588

Reviewed by Carlos Garcia Campos.

Make both the WPE and GTK+ ports use /org/webkit/inspector as base prefix
for resource paths, which avoids needing a switcheroo depending on the port.

Source/JavaScriptCore:

* inspector/remote/glib/RemoteInspectorUtils.cpp:

Source/WebKit:

* UIProcess/API/wpe/WebKit2InspectorGResourceBundle.xml:
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorTestPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):
* UIProcess/wpe/WebInspectorProxyWPE.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorTestPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):
* WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp:
(WebKit::WebInspectorUI::localizedStringsURL):
(WebKit::RemoteWebInspectorUI::localizedStringsURL):

Tools:

* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::inspectorTestStubURL):
* glib/generate-inspector-gresource-manifest.py:

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

2 years agoEliminate static initializers in libwebrtc.dylib
youenn@apple.com [Thu, 14 Jun 2018 04:14:50 +0000 (04:14 +0000)]
Eliminate static initializers in libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=186570

Reviewed by Darin Adler.

* Source/webrtc/rtc_base/flags.h: Changed macro to create the static into a function.
* Source/webrtc/rtc_base/logging.cc: Ditto.
Made sure that the scope is created on instantiation of the first Log instance that might use it.
* Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
* Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:

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

2 years agoCrash under SWServer::unregisterConnection(Connection&)
cdumez@apple.com [Thu, 14 Jun 2018 02:31:29 +0000 (02:31 +0000)]
Crash under SWServer::unregisterConnection(Connection&)
https://bugs.webkit.org/show_bug.cgi?id=186584
<rdar://problem/40931680>

Reviewed by Youenn Fablet.

Source/WebCore:

The crash was due to SWServer::Connection objects outliving their SWServer, even
though SWServer::Connection::m_server is a C++ reference. This was possible because
SWServer does not own the connections, StorageToWebProcessConnection does. This
started crashing recently, after r232423, because SWServer can get destroyed now.
The SWServer might get destroyed before the StorageToWebProcessConnection, in which
case the SWServer::Connection objects will get destroyed later. We were crashing
because the SWServer::Connection destructor tries to unregister the connection from
the SWServer (which is dead).

To address the issue, the SWServer now owns the connections. StorageToWebProcessConnection
merely has weak pointers to the connections.

* workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::Connection):
(WebCore::SWServer::addConnection):
(WebCore::SWServer::removeConnection):
(WebCore::SWServer::resolveRegistrationReadyRequests):
* workers/service/server/SWServer.h:
(WebCore::SWServer::Connection::~Connection):
(WebCore::SWServer::Connection::server):
(WebCore::SWServer::connection):
* workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::forEachConnection):
(WebCore::SWServerRegistration::notifyClientsOfControllerChange):
(WebCore::SWServerRegistration::controlClient):

Source/WebKit:

* StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
* StorageProcess/ServiceWorker/WebSWServerConnection.h:
* StorageProcess/StorageToWebProcessConnection.cpp:
(WebKit::StorageToWebProcessConnection::~StorageToWebProcessConnection):
(WebKit::StorageToWebProcessConnection::didReceiveMessage):
(WebKit::StorageToWebProcessConnection::didReceiveSyncMessage):
(WebKit::StorageToWebProcessConnection::didClose):
(WebKit::StorageToWebProcessConnection::unregisterSWConnections):
(WebKit::StorageToWebProcessConnection::establishSWServerConnection):
* StorageProcess/StorageToWebProcessConnection.h:

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

2 years ago[Mail] Use the Mail Viewer width as the base for resolving horizontal viewport units
zalan@apple.com [Thu, 14 Jun 2018 01:36:24 +0000 (01:36 +0000)]
[Mail] Use the Mail Viewer width as the base for resolving horizontal viewport units
https://bugs.webkit.org/show_bug.cgi?id=186585
<rdar://problem/30685325>

Reviewed by Tim Horton.

Source/WebCore:

Use the existing "override viewport size for viewport units" mechanism to compute the preferred
viewport unit values for the Mail Viewer html content.

Test: fast/dynamic/mail-autosize-viewport-unit.html

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::enableAutoSizeMode):
(WebCore::FrameView::clearViewportSizeOverrideForCSSViewportUnits):
(WebCore::FrameView::setViewportSizeForCSSViewportUnits):
(WebCore::FrameView::overrideViewportSizeForCSSViewportUnits):
(WebCore::FrameView::viewportSizeForCSSViewportUnits const):
* page/FrameView.h:

LayoutTests:

* fast/dynamic/mail-autosize-viewport-unit-expected.txt: Added.
* fast/dynamic/mail-autosize-viewport-unit.html: Added.

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

2 years ago[GTK] Add a script to upload the data generated with run-benchmark to a browserperfda...
clopez@igalia.com [Thu, 14 Jun 2018 01:04:46 +0000 (01:04 +0000)]
[GTK] Add a script to upload the data generated with run-benchmark to a browserperfdash server and use it on the gtk perf bot
https://bugs.webkit.org/show_bug.cgi?id=166885

Reviewed by Michael Catanzaro.

This patch adds a new script that will execute run-benchmark and upload the results it generates to a browserperfdash web app.

It also modifies the buildbot config file so the GTK performance bot runs this script on the perf-test step.

* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunBenchmarkTests):
* Scripts/browserperfdash-benchmark: Added.
* Scripts/webkitpy/browserperfdash/README: Added.
* Scripts/webkitpy/browserperfdash/__init__.py: Added.
* Scripts/webkitpy/browserperfdash/browserperfdash_runner.py: Added.
(parse_args):
(BrowserPerfDashRunner):
(BrowserPerfDashRunner.__init__):
(BrowserPerfDashRunner._parse_config_file):
(BrowserPerfDashRunner._get_test_version_string):
(BrowserPerfDashRunner._get_test_data_json_string):
(BrowserPerfDashRunner._upload_result):
(BrowserPerfDashRunner.run):
(format_logger):
(main):
* Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py: Added.
(FakeBenchmarkRunner):
(FakeBenchmarkRunner.__init__):
(FakeBenchmarkRunner.execute):
(BrowserPerfDashRunnerTest):
(BrowserPerfDashRunnerTest.test_list_plans_at_least_five):
(BrowserPerfDashRunnerTest.test_benchmark_runner_subclasses_at_least_two):
(BrowserPerfDashRunnerTest.test_can_construct_runner_object_minimum_parameters):
* Scripts/webkitpy/browserperfdash/config-file-example.txt: Added.

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

2 years agoDisable AR support in WKWebView clients
dino@apple.com [Wed, 13 Jun 2018 23:20:49 +0000 (23:20 +0000)]
Disable AR support in WKWebView clients
https://bugs.webkit.org/show_bug.cgi?id=186611
<rdar://problem/39544684>

Reviewed by Jon Lee.

Since it hasn't been adequately tested, System Preview (AR) should
be disabled by default for WKWebViews.

Source/WebCore:

Add a new RuntimeEnabledFeature to control this, and guard for
this case everywhere we use system previews.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isSystemPreviewLink const):
(WebCore::HTMLAnchorElement::handleClick):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::isSystemPreviewImage const):
* html/HTMLPictureElement.cpp:
(WebCore::HTMLPictureElement::isSystemPreviewImage const):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setSystemPreviewEnabled):
(WebCore::RuntimeEnabledFeatures::systemPreviewEnabled const):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):

Source/WebKit:

Add a new WebPreference, and SPI into WKWebViewConfiguration. Also
don't register the WebViewContentProvider if the feature is
disabled.

* Shared/WebPreferences.yaml:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _contentProviderRegistry]):
(-[WKWebViewConfiguration _systemPreviewEnabled]):
(-[WKWebViewConfiguration _setSystemPreviewEnabled:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/Cocoa/WKWebViewContentProviderRegistry.h:
* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
(-[WKWebViewContentProviderRegistry initWithConfiguration:]):
(-[WKWebViewContentProviderRegistry init]): Deleted.

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

2 years ago[LLInt] use loadp consistently for get_from_scope/put_to_scope
caitp@igalia.com [Wed, 13 Jun 2018 22:51:29 +0000 (22:51 +0000)]
[LLInt] use loadp consistently for get_from_scope/put_to_scope
https://bugs.webkit.org/show_bug.cgi?id=132333

Reviewed by Mark Lam.

Using `loadis` for register indexes and `loadp` for constant scopes /
symboltables makes sense, but is problematic for big-endian
architectures.

Consistently treating the operand as a pointer simplifies determining
how to access the operand, and helps avoid bad accesses and crashes on
big-endian ports.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
* bytecode/Instruction.h:
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):

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

2 years agoSupported plugin check should be based on plugin identifier
youenn@apple.com [Wed, 13 Jun 2018 22:22:07 +0000 (22:22 +0000)]
Supported plugin check should be based on plugin identifier
https://bugs.webkit.org/show_bug.cgi?id=186578
<rdar://problem/40523828>

Reviewed by Darin Adler.

Source/WebCore:

Rename SupportedPluginName in SupportedPluginIdentifier.
Add cross-platform support for plug-in identifier.

Update built-in PDF plug-in to check its identifier instead of its name.
This is stronger as the name may change according localization.

* loader/EmptyClients.cpp:
* plugins/PluginData.cpp:
(WebCore::isBuiltInPDFPlugIn):
(WebCore::PluginData::initPlugins):
* plugins/PluginData.h:
(WebCore::operator==):
(WebCore::isSupportedPlugin):
(WebCore::SupportedPluginIdentifier::decode):
(WebCore::SupportedPluginIdentifier::encode const):
(WebCore::SupportedPluginName::decode): Deleted.
(WebCore::SupportedPluginName::encode const): Deleted.
* plugins/PluginInfoProvider.h:

Source/WebKit:

Refactoring to move from Plugin name to Plugin identifier.
Set built-in pdf plugin identifier.
This allows making sure that the PDF plug-in check might not change according localization.

* Scripts/webkit/messages.py:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<PluginInfo>::encode):
(IPC::ArgumentCoder<PluginInfo>::decode):
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::supportedPluginIdentifiers):
(WebKit::PluginInfoStore::addSupportedPlugin):
(WebKit::PluginInfoStore::supportedPluginNames): Deleted.
* UIProcess/Plugins/PluginInfoStore.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPlugins):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pluginInfo):
* WebProcess/Plugins/WebPluginInfoProvider.cpp:
(WebKit::WebPluginInfoProvider::pluginInfo):
(WebKit::WebPluginInfoProvider::webVisiblePluginInfo):
(WebKit::WebPluginInfoProvider::populatePluginCache):
* WebProcess/Plugins/WebPluginInfoProvider.h:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebPluginInfoProvider.h:
* WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::pluginInfo):
(WebPluginInfoProvider::webVisiblePluginInfo):

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

2 years agoPSON: http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame...
cdumez@apple.com [Wed, 13 Jun 2018 22:16:10 +0000 (22:16 +0000)]
PSON: http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html ASSERTS with process swap enabled
https://bugs.webkit.org/show_bug.cgi?id=186545

Reviewed by Brady Eidson.

Source/WebCore:

Move frame navigation logging for ITP purposes from the WebProcess to the UIProcess.
This information was previously logged in DocumentLoader::willSendRequest() and was getting
sync'd to the UIProcess at regular intervals or when the layout tests call testRunner's
statisticsNotifyObserver(). We now do the logging directly in the UIProcess, in
WebPageProxy::decidePolicyForNavigationAction (which was getting called via IPC from
DocumentLoader::willSendRequest()).

This is more efficient and will also be needed soon due to the way process swap on navigation
deals with cross-origin redirects. On cross-origin redirect of the main frame, PSON cancels
the load and started a new load to the redirected to URL in the new WebProcess. As a result,
the new WebProcess is not aware that the load is a redirect, which is information that ITP
requires. By moving the ITP logging to the UIProcess, we still have access to this
information.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
Stop logging the navigation now that it is logged in the UIProcess.

* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
* loader/FrameLoaderClient.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* loader/PolicyChecker.h:
We now pass the full redirect request to the decidePolicyForNavigationAction
delegate instead of a simple isRedirect boolean, so that we have the redirect
response URL in the UIProcess for ITP logging.

* loader/ResourceLoadObserver.cpp:
(WebCore::areDomainsAssociated):
(WebCore::ResourceLoadObserver::logSubresourceLoading):
(WebCore::ResourceLoadObserver::logWebSocketLoading):
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::areDomainsAssociated):
(WebCore::ResourceLoadStatistics::reduceTimeResolution):
* loader/ResourceLoadStatistics.h:
- Remove ResourceLoadObserver::logFrameNavigation() now that it is on the WebResourceLoadStatisticsStore.
- Move some code from ResourceLoadObserver to ResourceLoadStatistics so that it can
  be called from the UIProcess and to avoid code duplication.

Source/WebKit:

Move frame navigation logging for ITP purposes from the WebProcess to the UIProcess.
This information was previously logged in DocumentLoader::willSendRequest() and was getting
sync'd to the UIProcess at regular intervals or when the layout tests call testRunner's
statisticsNotifyObserver(). We now do the logging directly in the UIProcess, in
WebPageProxy::decidePolicyForNavigationAction (which was getting called via IPC from
DocumentLoader::willSendRequest()).

This is more efficient and will also be needed soon due to the way process swap on navigation
deals with cross-origin redirects. On cross-origin redirect of the main frame, PSON cancels
the load and started a new load to the redirected to URL in the new WebProcess. As a result,
the new WebProcess is not aware that the load is a redirect, which is information that ITP
requires. By moving the ITP logging to the UIProcess, we still have access to this
information.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
- We now pass the full redirect response the the delegate method instead of a simple
isRedirect boolean.
- Log the navigation in the WebResourceLoadStatisticsStore for ITP purposes.

* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::areDomainsAssociated):
Equivalent of ResourceLoadObserver's areDomainsAssociated(). Most of the logic was moved
to ResourceLoadStatistics::areDomainsAssociated() to avoid code duplication.

(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
This is called whenever a WebProcess sends new resource load statistics to the UIProcess.
Whenever this happens, we call processStatisticsAndDataRecords() right away, which is
sometimes the tests currently rely on. As a result, we can cancels any pending statistics
processing request that was scheduled by logFrameNavigation().

(WebKit::WebResourceLoadStatisticsStore::scheduleStatisticsProcessingRequestIfNecessary):
(WebKit::WebResourceLoadStatisticsStore::cancelPendingStatisticsProcessingRequest):
Whenever a navigation is logged and statistics have been updated, we need to make sure we
schedule a "timer" to process the new data. We do this at most every 5 seconds for performance
reasons. This 5 second interval matches what the ResourceLoadObserver is using in the WebProcess
to notify the UIProcess of new data.

(WebKit::WebResourceLoadStatisticsStore::logFrameNavigation):
This code was moved from ResourceLoadObserver to WebResourceLoadStatisticsStore now that we
do this logging in the UIProcess instead of the WebProcess. One difference with WebCore is
that we use WebPageProxy::pageLoadState().url() as mainFrameURL instead of
WebPageProxy::mainFrame().url(). The reason for that is that WebPageProxy::mainFrame().url()
becomes empty in case of process swap but ITP still needs the actual main frame URL when the
navigation was triggered. WebPageProxy::pageLoadState().url() gives us this information.

* UIProcess/WebResourceLoadStatisticsStore.h:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
We now pass the full redirect response the the delegate method instead of a simple
isRedirect boolean.

Source/WebKitLegacy/mac:

Update client delegate now that parameter type has changed.

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Source/WebKitLegacy/win:

Update client delegate now that parameter type has changed.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebCoreSupport/WebFrameLoaderClient.h:

LayoutTests:

Attempt to mark the test as non-flaky now that it no longer relies on sync'ing from the WebProcess
to the UIProcess.

* platform/wk2/TestExpectations:

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

2 years agoUnreviewed, add myself as a WebKit committer.
david_fenton@apple.com [Wed, 13 Jun 2018 21:54:44 +0000 (21:54 +0000)]
Unreviewed, add myself as a WebKit committer.

* Scripts/webkitpy/common/config/contributors.json:

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

2 years ago[macOS Debug WK1] LayoutTest fast/parser/xml-error-adopted.xml is a flaky timeout.
ryanhaddad@apple.com [Wed, 13 Jun 2018 21:48:57 +0000 (21:48 +0000)]
[macOS Debug WK1] LayoutTest fast/parser/xml-error-adopted.xml is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=186581

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-13

* platform/mac-wk1/TestExpectations:

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

2 years agoWeb Inspector: open source Dark Mode
nvasilyev@apple.com [Wed, 13 Jun 2018 21:26:34 +0000 (21:26 +0000)]
Web Inspector: open source Dark Mode
https://bugs.webkit.org/show_bug.cgi?id=186606

Reviewed by Timothy Hatcher.

The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.

* UserInterface/Main.html:
* UserInterface/Views/DarkMode.css: Added.
(@media (prefers-dark-interface)):
(:root):
(body.window-inactive):
(body.window-inactive *):
(#main):
(.tree-outline.dom li.selected .selection-area):
(.tab-bar > .item > .icon):
(.go-to-arrow):
(.resource-link,):
(.expand-list-button):
(:matches(img, canvas).show-grid):
(.formatted-object,):
(.formatted-null,):
(.editing):
(.editing, .editing *):
(.text-editor > .CodeMirror .execution-line):
(.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
(.details-section > .header):
(.details-section > .header > label):
(.details-section .details-section,):
(.details-section .details-section:not(.collapsed) > .header):
(.details-section > .content > .group > .row.simple > .label):
(.details-section > .content > .group:nth-child(even)):
(.details-section > .content > .group > .row:matches(.empty, .text)):
(.data-grid th):
(.data-grid td .subtitle):
(.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
(body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
(.data-grid tr.editable .cell-content > input):
(.data-grid td.spanning):
(.object-tree,):
(.object-preview .name):
(.object-preview > .size):
(.tab-bar):
(.tab-bar > .item):
(.tab-bar > .item > .title):
(.tab-bar > .item:not(.disabled).selected):
(.tab-bar:not(.animating) > .item:not(.selected):hover):
(.tab-bar > .item > .close):
(body.window-inactive .tab-bar):
(body.window-inactive .tab-bar > .item):
(body.window-inactive .tab-bar > .item.selected):
(body.window-inactive .tab-bar > .item > .title):
(body .toolbar):
(body.window-inactive .toolbar):
(body.latest-mac .toolbar .item.button,):
(body.latest-mac .toolbar .search-bar > input[type="search"]):
(body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
(body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
(body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
(body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
(body.latest-mac .toolbar .dashboard-container):
(body.latest-mac .toolbar .item.button:active):
(body.latest-mac.window-inactive .toolbar .item.button,):
(.navigation-bar .item.divider):
(.toolbar .item.button):
(.toolbar .item.button:not(.disabled):active):
(.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
(.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
(.toolbar .dashboard.default > .item > div):
(.toolbar .dashboard.default > .item.enabled > div):
(.toolbar .dashboard.default > .item.enabled:hover):
(.toolbar .dashboard.default > .item.enabled:hover > div):
(.toolbar .dashboard.default > .resourcesCount > img,):
(body.latest-mac .toolbar .dashboard .item.button):
(.dashboard-container .advance-arrow):
(.toolbar .dashboard.debugger):
(.dashboard.debugger .navigation-bar .item.button > .glyph):
(.dashboard.debugger > .location .function-name):
(.dashboard.debugger > .location .go-to-link):
(.dashboard.debugger > .divider):
(.popover .edit-breakpoint-popover-content > label.toggle):
(.popover .edit-breakpoint-popover-content > table > tr > th):
(.breakpoint-action-block-body):
(.breakpoint-action-block-body > .description):
(.breakpoint-action-append-button,):
(.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
(.navigation-bar .item.button):
(.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
(.spreadsheet-css-declaration):
(.spreadsheet-css-declaration .selector:focus,):
(.spreadsheet-css-declaration.locked .origin::after):
(.spreadsheet-css-declaration .origin .go-to-link,):
(.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
(.spreadsheet-style-declaration-editor .property.has-warning):
(.spreadsheet-style-declaration-editor .property.has-warning .warning):
(.spreadsheet-css-declaration .media-label):
(.quick-console):
(.syntax-highlighted,):
(.cm-s-default,):
(.CodeMirror .jump-to-symbol-highlight,):
(.console-prompt):
(.completion-suggestions):
(.completion-suggestions-container > .item):
(.CodeMirror-cursor):
(.CodeMirror .CodeMirror-gutters):
(.cm-s-default .cm-link):
(.cm-s-default .cm-m-xml.cm-attribute,):
(.cm-s-default .cm-meta):
(.cm-s-default .cm-variable-3):
(.cm-s-default .cm-builtin):
(.tree-outline .item .subtitle):
(.object-tree-property .getter,):
(.item.object-tree-property.prototype-property):
(.object-tree-property.prototype-property:hover,):
(.object-tree-property .value.error):
(.tree-outline.dom):
(.tree-outline.dom li.selected + ol.children.expanded):
(.tree-outline.dom .shadow):
(.tree-outline.dom li.parent.shadow + ol.children.expanded,):
(.showing-find-banner .tree-outline.dom .search-highlight):
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
(.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
(.spreadsheet-css-declaration.locked):
(.spreadsheet-css-declaration .selector.style-attribute):
(.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
(.inline-swatch):
(.spreadsheet-style-panel .section-header):
(.spreadsheet-style-panel .section-header .node-link:hover):
(.computed-style-properties.details-section):
(.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
(.table,):
(.table > .header > .sortable:active):
(.table > .header > :matches(.sort-ascending, .sort-descending)):
(.table > .header > :matches(.sort-ascending, .sort-descending)::after):
(.scope-bar > li):
(.timeline-overview > .navigation-bar.timelines):
(.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
(.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
(.time-icon .icon):
(.data-grid th:matches(.sort-ascending, .sort-descending)):
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
(.content-view.settings .navigation-bar):
(.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
(.new-tab.tab.content-view):
(.filter-bar > input[type="search"]):
(.filter-bar > input[type="search"]::placeholder):
(.filter-bar > input[type="search"]:focus):
(.content-view.resource.image):
(.console-messages):
(.console-item):
(.console-messages:focus .console-item.selected):
(.console-messages:focus .console-item.selected + .console-item):
(.console-session:first-of-type .console-session-header):
(.console-session:not(:first-of-type) .console-session-header):
(.console-messages a):
(.console-messages a:hover):
(.console-messages:focus .console-item.selected::after):
(.console-error-level):
(.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
(.console-warning-level):
(.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
(.source-code.text-editor > .CodeMirror .error):
(.source-code.text-editor > .CodeMirror .warning):
(.source-code.text-editor > .CodeMirror .issue-widget):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
(.console-message .syntax-highlighted):
(.console-warning-level .console-message-text):
(.console-error-level .console-message-text):
(.console-user-command > .console-message-text):
(.console-message .repeat-count):
(.call-frame .subtitle,):
(.call-frame:hover .subtitle .source-link,):
(.call-frame .separator):
(.quick-console.showing-log):
(.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
(.network-resource-detail):
(.network-resource-detail .item.close > .glyph):
(.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
(.resource-headers .value):
(.network-table .cell.domain > .lock):
(.resource-sizes > .content .label):
(.popover.waterfall-popover):
(.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
(.resource-timing-breakdown > table > tr > td.label,):
(.resource-timing-breakdown > table hr):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
(.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
(.web-socket.content-view .data-grid table.data tr.revealed):
(.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
(.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
(.item.action:not(.initial-state)::before):
(.tree-outline .item.action.visual:not(.selected, .invalid)):
(.item.action:not(.initial-state) > .icon):
(.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
(.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,):
(.content-view.canvas > .preview > img,):
(.content-view.canvas-overview):
(.content-view.canvas-overview .content-view.canvas):
(.content-view.canvas-overview .content-view.canvas.is-recording):
(.content-view.canvas-overview .content-view.canvas.is-recording > header):
(.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
(.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
(.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
(.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
(.content-view.canvas:not(.tab)):
(.content-view:not(.tab).recording):
(.content-view:not(.tab).recording > header > .slider-container):
(.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
(.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
(.progress-view > .titles > .title):
(.progress-view > .titles > .subtitle):
(.indeterminate-progress-spinner):
(.content-view.shader-program > .text-editor.shader):
(.content-view.shader-program > .text-editor.shader > .type-title):
(.item.shader-program .status > img):
(.open-resource-dialog):
(.open-resource-dialog > .field > input):
(.open-resource-dialog > .field > input::placeholder):
(.open-resource-dialog > .tree-outline .item.selected):
(.open-resource-dialog > .field::before):

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

2 years agoGardening: Layout Test js/error-should-not-strong-reference-global-object.html is...
mark.lam@apple.com [Wed, 13 Jun 2018 21:21:21 +0000 (21:21 +0000)]
Gardening: Layout Test js/error-should-not-strong-reference-global-object.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=186372

Not reviewed.

Speculative fix to green the bots plus improved the error message logging to get
more info if this fails again.

* js/error-should-not-strong-reference-global-object.html:

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

2 years agoFloatingPointEnvironment is only needed for ARM CPUs.
mark.lam@apple.com [Wed, 13 Jun 2018 20:57:49 +0000 (20:57 +0000)]
FloatingPointEnvironment is only needed for ARM CPUs.
https://bugs.webkit.org/show_bug.cgi?id=186567
<rdar://problem/40929441>

Reviewed by Michael Saboff.

No new tests.  This behavior is already covered by existing tests.

* platform/ios/wak/FloatingPointEnvironment.cpp:
* platform/ios/wak/FloatingPointEnvironment.h:
(WebCore::FloatingPointEnvironment::enableDenormalSupport):
(WebCore::FloatingPointEnvironment::saveMainThreadEnvironment):
(WebCore::FloatingPointEnvironment::propagateMainThreadEnvironment):
(WebCore::FloatingPointEnvironment::singleton):

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

2 years agoCrash during interrupted process termination
bfulgham@apple.com [Wed, 13 Jun 2018 20:47:17 +0000 (20:47 +0000)]
Crash during interrupted process termination
https://bugs.webkit.org/show_bug.cgi?id=185373
<rdar://problem/40019480>

Reviewed by Alex Christensen.

It's possible to encounter a crash if a user agent feature (such as Safari's responsiveness timer) decides
to kill a Web Process around the same time that a user decides to trigger a new page load. One of the two
termination operations may attempt to call methods on a nulled process pointer.

We can avoid this by holding our own reference to the terminating process until the termination steps have
been completed.

* UIProcess/API/C/WKPage.cpp:
(WKPageTerminate): Ref<> the active process while the termination call is performed.
* UIProcess/API/Cocoa/WKWebView.mm:
([WKWebView _killWebContentProcessAndResetState]): Ditto.

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

2 years ago[Cocoa] Web Automation: wrong modifiers sent for 'Help' virtual key
bburg@apple.com [Wed, 13 Jun 2018 20:29:08 +0000 (20:29 +0000)]
[Cocoa] Web Automation: wrong modifiers sent for 'Help' virtual key
https://bugs.webkit.org/show_bug.cgi?id=186600
<rdar://problem/41088912>

Reviewed by Timothy Hatcher.

This fixes a hang when running W3C test:

    special_keys.py::test_webdriver_special_key_sends_keydown[HELP-expected2]

* UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::eventModifierFlagsForVirtualKey):
The help modifier doesn't seem to be used when pressing the Help key.
I verified this using the Help key on the Keyboard Viewer, since no
keyboards from the past decade actually have this physical button.

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

2 years agoInput form controls have a white background in dark mode, when they should not.
timothy@apple.com [Wed, 13 Jun 2018 20:26:32 +0000 (20:26 +0000)]
Input form controls have a white background in dark mode, when they should not.

https://bugs.webkit.org/show_bug.cgi?id=186577
rdar://problem/39258325

Reviewed by Tim Horton.

Source/WebCore:

* DerivedSources.make: Allow WTF_PLATFORM_MAC ifdefs to preprocess in html.css.
* css/CSSValueKeywords.in: Added -apple-system-control-background.
* css/MediaQueryExpression.cpp:
(WebCore::featureWithValidIdent): Allow dark mode media query in user agent stylesheets.
(WebCore::isFeatureValidWithoutValue): Ditto.
* css/MediaQueryParserContext.cpp:
(WebCore::MediaQueryParserContext::MediaQueryParserContext): Transfer the CSSParserMode from CSSParserContext.
* css/MediaQueryParserContext.h:
* css/html.css: Set color and background-color to semantic colors for input, textarea, and select.
Make input background-color transparent in dark mode to match AppKit.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor const): Added -apple-system-control-background.
(WebCore::RenderThemeMac::paintTextField): Adjust the drawing rect to match new artwork in macOS 10.14.

LayoutTests:

* fast/css/apple-system-control-colors-expected.txt: Updated.
* fast/css/apple-system-control-colors.html: Added -apple-system-control-background.
* platform/gtk/fast/css/apple-system-control-colors-expected.txt: Updated.

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

2 years agoAdd console logging to test case to help investigate flaky timeouts
wilander@apple.com [Wed, 13 Jun 2018 20:24:27 +0000 (20:24 +0000)]
Add console logging to test case to help investigate flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=186603
<rdar://problem/41096614>

Unreviewed test gardening.

* http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt:
* http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
    Now has step-by-step console logging so that (hopefully) the flaky timeouts don't produce empty output.

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

2 years agoVersioning.
kocsen_chung@apple.com [Wed, 13 Jun 2018 20:01:11 +0000 (20:01 +0000)]
Versioning.

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

2 years agoTileFirstPaint strategy for async image decoding should be disabled for non root...
commit-queue@webkit.org [Wed, 13 Jun 2018 19:10:16 +0000 (19:10 +0000)]
TileFirstPaint strategy for async image decoding should be disabled for non root RenderLayers
https://bugs.webkit.org/show_bug.cgi?id=186336
<rdar://problem/40808099>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-06-13
Reviewed by Simon Fraser.

Source/WebCore:

When showing a composited RenderLayer for the first time, the images in
this layer have to be decoded synchronously to avoid unwanted flashing.

To create a layout test for this patch, FrameDecodingDurationForTesting
needs to be generalized for large and animated images. The decoding thread
now forces the decoding time to be at least equal to
FrameDecodingDurationForTesting.

Test: fast/images/async-image-composited-show.html

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::shouldUseAsyncDecodingForAnimatedImages const):
(WebCore::BitmapImage::internalStartAnimation):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::startAsyncDecodingQueue):
* platform/graphics/ImageSource.h:
(WebCore::ImageSource::setFrameDecodingDurationForTesting):
(WebCore::ImageSource::frameDecodingDurationForTesting const):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

* fast/images/async-image-composited-show-expected.html: Added.
* fast/images/async-image-composited-show.html: Added.

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

2 years agoAutomaticThread should have a way to provide a thread name
keith_miller@apple.com [Wed, 13 Jun 2018 19:07:22 +0000 (19:07 +0000)]
AutomaticThread should have a way to provide a thread name
https://bugs.webkit.org/show_bug.cgi?id=186604

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Add names for JSC's automatic threads.

* dfg/DFGWorklist.cpp:
* heap/Heap.cpp:
* jit/JITWorklist.cpp:
* runtime/VMTraps.cpp:
* wasm/WasmWorklist.cpp:

Source/WTF:

AutomaticThread now has a virtual method to get a name, which can be
overridden to provide a custom name to the thread.

* wtf/AutomaticThread.cpp:
(WTF::AutomaticThread::start):
* wtf/AutomaticThread.h:
* wtf/WorkerPool.cpp:

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

2 years agoCFGSimplificationPhase should de-dupe jettisonedBlocks
sbarati@apple.com [Wed, 13 Jun 2018 19:04:10 +0000 (19:04 +0000)]
CFGSimplificationPhase should de-dupe jettisonedBlocks
https://bugs.webkit.org/show_bug.cgi?id=186583

Reviewed by Filip Pizlo.

When making the predecessors list unique in r232741, it revealed a bug inside
of CFG simplification, where we try to remove the same predecessor more than
once from a blocks predecessors list. We built the list of blocks to remove
from the list of successors, which is not unique, causing us to try to remove
the same predecessor more than once. The solution here is to just add to this
list of blocks to remove only if the block is not already in the list.

* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):

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

2 years agoCSS "background-color" style no longer affects natively rendered text fields
wenson_hsieh@apple.com [Wed, 13 Jun 2018 18:51:17 +0000 (18:51 +0000)]
CSS "background-color" style no longer affects natively rendered text fields
https://bugs.webkit.org/show_bug.cgi?id=186597
<rdar://problem/41050528>

Reviewed by Tim Horton.

AppKit currently does not support rendering background color to the edges of a text field cell. This means that
in WebCore, when natively rendering text inputs with background color, we need to only draw the bezels of a text
field, such that the background color we paint behind the text field will be shown. Currently, the way we
accomplish this is by intercepting an internal NSTextField method that computes drawing options for CoreUI, and
inserting a `"borders only" => true` entry.

However, in a recent build of macOS Mojave, AppKit tweaked -_coreUIDrawOptionsWithFrame:inView:includeFocus: to
add an extra argument (such that it's now -_coreUIDrawOptionsWithFrame:inView:includeFocus:maskOnly:), which
negates the above workaround. To fix this in the short term, augment the workaround to apply to the latest macOS
Mojave as well. A longer-term fix is already tracked in <rdar://problem/11385461>, which would allow WebKit to
simply specify a background color on the text field cell, and have AppKit render it properly to the edges of the
bezels.

Covered by a test that is currently failing on Mojave: fast/forms/hidpi-textfield-background-bleeding.html

* rendering/RenderThemeMac.mm:
(-[WebCoreTextFieldCell _adjustedCoreUIDrawOptionsForDrawingBordersOnly:]):
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:maskOnly:]):

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

2 years ago[JSC] Always use Nuke & Set procedure for x86
utatane.tea@gmail.com [Wed, 13 Jun 2018 18:32:56 +0000 (18:32 +0000)]
[JSC] Always use Nuke & Set procedure for x86
https://bugs.webkit.org/show_bug.cgi?id=186592

Reviewed by Keith Miller.

We always use nukeStructureAndStoreButterfly for Contiguous -> ArrayStorage conversion if the architecture is x86.
By doing so, we can concurrently load structure and butterfly at least in x86 environment even in non-collector
threads.

* runtime/JSObject.cpp:
(JSC::JSObject::convertContiguousToArrayStorage):

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

2 years ago[GTK] Mark some flaky tests and expected failures.
clopez@igalia.com [Wed, 13 Jun 2018 18:29:16 +0000 (18:29 +0000)]
[GTK] Mark some flaky tests and expected failures.

Unreviewed test gardening.

* platform/gtk/TestExpectations:

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

2 years ago[WPE] Build getUserMedia support
commit-queue@webkit.org [Wed, 13 Jun 2018 18:22:40 +0000 (18:22 +0000)]
[WPE] Build getUserMedia support
https://bugs.webkit.org/show_bug.cgi?id=186547

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-13
Reviewed by Alejandro G. Castro.

.:

* Source/cmake/OptionsWPE.cmake: Build MediaStream support

Source/WebCore:

Enable mediastream tests.

* PlatformWPE.cmake: Build MediaStream support.
* SourcesGTK.txt: Moved GStreamer related files to GStreamer.cmake.
* SourcesWPE.txt: Removed `platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp`
which is now in GStreamer.cmake.
* platform/GStreamer.cmake: Build more MediaStream/webrtc related files.
* platform/graphics/ImageBuffer.cpp: Handle the fact that toBGRAData is
now built directly into the Cairo backend and not GTK anymore.
* platform/graphics/cairo/ImageBufferCairo.cpp: Implement `toBGRAData`
* platform/graphics/gtk/ImageBufferGtk.cpp: Removed `toBGRAData` as it is
now implemented in the Cairo backend itself.
* platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: Switch an
ASSERT to RELEASE_ASSERT when adding the GhostPad to itself. This was making
test fail when built in RELEASE mode.
(WebCore::webkitMediaStreamSrcChain): Minor variable name change to make it
more accurate.
(WebCore::webkitMediaStreamSrcAddPad): Now add the ghost pad to the element
before setting its chain function, making things clearer.
(WebCore::webkitMediaStreamSrcSetupSrc): Remove extra new line.

Source/WebKit:

* SourcesWPE.txt: Compile files necessary for MediaStream/webrtc.

LayoutTests:

* platform/gtk/TestExpectations: Mark some tests as potentially passing (they fail only
when built in debug mode).
* platform/wpe/TestExpectations: Enable MediaStream tests.

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

2 years ago[GStreamer] fast/canvas/webgl crashes
philn@webkit.org [Wed, 13 Jun 2018 17:58:05 +0000 (17:58 +0000)]
[GStreamer] fast/canvas/webgl crashes
https://bugs.webkit.org/show_bug.cgi?id=186590

Reviewed by Carlos Alberto Lopez Perez.

After r232747 the sample managed by the player can be empty,
without buffer. So we need to check for this before mapping video
frames. Also use the GstVideoFrameHolder in more places to reduce
copy-paste churn.

* platform/graphics/gstreamer/ImageGStreamer.h:
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
(ImageGStreamer::ImageGStreamer):
(ImageGStreamer::~ImageGStreamer):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
(WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):

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

2 years ago[iOS] Synchronize PDF resizing with device rotation
aestes@apple.com [Wed, 13 Jun 2018 17:06:30 +0000 (17:06 +0000)]
[iOS] Synchronize PDF resizing with device rotation
https://bugs.webkit.org/show_bug.cgi?id=186587
<rdar://problem/40922462>

Reviewed by Darin Adler.

Both -beginPDFViewRotation and -endPDFViewRotation need to be called as part of
the transition coordinator's -animateAlongsideTransition: block to be synchronized
with rotation. Additionally, updateBlock needs to be invoked between the two calls
so that PDFKit can capture the frame geometry before and after the update.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
* UIProcess/Cocoa/WKWebViewContentProvider.h:
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView web_beginAnimatedResizeWithUpdates:]):
(-[WKPDFView web_beginAnimatedResize]): Renamed to web_beginAnimatedResizeWithUpdates:.
(-[WKPDFView web_endAnimatedResize]): Deleted.

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

2 years agoUpdate expectations for WebCryptoAPI generateKey tests
clopez@igalia.com [Wed, 13 Jun 2018 16:35:07 +0000 (16:35 +0000)]
Update expectations for WebCryptoAPI generateKey tests
https://bugs.webkit.org/show_bug.cgi?id=186591

Unreviewed test gardening.

These tests were split and moved around several times, and expectation
files for old names stuck around.

LayoutTests/imported/w3c:

This also removes the placeholder failures.worker.html and
successes.worker.html files, because the tests were removed.

Patch by Ms2ger <Ms2ger@igalia.com> on 2018-06-13

* web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Removed.

LayoutTests:

Patch by Ms2ger <Ms2ger@igalia.com> on 2018-06-13

* TestExpectations: Remove reference to long-removed test.
* platform/gtk/TestExpectations: Remove reference to long-removed test.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any-expected.txt: Copied from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any-expected.txt: Copied from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Copied from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Removed.
* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.https.worker-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any-expected.txt: Renamed from LayoutTests/platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any-expected.txt: Renamed from LayoutTests/platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Renamed from LayoutTests/platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.https.worker-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Removed.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Removed.

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

2 years agoA few layout tests are failing on Windows.
pvollan@apple.com [Wed, 13 Jun 2018 16:16:35 +0000 (16:16 +0000)]
A few layout tests are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=186562

Unreviewed test gardening.

* platform/win/TestExpectations:

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

2 years agoUnreviewed GTK build fix for --cmakeargs=-DUSE_GSTREAMER_GL=OFF
philn@webkit.org [Wed, 13 Jun 2018 15:46:27 +0000 (15:46 +0000)]
Unreviewed GTK build fix for --cmakeargs=-DUSE_GSTREAMER_GL=OFF

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):

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

2 years ago[GStreamer] Video freezes when GStreamerGL is not installed
philn@webkit.org [Wed, 13 Jun 2018 13:39:13 +0000 (13:39 +0000)]
[GStreamer] Video freezes when GStreamerGL is not installed
https://bugs.webkit.org/show_bug.cgi?id=184925

Reviewed by Žan Doberšek.

At runtime when the GStreamer opengl plugin isn't available the
player will fallback to the internal WebKit video sink. The
VideoFrameHolder was refactored to handle both cases (opengl,
non-opengl).

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::frame const):
(WebCore::GstVideoFrameHolder::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::GstVideoFrameHolder::isValid const): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

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

2 years ago[JSCOnly] Add a MIPS32el JSCOnly EWS (follow-up fix)
clopez@igalia.com [Wed, 13 Jun 2018 10:50:29 +0000 (10:50 +0000)]
[JSCOnly] Add a MIPS32el JSCOnly EWS (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=186523

Unreviewed follow-up fix after r232748

* Scripts/webkitpy/common/config/ports.py:
(JscOnlyPort.build_jsc_command): It is needed to pass a --jsc-only argument to the build-jsc script.
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_jsconly_port):

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

2 years agoRemove JSVirtualMachine shrinkFootprint when clients move to shrinkFootprintWhenIdle
sbarati@apple.com [Wed, 13 Jun 2018 06:24:58 +0000 (06:24 +0000)]
Remove JSVirtualMachine shrinkFootprint when clients move to shrinkFootprintWhenIdle
https://bugs.webkit.org/show_bug.cgi?id=186071

Reviewed by Mark Lam.

* API/JSVirtualMachine.mm:
(-[JSVirtualMachine shrinkFootprint]): Deleted.
* API/JSVirtualMachinePrivate.h:

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

2 years agoComplex text handling should opt out of bounded text layout.
zalan@apple.com [Wed, 13 Jun 2018 02:59:19 +0000 (02:59 +0000)]
Complex text handling should opt out of bounded text layout.
https://bugs.webkit.org/show_bug.cgi?id=186571
<rdar://problem/41060908>

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/text/complex-long-text-crash.html

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

* fast/text/complex-long-text-crash-expected.txt: Added.
* fast/text/complex-long-text-crash.html: Added.

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

2 years agowebkitpy: Implement coredumpctl support on linux
commit-queue@webkit.org [Wed, 13 Jun 2018 01:55:20 +0000 (01:55 +0000)]
webkitpy: Implement coredumpctl support on linux
https://bugs.webkit.org/show_bug.cgi?id=184039

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-12
Reviewed by Daniel Bates.

And start using an Executive to run subprocesses
in GDBCrashLogGenerator.

Unit tests adapted to the new API and still passing.

* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator):
(GDBCrashLogGenerator._get_trace_from_systemd):
(GDBCrashLogGenerator.generate_crash_log):

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

2 years agoUnreviewed, rolling out r232774.
ryanhaddad@apple.com [Wed, 13 Jun 2018 00:37:48 +0000 (00:37 +0000)]
Unreviewed, rolling out r232774.

Breaks internal builds.

Reverted changeset:

"Complex text handling should opt out of bounded text layout."
https://bugs.webkit.org/show_bug.cgi?id=186571
https://trac.webkit.org/changeset/232774

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

2 years agoImport the 2.0.0 version of Khronos WebGL conformance suite
achristensen@apple.com [Wed, 13 Jun 2018 00:27:15 +0000 (00:27 +0000)]
Import the 2.0.0 version of Khronos WebGL conformance suite
https://bugs.webkit.org/show_bug.cgi?id=181293
<rdar://problem/40654103>

Patch by Justin Fan <justin_fan@apple.com> on 2018-06-07
Reviewed by Dean Jackson.

Original description and patch by Zan Dobersek <zdobersek@igalia.com>.
Retrying patch with up-to-date revision of conformance suite:

"Import the 2.0.0 version of the WebGL conformance suite that's
maintained under the Khronos organization on GitHub:
https://github.com/KhronosGroup/WebGL.git

The following revision of this repository has been used for importing:
8ea92581353d18f50d25159489897ae634eb23b1

For importing purposes, the generate-webgl-tests.py script is modified
to import tests at version 2.0.0 or below. 2.0 is now used as the
default version for importing purposes. Additionally, the
GreaterThanOrEqualToVersion function is fixed to correctly compare 2.x
versions against 1.x.

The following generate-webgl-tests.py invocation was used:
$ python generate-webgl-tests.py -e -w ~/WebGL/conformance-suites/2.0.0

The 2.0.0 version of the conformance suite is composed of three parts:
- tests under conformance/ cover WebGL1 functionality,
- tests under conformance2/ cover WebGL2 functionality,
- tests under deqp/ are a port of the dEQP suite.
webkit-webgl-test-harness.js file is added under webgl/2.0.0/resources/
to properly integrate the imported tests with the WebKit testing
facilities.

The complete suite is for now skipped on all platforms. WebGL1 tests
should be passing in majority, with failures in that part of the suite
mirroring the ones experienced in the current 1.0.2 and 1.0.3 suites.
The WebGL2 support is still incomplete, and the conformance2/ pass rate
will reflect that. dEQP in majority utilizes WebGL2, so the pass rate
is similarly poor.

List of imported conformance suite files is omitted for brevity."

* TestExpectations: Skip the WebGL 1 (conformance) and WebGL 2 (conformance2) tests
* webgl/2.0.0/conformance: Added.
* webgl/2.0.0/conformance2: Added.
* webgl/2.0.0/deqp: Added.
* webgl/2.0.0/resources: Added.
* webgl/2.0.0/resources/webkit-webgl-test-harness.js:
(window.layoutTestController.window.console.log):
(window.layoutTestController.window.console.error):
(log):
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):
* webgl/generate-webgl-tests.py:
(GreaterThanOrEqualToVersion):
* webgl/resources/js-test-pre.js:
(window.console.log):
(window.console.error):
(initNonKhronosFramework):
(this.initTestingHarness):
(nonKhronosFrameworkNotifyDone):
(reportTestResultsToHarness):
(notifyFinishedToHarness):
(_logToConsole):
(enableJSTestPreVerboseLogging):
(description):
(_addSpan):
(debug):
(escapeHTML):
(testPassed):
(testFailed):
(areArraysEqual):
(isMinusZero):
(isResultCorrect):
(stringify):
(evalAndLog):
(shouldBe):
(shouldNotBe):
(shouldBeTrue):
(shouldBeFalse):
(shouldBeNaN):
(shouldBeNull):
(shouldBeEqualToString):
(shouldEvaluateTo):
(shouldBeNonZero):
(shouldBeNonNull):
(shouldBeUndefined):
(shouldBeDefined):
(shouldBeGreaterThanOrEqual):
(expectTrue):
(shouldThrow):
(assertMsg):
(gc.gcRec):
(gc):
(finishTest):
* webgl/resources/webgl-test-harness.js:
(log):
(try.request.onreadystatechange):
(loadTextFileAsynchronous):
(getMajorVersion):
(getURLWithOptions):
(greaterThanOrEqualToVersion):
(copyObject):
(toCamelCase):
(getFileListImpl):
(getFileList):
(FilterURL):
(TestFile):
(Test):
(TestHarness):
(TestHarness.prototype.addFiles_):
(TestHarness.prototype.runTests):
(TestHarness.prototype.setTimeout):
(TestHarness.prototype.clearTimeout):
(TestHarness.prototype.startNextTest):
(TestHarness.prototype.startTest):
(TestHarness.prototype.getTest):
(TestHarness.prototype.reportResults):
(TestHarness.prototype.dequeTest):
(TestHarness.prototype.notifyFinished):
(TestHarness.prototype.timeout):
(TestHarness.prototype.setTimeoutDelay):
(WebGLTestHarnessModule):

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

2 years agoUnreviewed, rebaseline RSA-PSS tests for High Sierra.
ryanhaddad@apple.com [Tue, 12 Jun 2018 23:30:54 +0000 (23:30 +0000)]
Unreviewed, rebaseline RSA-PSS tests for High Sierra.

* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Add missing whitespace.
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Ditto.

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

2 years agoUnreviewed followup for r232736
said@apple.com [Tue, 12 Jun 2018 22:28:25 +0000 (22:28 +0000)]
Unreviewed followup for r232736
https://bugs.webkit.org/show_bug.cgi?id=185698

Consider the case when the SVG animation starts before requestAnimationFrame()
is called. Store the value of animItem and compare it later with the value
of animItem after detaching it from the animated animList.

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

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

2 years agoiOS WK1: Occasional crash in FrameView::setScrollPosition
rniwa@webkit.org [Tue, 12 Jun 2018 21:50:14 +0000 (21:50 +0000)]
iOS WK1: Occasional crash in FrameView::setScrollPosition
https://bugs.webkit.org/show_bug.cgi?id=186575

Reviewed by David Kilzer.

The bug was caused by ScrollView::platformSetScrollPosition releasing the web thread lock
and DumpRenderTree requesting a new page load thereby destroying FrameView.

Fixed the crash by keeping FrameView alive while scrollToFocusedElementTimerFired is getting called.

No new tests since the bug is caught by existing layout tests under guard malloc.

* page/FrameView.cpp:
(WebCore::FrameView::scrollToFocusedElementTimerFired):

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

2 years agoMark inspector/console/webcore-logging.html as flaky on mac-wk2 debug.
ryanhaddad@apple.com [Tue, 12 Jun 2018 21:45:53 +0000 (21:45 +0000)]
Mark inspector/console/webcore-logging.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=186425

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agoMark media/video-buffering-allowed.html as flaky.
ryanhaddad@apple.com [Tue, 12 Jun 2018 21:37:37 +0000 (21:37 +0000)]
Mark media/video-buffering-allowed.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=186574

Unreviewed test gardening.

* TestExpectations:

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

2 years agotest262/Runner.pm: fix one test (can't find jsc)
commit-queue@webkit.org [Tue, 12 Jun 2018 21:37:08 +0000 (21:37 +0000)]
test262/Runner.pm: fix one test (can't find jsc)
https://bugs.webkit.org/show_bug.cgi?id=186573

Patch by Valerie R Young <valerie@bocoup.com> on 2018-06-12
Reviewed by Michael Saboff.

* Scripts/webkitperl/test262_unittest/test262-runner-tests.pl:
fix subtest to use mock JSC

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

2 years agoComplex text handling should opt out of bounded text layout.
zalan@apple.com [Tue, 12 Jun 2018 21:14:04 +0000 (21:14 +0000)]
Complex text handling should opt out of bounded text layout.
https://bugs.webkit.org/show_bug.cgi?id=186571
<rdar://problem/40801429>

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/text/complex-long-text-crash.html

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

* fast/text/complex-long-text-crash-expected.txt: Added.
* fast/text/complex-long-text-crash.html: Added.

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

2 years agoUnreviewed, fix the Windows build after r232757
wenson_hsieh@apple.com [Tue, 12 Jun 2018 21:09:02 +0000 (21:09 +0000)]
Unreviewed, fix the Windows build after r232757

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):

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

2 years agoRebaseline WebCrypto API tests for High Sierra after r232641.
commit-queue@webkit.org [Tue, 12 Jun 2018 20:50:55 +0000 (20:50 +0000)]
Rebaseline WebCrypto API tests for High Sierra after r232641.
https://bugs.webkit.org/show_bug.cgi?id=186565

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-12

* platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Added.
* platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Added.
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Added.
* platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Added.

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