WebKit-https.git
5 months ago[JSC] AI should not propagate AbstractValue relying on constant folding phase
ysuzuki@apple.com [Wed, 6 Mar 2019 22:34:30 +0000 (22:34 +0000)]
[JSC] AI should not propagate AbstractValue relying on constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=195375

Reviewed by Saam Barati.

JSTests:

* stress/make-rope-should-not-propagate-constant-folded-value-in-ai.js: Added.
(let.array):

Source/JavaScriptCore:

MakeRope rule in AI attempts to propagate the node, which will be produced after constant folding phase runs.
This is wrong since we do not guarantee that constant folding phase runs after AI runs (e.g. DFGSpeculativeJIT
and FTLLowerDFGToB3 run AI). This results in the bug that the value produced at runtime is different from the
proven constant value in AI. In the attached test, AI says the value is SpecStringIdent while the resulted value
at runtime is SpecStringVar, resulting in wrong MakeRope code. This patch removes the path propagating the node
relying on constant folding phase.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

5 months agoWeb Inspector: CPU Usage Timeline - Allow clicking a bar in the overview to select...
joepeck@webkit.org [Wed, 6 Mar 2019 22:28:30 +0000 (22:28 +0000)]
Web Inspector: CPU Usage Timeline - Allow clicking a bar in the overview to select a tight time range around it
https://bugs.webkit.org/show_bug.cgi?id=195321

Reviewed by Devin Rousso.

* UserInterface/Models/Timeline.js:
(WI.Timeline.prototype.closestRecordTo):
Helper to get the closest record to a timestamp.

* UserInterface/Views/CPUTimelineOverviewGraph.css:
(.timeline-overview-graph.cpu > .stacked-column-chart):
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.selected):
Style a selected record with the active color.

* UserInterface/Views/CPUTimelineOverviewGraph.js:
(WI.CPUTimelineOverviewGraph):
(WI.CPUTimelineOverviewGraph.prototype.get samplingRatePerSecond):
(WI.CPUTimelineOverviewGraph.prototype.reset):
(WI.CPUTimelineOverviewGraph.prototype.layout):
(WI.CPUTimelineOverviewGraph.prototype.updateSelectedRecord):
(WI.CPUTimelineOverviewGraph.prototype._graphPositionForMouseEvent):
(WI.CPUTimelineOverviewGraph.prototype._handleGraphMouseClick):
A click in the overview which hits a rect triggers a selection of
the associated timeline record.

* UserInterface/Views/StackedColumnChart.js:
(WI.StackedColumnChart.prototype.addColumnSet):
(WI.StackedColumnChart.prototype.layout):
Allow setting an additional class name with a column set.
It will set the class name on each rect in that column.

* UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview.prototype._recordSelected):
When selecting a CPU record, make a selection range of 2 neighboring
columns in each direction.

* UserInterface/Views/TimelineRuler.js:
(WI.TimelineRuler.prototype._handleClick):
When a sub-element has handled the click stop further event propagation.

* UserInterface/Views/TimelineOverviewGraph.js:
(WI.TimelineOverviewGraph.prototype.get selected):
Drive-by style fix.

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

5 months agoWeb Inspector: TimelineOverview clicks do not always behave as expected
joepeck@webkit.org [Wed, 6 Mar 2019 22:28:27 +0000 (22:28 +0000)]
Web Inspector: TimelineOverview clicks do not always behave as expected
https://bugs.webkit.org/show_bug.cgi?id=195319

Reviewed by Devin Rousso.

* UserInterface/Views/TimelineRuler.js:
(WI.TimelineRuler.prototype._shouldIgnoreMicroMovement):
(WI.TimelineRuler.prototype._handleMouseDown):
(WI.TimelineRuler.prototype._handleMouseMove):
Ignore moves that haven't gone more than 4px. Once the threshold is
passed allow all moves. This improves the click behavior since
previously click would never re-dispatch if there was any movement.

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

5 months ago[iOS] Basic hit testing for content overlapping fast-scrollable overflow
antti@apple.com [Wed, 6 Mar 2019 21:05:07 +0000 (21:05 +0000)]
[iOS] Basic hit testing for content overlapping fast-scrollable overflow
https://bugs.webkit.org/show_bug.cgi?id=195360

Reviewed by Simon Fraser.

Source/WebKit:

* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::makeNode):

Use new UIView subclass for tiled layer hosting (so we know they have content even when contents property is nil).

* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(collectDescendantViewsAtPoint):

Factor collection step into a function.
Do basic skipping of event-transparent layers.

(-[UIView _web_findDescendantViewAtPoint:withEvent:]):

To handle overlap cases, find the scroll view that has the deepest non-transparent view hit as its descendant.

(-[UIView _web_recursiveFindDescendantInteractibleViewAtPoint:withEvent:]): Deleted.

LayoutTests:

* fast/scrolling/ios/overflow-scroll-overlap-expected.txt: Added.
* fast/scrolling/ios/overflow-scroll-overlap.html: Added.

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

5 months agoWeb Inspector: CPU Usage Timeline - Statistics and Sources sections
joepeck@webkit.org [Wed, 6 Mar 2019 20:38:43 +0000 (20:38 +0000)]
Web Inspector: CPU Usage Timeline - Statistics and Sources sections
https://bugs.webkit.org/show_bug.cgi?id=195202

Reviewed by Devin Rousso.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
New strings.

* UserInterface/Base/Utilities.js:
(Map.prototype.getOrInitialize):
Helper to get and if not found initialize with a value.

* UserInterface/Views/CPUTimelineView.css:
(.timeline-view.cpu > .content > .overview > .chart > .container.stats):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > th):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.number):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.label):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .show-more):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter:hover):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active + .active):
(@media (prefers-color-scheme: dark)):
Colors for the statistics sections.

* UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView):
(WI.CPUTimelineView.prototype.reset):
(WI.CPUTimelineView.prototype.clear):
(WI.CPUTimelineView.prototype._clearStatistics):
(WI.CPUTimelineView.prototype._clearSources):
Updates for additional sections.
Include a cache of the statisiticsData so we can relayout parts of the UI and
avoid an entire UI update.

(WI.CPUTimelineView.prototype.initialLayout):
(WI.CPUTimelineView.prototype._layoutBreakdownChart):
(WI.CPUTimelineView.prototype._layoutStatisticsAndSources):
(WI.CPUTimelineView.prototype._layoutStatisticsSection.createEllipsisElement):
(WI.CPUTimelineView.prototype._layoutStatisticsSection):
(WI.CPUTimelineView.prototype._layoutSourcesSection.firstNonNativeCallFrame):
(WI.CPUTimelineView.prototype._layoutSourcesSection.keyForSourceCodeLocation):
(WI.CPUTimelineView.prototype._layoutSourcesSection.labelForLocation):
(WI.CPUTimelineView.prototype._layoutSourcesSection.createEllipsisElement):
(WI.CPUTimelineView.prototype._layoutSourcesSection):
Extract layouts into helper methods to avoid an enormous layout method.

(WI.CPUTimelineView.prototype._computeSamplingData.incrementTypeCount):
(WI.CPUTimelineView.prototype._computeSamplingData):
Compute additional data when going through script events.

(WI.CPUTimelineView.prototype._resetSourcesFilters):
(WI.CPUTimelineView.prototype._addSourcesFilter):
(WI.CPUTimelineView.prototype._removeSourcesFilter):
(WI.CPUTimelineView.prototype._updateSourcesFilters):
Helpers for updating the source filters.

(WI.CPUTimelineView.prototype._createTableRow):
(WI.CPUTimelineView.prototype._insertTableRow):
Helpers for creating rows in the statistics / sources tables.

LayoutTests:

* inspector/unit-tests/map-utilities-expected.txt: Added.
* inspector/unit-tests/map-utilities.html: Added.
* inspector/unit-tests/set-utilities-expected.txt:
* inspector/unit-tests/set-utilities.html:

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

5 months agoMove RenderObject::isTransparentOrFullyClippedRespectingParentFrames() to RenderLayer
wenson_hsieh@apple.com [Wed, 6 Mar 2019 20:18:00 +0000 (20:18 +0000)]
Move RenderObject::isTransparentOrFullyClippedRespectingParentFrames() to RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=195300

Reviewed by Simon Fraser.

Source/WebCore:

Move isTransparentOrFullyClippedRespectingParentFrames() from RenderObject to RenderLayer, since this function
asks questions about RenderLayers rather than their renderers. No change in behavior.

* rendering/RenderLayer.cpp:
(WebCore::enclosingFrameRenderLayer):
(WebCore::parentLayerCrossFrame):

Some static helpers currently in RenderObject that walk up the layer hierarchy through subframes are redundant
with static helpers in RenderLayer. Now that isTransparentOrFullyClippedRespectingParentFrames exists in
RenderLayer, simply use this existing helper instead and split logic to grab the enclosing layer around the
owner element of a frame into a separate helper.

* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::enclosingFrameRenderLayer): Deleted.
(WebCore::parentLayerCrossingFrameBoundaries): Deleted.
(WebCore::RenderObject::isTransparentOrFullyClippedRespectingParentFrames const): Deleted.

Moved from RenderObject.

* rendering/RenderObject.h:

Source/WebKit:

Refactor some logic to use isTransparentOrFullyClippedRespectingParentFrames on RenderLayer rather than
RenderObject; introduce a helper method to ask whether the enclosing layer of a renderer is transparent or
clipped.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::enclosingLayerIsTransparentOrFullyClipped):
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::requestEvasionRectsAboveSelection):
(WebKit::WebPage::getFocusedElementInformation):

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

5 months agoWeb Inspector: Simplify chart <rect>s with x/y attributes instead of transform(x, y)
commit-queue@webkit.org [Wed, 6 Mar 2019 20:16:35 +0000 (20:16 +0000)]
Web Inspector: Simplify chart <rect>s with x/y attributes instead of transform(x, y)
https://bugs.webkit.org/show_bug.cgi?id=195352

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-06
Reviewed by Matt Baker.

* UserInterface/Views/ColumnChart.js:
(WI.ColumnChart.prototype.layout):
(WI.ColumnChart):
* UserInterface/Views/RangeChart.js:
(WI.RangeChart.prototype.layout):
(WI.RangeChart):
* UserInterface/Views/StackedColumnChart.js:
(WI.StackedColumnChart.prototype.layout):
(WI.StackedColumnChart):

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

5 months agoVersioning.
kocsen_chung@apple.com [Wed, 6 Mar 2019 19:57:17 +0000 (19:57 +0000)]
Versioning.

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

5 months ago[WinCairo] Enable additional experimental features
don.olmstead@sony.com [Wed, 6 Mar 2019 19:52:57 +0000 (19:52 +0000)]
[WinCairo] Enable additional experimental features
https://bugs.webkit.org/show_bug.cgi?id=195363

Reviewed by Ross Kirsling.

Turn on ENABLE_APPLICATION_MANIFEST, ENABLE_FILTERS_LEVEL_2, ENABLE_CSS_PAINTING_API,
and ENABLE_VARIATION_FONTS. This will allow testing and development of these features
for Windows.

* Source/cmake/OptionsWin.cmake:

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

5 months agoWeb Inspector: CSS Changes: only show changes for the given node
drousso@apple.com [Wed, 6 Mar 2019 19:22:30 +0000 (19:22 +0000)]
Web Inspector: CSS Changes: only show changes for the given node
https://bugs.webkit.org/show_bug.cgi?id=194608
<rdar://problem/48050206>

Reviewed by Timothy Hatcher.

* UserInterface/Views/ChangesDetailsSidebarPanel.js:
(WI.ChangesDetailsSidebarPanel.prototype.inspect):
(WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
(WI.ChangesDetailsSidebarPanel.prototype.layout):
Make this panel a subclass of `WI.DOMDetailsSidebarPanel` so it has access to the selected
DOM node in the Elements tab.

* UserInterface/Base/Setting.js:
* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
Create new general setting for controlling this change.

* Localizations/en.lproj/localizedStrings.js:

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

5 months agoAssertion Failed: m_databaseQueue.isKilled() in UniqueIDBDatabase::~UniqueIDBDatabase()
sihui_liu@apple.com [Wed, 6 Mar 2019 19:20:53 +0000 (19:20 +0000)]
Assertion Failed: m_databaseQueue.isKilled() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=195073
<rdar://problem/48285200>

Reviewed by Geoffrey Garen.

r240931 removed a retain cycle between IDBConnectionToServer and IDBConnectionToServerDelegate, so
IDBConnectionToServerDelegate, or InProcessIDBServer would not live forever. When IDBDatabase is gone,
InProcessIDBServer would schedule a notifification to IDBServer with databaseConnectionClosed. IDBServer would
then notify UniqueIDBDatabase. When UniqueIDBDatabase finds all database connections are gone, it would acquires
its only reference pointer from IDBServer schedule and perform a shutdown that kills its database task queue.

The assertion failure tells us UniqueIDBDatabase was destructed at when IDBServer was destructed, which means
UniqueIDBDatabase had not acquired its pointer. It's probably because UniqueIDBDatabase had unfinished tasks or
the operation timer function had not been executed. Since UniqueIDBDatabase needs to complete shutdown process,
we should make IDBServer live as long as UniqueIDBDatabase by keeping a reference pointer of IDBServer in
UniqueIDBDatabase.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::notifyServerAboutClose):
* Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::server):

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

5 months agoREGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device...
cdumez@apple.com [Wed, 6 Mar 2019 19:10:06 +0000 (19:10 +0000)]
REGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device loses page
https://bugs.webkit.org/show_bug.cgi?id=195364
<rdar://problem/48538837>

Reviewed by Geoffrey Garen.

Make sure we unset the LayerTreeFreezeReason::ProcessSuspended layer tree freeze reason
when WebPage::applicationWillEnterForeground() is called. This restores pre-r238490
behavior and addresses the issue with PiP on youtube.com.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillEnterForeground):

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

5 months agoWeb Inspector: Canvas: color swatches aren't shown for valid inputs with leading...
drousso@apple.com [Wed, 6 Mar 2019 19:08:28 +0000 (19:08 +0000)]
Web Inspector: Canvas: color swatches aren't shown for valid inputs with leading/trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=195298

Reviewed by Timothy Hatcher.

* UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._createSwatchForColorParameters):
Trim the color string since it can be an arbitrary string, seeing as it is captured before
the <canvas> has a chance to parse/fix it.

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

5 months agoFix WKPasswordView compilation on iOS
dino@apple.com [Wed, 6 Mar 2019 18:14:13 +0000 (18:14 +0000)]
Fix WKPasswordView compilation on iOS
https://bugs.webkit.org/show_bug.cgi?id=195344
<rdar://problem/48620066>

Reviewed by Dan Bates.

Use WebKitAdditions.

* UIProcess/ios/WKPasswordView.mm:
(-[WKPasswordView showInScrollView:]):

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

5 months ago[iOS] Frequent 1 second IPC deadlocks when showing a paste callout
wenson_hsieh@apple.com [Wed, 6 Mar 2019 17:38:37 +0000 (17:38 +0000)]
[iOS] Frequent 1 second IPC deadlocks when showing a paste callout
https://bugs.webkit.org/show_bug.cgi?id=195354
<rdar://problem/48624675>

Reviewed by Tim Horton.

Source/WebKit:

When triggering programmatic paste, we frequently hit deadlocks due to sync IPC going from the UI process to the
web process and vice versa. What happens in this scenario is that prior to triggering programmatic paste, the
page may try to move focus to a different element (e.g. a hidden editable area) before calling `execCommand`.
This causes us to send an ElementDidFocus message to the UI process, followed by RequestDOMPasteAccess.

However, upon receiving ElementDidFocus, we reload input views and (in the process) UIKit requests the
autocorrection context, which we implement in WebKit using a sync message to the web process due to
<rdar://problem/16207002> and its blocking bug <rdar://problem/48383001>. This means we'll end up in a state
where both the UI process and web process are blocked on each other waiting for a sync IPC response, and the UI
process is hung for a second until the IPC message times out.

Ideally, we should fix this by addressing <rdar://problem/16207002>. However, this requires potentially large
changes in UIKit (<rdar://problem/48383001>); for the time being, work around this deadlock by refactoring
synchronous autocorrection context requests such that they can be resolved by an out-of-band IPC response
(HandleAutocorrectionContext). Then prior to requesting DOM paste access, preemptively send a
HandleAutocorrectionContext message to the UI process to unblock any pending synchronous autocorrection context
requests.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleAutocorrectionContext):
* UIProcess/ios/WKContentViewInteraction.h:

Make it possible for WKContentView to remember its current pending autocorrection context completion handler.
This is invoked and cleared out in `-_invokePendingAutocorrectionContextHandler:`.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _invokePendingAutocorrectionContextHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView _handleAutocorrectionContext:]):

Handle an autocorrection context response. This is invoked when the web process either handles an autocorrection
context message, or when it preemptively sends an autocorrection context before requesting DOM paste access.

(+[WKAutocorrectionContext emptyAutocorrectionContext]):

Add a helper to create an empty autocorrection context.

* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::handleAutocorrectionContext):
(WebKit::WebPageProxy::autocorrectionContextSync): Deleted.

Removed this sync version, since we now only have requestAutocorrectionContext.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestDOMPasteAccess):

Send WebPageProxy::HandleAutocorrectionContext, and add a FIXME referencing <rdar://problem/16207002>.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Split AutocorrectionContextSync into RequestAutocorrectionContext and HandleAutocorrectionContext; additionally,
remove the existing RequestAutocorrectionContext message.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestAutocorrectionContext):
(WebKit::WebPage::autocorrectionContextSync): Deleted.

LayoutTests:

Most of these tests currently encounter and rely on the 1 second IPC timeout to finish. To test this fix, force
`ignoreSynchronousMessagingTimeouts=true` to make them fail if the processes encounter a deadlock.

* editing/pasteboard/ios/dom-paste-confirmation.html:
* editing/pasteboard/ios/dom-paste-consecutive-confirmations.html:
* editing/pasteboard/ios/dom-paste-rejection.html:
* editing/pasteboard/ios/dom-paste-requires-user-gesture.html:
* editing/pasteboard/ios/dom-paste-same-origin.html:

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

5 months agoImport new tests from the CSS Text 3 WPT test suite
jfernandez@igalia.com [Wed, 6 Mar 2019 15:57:06 +0000 (15:57 +0000)]
Import new tests from the CSS Text 3 WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=195275

Reviewed by Myles C. Maxfield.

Imported new CSS Text tests from the WPT suite

LayoutTests/imported/w3c:

* web-platform-tests/css/css-text/META.yml: Added.
* web-platform-tests/css/css-text/OWNERS: Removed.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-001-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-001.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-002-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-002.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-006-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-006.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-007-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-007.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-008-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-008.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/resources/LinLibertine_Re-4.7.5.woff: Added.
* web-platform-tests/css/css-text/boundary-shaping/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/i18n/support/w3c-import.log.
* web-platform-tests/css/css-text/boundary-shaping/w3c-import.log: Added.
* web-platform-tests/css/css-text/hanging-punctuation/hanging-scrollable-001-expected.html: Added.
* web-platform-tests/css/css-text/hanging-punctuation/hanging-scrollable-001.html: Added.
* web-platform-tests/css/css-text/hanging-punctuation/w3c-import.log:
* web-platform-tests/css/css-text/hyphens/hyphens-auto-001-expected.html: Added.
* web-platform-tests/css/css-text/hyphens/hyphens-auto-001.html: Added.
* web-platform-tests/css/css-text/hyphens/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/i18n/support/w3c-import.log.
* web-platform-tests/css/css-text/i18n/META.yml: Added.
* web-platform-tests/css/css-text/i18n/OWNERS: Removed.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html:
* web-platform-tests/css/css-text/i18n/ja/w3c-import.log:
* web-platform-tests/css/css-text/i18n/support/w3c-import.log:
* web-platform-tests/css/css-text/i18n/w3c-import.log:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html:
* web-platform-tests/css/css-text/i18n/zh/w3c-import.log:
* web-platform-tests/css/css-text/inheritance-expected.txt: Added.
* web-platform-tests/css/css-text/inheritance.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-001-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-001.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-002-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-002.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-end-of-line-001-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-end-of-line-001.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-001-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-001.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-002-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-002.html: Added.
* web-platform-tests/css/css-text/letter-spacing/w3c-import.log:
* web-platform-tests/css/css-text/line-break/line-break-loose-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-011.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-012.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-013.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-014-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-014.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-014.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-015-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-015.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016a-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023a-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016a.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016b-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-016b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016b.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017a-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-017a-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017a.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-017a.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017b-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017b.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-018-expected.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-loose-018.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-normal-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-011.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-012.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-013.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-014-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-014.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-015-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-015.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016a-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016a.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023a.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016b-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016b.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017a-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024a-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017a.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024a.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017b-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017b.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-018-expected.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-normal-018.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-011.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-012.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-013.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-014-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-014.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-015-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-015.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016a-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016a.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016b-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016b.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017a-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017a.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017b-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017b.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-018-expected.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-strict-018.xht: Added.
* web-platform-tests/css/css-text/line-break/w3c-import.log:
* web-platform-tests/css/css-text/line-breaking/w3c-import.log:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-001.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-002.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-003-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-003.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-004.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-005-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-005.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-001.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-002-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-002.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-003-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-003.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-004.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-005.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-fit-content-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-fit-content-001.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-001-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-001.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002-expected.txt: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003-expected.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-005.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-001-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-001.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-002-expected.txt: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-002.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-001.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-002-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-002.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-003-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-003.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-004-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-001.html.
* web-platform-tests/css/css-text/overflow-wrap/w3c-import.log:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-001.html:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-002.html:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-003-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-003.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-004.html:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-005-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-005.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias-expected.txt: Added.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias.html: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-valid.html: Added.
* web-platform-tests/css/css-text/parsing/hyphens-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hyphens-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/hyphens-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hyphens-valid.html: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-valid.html: Added.
* web-platform-tests/css/css-text/parsing/line-break-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/line-break-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/line-break-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/line-break-valid.html: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-valid.html: Added.
* web-platform-tests/css/css-text/parsing/tab-size-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/tab-size-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/tab-size-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/tab-size-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-indent-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-indent-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-indent-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-indent-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-justify-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-justify-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-justify-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-justify-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-transform-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-transform-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-transform-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-transform-valid.html: Added.
* web-platform-tests/css/css-text/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-text/parsing/white-space-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/white-space-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/white-space-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/white-space-valid.html: Added.
* web-platform-tests/css/css-text/parsing/word-break-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-break-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/word-break-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-break-valid.html: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-valid.html: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-valid.html: Added.
* web-platform-tests/css/css-text/support/support/w3c-import.log:
* web-platform-tests/css/css-text/support/w3c-import.log:
* web-platform-tests/css/css-text/tab-size/tab-min-rendered-width-1-expected.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-min-rendered-width-1.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-inheritance-001-expected.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-inheritance-001.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-spacing-001-expected.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-spacing-001.html: Added.
* web-platform-tests/css/css-text/tab-size/w3c-import.log:
* web-platform-tests/css/css-text/text-align/w3c-import.log:
* web-platform-tests/css/css-text/text-indent/percentage-value-intrinsic-size-expected.txt: Added.
* web-platform-tests/css/css-text/text-indent/percentage-value-intrinsic-size.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-001-expected.xht:
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-001.xht:
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-002-expected.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-002.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-003-expected.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-003.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-004-expected.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-004.html: Added.
* web-platform-tests/css/css-text/text-indent/w3c-import.log:
* web-platform-tests/css/css-text/text-justify/w3c-import.log:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-001-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-001.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-003-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-003.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-005-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-005.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-007-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-007.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-009-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-009.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-010-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-010.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-011-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-011.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-014-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-014.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-016-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-016.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-018-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-018.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-020-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-020.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-022-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-022.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-024-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-024.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-026-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-026.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-028-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-028.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-030-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-030.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-031-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-031.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-033-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-033.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-001-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-001.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-002-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-002.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-003-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-003.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-004-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-004.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-005-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-005.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-006-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-006.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-007-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-007.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-001-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-001.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-002-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-002.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-003-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-003.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-001-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-001.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002a-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002a.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-003-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-003.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-004-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-004.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-005-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-005.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-001-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-001.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-002-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-002.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-004-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-004.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-005-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-005.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-006-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-006.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-007-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-007.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-008-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-008.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-009-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-009.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-010-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-010.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-011-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-011.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-012-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-012.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-014-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-014.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-015-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-015.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-016-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-016.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-017-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-017.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-018-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-018.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-019-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-019.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-020-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-020.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-021-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-021.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-022-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-022.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-023-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-023.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-024-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-024.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-025-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-025.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-026-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-026.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-027-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-027.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-028-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-028.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-029-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-029.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-030-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-030.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-031-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-031.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-032-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-032.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-033-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-033.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-034-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-034.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-035-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-035.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-038-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-038.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-040-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-040.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-041-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-041.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-042-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-042.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-043-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-043.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-101-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-101.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-102-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-102.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-103-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-103.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-104-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-104.html:
* web-platform-tests/css/css-text/text-transform/w3c-import.log:
* web-platform-tests/css/css-text/w3c-import.log:
* web-platform-tests/css/css-text/white-space/break-spaces-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/break-spaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008.html.
* web-platform-tests/css/css-text/white-space/break-spaces-002-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-009-expected.html.
* web-platform-tests/css/css-text/white-space/break-spaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-009.html.
* web-platform-tests/css/css-text/white-space/break-spaces-004-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-010-expected.html.
* web-platform-tests/css/css-text/white-space/break-spaces-004.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-005-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-005.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-006-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-006.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-007-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-007.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-008-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-008.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-000-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-000.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-001.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-002.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-003.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-004.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-005-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-005.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-006-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-006.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-007-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-007.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-008-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-008.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-010-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-010.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-011-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-011.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-012-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-012.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-013-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-013.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-014-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-014.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-015-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-015.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-016-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-016.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-017-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-017.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-018-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-018.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-019-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-019.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01A-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01A.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01C-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01C.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-07F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-07F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-080-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-080.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-081-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-081.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-082-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-082.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-083-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-083.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-084-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-084.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-085-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-085.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-086-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-086.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-087-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-087.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-088-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-088.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-089-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-089.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08A-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08A.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08C-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08C.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-090-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-090.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-091-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-091.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-092-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-092.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-093-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-093.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-094-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-094.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-095-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-095.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-096-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-096.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-097-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-097.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-098-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-098.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-099-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-099.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09A-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09A.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09C-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09C.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09F.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-001.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-002.html: Added.
* web-platform-tests/css/css-text/white-space/pre-float-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/pre-float-001.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-002.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-010.html: Removed.
* web-platform-tests/css/css-text/white-space/pre-wrap-012-expected.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-012.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-013-expected.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-013.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-014-expected.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-014.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-015-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/pre-wrap-015.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-016-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/pre-wrap-016.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-float-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-float-001.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-001.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-002.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-003.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-004.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-005-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-005.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-006-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-006.html: Added.
* web-platform-tests/css/css-text/white-space/text-space-collapse-discard-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-discard-001-expected.xht.
* web-platform-tests/css/css-text/white-space/text-space-collapse-discard-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-discard-001.xht.
* web-platform-tests/css/css-text/white-space/text-space-collapse-preserve-breaks-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-preserve-breaks-001-expected.xht.
* web-platform-tests/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-preserve-breaks-001.xht.
* web-platform-tests/css/css-text/white-space/text-space-trim-trim-inner-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-trim-inner-001-expected.xht.
* web-platform-tests/css/css-text/white-space/text-space-trim-trim-inner-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-trim-inner-001.xht.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-001-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-008.html.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-002-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-009-expected.html.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-009.html.
* web-platform-tests/css/css-text/white-space/textarea-pre-wrap-010-expected.html: Removed.
* web-platform-tests/css/css-text/white-space/textarea-pre-wrap-010.html: Removed.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-001.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-002.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-003.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-004.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-space-before-br-001-expected.txt: Added.
* web-platform-tests/css/css-text/white-space/trailing-space-before-br-001.html: Added.
* web-platform-tests/css/css-text/white-space/w3c-import.log:
* web-platform-tests/css/css-text/white-space/white-space-empty-text-sibling-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-empty-text-sibling.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-001.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-002.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-003.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-004.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-002.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-003.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-wrap-after-nowrap-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-wrap-after-nowrap-001.html: Added.
* web-platform-tests/css/css-text/word-break/w3c-import.log:
* web-platform-tests/css/css-text/word-break/word-break-001.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-002.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-003.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-004.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-break-all-008.html:
* web-platform-tests/css/css-text/word-break/word-break-break-all-009-expected.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-break-all-009.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-break-all-010-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-010.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-011-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-011.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-012-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-012.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-013-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-013.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-014-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-014.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-020-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-020.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-003-expected.html:
* web-platform-tests/css/css-text/word-break/word-break-keep-all-003.html:
* web-platform-tests/css/css-text/word-break/word-break-keep-all-004-expected.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-004.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-005-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-005.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-006-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-006.html: Added.
* web-platform-tests/css/css-text/writing-system/w3c-import.log: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-font-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-font-001.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-001.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-002-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-002.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-segment-break-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-segment-break-001.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-text-transform-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-text-transform-001.html: Added.

LayoutTests:

* TestExpectations: Flag tests that are not passing right now.
* platform/gtk/TestExpectations: A few tests pass now.

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

5 months agoUpdate WPT tests for the track element
commit-queue@webkit.org [Wed, 6 Mar 2019 15:21:55 +0000 (15:21 +0000)]
Update WPT tests for the track element
https://bugs.webkit.org/show_bug.cgi?id=195358

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-06
Reviewed by Rob Buis.

LayoutTests/imported/w3c:

* resources/resource-files.json:
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/003.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/004.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/005.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/006.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/007.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/008.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/009.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/010.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/011.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/012.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/013.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/014.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/015.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/016.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/017.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/018.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/019.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/020.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/021.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/022.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/023.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/024.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/025.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/026.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/027.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/028.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/029.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/030.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/031.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/032.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/033.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/034.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/035.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/036.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/037.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/038.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/039.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/040.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/041.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/042.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/043.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/044.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/045.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/046.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/common.js: Added.
(setup):
(window.otherOriginURL.string_appeared_here.location.pathname.replace):
(onload):
(setCrossDomainCookie):
(loadTrack.):
(loadTrack):
(removeLog):
(checkData):
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/cors-tester.py: Added.
(main):
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/remove-cookie.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/set-cookie.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/w3c-import.log: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-positioning-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-positioning.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-text-line-position-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-text-line-position.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment-ltr.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/bom.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-fast.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-gaps.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-html.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/class-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/class.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-id-error.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-id.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-no-id-error.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-no-id.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-cuetext.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-header.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-note.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-align-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-align.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-chrono-order.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-no-separation.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-overlapping.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/default-styles.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/degenerate-cues.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/empty-cue.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/entities-wrong.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/entities.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/interspersed-non-cue.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/iso2022jp3.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/large-timestamp.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/line-position-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/line-position.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/markup-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/markup.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/metadata-area.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/metadata.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/missed-cues.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-newline-at-eof.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-timings.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-webvtt.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning-ltr.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/settings-bad-separation.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/settings.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/simple-captions.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/sorted-dispatch.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timestamp-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timestamp.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-hour-error.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-hour.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-no-hour-errors.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-no-hour.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-whitespace.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/unsupported-markup.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/utf8.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign-ltr.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/voice-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/voice.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/vp8-vorbis-webvtt.webm: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/webvtt-file.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/webvtt-rubbish.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/src-empty-string.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-change-event-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-empty-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-empty.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-inline-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-inline.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-added-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-added.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-removed-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-removed.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-enter-exit.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-missed.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-pause-on-exit.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-seeking.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-sorted-before-dispatch.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-default-attribute.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-delete-during-setup-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-delete-during-setup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-disabled-addcue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-disabled.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-dom-change-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-dom-change.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-helpers.js: Added.
(enableAllTextTracks):
(assert_cues_equal):
(assert_cues_match):
(assert_cues_html_content):
(check_cues_from_track):
(assert_cue_fragment_as_textcontent):
(createFragment):
(cloneChildrenToFragment):
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-id-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-id.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-insert-after-load.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-large-timestamp.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-error-readyState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-element-readyState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-src-readyState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-src-readyState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-disabled.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-triggers-loading.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-node-add-remove-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-node-add-remove.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-active-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-by-setting-innerHTML.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-insert-ready-state.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-quickly-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-quickly.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track-inband.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-metadata-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-metadata.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-texttracks-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-texttracks.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-positioning-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-positioning.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-text-line-position-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-text-line-position.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-alignment.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-blank-lines.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-bom.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-class-markup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-identifiers.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-no-id.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-recovery.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-size-align.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-size.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-degenerate-cues.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-empty-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-entities.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-header-comment-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-header-comment.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-interspersed-non-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-line-position-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-line-position.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-magic-header-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-magic-header.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-markup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-newlines.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-no-timings.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-positioning.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-settings.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timestamp.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-hour-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-hour.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-no-hours-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-no-hours.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-whitespace.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-unsupported-markup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-utf8-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-utf8.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-valign.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-voice.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/vtt-cue-float-precision-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/vtt-cue-float-precision.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/w3c-import.log:

LayoutTests:

* TestExpectations: Add expectations for new tests.

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

5 months agoConsider supporting the `referrerpolicy` attribute.
commit-queue@webkit.org [Wed, 6 Mar 2019 11:28:38 +0000 (11:28 +0000)]
Consider supporting the `referrerpolicy` attribute.
https://bugs.webkit.org/show_bug.cgi?id=179053

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-06
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved results.

* web-platform-tests/html/dom/reflection-embedded-expected.txt:

Source/WebCore:

This patch adds 'referrerpolicy' attribute support for iframe.
If set, the value is restricted to the ReferrerPolicy enum, and
if valid it is used for the subframe load.
If not set or invalid, the current behavior is kept.

Tests: http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html
       http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/no-referrer/same-origin.html
       http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html
       http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/origin/same-origin.html
       http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/same-origin/same-origin.html
       http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html
       http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/strict-origin/same-origin.html
       http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/unsafe-url/same-origin.html

* html/HTMLAttributeNames.in:
* html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::referrerPolicy const):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::setReferrerPolicyForBindings):
(WebCore::HTMLIFrameElement::referrerPolicyForBindings const):
(WebCore::HTMLIFrameElement::referrerPolicy const):
* html/HTMLIFrameElement.h:
* html/HTMLIFrameElement.idl:
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::referrerPolicyAttributeEnabled const):
(WebCore::RuntimeEnabledFeatures::setReferrerPolicyAttributeEnabled):
* platform/ReferrerPolicy.cpp:
(WebCore::parseReferrerPolicy):
* platform/ReferrerPolicy.h:

Source/WebKit:

Add a runtime flag for referrerpolicy attribute.

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetReferrerPolicyAttributeEnabled):
(WKPreferencesGetReferrerPolicyAttributeEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource): do not hardcode choosing
the document referrer policy.

Source/WebKitLegacy/mac:

Add a runtime flag for referrerpolicy attribute.

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

Tools:

Add a runtime flag for referrerpolicy attribute.

* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):

LayoutTests:

Add tests for referrerpolicy attribute based on the referrer-policy
meta referrer tests.
Update improved results for reflection-embedded.html.
Mark some of the tests as Failure on windows.

* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/no-referrer/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer/same-origin.html: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/same-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/same-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/strict-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/unsafe-url/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/unsafe-url/same-origin.html: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
* platform/win/TestExpectations:

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

5 months agoUpdate WPT tests for the canvas element
fred.wang@free.fr [Wed, 6 Mar 2019 10:31:25 +0000 (10:31 +0000)]
Update WPT tests for the canvas element
https://bugs.webkit.org/show_bug.cgi?id=195331

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-06
Reviewed by Youenn Fablet.

* resources/import-expectations.json:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:

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

5 months agoUnreviewed, WPE build fix after r242503
philn@webkit.org [Wed, 6 Mar 2019 10:25:23 +0000 (10:25 +0000)]
Unreviewed, WPE build fix after r242503

* WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
ServiceWorker messages moved from network process to another
header, so it needs to be included.

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

5 months agoAdd referrer-policy tests
commit-queue@webkit.org [Wed, 6 Mar 2019 07:37:20 +0000 (07:37 +0000)]
Add referrer-policy tests
https://bugs.webkit.org/show_bug.cgi?id=195269

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-05
Reviewed by Daniel Bates.

The tests in http/tests/referrer-policy do not test all referrer-policy
values, add the remaining values.

* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/same-origin-expected.txt: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/same-origin.html: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/no-referrer/same-origin-expected.txt: Added.
* http/tests/referrer-policy/no-referrer/same-origin.html: Added.
* http/tests/referrer-policy/origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy/origin/same-origin.html: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/unsafe-url/same-origin-expected.txt: Added.
* http/tests/referrer-policy/unsafe-url/same-origin.html: Added.

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

5 months agoUpdate expected API test result following r242379
dbates@webkit.org [Wed, 6 Mar 2019 05:48:29 +0000 (05:48 +0000)]
Update expected API test result following r242379
(https://bugs.webkit.org/show_bug.cgi?id=195125)

Update expected x-coordinate of selection rect now that the left padding of
a textarea is sized in ems (so dependent on the font size) just like the left
padding of a text field.

* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):

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

5 months ago[curl] Remove unnecessary file.
commit-queue@webkit.org [Wed, 6 Mar 2019 04:11:25 +0000 (04:11 +0000)]
[curl] Remove unnecessary file.
https://bugs.webkit.org/show_bug.cgi?id=195350

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2019-03-05
Reviewed by Fujii Hironori.

Removed unused file.

No new tests. No change in behavior.

* platform/network/curl/CookieJarCurlDatabase.cpp: Removed.

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

5 months agoAX: Add remote search support for keyboard focusable element search type
commit-queue@webkit.org [Wed, 6 Mar 2019 04:01:47 +0000 (04:01 +0000)]
AX: Add remote search support for keyboard focusable element search type
https://bugs.webkit.org/show_bug.cgi?id=195336

Patch by Eric Liang <ericliang@apple.com> on 2019-03-05
Reviewed by Chris Fleizach.

Source/WebCore:

Added AXKeyboardFocusable search key to return default keyboard-focusable elements for accessibility.

Test: accessibility/mac/search-predicate-keyboard-focusable.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::AccessibilityObject::isKeyboardFocusable const):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(createAccessibilitySearchKeyMap):

LayoutTests:

Added test that verifies search with AXKeyboardFocusableSearchKey returns the default keyboard-focusable elements.

* accessibility/mac/search-predicate-keyboard-focusable-expected.txt: Added.
* accessibility/mac/search-predicate-keyboard-focusable.html: Added.

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

5 months ago[WinCairo] Enable CSS Typed OM
don.olmstead@sony.com [Wed, 6 Mar 2019 02:15:57 +0000 (02:15 +0000)]
[WinCairo] Enable CSS Typed OM
https://bugs.webkit.org/show_bug.cgi?id=195340

Reviewed by Myles C. Maxfield.

.:

* Source/cmake/OptionsWin.cmake:

Source/WebCore:

* bindings/js/CallTracerTypes.h:

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

5 months agoFix a typo in Web SQL quirk
sihui_liu@apple.com [Wed, 6 Mar 2019 01:50:54 +0000 (01:50 +0000)]
Fix a typo in Web SQL quirk
https://bugs.webkit.org/show_bug.cgi?id=195338

Reviewed by Geoffrey Garen.

* page/Quirks.cpp:
(WebCore::Quirks::hasWebSQLSupportQuirk const):

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

5 months ago[WK2] It should be possible to follow links with 'download' attributes
david_quesada@apple.com [Wed, 6 Mar 2019 00:48:44 +0000 (00:48 +0000)]
[WK2] It should be possible to follow links with 'download' attributes
https://bugs.webkit.org/show_bug.cgi?id=195145
rdar://problem/48462642

Reviewed by Alex Christensen.

Source/WebKit:

When a link with a 'download' attribute is clicked and the navigation client
says to allow the navigation (i.e. provides PolicyAction::Use),
WebPageProxy::receivedNavigationPolicyDecision() should stop overriding this
decision and downloading the link instead. Instead, web view should honor the
policy chosen by the navigation delegate. This supports clients that want to
offer the user the ability to view, rather than download, the contents of
such links, which is permitted per the HTML spec.

This change is only made on Cocoa platforms for now since no other ports
expose an API on their navigation action to express whether the page intends
to download the linked resource.

* UIProcess/API/APINavigation.h:
(API::Navigation::shouldPerformDownload const):
    Rename this to be in line with APINavigationAction's shouldPerformDownload()
    for consistency. 'Force' seems like too strong of a word for this property
    considering that 'forcing' the download isn't really an attribute inherent
    to the navigation, but a behavior implemented by the web page proxy.
(API::Navigation::shouldForceDownload const): Deleted.
* UIProcess/Cocoa/VersionChecks.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):

Tools:

Add a unit test to verify that activating links with 'download' attributes now
navigates to the linked resource, rather than starts downloading it. Add another
to verify that it is still possible to explicitly download the link via the
'Download' navigation action policy.

* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadAttributeTestDelegate init]):
(-[DownloadAttributeTestDelegate waitForDidFinishNavigation]):
(-[DownloadAttributeTestDelegate waitForDownloadDidStart]):
(-[DownloadAttributeTestDelegate webView:didFinishNavigation:]):
(-[DownloadAttributeTestDelegate webView:didStartProvisionalNavigation:]):
(-[DownloadAttributeTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[DownloadAttributeTestDelegate _downloadDidStart:]):
(TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForNavigationAction):
* WebKitTestRunner/TestController.h:

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

5 months agoWeb Inspector: recordsInTimeRange sometimes does not get the expected record when...
commit-queue@webkit.org [Wed, 6 Mar 2019 00:40:44 +0000 (00:40 +0000)]
Web Inspector: recordsInTimeRange sometimes does not get the expected record when includeRecordBeforeStart
https://bugs.webkit.org/show_bug.cgi?id=195317

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-05
Reviewed by Devin Rousso.

* UserInterface/Models/Timeline.js:
(WI.Timeline.prototype.recordsOverlappingTimeRange):

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

5 months agoop_switch_char broken for rope strings after JSRopeString layout rewrite
sbarati@apple.com [Wed, 6 Mar 2019 00:20:07 +0000 (00:20 +0000)]
op_switch_char broken for rope strings after JSRopeString layout rewrite
https://bugs.webkit.org/show_bug.cgi?id=195339
<rdar://problem/48592545>

Reviewed by Yusuke Suzuki.

JSTests:

* stress/switch-on-char-llint-rope.js: Added.

Source/JavaScriptCore:

When we did the JSString rewrite, we accidentally broke LLInt's switch_char
for rope strings. That change made it so that we always go to the slow path
for ropes. That's wrong. The slow path should only be taken when the rope
is of length 1. For lengths other than 1, we need to fall through to the
default case. This patch fixes this.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSString.h:

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

5 months ago[iOS] Should not scroll when checkbox, radio, submit, reset, or button is spacebar...
dbates@webkit.org [Tue, 5 Mar 2019 23:40:08 +0000 (23:40 +0000)]
[iOS] Should not scroll when checkbox, radio, submit, reset, or button is spacebar activated
https://bugs.webkit.org/show_bug.cgi?id=195281
<rdar://problem/48564347>

Reviewed by Simon Fraser.

Source/WebCore:

Do not call the base class's default event handler (HTMLTextFormControlElement::defaultEventHandler())
when WebCore sees a keydown of the spacebar as we consider such an event as handled.
Otherwise, calling the base class's default event handler ultimately gives the embedding
client a chance to wrongly handle the event. In the case of iOS, keydown of the spacebar
causes the page to scroll.

WebCore implements spacebar activation on keydown for form controls. For IE compatibility
WebCore does not mark such keydown events as handled so that a DOM keypress event will
be subsequently dispatched. The current logic only skips calling the base class's default
event handler if the DOM event was not marked handled. This is insufficient. We need to
know whether WebCore handled the event. If asking the input type to handle the key down
marks the DOM event as handled then, clearly, WebCore handled the event. However, if the
event is not marked as handled, but WebCore actually accounted for this event then we need
to know this so that we do not call the base class's default event handler and ultimately
the embedding client asking for an interpretation of the key event. Towards this, have
InputType::handleKeydownEvent() return a bit whether or not the base class's default
event handler should be invoked.

Tests: fast/events/ios/activating-button-should-not-scroll-page.html
       fast/events/ios/activating-checkbox-should-not-scroll-page.html
       fast/events/ios/activating-radio-button-should-not-scroll-page.html
       fast/events/ios/activating-reset-button-should-not-scroll-page.html
       fast/events/ios/activating-submit-button-should-not-scroll-page.html

* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::handleKeydownEvent): Return ShouldCallBaseEventHandler::No
if WebCore handled the spacebar activation. Otherewise, return ShouldCallBaseEventHandler::Yes.
* html/BaseCheckableInputType.h:
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent): Ditto.
* html/BaseChooserOnlyDateAndTimeInputType.h:
* html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent): Keep our current behavior by returning ShouldCallBaseEventHandler::Yes.
* html/BaseClickableWithKeyInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): Do not fallthrough and call the base class's default
event handler if the input type told us it handled the event regardless of whether the event was handled
from the perspective of the DOM.
* html/InputType.cpp:
(WebCore::InputType::handleKeydownEvent): Keep our current behavior by returning ShouldCallBaseEventHandler::Yes.
* html/InputType.h:

* html/NumberInputType.cpp:
(WebCore::NumberInputType::handleKeydownEvent):
* html/NumberInputType.h:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
* html/RadioInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* html/RangeInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::handleKeydownEvent):
* html/SearchInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleKeydownEvent):
* html/TextFieldInputType.h:
Keep our current behavior by returning ShouldCallBaseEventHandler::Yes.

LayoutTests:

Add some tests to ensure that we do not scroll when a checkbox, radio, submit, reset, or button
is spacebar activated.

* fast/events/ios/activating-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-button-should-not-scroll-page.html: Added.
* fast/events/ios/activating-checkbox-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-checkbox-should-not-scroll-page.html: Added.
* fast/events/ios/activating-radio-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-radio-button-should-not-scroll-page.html: Added.
* fast/events/ios/activating-reset-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-reset-button-should-not-scroll-page.html: Added.
* fast/events/ios/activating-submit-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-submit-button-should-not-scroll-page.html: Added.
* fast/events/ios/resources/press-spacebar-at-element-and-check-for-page-scroll.js: Added.
(done):
(handleInteraction.checkForScrollAndDone):
(handleInteraction):
(handleScroll):
(handleFocus):
(checkActivatingElementUsingSpacebarDoesNotScrollPage):
* platform/ios/TestExpectations: Skip the tests for now until ENABLE(FULL_KEYBOARD_ACCESS) is enabled
by default on iOS.

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

5 months ago[Curl] Implement Cookie Accept Policy.
commit-queue@webkit.org [Tue, 5 Mar 2019 23:36:56 +0000 (23:36 +0000)]
[Curl] Implement Cookie Accept Policy.
https://bugs.webkit.org/show_bug.cgi?id=191645

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2019-03-05
Reviewed by Fujii Hironori.

Source/WebCore:

Make Curl network layer respect to coookie accept policy.
This patch fixes tests below on TestRunner, but doesn't fix tests on DumpRenderTree.

Tests: http/tests/cookies/only-accept-first-party-cookies.html
       http/tests/cookies/third-party-cookie-relaxing.html
       http/tests/security/cookies/third-party-cookie-blocking-redirect.html
       http/tests/security/cookies/third-party-cookie-blocking-user-action.html
       http/tests/security/cookies/third-party-cookie-blocking-xslt.xml
       http/tests/security/cookies/third-party-cookie-blocking.html

* platform/network/curl/CookieJarCurl.cpp:
(WebCore::cookiesForSession):
(WebCore::CookieJarCurl::setCookiesFromDOM const):
(WebCore::CookieJarCurl::setCookiesFromHTTPResponse const):
(WebCore::CookieJarCurl::setCookieAcceptPolicy const):
(WebCore::CookieJarCurl::cookieAcceptPolicy const):
(WebCore::CookieJarCurl::getRawCookies const):
* platform/network/curl/CookieJarCurl.h:
* platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::openDatabase):
(WebCore::CookieJarDB::isEnabled const):
(WebCore::CookieJarDB::checkCookieAcceptPolicy):
(WebCore::CookieJarDB::hasCookies):
(WebCore::CookieJarDB::searchCookies):
(WebCore::CookieJarDB::canAcceptCookie):
(WebCore::CookieJarDB::setCookie):
(WebCore::CookieJarDB::setEnabled): Deleted.
* platform/network/curl/CookieJarDB.h:
(WebCore::CookieJarDB::setAcceptPolicy):
(WebCore::CookieJarDB::acceptPolicy const):
* platform/network/curl/CookieUtil.cpp:
(WebCore::CookieUtil::parseCookieAttributes):
(WebCore::CookieUtil::parseCookieHeader):
* platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::handleCookieHeaders):
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):

Source/WebKit:

* NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
* NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::curlDidReceiveResponse):
(WebKit::NetworkDataTaskCurl::handleCookieHeaders):
* NetworkProcess/curl/NetworkDataTaskCurl.h:

Tools:

* TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp:
(TestWebKitAPI::Curl::TEST_F):

LayoutTests:

* platform/wincairo-wk1/TestExpectations:
* platform/wincairo/TestExpectations:

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

5 months ago[ContentChangeObserver] Assert on if notify content change is allowed
zalan@apple.com [Tue, 5 Mar 2019 23:35:02 +0000 (23:35 +0000)]
[ContentChangeObserver] Assert on if notify content change is allowed
https://bugs.webkit.org/show_bug.cgi?id=195332
<rdar://problem/48603276>

Reviewed by Simon Fraser.

Assert we don't notify the client about the state change while in handleSyntheticClick().

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::adjustObservedState):
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):

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

5 months agoSVGPathSegList.insertItemBefore() should fail if the newItem belongs to an animating...
said@apple.com [Tue, 5 Mar 2019 23:12:51 +0000 (23:12 +0000)]
SVGPathSegList.insertItemBefore() should fail if the newItem belongs to an animating animPathSegList
https://bugs.webkit.org/show_bug.cgi?id=195333
<rdar://problem/48475802>

Reviewed by Simon Fraser.

Source/WebCore:

Because the SVG1.1 specs states that the newItem should be removed from
its original list before adding it to another list,
SVGPathSegList.insertItemBefore() should fail if the new item belongs to
an animating animPathSegList since it is read-only.

Test: svg/dom/SVGPathSegList-insert-from-animating-animPathSegList.svg

* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::processIncomingListItemValue):

LayoutTests:

* svg/dom/SVGPathSegList-insert-from-animating-animPathSegList-expected.txt: Added.
* svg/dom/SVGPathSegList-insert-from-animating-animPathSegList.svg: Added.

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

5 months agoWeb Inspector: Canvas: remove event listeners once a recording is ready
drousso@apple.com [Tue, 5 Mar 2019 22:05:15 +0000 (22:05 +0000)]
Web Inspector: Canvas: remove event listeners once a recording is ready
https://bugs.webkit.org/show_bug.cgi?id=195324

Reviewed by Matt Baker.

* UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.prototype.async swizzle):
(WI.Recording.prototype.async _process):

* UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement):
(WI.RecordingActionTreeElement.prototype._handleValidityChanged):

* UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype.set recording):
(WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction):

* UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView.prototype.initialLayout):
(WI.RecordingContentView.prototype._handleRecordingProcessedAction):

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

5 months agoWeb Inspector: Attempting to select records in the bottom 16px of the timeline overvi...
commit-queue@webkit.org [Tue, 5 Mar 2019 22:00:57 +0000 (22:00 +0000)]
Web Inspector: Attempting to select records in the bottom 16px of the timeline overview graph fails
https://bugs.webkit.org/show_bug.cgi?id=195318

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-05
Reviewed by Devin Rousso.

The bottom few pixels of the overview are reserved for the scroll-container
which may show a scrollbar if the overview needs to scroll. When the scrollbars
are not visible we can allow pointer events to click through the invisible
scroll-container and allow record selection.

* UserInterface/Views/TimelineOverview.css:
(.timeline-overview:not(.has-scrollbar) > .scroll-container):
* UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview.prototype._handleScrollEvent):
(WI.TimelineOverview.prototype._handleWheelEvent):
(WI.TimelineOverview._handleGestureStart):

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

5 months ago[ContentChangeObserver] Send content change notification through adjustObservedState
zalan@apple.com [Tue, 5 Mar 2019 21:52:41 +0000 (21:52 +0000)]
[ContentChangeObserver] Send content change notification through adjustObservedState
https://bugs.webkit.org/show_bug.cgi?id=195328
<rdar://problem/48601143>

Reviewed by Simon Fraser.

Have a dedicated place for the notification logic.

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::stopDurationBasedContentObservation):
(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::registerDOMTimer): Deleted.
(WebCore::ContentChangeObserver::unregisterDOMTimer): Deleted.
(WebCore::ContentChangeObserver::notifyContentChangeIfNeeded): Deleted.
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::registerDOMTimer):
(WebCore::ContentChangeObserver::unregisterDOMTimer):

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

5 months ago[bmalloc] Bmalloc DebugHeap should have dump and scavenge features
ysuzuki@apple.com [Tue, 5 Mar 2019 21:49:41 +0000 (21:49 +0000)]
[bmalloc] Bmalloc DebugHeap should have dump and scavenge features
https://bugs.webkit.org/show_bug.cgi?id=195305

Reviewed by Saam Barati.

As the same to bmalloc, bmalloc::DebugHeap should have scavenge feature to make it scavengable if we want.
We also add DebugHeap::dump feature which dumps system malloc data in the WebKit Malloc zone.

* bmalloc/DebugHeap.cpp:
(bmalloc::DebugHeap::scavenge):
(bmalloc::DebugHeap::dump):
* bmalloc/DebugHeap.h:
* bmalloc/bmalloc.cpp:
(bmalloc::api::scavenge):

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

5 months agoMockLibWebRTCPeerConnection is leaking some session description
youenn@apple.com [Tue, 5 Mar 2019 21:49:36 +0000 (21:49 +0000)]
MockLibWebRTCPeerConnection is leaking some session description
https://bugs.webkit.org/show_bug.cgi?id=195315
<rdar://problem/47840038>

Reviewed by David Kilzer.

Make sure to release raw pointers given from WebCore to mock libwebrtc layer.
Covered by existing tests when run in leaks mode.

* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):

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

5 months agoIntroduce ServiceWorkerFetchTask
youenn@apple.com [Tue, 5 Mar 2019 21:49:28 +0000 (21:49 +0000)]
Introduce ServiceWorkerFetchTask
https://bugs.webkit.org/show_bug.cgi?id=195130

Reviewed by Chris Dumez.

ServiceWorkerFetchTask is added to represent NetworkProcess side of an ongoing fetch intercepted by service worker.
This patch should not change existing behavior.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didFailFetch): Deleted.
(WebKit::NetworkProcess::didNotHandleFetch): Deleted.
(WebKit::NetworkProcess::didReceiveFetchRedirectResponse): Deleted.
(WebKit::NetworkProcess::didReceiveFetchResponse): Deleted.
(WebKit::NetworkProcess::didReceiveFetchData): Deleted.
(WebKit::NetworkProcess::didReceiveFetchFormData): Deleted.
(WebKit::NetworkProcess::didFinishFetch): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::cancelFetch):
(WebKit::WebSWServerConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::didReceiveFetchRedirectResponse): Deleted.
(WebKit::WebSWServerConnection::didReceiveFetchResponse): Deleted.
(WebKit::WebSWServerConnection::didReceiveFetchData): Deleted.
(WebKit::WebSWServerConnection::didReceiveFetchFormData): Deleted.
(WebKit::WebSWServerConnection::didFinishFetch): Deleted.
(WebKit::WebSWServerConnection::didFailFetch): Deleted.
(WebKit::WebSWServerConnection::didNotHandleFetch): Deleted.
* NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::connectionClosed):
(WebKit::WebSWServerToContextConnection::startFetch):
(WebKit::WebSWServerToContextConnection::cancelFetch):
(WebKit::WebSWServerToContextConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWServerToContextConnection::didReceiveFetchTaskMessage):
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
* SourcesCocoa.txt:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::startFetch):
* WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveRedirection):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveResponse):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveFormDataAndFinish):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
(WebKit::WebServiceWorkerFetchTaskClient::didFail):
(WebKit::WebServiceWorkerFetchTaskClient::didFinish):
(WebKit::WebServiceWorkerFetchTaskClient::didNotHandle):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: Added.
(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveData):
(WebKit::ServiceWorkerFetchTask::didReceiveFormData):
(WebKit::ServiceWorkerFetchTask::didFinish):
(WebKit::ServiceWorkerFetchTask::didFail):
(WebKit::ServiceWorkerFetchTask::didNotHandle):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h: Added.
(WebKit::ServiceWorkerFetchTask::create):
(WebKit::ServiceWorkerFetchTask::Identifier::hash const):
(WebKit::ServiceWorkerFetchTask::identifier const):
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::operator==):
(WTF::ServiceWorkerFetchTaskIdentifierHash::hash):
(WTF::ServiceWorkerFetchTaskIdentifierHash::equal):
(WTF::HashTraits<WebKit::ServiceWorkerFetchTask::Identifier>::emptyValue):
(WTF::HashTraits<WebKit::ServiceWorkerFetchTask::Identifier>::constructDeletedValue):
(WTF::HashTraits<WebKit::ServiceWorkerFetchTask::Identifier>::isDeletedValue):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in: Added.

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

5 months ago[JSC] Should check exception for JSString::toExistingAtomicString
ysuzuki@apple.com [Tue, 5 Mar 2019 21:20:33 +0000 (21:20 +0000)]
[JSC] Should check exception for JSString::toExistingAtomicString
https://bugs.webkit.org/show_bug.cgi?id=195337

Reviewed by Keith Miller, Saam Barati, and Mark Lam.

We missed the exception check for JSString::toExistingAtomicString while it can resolve
a rope and throw an OOM exception. This patch adds necessary exception checks. This patch
fixes test failures in debug build, reported in https://bugs.webkit.org/show_bug.cgi?id=194375#c93.

* dfg/DFGOperations.cpp:
* jit/JITOperations.cpp:
(JSC::getByVal):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):

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

5 months agoRename requestCacheStorageSpace to requestStorageSpace
youenn@apple.com [Tue, 5 Mar 2019 20:29:14 +0000 (20:29 +0000)]
Rename requestCacheStorageSpace to requestStorageSpace
https://bugs.webkit.org/show_bug.cgi?id=195282

Reviewed by Chris Dumez.

Source/WebKit:

Make the name more abstract as it might be used in the future for other storage
like IDB or service worker registrations.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::requestStorageSpace):
(WebKit::NetworkProcess::requestCacheStorageSpace): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::requestSpace):
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(WebsiteDataStoreClient::WebsiteDataStoreClient):
* UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::requestStorageSpace):
(WebKit::NetworkProcessProxy::requestCacheStorageSpace): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebsiteData/WebsiteDataStoreClient.h:
(WebKit::WebsiteDataStoreClient::requestStorageSpace):
(WebKit::WebsiteDataStoreClient::requestCacheStorageSpace): Deleted.

Tools:

* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate requestStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]):
(-[TestWebsiteDataStoreDelegate requestCacheStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]): Deleted.

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

5 months agoDrop cached WebProcesses for a given session when this session is destroyed
cdumez@apple.com [Tue, 5 Mar 2019 20:14:54 +0000 (20:14 +0000)]
Drop cached WebProcesses for a given session when this session is destroyed
https://bugs.webkit.org/show_bug.cgi?id=195212
<rdar://problem/48301483>

Reviewed by Geoffrey Garen.

Drop cached WebProcesses for a give session when this session is destroyed. This way, when you close
your private browsing window, all the processes it used get cleared and it cannot leave any state
behind.

* UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::canCacheProcess const):
(WebKit::WebProcessCache::addProcessIfPossible):
(WebKit::WebProcessCache::addProcess):
(WebKit::WebProcessCache::clearAllProcessesForSession):
* UIProcess/WebProcessCache.h:
(WebKit::WebProcessCache::capacity const):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
(WebKit::WebProcessPool::hasPagesUsingWebsiteDataStore const):
* UIProcess/WebProcessPool.h:

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

5 months agoWeb Inspector: iPod user agent UIString should have a lowercase "T"
drousso@apple.com [Tue, 5 Mar 2019 19:44:33 +0000 (19:44 +0000)]
Web Inspector: iPod user agent UIString should have a lowercase "T"
https://bugs.webkit.org/show_bug.cgi?id=195312
<rdar://problem/48586853>

Reviewed by Matt Baker.

* UserInterface/Base/Main.js:
(WI._handleDeviceSettingsToolbarButtonClicked):

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

5 months agoCorrectly handle sandbox extensions when the same WKWebView loads multiple file:...
beidson@apple.com [Tue, 5 Mar 2019 17:20:36 +0000 (17:20 +0000)]
Correctly handle sandbox extensions when the same WKWebView loads multiple file:// URLs.
<rdar://problem/47820581> and https://bugs.webkit.org/show_bug.cgi?id=195291

Reviewed by Tim Horton.

Source/WebKit:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::SandboxExtensionTracker::shouldReuseCommittedSandboxExtension): If there is a pendingProvisionalSandboxExtension
  then its existence should override our willingness to reuse the existing committed extension.
(WebKit::shouldReuseCommittedSandboxExtension): Deleted.
* WebProcess/WebPage/WebPage.h:

Tools:

Loading a file: URL into a WKWebView and then loading another file: url from a completely
different directory into that same WKWebView should work.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm: Added.

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

5 months agoUnreviewed, rolling out r242403.
ryanhaddad@apple.com [Tue, 5 Mar 2019 17:18:30 +0000 (17:18 +0000)]
Unreviewed, rolling out r242403.

Caused layout test crashes on iOS simulator.

Reverted changeset:

"[ContentChangeObserver] Introduce fixed duration content
observation"
https://bugs.webkit.org/show_bug.cgi?id=195295
https://trac.webkit.org/changeset/242403

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

5 months agoWeb Inspector: Better categorize CPU usage per-thread / worker
fred.wang@free.fr [Tue, 5 Mar 2019 16:18:43 +0000 (16:18 +0000)]
Web Inspector: Better categorize CPU usage per-thread / worker
https://bugs.webkit.org/show_bug.cgi?id=194564

Unreviewed compilation fix.

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-05

* page/ResourceUsageData.h: Add missing headers.

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

5 months agoShare more code for updating the state of frame scrolling nodes
fred.wang@free.fr [Tue, 5 Mar 2019 14:54:13 +0000 (14:54 +0000)]
Share more code for updating the state of frame scrolling nodes
https://bugs.webkit.org/show_bug.cgi?id=195254

Unreviewed compilation warning fix.

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-05

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Add UNUSED_PARAM on non-Cocoa
platforms.

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

5 months agoThe include file in ScrollingStateFrameHostingNode.h is wrong.
commit-queue@webkit.org [Tue, 5 Mar 2019 14:21:48 +0000 (14:21 +0000)]
The include file in ScrollingStateFrameHostingNode.h is wrong.
https://bugs.webkit.org/show_bug.cgi?id=195280

Patch by Cathie Chen <cathiechen@igalia.com> on 2019-03-05
Reviewed by Frédéric Wang.

* page/scrolling/ScrollingStateFrameHostingNode.h:

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

5 months ago[WPE] Do not create a PlatformDisplay in the Service Worker process
commit-queue@webkit.org [Tue, 5 Mar 2019 11:59:27 +0000 (11:59 +0000)]
[WPE] Do not create a PlatformDisplay in the Service Worker process
https://bugs.webkit.org/show_bug.cgi?id=194830

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2019-03-05
Reviewed by Žan Doberšek.

It avoids opening the Wayland socket in this WPEWebProcess, which might cause issues
depending on the platform, and allocates unneeded resources.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h: Add new isServiceWorkerProcess parameter.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess): Set isServiceWorkerProcess parameter.
* UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): No implementationLibraryName and hostClientFileDescriptor for Service Worker.
* WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): No wpe_loader_init nor PlatformDisplayLibWPE for Service Worker.

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

5 months ago[GTK][l10n] Updated Polish translation of WebKitGTK for 2.24
carlosgc@webkit.org [Tue, 5 Mar 2019 10:35:43 +0000 (10:35 +0000)]
[GTK][l10n] Updated Polish translation of WebKitGTK for 2.24
https://bugs.webkit.org/show_bug.cgi?id=194859

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2019-03-05
Rubber-stamped by Carlos Garcia Campos.

* pl.po:

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

5 months agoWeb Inspector: CPU Usage Timeline - Adjust sizes in timeline overview
commit-queue@webkit.org [Tue, 5 Mar 2019 10:27:24 +0000 (10:27 +0000)]
Web Inspector: CPU Usage Timeline - Adjust sizes in timeline overview
https://bugs.webkit.org/show_bug.cgi?id=195313

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-05
Reviewed by Devin Rousso.

Reduce the height slightly to save some precious vertical space.
Also increase the size of the minimum bar height so that it doesn't
look like there are no events when there is low CPU.

* UserInterface/Views/CPUTimelineOverviewGraph.css:
(body .sidebar > .panel.navigation.timeline > .timelines-content li.item.cpu,):
* UserInterface/Views/CPUTimelineOverviewGraph.js:
(WI.CPUTimelineOverviewGraph.prototype.get height):
Reduce the CPU overview graph height to 60px.

(WI.CPUTimelineOverviewGraph.prototype.layout):
Increase the minimum size of a column bar to 4px.

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

5 months ago[GTK] Unreviewed test gardening
dpino@igalia.com [Tue, 5 Mar 2019 07:58:11 +0000 (07:58 +0000)]
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=195272

Unreviewed test gardening.

* platform/gtk/TestExpectations:

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

5 months agoUnreviewed, rolling out r242376.
beidson@apple.com [Tue, 5 Mar 2019 07:55:27 +0000 (07:55 +0000)]
Unreviewed, rolling out r242376.

Broke some tests

Reverted changeset:

"Correctly handle sandbox extensions when the same WKWebView
loads multiple file:// URLs."
https://bugs.webkit.org/show_bug.cgi?id=195291
https://trac.webkit.org/changeset/242376

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

5 months agoWeb Inspector: Reload actions from second level inspector should properly reload...
commit-queue@webkit.org [Tue, 5 Mar 2019 04:27:58 +0000 (04:27 +0000)]
Web Inspector: Reload actions from second level inspector should properly reload the inspected inspector
https://bugs.webkit.org/show_bug.cgi?id=195306

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-04
Reviewed by Matt Baker.

* UserInterface/Base/Main.js:
Provide a better reload for a Nth level inspector.

* UserInterface/Debug/Bootstrap.js:
(WI.runBootstrapOperations):
Simplify, should not need to check for InspectorFrontendHost.

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

5 months agoUse a SQLite database to hold the ResourceLoadStatistics data
Hironori.Fujii@sony.com [Tue, 5 Mar 2019 04:24:44 +0000 (04:24 +0000)]
Use a SQLite database to hold the ResourceLoadStatistics data
https://bugs.webkit.org/show_bug.cgi?id=194867
<rdar://problem/24240854>

Unreviewed build fix for WinCairo.

ResourceLoadStatisticsDebug and RELEASE_LOG_INFO_IF are not
defined because WinCairo port defines RELEASE_LOG_DISABLED.

* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess): Enclosed RELEASE_LOG_INFO_IF with #if !RELEASE_LOG_DISABLED.
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking): Ditto.

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

5 months agoWeb Inspector: MediaSource logging not initialized properly
commit-queue@webkit.org [Tue, 5 Mar 2019 04:22:08 +0000 (04:22 +0000)]
Web Inspector: MediaSource logging not initialized properly
https://bugs.webkit.org/show_bug.cgi?id=195307

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-04
Reviewed by Matt Baker.

* UserInterface/Controllers/ConsoleManager.js:
(WI.ConsoleManager.prototype.initializeLogChannels):
Typo caused undefined to be included and trigger assertions.

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

5 months agoUnreviewed build fix for High Sierra.
justin_fan@apple.com [Tue, 5 Mar 2019 04:00:21 +0000 (04:00 +0000)]
Unreviewed build fix for High Sierra.

* platform/graphics/gpu/cocoa/GPUBufferMetal.mm: Should fix "global constructor" error.

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

5 months agoUse a SQLite database to hold the ResourceLoadStatistics data
bfulgham@apple.com [Tue, 5 Mar 2019 03:00:29 +0000 (03:00 +0000)]
Use a SQLite database to hold the ResourceLoadStatistics data
https://bugs.webkit.org/show_bug.cgi?id=194867
<rdar://problem/24240854>

Reviewed by Chris Dumez.

Source/WebCore:

Add a new runtime feature flag to support use of an experimental database
back-end. Also expose some SQLite function calls for use outside of WebCore.

No change in functionality, so no new tests.

* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setItpDatabaseModeEnabled):
(WebCore::RuntimeEnabledFeatures::itpDatabaseModeEnabled const):
* platform/sql/SQLiteDatabase.h:
* platform/sql/SQLiteStatement.h:

Source/WebKit:

The ResourceLoadStatistics database plist is inefficient. It requires more memory use
than it needs, and forces lots of looping and string comparisons to find information.

This problem has already been solved in the form of relational databases. We use them
elsewhere in WebKit, and should do so for this storage as well.

This patch creates an optional SQLite database to handle ITP operations.

1. It adds a new internal experimental feature flag to activate it. It requires the user
   exit and restart the process to take effect.
2. It populates itself from the existing plist file (if it exists).
3. It stops using the plist in favor of the database.
4. It does queries and other operations using the database instead of the old hash table
   implementation.

This patch refactors the exisiting ResourceLoadStatisticsMemoryStore class into a base
ResourceLoadStatisticsStore class, which ResourceLoadStatisticsMemoryStore is based on.
It adds a new ResourceLoadStatisticsDatabaseStore that is implemented in terms of SQL
operations.

These code changes should not have any impact on existing operations, and when enabled
should produce the same test results.

* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: Added.
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::createSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::prepareStatements):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertObservedDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::relationshipExists const):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationship):
(WebKit::ResourceLoadStatisticsDatabaseStore::confirmDomainDoesNotExist const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainIDFromString const):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationships):
(WebKit::ResourceLoadStatisticsDatabaseStore::databaseIsEmpty const):
(WebKit::ResourceLoadStatisticsDatabaseStore::populateFromMemoryStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::calculateAndSubmitTelemetry const):
(WebKit::ResourceLoadStatisticsDatabaseStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::recursivelyFindNonPrevalentDomainsThatRedirectedToThisDomain):
(WebKit::buildList):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::listToString):
(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::reclassifyResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::classifyPrevalentResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::syncStorageIfNeeded):
(WebKit::ResourceLoadStatisticsDatabaseStore::syncStorageImmediately):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensurePrevalentResourcesForDebugMode):
(WebKit::ResourceLoadStatisticsDatabaseStore::logFrameNavigation):
(WebKit::ResourceLoadStatisticsDatabaseStore::logSubresourceLoading):
(WebKit::ResourceLoadStatisticsDatabaseStore::logSubresourceRedirect):
(WebKit::ResourceLoadStatisticsDatabaseStore::setUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::logUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasHadUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::setPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::setDomainsAsPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::dumpResourceLoadStatistics const):
(WebKit::ResourceLoadStatisticsDatabaseStore::predicateValueForDomain const):
(WebKit::ResourceLoadStatisticsDatabaseStore::isPrevalentResource const):
(WebKit::ResourceLoadStatisticsDatabaseStore::isVeryPrevalentResource const):
(WebKit::ResourceLoadStatisticsDatabaseStore::isRegisteredAsSubresourceUnder const):
(WebKit::ResourceLoadStatisticsDatabaseStore::isRegisteredAsSubFrameUnder const):
(WebKit::ResourceLoadStatisticsDatabaseStore::isRegisteredAsRedirectingTo const):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::setGrandfathered):
(WebKit::ResourceLoadStatisticsDatabaseStore::isGrandfathered const):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubframeUnderTopFrameOrigin):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUnderTopFrameOrigin):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsDatabaseStore::setTopFrameUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsDatabaseStore::setTopFrameUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensureResourceStatisticsForPrimaryDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::clear):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieTreatmentForOrigin const):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasUserGrantedStorageAccessThroughPrompt):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainsToBlock const):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearBlockingStateForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::processStatistics const):
(WebKit::ResourceLoadStatisticsDatabaseStore::prevalentDomains const):
(WebKit::ResourceLoadStatisticsDatabaseStore::findExpiredUserInteractions const):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearExpiredUserInteractions):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearGrandfathering):
(WebKit::ResourceLoadStatisticsDatabaseStore::topPrivatelyControlledDomainsToRemoveWebsiteDataFor):
(WebKit::ResourceLoadStatisticsDatabaseStore::pruneStatisticsIfNeeded):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateLastSeen):
(WebKit::ResourceLoadStatisticsDatabaseStore::setLastSeen):
(WebKit::ResourceLoadStatisticsDatabaseStore::setVeryPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::removeAllStorageAccess):
* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h: Added.
(WebKit::ResourceLoadStatisticsDatabaseStore::isEmpty const):
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::ResourceLoadStatisticsMemoryStore):
(WebKit::ResourceLoadStatisticsMemoryStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::classifyPrevalentResources):
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded):
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageImmediately):
(WebKit::ResourceLoadStatisticsMemoryStore::grandfatherDataForDomains):
(WebKit::domainsToString): Deleted.
(WebKit::OperatingDate::fromWallTime): Deleted.
(WebKit::OperatingDate::today): Deleted.
(WebKit::OperatingDate::secondsSinceEpoch const): Deleted.
(WebKit::OperatingDate::operator== const): Deleted.
(WebKit::OperatingDate::operator< const): Deleted.
(WebKit::OperatingDate::operator<= const): Deleted.
(WebKit::OperatingDate::OperatingDate): Deleted.
(WebKit::mergeOperatingDates): Deleted.
(WebKit::computeImportance): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::~ResourceLoadStatisticsMemoryStore): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setNotifyPagesWhenDataRecordsWereScanned): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setShouldClassifyResourcesBeforeDataRecordsRemoval): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setShouldSubmitTelemetry): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::removeDataRecords): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::processStatisticsAndDataRecords): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::grandfatherExistingWebsiteData): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setResourceLoadStatisticsDebugMode): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setPrevalentResourceForDebugMode): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::scheduleStatisticsProcessingRequestIfNecessary): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::cancelPendingStatisticsProcessingRequest): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setTimeToLiveUserInteraction): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setMinimumTimeBetweenDataRecordsRemoval): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setGrandfatheringTime): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setCacheMaxAgeCap): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::updateCacheMaxAgeCap): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setAgeCapForClientSideCookies): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::updateClientSideCookiesAgeCap): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::shouldRemoveDataRecords const): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setDataRecordsBeingRemoved): Deleted.
(WebKit::debugLogDomainsInBatches): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::includeTodayAsOperatingDateIfNecessary): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::hasStatisticsExpired const): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setMaxStatisticsEntries): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setPruneEntriesDownTo): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::resetParametersToDefaultValues): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::logTestingEvent): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::didCreateNetworkProcess): Deleted.
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
(WebKit::ResourceLoadStatisticsMemoryStore::data const):
(WebKit::ResourceLoadStatisticsMemoryStore::isDebugModeEnabled const): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::store const): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setStorageAccessPromptsEnabled): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::setDebugLogggingEnabled): Deleted.
(): Deleted.
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp: Added.
(WebKit::domainsToString):
(WebKit::OperatingDate::fromWallTime):
(WebKit::OperatingDate::today):
(WebKit::OperatingDate::secondsSinceEpoch const):
(WebKit::OperatingDate::operator== const):
(WebKit::OperatingDate::operator< const):
(WebKit::OperatingDate::operator<= const):
(WebKit::ResourceLoadStatisticsStore::ResourceLoadStatisticsStore):
(WebKit::ResourceLoadStatisticsStore::~ResourceLoadStatisticsStore):
(WebKit::ResourceLoadStatisticsStore::calculateAndSubmitTelemetry const):
(WebKit::ResourceLoadStatisticsStore::computeImportance):
(WebKit::ResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::ResourceLoadStatisticsStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::ResourceLoadStatisticsStore::setShouldSubmitTelemetry):
(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode):
(WebKit::ResourceLoadStatisticsStore::setPrevalentResourceForDebugMode):
(WebKit::ResourceLoadStatisticsStore::scheduleStatisticsProcessingRequestIfNecessary):
(WebKit::ResourceLoadStatisticsStore::cancelPendingStatisticsProcessingRequest):
(WebKit::ResourceLoadStatisticsStore::setTimeToLiveUserInteraction):
(WebKit::ResourceLoadStatisticsStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::ResourceLoadStatisticsStore::setGrandfatheringTime):
(WebKit::ResourceLoadStatisticsStore::setCacheMaxAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateCacheMaxAgeCap):
(WebKit::ResourceLoadStatisticsStore::setAgeCapForClientSideCookies):
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
(WebKit::ResourceLoadStatisticsStore::shouldRemoveDataRecords const):
(WebKit::ResourceLoadStatisticsStore::setDataRecordsBeingRemoved):
(WebKit::ResourceLoadStatisticsStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsStore::clearBlockingStateForDomains):
(WebKit::ResourceLoadStatisticsStore::processStatistics const):
(WebKit::ResourceLoadStatisticsStore::statisticsEpirationTime const):
(WebKit::ResourceLoadStatisticsStore::mergeOperatingDates):
(WebKit::ResourceLoadStatisticsStore::includeTodayAsOperatingDateIfNecessary):
(WebKit::ResourceLoadStatisticsStore::hasStatisticsExpired const):
(WebKit::ResourceLoadStatisticsStore::setMaxStatisticsEntries):
(WebKit::ResourceLoadStatisticsStore::setPruneEntriesDownTo):
(WebKit::ResourceLoadStatisticsStore::resetParametersToDefaultValues):
(WebKit::ResourceLoadStatisticsStore::logTestingEvent):
(WebKit::ResourceLoadStatisticsStore::removeAllStorageAccess):
(WebKit::ResourceLoadStatisticsStore::didCreateNetworkProcess):
(WebKit::ResourceLoadStatisticsStore::debugLogDomainsInBatches):
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.h: Copied from Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h.
(WebKit::OperatingDate::OperatingDate):
(WebKit::ResourceLoadStatisticsStore::isEmpty const):
(WebKit::ResourceLoadStatisticsStore::data const):
(WebKit::ResourceLoadStatisticsStore::isDebugModeEnabled const):
(WebKit::ResourceLoadStatisticsStore::store const):
(WebKit::ResourceLoadStatisticsStore::setStorageAccessPromptsEnabled):
(WebKit::ResourceLoadStatisticsStore::setDebugLogggingEnabled):
* NetworkProcess/Classifier/ResourceLoadStatisticsStoreCocoa.mm: Renamed from Source/WebKit/UIProcess/Cocoa/ResourceLoadStatisticsMemoryStoreCocoa.mm.
(WebKit::ResourceLoadStatisticsStore::registerUserDefaultsIfNeeded):
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebResourceLoadStatisticsStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsStore::setShouldSubmitTelemetry):
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore):
(WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResourceForDebugMode):
(WebKit::WebResourceLoadStatisticsStore::scheduleStatisticsAndDataRecordsProcessing):
(WebKit::WebResourceLoadStatisticsStore::hasStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccessUnderOpener):
(WebKit::WebResourceLoadStatisticsStore::grantStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::performDailyTasks):
(WebKit::WebResourceLoadStatisticsStore::logFrameNavigation):
(WebKit::WebResourceLoadStatisticsStore::logWebSocketLoading):
(WebKit::WebResourceLoadStatisticsStore::logSubresourceLoading):
(WebKit::WebResourceLoadStatisticsStore::logSubresourceRedirect):
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::clearUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setLastSeen):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isRegisteredAsSubresourceUnder):
(WebKit::WebResourceLoadStatisticsStore::isRegisteredAsSubFrameUnder):
(WebKit::WebResourceLoadStatisticsStore::isRegisteredAsRedirectingTo):
(WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::isGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdate):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearBlockingStateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::setTimeToLiveUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsStore::setGrandfatheringTime):
(WebKit::WebResourceLoadStatisticsStore::setMaxStatisticsEntries):
(WebKit::WebResourceLoadStatisticsStore::setPruneEntriesDownTo):
(WebKit::WebResourceLoadStatisticsStore::resetParametersToDefaultValues):
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* Platform/classifier/ResourceLoadStatisticsClassifier.cpp:
(WebKit::ResourceLoadStatisticsClassifier::calculateResourcePrevalence):
* Platform/classifier/ResourceLoadStatisticsClassifier.h:
* Shared/WebPreferences.yaml:
* Sources.txt:
* SourcesCocoa.txt:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* UIProcess/WebProcessPool.cpp:
* WebKit.xcodeproj/project.pbxproj:

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

5 months agoWeb Inspector: CSS: class input isn't fully centered
drousso@apple.com [Tue, 5 Mar 2019 01:34:16 +0000 (01:34 +0000)]
Web Inspector: CSS: class input isn't fully centered
https://bugs.webkit.org/show_bug.cgi?id=195297

Reviewed by Matt Baker.

* UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(body[dir=ltr] .sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input): Deleted.
(body[dir=rtl] .sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input): Deleted.

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

5 months ago[Web GPU] Blitting function prototypes
justin_fan@apple.com [Tue, 5 Mar 2019 00:55:15 +0000 (00:55 +0000)]
[Web GPU] Blitting function prototypes
https://bugs.webkit.org/show_bug.cgi?id=195224
<rdar://problem/48538902>

Reviewed by Dean Jackson.

Source/WebCore:

Implement barebones GPUCommandBuffer::copy* prototypes while rounding out GPUTexture implementation details.

Test: webgpu/blit-commands.html

* Modules/webgpu/GPUOrigin3D.h: Added.
* Modules/webgpu/GPUOrigin3D.idl: Added.
* Modules/webgpu/WebGPUCommandBuffer.cpp: Add copy view struct implementations.
(WebCore::WebGPUBufferCopyView::asGPUBufferCopyView const): Added.
(WebCore::WebGPUTextureCopyView::asGPUTextureCopyView const): Added.
(WebCore::WebGPUCommandBuffer::copyBufferToBuffer): Added.
(WebCore::WebGPUCommandBuffer::copyBufferToTexture): Added.
(WebCore::WebGPUCommandBuffer::copyTextureToBuffer): Added.
(WebCore::WebGPUCommandBuffer::copyTextureToTexture): Added.
* Modules/webgpu/WebGPUCommandBuffer.h: Add new functions and supporting structs.
* Modules/webgpu/WebGPUCommandBuffer.idl: Ditto.
* Modules/webgpu/WebGPURenderPassDescriptor.cpp: Refactor constructors to copy the entire base class.
(WebCore::GPURenderPassColorAttachmentDescriptor::GPURenderPassColorAttachmentDescriptor):
(WebCore::GPURenderPassDepthStencilAttachmentDescriptor::GPURenderPassDepthStencilAttachmentDescriptor):
(WebCore::WebGPURenderPassDescriptor::asGPURenderPassDescriptor const):
(WebCore::attachment): Deleted.
* Modules/webgpu/WebGPUTexture.h:
(WebCore::WebGPUTexture::texture const): Added.
* platform/graphics/gpu/GPUBuffer.h:
(WebCore::GPUBuffer::byteLength const): Added.
(WebCore::GPUBuffer::isTransferSource const): Added.
(WebCore::GPUBuffer::isTransferDestination const): Renamed from isTransferDst. Refactored for OptionSet API.
(WebCore::GPUBuffer::isVertex const): Ditto.
(WebCore::GPUBuffer::isUniform const): Ditto.
(WebCore::GPUBuffer::isStorage const): Ditto.
(WebCore::GPUBuffer::isMappable const): Ditto.
(WebCore::GPUBuffer::isMapWrite const): Ditto.
(WebCore::GPUBuffer::isMapRead const): Ditto.
* platform/graphics/gpu/GPUBufferUsage.h: Refactored for better bit flag style.
* platform/graphics/gpu/GPUCommandBuffer.h:
(WebCore::GPUCommandBuffer::blitEncoder const): Added.
* platform/graphics/gpu/GPURenderPassDescriptor.h:
* platform/graphics/gpu/GPUTexture.h: Cache usage flags for reference.
(WebCore::GPUTexture::isTransferSrc const): Added.
(WebCore::GPUTexture::isTransferDst const): Added.
(WebCore::GPUTexture::isOutputAttachment const): Added.
* platform/graphics/gpu/GPUTextureUsage.h: Refactor to match GPUBufferUsage.h.
* platform/graphics/gpu/cocoa/GPUBufferMetal.mm:
(WebCore::GPUBuffer::validateBufferUsage): Renamed from validateBufferCreate, refactored for OptionSet.
(WebCore::GPUBuffer::tryCreate):
(WebCore::GPUBuffer::GPUBuffer):
(WebCore::GPUBuffer::isReadOnly const):
(WebCore::GPUBuffer::setSubData): Add alignment check according to Metal docs.
* platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::create): No need to use this alias here.
(WebCore::GPUCommandBuffer::GPUCommandBuffer): Ditto.
(WebCore::GPUCommandBuffer::copyBufferToBuffer): Added.
(WebCore::GPUCommandBuffer::copyBufferToTexture): Added.
(WebCore::GPUCommandBuffer::copyTextureToBuffer): Added.
(WebCore::GPUCommandBuffer::copyTextureToTexture): Added.
* platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
(WebCore::GPUQueue::submit): End encoding on the MTLCommandBuffer's blitCommandEncoder if it was used.
* platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:
(WebCore::GPUSwapChain::getNextTexture): Now provide usage flags to texture creation.
* platform/graphics/gpu/cocoa/GPUTextureMetal.mm:
(WebCore::mtlTextureUsageForGPUTextureUsageFlags): Refactor validation.
(WebCore::tryCreateMtlTextureDescriptor): Ditto.
(WebCore::GPUTexture::tryCreate): Now provide usage flags to texture creation.
(WebCore::GPUTexture::create): Ditto.
(WebCore::GPUTexture::GPUTexture): Ditto.
(WebCore::GPUTexture::createDefaultTextureView): Ditto.

LayoutTests:

Add basic test to copy data with all new blitting functions and verify the result.

* webgpu/blit-commands-expected.html: Added.
* webgpu/blit-commands.html: Added.
* webgpu/buffer-command-buffer-races.html: Fixed typo.
* webgpu/resources/green-400.png: Added.

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

5 months ago[ContentChangeObserver] Introduce fixed duration content observation
zalan@apple.com [Tue, 5 Mar 2019 00:43:41 +0000 (00:43 +0000)]
[ContentChangeObserver] Introduce fixed duration content observation
https://bugs.webkit.org/show_bug.cgi?id=195295
<rdar://problem/48579913>

Reviewed by Simon Fraser.

Source/WebCore:

Some pages have a runloop-like scheduling setup where the content triggering change happens at a nested timer firing.
This patch helps finding cases like that using a 32ms long fixed window. Currently nested timers get dropped on the floor and
we stop observing for content changes before they even get fired.

Test: fast/events/touch/ios/visibility-change-happens-on-timer-hops.html

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::ContentChangeObserver):
(WebCore::ContentChangeObserver::startContentObservationForDuration):
(WebCore::ContentChangeObserver::stopDurationBasedContentObservation):
(WebCore::ContentChangeObserver::hasDeterminateState const):
(WebCore::ContentChangeObserver::adjustObservedState):
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::hasPendingActivity const):

Source/WebKit:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):

LayoutTests:

* fast/events/touch/ios/visibility-change-happens-on-timer-hops-expected.txt: Added.
* fast/events/touch/ios/visibility-change-happens-on-timer-hops.html: Added.

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

5 months agoNative text selection UI is incorrectly suppressed in Microsoft Visio
wenson_hsieh@apple.com [Tue, 5 Mar 2019 00:31:31 +0000 (00:31 +0000)]
Native text selection UI is incorrectly suppressed in Microsoft Visio
https://bugs.webkit.org/show_bug.cgi?id=195178
<rdar://problem/48519394>

Reviewed by Darin Adler.

Source/WebCore:

Currently, our heuristics for detecting hidden editable areas attempt to search for empty parent renderers with
"overflow: hidden". It does this by ascending the layer tree in search of renderers that have an empty content
size, and whose renderers' styles indicate that they have overflow: hidden in the X or Y directions. This fails
in the case where a child renderer is positioned out of flow, relative to one of its parent layers, since the
child will be visible, but we'll incorrectly believe that it is hidden. This leads to selection UI unexpectedly
disappearing in the online version of Microsoft Visio.

To fix this, we check whether the enclosing layer around the editable element has an empty clip rect; if the
element is inside of a subframe, we additionally walk up to each enclosing frame's layer and check if that
frame's layer has an empty clip rect.

Test: editing/selection/ios/do-not-hide-selection-in-visible-container.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::isTransparentOrFullyClippedRespectingParentFrames const):

LayoutTests:

Add a new layout test that focuses several different text fields and checks whether or not editing UI is shown:

1. A text field inside an overflow: hidden container, all within an absolutely positioned iframe, such that the
text field is not visible. The caret should be hidden.

2. A text field inside an absolutely positioned iframe, inside an overflow: hidden container, such that the
text field is visible. The caret should be visible.

3. A text field inside a relatively positioned iframe in an overflow: hidden container, such that the text field
is not visible. The caret should be hidden.

4. A text field that is position: fixed inside an overflow: hidden container, such that the text field is
visible. The caret should be visible.

* editing/selection/ios/do-not-hide-selection-in-visible-container-expected.txt: Added.
* editing/selection/ios/do-not-hide-selection-in-visible-container.html: Added.
* editing/selection/ios/hide-selection-in-empty-overflow-hidden-container.html:
* resources/ui-helper.js:
(window.UIHelper.activateElementAndWaitForInputSession):

Add a convenience function in UIHelper that taps a given element and waits for the keyboard to show.

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

5 months agoUnreviewed, rolling out r242396.
tsavell@apple.com [Tue, 5 Mar 2019 00:09:15 +0000 (00:09 +0000)]
Unreviewed, rolling out r242396.

Found issue to be unrelated. reverting my rollout.

Reverted changeset:

"Unreviewed, rolling out r242222."
https://bugs.webkit.org/show_bug.cgi?id=193683
https://trac.webkit.org/changeset/242396

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

5 months agoUnreviewed, build fix for debug builds after r242397
ysuzuki@apple.com [Mon, 4 Mar 2019 23:51:22 +0000 (23:51 +0000)]
Unreviewed, build fix for debug builds after r242397

* runtime/JSString.h:

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

5 months agoUnreviewed, a followup after r242336
jiewen_tan@apple.com [Mon, 4 Mar 2019 23:49:58 +0000 (23:49 +0000)]
Unreviewed, a followup after r242336

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webViewDidMoveToWindow):
Copy the list of observers before iterating it to avoid observers modifying the list.

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

5 months ago[JSC] Store bits for JSRopeString in 3 stores
ysuzuki@apple.com [Mon, 4 Mar 2019 23:27:43 +0000 (23:27 +0000)]
[JSC] Store bits for JSRopeString in 3 stores
https://bugs.webkit.org/show_bug.cgi?id=195234

Reviewed by Saam Barati.

JSTests:

* stress/null-rope-and-collectors.js: Added.

Source/JavaScriptCore:

This patch cleans up the initialization of JSRopeString fields in DFG and FTL.
Previously, we store some part of data separately. Instead, this patch calculates
the data first by bit operations and store calculated data with fewer stores.

This patch also cleans up is8Bit and isSubstring flags. We put them in lower bits
of the first fiber instead of the upper 16 bits. Since we only have 3 bit flags, (isRope, is8Bit, isSubstring),
we can put them into the lower 3 bits, they are always empty due to alignment.

* bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl): A bit clean up of StringLength IC to give a chance of unnecessary mov removal.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::canBeRope):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
* dfg/DFGSpeculativeJIT.h:
* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::isRopeString):
(JSC::FTL::DFG::LowerDFGToB3::isNotRopeString):
* runtime/JSString.cpp:
(JSC::JSString::visitChildren):
* runtime/JSString.h:
(JSC::JSString::is8Bit const):
(JSC::JSString::isSubstring const):
* tools/JSDollarVM.cpp:
(JSC::functionCreateNullRopeString):
(JSC::JSDollarVM::finishCreation):

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

5 months agoUnreviewed, rolling out r242222.
tsavell@apple.com [Mon, 4 Mar 2019 23:11:58 +0000 (23:11 +0000)]
Unreviewed, rolling out r242222.

Broke internal debug testing

Reverted changeset:

"[iOS] Move calls to [UIKeyboard isInHardwareKeyboardMode] to
the UI process."
https://bugs.webkit.org/show_bug.cgi?id=193683
https://trac.webkit.org/changeset/242222

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

5 months agoWeb Inspector: Audit: show the version number in the UI
drousso@apple.com [Mon, 4 Mar 2019 22:57:12 +0000 (22:57 +0000)]
Web Inspector: Audit: show the version number in the UI
https://bugs.webkit.org/show_bug.cgi?id=195292

Reviewed by Matt Baker.

* UserInterface/Views/AuditNavigationSidebarPanel.js:
(WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
(WI.AuditNavigationSidebarPanel.prototype._updateNoAuditsPlaceholder):
Fix the logic for showing a placeholder when editing or with only disabled tests.

* UserInterface/Views/AuditNavigationSidebarPanel.css:
(.sidebar > .panel.navigation.audit > .content > .message-text-view): Added.
(.audit-version): Added.
Don't obstruct the "Edit" button when showing a placeholder.

* Localizations/en.lproj/localizedStrings.js:

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

5 months agoUnreviewed build fix after r242378
bfulgham@apple.com [Mon, 4 Mar 2019 22:36:14 +0000 (22:36 +0000)]
Unreviewed build fix after r242378

* UIProcess/ios/EditableImageController.mm:
(WebKit::EditableImageController::associateWithAttachment):

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

5 months agogPictureOwnerMap is unnecessary
rniwa@webkit.org [Mon, 4 Mar 2019 22:00:28 +0000 (22:00 +0000)]
gPictureOwnerMap is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=195228

Reviewed by Zalan Bujtas.

Just store in HTMLImageElement. An extra pointer isn't going to affect the memory use here.
If anything, we should worry about m_editableImage and m_pendingClonedAttachmentID instead.

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::pictureElement const):
(WebCore::HTMLImageElement::setPictureElement):
* html/HTMLImageElement.h:

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

5 months ago[iOS] Caret x-position in empty text area does not match text field
dbates@webkit.org [Mon, 4 Mar 2019 21:57:52 +0000 (21:57 +0000)]
[iOS] Caret x-position in empty text area does not match text field
https://bugs.webkit.org/show_bug.cgi?id=195125
<rdar://problem/47161070>

Remove the word "use" in the added comment to make it read well.

* css/html.css:
(textarea):

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

5 months agoAdd WeakHashSet
rniwa@webkit.org [Mon, 4 Mar 2019 21:52:32 +0000 (21:52 +0000)]
Add WeakHashSet
https://bugs.webkit.org/show_bug.cgi?id=195152

Reviewed by Antti Koivisto.

Source/WTF:

Added WeakHashSet which is a HashSet of WeakPtr. When the object pointed by WeakPtr is deleted,
WeakHashSet treats the key to be no longer in the set. That is, WeakHashSet::contains returns false
and const_iterator skips such a WeakPtr in the set.

We decided not to make HashSet<WeahPtr<T>> work because it involves weird semantics such as making
find(X) delete the table entry as remove(find(X)) would be a no-op otherwise as find(X) would return
necessarily need to return HashSet<WeakPtr<T>>::end().

Furthermore, we cannot determine the true size of this set in O(1) because the objected pointed by
some of WeakPtr in the set may have already been deleted. This has implications that we can't have
size(), isEmpty(), random(), etc... as O(1) operation.

WeakHashSet is implemented as HashSet<WeakReference<T>>. HashTable::rehash has been updated to delete
WeakReference<T>'s whose m_ptr has become null, and HashTable::expand first deletes any such entry
before deciding an actual expansion is needed. This is accomplished via newly added hash trait,
hasIsReleasedWeakValueFunction, and HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue which
returns true for when WeakReference<T> pointed by Ref<WeakReference<T>> has null m_ptr, not to be
confused with Ref<WeakReference<T>> itself pointing to a null WeakReference<T>.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Forward.h:
* wtf/HashSet.h:
(WTF::HashSet<T, U, V>::checkConsistency const): Added.
* wtf/HashTable.h:
(WTF::HashTable::isReleasedWeakBucket): Added.
(WTF::HashTable::expand): Delete WeakReference<T> with null m_ptr first. This updates m_keyCount
and may make mustRehashInPlace() return true.
(WTF::HashTable::deleteReleasedWeakBuckets): Added.
(WTF::HashTable::rehash): Delete WeakReference<T> with null m_ptr. Also refactored the code a bit
to avoid keep repeating oldTable[i].
* wtf/HashTraits.h:
(WTF::HashTraits<T>::isHashTraitsReleasedWeakValue): Added.
(WTF::RefHashTraits<T>): Extracted from HashTraits<Ref<P>> to share code with
HashTraits<Ref<WeakReference<T>>>.
(WTF::HashTraitsReleasedWeakValueChecker<Traits, hasIsReleasedWeakValueFunction>): Added.
(WTF::isHashTraitsReleasedWeakValue<Traits, hasIsReleasedWeakValueFunction>): Added.
* wtf/WeakHashSet.h: Added.
(WTF::WeakHashSet): Added.
(WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator):
(WTF::WeakHashSet::WeakHashSetConstIterator::get const):
(WTF::WeakHashSet::WeakHashSetConstIterator::operator* const):
(WTF::WeakHashSet::WeakHashSetConstIterator::operator-> const):
(WTF::WeakHashSet::WeakHashSetConstIterator::operator++):
(WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets):
(WTF::WeakHashSet::WeakHashSetConstIterator::operator== const):
(WTF::WeakHashSet::WeakHashSetConstIterator::operator!= const):
(WTF::WeakHashSet::WeakHashSet):
(WTF::WeakHashSet::begin const):
(WTF::WeakHashSet::end const):
(WTF::WeakHashSet::add):
(WTF::WeakHashSet::remove):
(WTF::WeakHashSet::contains const):
(WTF::WeakHashSet::capacity const):
(WTF::WeakHashSet::computeSize const): Deletes any WeakReference<T> with null m_ptr first.
(WTF::WeakHashSet::checkConsistency const):
(WTF::HashTraits<Ref<WeakReference<T>>>): Added. This hash traits triggers the new code in HashTable's
expand and rehash methods to delete WeakReference<T> with null m_ptr.
(WTF::HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue):
* wtf/WeakPtr.h:
(WTF::WeakReference::~WeakReference): Added so that we can keep track the number of live WeakReference
in API tests by template specializations.

Tools:

Added tests for WeakHashSet.

* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::Base): Moved.
(TestWebKitAPI::Derived::foo): Moved.
(WTF::WeakReference<TestWebKitAPI::Base>): Added to track the number of live WeakReference.
(WTF::WeakReference<TestWebKitAPI::Base>::WeakReference):
(WTF::WeakReference<TestWebKitAPI::Base>::~WeakReference):
(TestWebKitAPI::computeSizeOfWeakHashSet): Added.

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

5 months agoITMLKit Inspector: Data Bindings / Associated Data for nodes
commit-queue@webkit.org [Mon, 4 Mar 2019 21:48:04 +0000 (21:48 +0000)]
ITMLKit Inspector: Data Bindings / Associated Data for nodes
https://bugs.webkit.org/show_bug.cgi?id=195290
<rdar://problem/48304019>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-04
Reviewed by Devin Rousso.

Source/JavaScriptCore:

* inspector/protocol/DOM.json:

Source/WebCore:

* inspector/agents/InspectorDOMAgent.h:
* inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getDataBindingsForNode):
(WebCore::InspectorDOMAgent::getAssociatedDataForNode):
Stub these for web pages, they will only be used for ITMLKit right now.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
New title and empty message strings.

* UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
(.sidebar > .panel.dom-node-details .details-section.dom-node-associated-data > .content .row):
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
(WI.DOMNodeDetailsSidebarPanel.prototype.layout):
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshDataBindings):
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshAssociatedData):
(WI.DOMNodeDetailsSidebarPanel.prototype._attributesChanged):
New Node sections only enabled for ITMLKit `WI.sharedApp.hasExtraDomains`.

* UserInterface/Views/ObjectTreeView.js:
(WI.ObjectTreeView):
Provide a way, like TreeElement/View to access the ObjectTreeView from an element.

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

5 months ago[JSC] Make Reflect lazily-allocated by dropping @Reflect references from builtin JS
ysuzuki@apple.com [Mon, 4 Mar 2019 21:20:14 +0000 (21:20 +0000)]
[JSC] Make Reflect lazily-allocated by dropping @Reflect references from builtin JS
https://bugs.webkit.org/show_bug.cgi?id=195250

Reviewed by Saam Barati.

By removing @Reflect from builtin JS, we can make Reflect object allocation lazy.
We move @ownKeys function from @Reflect to @Object to remove @Reflect reference.

We also remove m_intlObject field from JSGlobalObject since we no longer use it.

* builtins/BuiltinNames.h:
* builtins/GlobalOperations.js:
(globalPrivate.copyDataProperties):
(globalPrivate.copyDataPropertiesNoExclusions):
* runtime/JSGlobalObject.cpp:
(JSC::createReflectProperty):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
(JSC::objectConstructorOwnKeys):
* runtime/ReflectObject.cpp:
(JSC::ReflectObject::finishCreation):

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

5 months ago[iOS] Caret x-position in empty text area does not match text field
dbates@webkit.org [Mon, 4 Mar 2019 21:07:19 +0000 (21:07 +0000)]
[iOS] Caret x-position in empty text area does not match text field
https://bugs.webkit.org/show_bug.cgi?id=195125
<rdar://problem/47161070>

Reviewed by Darin Adler.

Source/WebCore:

Fix up User Agent styles for <textarea> on iOS such that they have the same left padding
width and same text-indent as <input type="text">. This makes the x-position of the caret
in an empty textarea match the position of the caret in an empty text field.

Test: fast/forms/textarea/ios/caret-x-position-in-textarea-matches-textfield.html

* css/html.css:
(textarea): For iOS Family, do not use the padding shorthand property. Instead explicitly specify
padding-top and padding-bottom to be 2px to keep our current behavior (because it looks reasonable)
and do not specify left and right padding so that we inherit the padding set earlier in this file.
(textarea::placeholder): Deleted. This was added to "try" to make fix up the position of the placeholder
text so as to match the position of the textarea's inner text and the position of a text field's inner
text. This fix up may have worked out visually when it was added, but based on the discovery of the
hardcoded 3px left and right padding (see below remark) it looks like it was always one pixel too short.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::createInnerTextStyle): Remove hardcoded 3px left and right padding.

LayoutTests:

Update expected results due to changes in padding.

* TestExpectations: Remove some tests that are now passing.
* editing/selection/ios/show-selection-in-empty-overflow-hidden-document-expected.txt:
* editing/selection/ios/show-selection-in-empty-overflow-hidden-document.html:
* fast/forms/textarea/ios/caret-x-position-in-textarea-matches-textfield-expected.txt: Added.
* fast/forms/textarea/ios/caret-x-position-in-textarea-matches-textfield.html: Added.
* platform/ios-wk2/editing/input/reveal-caret-of-multiline-input-expected.txt:
* platform/ios-wk2/editing/inserting/4960120-1-expected.txt:
* platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
* platform/ios-wk2/fast/block/float/overhanging-tall-block-expected.txt:
* platform/ios-wk2/fast/block/margin-collapse/103-expected.txt:
* platform/ios-wk2/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
* platform/ios-wk2/fast/dynamic/008-expected.txt:
* platform/ios-wk2/fast/forms/basic-textareas-expected.txt:
* platform/ios-wk2/fast/forms/textAreaLineHeight-expected.txt:
* platform/ios-wk2/fast/forms/textarea-align-expected.txt:
* platform/ios-wk2/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/ios-wk2/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/ios-wk2/fast/forms/textarea-placeholder-visibility-2-expected.txt:
* platform/ios-wk2/fast/forms/textarea-scroll-height-expected.txt:
* platform/ios-wk2/fast/forms/textarea-scrollbar-expected.txt:
* platform/ios-wk2/fast/forms/textarea-scrolled-type-expected.txt:
* platform/ios-wk2/fast/forms/textarea-setinnerhtml-expected.txt:
* platform/ios-wk2/fast/hidpi/resize-corner-hidpi-expected.txt:
* platform/ios-wk2/fast/overflow/overflow-x-y-expected.txt:
* platform/ios-wk2/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
* platform/ios-wk2/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
* platform/ios/TestExpectations:
* platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/ios/fast/forms/form-element-geometry-expected.txt:
* platform/ios/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
* platform/ios/fast/forms/negativeLineHeight-expected.txt:
* platform/ios/fast/forms/text-control-intrinsic-widths-expected.txt:
* platform/ios/fast/forms/textarea-width-expected.txt:
* platform/ios/fast/replaced/width100percent-textarea-expected.txt:
* platform/ios/fast/scrolling/ios/textarea-scroll-touch-expected.txt:
* platform/ios/tables/mozilla/bugs/bug194024-expected.txt:
* platform/ios/tables/mozilla/bugs/bug30559-expected.txt:
* platform/ios/tables/mozilla/bugs/bug30692-expected.txt:

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

5 months agoCheck contextIDs when handling WebContent messages
bfulgham@apple.com [Mon, 4 Mar 2019 21:01:37 +0000 (21:01 +0000)]
Check contextIDs when handling WebContent messages
https://bugs.webkit.org/show_bug.cgi?id=195289
<rdar://problem/48475870>

Reviewed by Alex Christensen.

The WebContent process is untrusted because it handles arbitrary markup and javascript from untrusted sources.
We should handle its messages with suspicion, and make sure the arguments are valid and usable before honoring them.

This patch hardens the message passing layer by performing MESSAGE_CHECK in places that had been overlooked.

* UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
(WebKit::PlaybackSessionManagerProxy::currentTimeChanged):
(WebKit::PlaybackSessionManagerProxy::bufferedTimeChanged):
(WebKit::PlaybackSessionManagerProxy::seekableRangesVectorChanged):
(WebKit::PlaybackSessionManagerProxy::canPlayFastReverseChanged):
(WebKit::PlaybackSessionManagerProxy::audioMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManagerProxy::legibleMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManagerProxy::audioMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManagerProxy::legibleMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManagerProxy::externalPlaybackPropertiesChanged):
(WebKit::PlaybackSessionManagerProxy::wirelessVideoPlaybackDisabledChanged):
(WebKit::PlaybackSessionManagerProxy::mutedChanged):
(WebKit::PlaybackSessionManagerProxy::volumeChanged):
(WebKit::PlaybackSessionManagerProxy::durationChanged):
(WebKit::PlaybackSessionManagerProxy::playbackStartedTimeChanged):
(WebKit::PlaybackSessionManagerProxy::rateChanged):
(WebKit::PlaybackSessionManagerProxy::pictureInPictureSupportedChanged):
(WebKit::PlaybackSessionManagerProxy::pictureInPictureActiveChanged):
(WebKit::PlaybackSessionManagerProxy::handleControlledElementIDResponse const):
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
(WebKit::UserMediaCaptureManagerProxy::startProducingData):
(WebKit::UserMediaCaptureManagerProxy::stopProducingData):
(WebKit::UserMediaCaptureManagerProxy::end):
(WebKit::UserMediaCaptureManagerProxy::capabilities):
(WebKit::UserMediaCaptureManagerProxy::setMuted):
(WebKit::UserMediaCaptureManagerProxy::applyConstraints):
* UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::VideoFullscreenManagerProxy::setHasVideo):
(WebKit::VideoFullscreenManagerProxy::setVideoDimensions):
(WebKit::VideoFullscreenManagerProxy::enterFullscreen):
(WebKit::VideoFullscreenManagerProxy::exitFullscreen):
(WebKit::VideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode):
(WebKit::VideoFullscreenManagerProxy::setInlineRect):
(WebKit::VideoFullscreenManagerProxy::setHasVideoContentLayer):
(WebKit::VideoFullscreenManagerProxy::cleanupFullscreen):
(WebKit::VideoFullscreenManagerProxy::preparedToReturnToInline):
(WebKit::VideoFullscreenManagerProxy::preparedToExitFullscreen):
* UIProcess/ios/EditableImageController.mm:
(WebKit::EditableImageController::didCreateEditableImage):
(WebKit::EditableImageController::didDestroyEditableImage):
(WebKit::EditableImageController::associateWithAttachment):

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

5 months agoFix crashes when NetworkResourceLoader/NetworkLoadChecker are destroyed during HTTPS...
commit-queue@webkit.org [Mon, 4 Mar 2019 20:54:45 +0000 (20:54 +0000)]
Fix crashes when NetworkResourceLoader/NetworkLoadChecker are destroyed during HTTPS upgrade check
https://bugs.webkit.org/show_bug.cgi?id=195238
<rdar://problem/47598656>

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-04
Reviewed by Chris Dumez.

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

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

5 months agoCorrectly handle sandbox extensions when the same WKWebView loads multiple file:...
beidson@apple.com [Mon, 4 Mar 2019 20:39:33 +0000 (20:39 +0000)]
Correctly handle sandbox extensions when the same WKWebView loads multiple file:// URLs.
<rdar://problem/47820581> and https://bugs.webkit.org/show_bug.cgi?id=195291

Reviewed by Andy Estes.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::shouldReuseCommittedSandboxExtension): Only retain the previous sandbox extension if the file URL
  we're currently loading is functionally equivalent to the previous one.

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

5 months agoDrop legacy userAgentForURL injected bundle SPI
cdumez@apple.com [Mon, 4 Mar 2019 20:36:32 +0000 (20:36 +0000)]
Drop legacy userAgentForURL injected bundle SPI
https://bugs.webkit.org/show_bug.cgi?id=195222
<rdar://problem/46734147>

Reviewed by Darin Adler.

Drop legacy userAgentForURL injected bundle SPI. There are no longer any clients, and using
WebsitePolicies.customUserAgent is the way to go nowadays.

* WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::willDestroyFrame):
(API::InjectedBundle::PageLoaderClient::userAgentForURL const): Deleted.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(setUpPageLoaderClient):
(userAgentForURL): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::userAgentForURL const): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::userAgent const):

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

5 months agoWeb Inspector: Canvas: protocol error on first open
drousso@apple.com [Mon, 4 Mar 2019 20:35:54 +0000 (20:35 +0000)]
Web Inspector: Canvas: protocol error on first open
https://bugs.webkit.org/show_bug.cgi?id=195059
<rdar://problem/48407871>

Reviewed by Joseph Pecoraro.

* UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.initializeTarget):
(WI.CanvasManager.prototype.static supportsRecordingAutoCapture):
(WI.CanvasManager.prototype.setRecordingAutoCaptureFrameCount):
If targets aren't available, wait until they are and then set the auto-capture frame count.

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

5 months agoAdd a detailed summary page for JetStream 2
sbarati@apple.com [Mon, 4 Mar 2019 20:33:57 +0000 (20:33 +0000)]
Add a detailed summary page for JetStream 2
https://bugs.webkit.org/show_bug.cgi?id=195014

Rubber-stamped by Darin Adler.

* JetStream2/JetStream.css:
(a:link, a:visited):
* JetStream2/in-depth.html: Added.

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

5 months agoMake sure to correctly notify of end of a ServiceWorkerJob when the context is stopped
youenn@apple.com [Mon, 4 Mar 2019 20:30:58 +0000 (20:30 +0000)]
Make sure to correctly notify of end of a ServiceWorkerJob when the context is stopped
https://bugs.webkit.org/show_bug.cgi?id=195195

Reviewed by Chris Dumez.

Before the patch, we were notifying that some jobs were finished too aggressively at context stop time.
This was confusing the Network Process.
Only notify such jobs that have pending loads.
Improve the tracking of jobs doing registration resolution to ensure the Network Process gets notified
in case of a registration promise being resolved but the settling callback being not yet called while the context is stopped.

Covered by existing tests not crashing anymore, in particular imported/w3c/web-platform-tests/service-workers/service-worker/skip-waiting.https.html.

* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::notifyRegistrationIsSettled):
(WebCore::ServiceWorkerContainer::stop):
* workers/service/ServiceWorkerContainer.h:
* workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::cancelPendingLoad):
* workers/service/ServiceWorkerJob.h:
(WebCore::ServiceWorkerJob::isLoading const):

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

5 months agoDo not share WebProcesses between private and regular sessions
cdumez@apple.com [Mon, 4 Mar 2019 20:26:06 +0000 (20:26 +0000)]
Do not share WebProcesses between private and regular sessions
https://bugs.webkit.org/show_bug.cgi?id=195189
<rdar://problem/48421064>

Reviewed by Alex Christensen.

Source/WebKit:

Do not share WebProcesses between private and regular sessions. There are some privacy concerns.
Also, some of the WebsiteDataStore informations are passed via WebProcessCreationParameters (e.g.
ApplicationCache path) and cannot be updated later.

There were 2 cases where this could happen and that are fixed in the patch:
- A process may be prewarmed with a given website data store and then later on used for a page
  associated with a different data store. We now prevent this. While this is not necessary for
  privacy reasons, it is still useful because our code currently does not support well uses
  different sessions inside a single WebProcess, as mentioned above.
- The client can force a WebsiteDataStore swap when responding to the decidePolicyForNavigationAction,
  via the WebsitePolicies. To address the issue, we now force a process swap whenever the client
  makes such a change.

As a result, WebProcessProxy::websiteDataStore() now makes sense and is always correct. It can
also only contains pages whose WebPageProxy::websiteDataStore() returns the same store.

* UIProcess/API/C/WKContext.cpp:
(WKContextWarmInitialProcess):
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _warmInitialProcess]):
* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::notifyProcessPoolToPrewarm):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::websiteDataStore):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::prewarmProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
(WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
(WebKit::WebProcessPool::didReachGoodTimeToPrewarm):
(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):
(WebKit::WebProcessPool::findReusableSuspendedPageProcess):
* UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToOneProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
* UIProcess/WebProcessProxy.h:

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

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

5 months agoWeb Inspector: Toggling Timeline "Stop when page loads" to on should stop (immediatel...
drousso@apple.com [Mon, 4 Mar 2019 20:23:49 +0000 (20:23 +0000)]
Web Inspector: Toggling Timeline "Stop when page loads" to on should stop (immediately or soon) any active recording if already past the load event
https://bugs.webkit.org/show_bug.cgi?id=195239

Reviewed by Joseph Pecoraro.

* UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._handleTimelinesAutoStopSettingChanged):

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

5 months ago[iOS] Improve our file picker
cdumez@apple.com [Mon, 4 Mar 2019 20:20:59 +0000 (20:20 +0000)]
[iOS] Improve our file picker
https://bugs.webkit.org/show_bug.cgi?id=195284
<rdar://problem/45655856>

Reviewed by Tim Horton and Wenson Hsieh.

Source/WebCore:

Export UTIUtilities.h so that it can be used from WebKit2.

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Improve our file picker on iOS so that:
- Accepted file extensions specified in the HTML (e.g. <input type="file"> accept=".pdf">) are now
  properly reflected in the file picker. Previously, we only we only supported MIME types in the
  accept attribute that only Image / Video ones.
- If accepted types are specified in the HTML and not of them are Video or Image types, then bypass
  the UIDocumentMenuViewController and show the file picker directly (as if the user had tapped on
  "Browse..." on that menu). Other menu items such as "Take Photo or Video" and "Photo Library" do
  not make sense if the page only accepts PDF files for example.

Things that we should do but are not fixed in this patch:
- Stop using UIDocumentMenuViewController entirely since it was deprecated in favor of using
  UIDocumentPickerViewController directly.
- Add multiple selection support, which is supported both on the HTML side and in the
  UIDocumentPickerViewController API.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(arrayContainsUTIThatConformsTo):
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
(UTIsForMIMETypes):
(-[WKFileUploadPanel _mediaTypesForPickerSourceType:]):
(-[WKFileUploadPanel _cameraButtonLabelAllowingPhoto:allowingVideo:]):
(-[WKFileUploadPanel _showDocumentPickerMenu]):

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

5 months agoImproper use of PLATFORM(TVOS) in PAL
conrad_shultz@apple.com [Mon, 4 Mar 2019 19:58:34 +0000 (19:58 +0000)]
Improper use of PLATFORM(TVOS) in PAL
https://bugs.webkit.org/show_bug.cgi?id=195215

Reviewed by Darin Adler.

There are a couple stray uses of PLATFORM(TVOS) in PAL. The correct usage is
PLATFORM(APPLETV).

* pal/spi/cocoa/NSKeyedArchiverSPI.h:
* pal/spi/cocoa/NSProgressSPI.h:

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

5 months agoREGRESSION: ( r240978-r240985 ) [ iOS Release ] Layout Test imported/w3c/web-platform...
achristensen@apple.com [Mon, 4 Mar 2019 19:54:21 +0000 (19:54 +0000)]
REGRESSION: ( r240978-r240985 ) [ iOS Release ] Layout Test imported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is crashing
https://bugs.webkit.org/show_bug.cgi?id=194523

Reviewed by Ryosuke Niwa.

Attempt to work around a CFNetwork bug in the timing of tearing down tasks with upload streams.
See rdar://problem/28233746.

* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:needNewBodyStream:]):

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

5 months ago[ContentChangeObserver] Decouple mouseMoved event and the "is observing content chang...
zalan@apple.com [Mon, 4 Mar 2019 19:33:04 +0000 (19:33 +0000)]
[ContentChangeObserver] Decouple mouseMoved event and the "is observing content change" status.
https://bugs.webkit.org/show_bug.cgi?id=195286

Reviewed by Simon Fraser.

Now isObservingContentChanges returns true only when we are actively observing content change during timer firing and/or style recalculating.
This patch also renames a couple of functions to follow the didStart/didFinish pattern.

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::mouseMovedDidFinish):
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::MouseMovedScope::MouseMovedScope):
(WebCore::ContentChangeObserver::MouseMovedScope::~MouseMovedScope):
(WebCore::ContentChangeObserver::StyleRecalcScope::StyleRecalcScope):
(WebCore::ContentChangeObserver::StyleRecalcScope::~StyleRecalcScope):
(WebCore::ContentChangeObserver::DOMTimerScope::DOMTimerScope):
(WebCore::ContentChangeObserver::DOMTimerScope::~DOMTimerScope):
(WebCore::ContentChangeObserver::startObservingDOMTimerExecute): Deleted.
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute): Deleted.
(WebCore::ContentChangeObserver::startObservingStyleRecalc): Deleted.
(WebCore::ContentChangeObserver::stopObservingStyleRecalc): Deleted.
(WebCore::ContentChangeObserver::startObservingMouseMoved): Deleted.
(WebCore::ContentChangeObserver::stopObservingMouseMoved): Deleted.
(WebCore::ContentChangeObserver::setShouldObserveStyleRecalc): Deleted.
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::setShouldObserveDOMTimerScheduling):
(WebCore::ContentChangeObserver::isObservingDOMTimerScheduling const):
(WebCore::ContentChangeObserver::isObservingStyleRecalc const):
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::startObservingDOMTimerScheduling): Deleted.
(WebCore::ContentChangeObserver::stopObservingDOMTimerScheduling): Deleted.
(WebCore::ContentChangeObserver::shouldObserveStyleRecalc const): Deleted.

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

5 months ago[JSC] Offer @makeTypeError instead of exposing @TypeError
ysuzuki@apple.com [Mon, 4 Mar 2019 18:56:22 +0000 (18:56 +0000)]
[JSC] Offer @makeTypeError instead of exposing @TypeError
https://bugs.webkit.org/show_bug.cgi?id=193858

Reviewed by Mark Lam.

Source/JavaScriptCore:

Instead of exposing @TypeError, we expose @makeTypeError function.
And we make TypeError and Error lazily-allocated objects in non JIT environment.
In JIT environment, only TypeError becomes lazily-allocated since WebAssembly errors
touch Error prototype anyway. But we can make them lazy in a subsequent patch.

* builtins/AsyncFromSyncIteratorPrototype.js:
* builtins/AsyncGeneratorPrototype.js:
(globalPrivate.asyncGeneratorEnqueue):
* builtins/BuiltinNames.h:
* builtins/PromiseOperations.js:
(globalPrivate.createResolvingFunctions.resolve):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::initializeErrorConstructor):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::errorPrototype const):
(JSC::JSGlobalObject::errorStructure const):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncMakeTypeError):
* runtime/JSGlobalObjectFunctions.h:

Source/WebCore:

Use @makeTypeError instead.

* Modules/mediastream/RTCPeerConnection.js:
* Modules/mediastream/RTCPeerConnectionInternals.js:
* Modules/streams/ReadableByteStreamInternals.js:
(readableByteStreamControllerClose):
(readableByteStreamControllerPullInto):
* Modules/streams/ReadableStream.js:
(cancel):
(pipeTo):
* Modules/streams/ReadableStreamBYOBReader.js:
(cancel):
(read):
* Modules/streams/ReadableStreamDefaultReader.js:
(cancel):
(read):
* Modules/streams/ReadableStreamInternals.js:
(readableStreamReaderGenericRelease):
* Modules/streams/WritableStream.js:
(abort):
(close):
(write):
(getter.closed):
(getter.ready):

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

5 months ago[CoordinatedGraphics] The compositing loop is still running even after exiting AC...
commit-queue@webkit.org [Mon, 4 Mar 2019 18:06:18 +0000 (18:06 +0000)]
[CoordinatedGraphics] The compositing loop is still running even after exiting AC mode
https://bugs.webkit.org/show_bug.cgi?id=195270

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-04
Reviewed by Don Olmstead.

Suspend the threaded compositor when the painting is paused or layer flush disabled, and resume it again when
painting is resumed and layer flush enabled.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::suspend): Increment the suspend counter and mark the scene as inactive if it was suspended.
(WebKit::ThreadedCompositor::resume): Decrement the suspend counter and mark the scene as active if it's now resumed.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
* WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::forceRepaint): Return early if layer tree state is frozen.
(WebKit::DrawingAreaCoordinatedGraphics::forceRepaintAsync): Ditto.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::setLayerFlushSchedulingEnabled): Call ThreadedCompositor::suspend()/resume().
(WebKit::LayerTreeHost::pauseRendering): Call ThreadedCompositor::suspend.
(WebKit::LayerTreeHost::resumeRendering): Call ThreadedCompositor::resume().

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

5 months agoPrepare to improve handling of conversion of float to strings
darin@apple.com [Mon, 4 Mar 2019 16:58:33 +0000 (16:58 +0000)]
Prepare to improve handling of conversion of float to strings
https://bugs.webkit.org/show_bug.cgi?id=195262

Reviewed by Daniel Bates.

Source/WTF:

* wtf/dtoa.cpp:
(WTF::truncateTrailingZeros): Renamed from
formatStringTruncatingTrailingZerosIfNeeded and removed the calls
to double_conversion::StringBuilder::Finalizer, since the caller
already does that.
(WTF::numberToFixedPrecisionString): Added an overload for float
and updated to use the new truncateTrailingZeros.
(WTF::numberToFixedWidthString): Added an overload for float.

* wtf/text/AtomicString.cpp:
(WTF::AtomicString::number): Added float overload. This is a
behavior change, but in all cases for the better. The old behavior
was to convert to double first and then do "shortest form"
conversion, and it's always better to just do that as float.
* wtf/text/AtomicString.h: Added float overload of AtomicString::number.

* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::appendFixedPrecisionNumber): Added float
overload.
(WTF::StringBuilder::appendShortestFormNumber): Renamed from
appendECMAScriptNumber and did the above.
(WTF::StringBuilder::appendFixedWidthNumber): Ditto.
* wtf/text/StringBuilder.h: Added overloads for float and
appendShortestFormNumber. The appendNumber and appendECMAScriptNumber
functions are now inlines in the header, since they are expressed
entirely in terms of the other functions.

* wtf/text/WTFString.cpp:
(WTF::String::numberToStringFixedPrecision): Added float overload.
Removed unnecessary explicit conversion to String.
(WTF::String::numberToStringShortest): Renamed from
numberToStringECMAScript and did the above.
(WTF::String::numberToStringFixedWidth): Ditto.

* wtf/text/WTFString.h: Added overloads for float and
numberToStringShortest. The number and numberToStringECMAScript
functions are now inlines in the header, since they are expressed
entirely in terms of the other functions.

LayoutTests:

* svg/dom/SVGAngle-expected.txt:
* svg/dom/SVGAngle.html:
* svg/dom/SVGLength-px-expected.txt:
* svg/dom/SVGLength-px-with-context-expected.txt:
* svg/dom/SVGLength-px-with-context.html:
* svg/dom/SVGLength-px.html:
Remove checks that depend on the precision and number of serialization.
The current tests depend on behavior that we'd like to change in the future and
some of them had already been updated since the behavior is different in different
web browsers. Tricky issue because of the mix of single and double precision in
the SVG engine and the JavaScript language, and straightforward to keep the tests
useful without this unnecessary dependency. Generally we check the units of the
result of valueAsString, and not the numeric result. Another idea would be to
check the numeric part of the result by converting it back to a number and
comparing it as a number rather than as a string.

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

5 months agoShare more code between overflow and frame scrolling nodes, fixing overflow scrollbar...
simon.fraser@apple.com [Mon, 4 Mar 2019 16:57:38 +0000 (16:57 +0000)]
Share more code between overflow and frame scrolling nodes, fixing overflow scrollbar display
https://bugs.webkit.org/show_bug.cgi?id=195258

Reviewed by Antti Koivisto.

This patch moves management of scrollbar layers and scrollbar painters ("NSScrollerImp") down to
ScrollingStateScrollingNode to be shared between frame and overflow nodes, allowing for
scrolling thread updates of overflow scrollbars. It also moves some scrolling tree-side code
to ScrollingTreeScrollingNodeDelegateMac to be shared between the "tree" nodes for overflow and frames.

Layers for scrollbars are given to scrolling state nodes via setNodeLayers() now, and
RenderLayerCompositor::updateScrollingNodeLayers() is added to provide a bottleneck to call that.
At some point AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange() should be relieved
of the responsibility of pushing scrollbar layers (but the scrolling state tree needs to hold
references to GraphicsLayers before that becomes safe).

The actual fix that allows overflow scrollbars to show is the change in
AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange() that calls scrollableArea.*ScrollbarLayerDidChange()
for all ScrollableAreas. This ensures that the CALayer is pushed onto the NSScrollerImp.

Source/WebCore:

* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
(WebCore::AsyncScrollingCoordinator::setNodeLayers):
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry):
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setAllPropertiesChanged):
(WebCore::ScrollingStateFrameScrollingNode::setVerticalScrollbarLayer): Deleted.
(WebCore::ScrollingStateFrameScrollingNode::setHorizontalScrollbarLayer): Deleted.
(WebCore::ScrollingStateFrameScrollingNode::setScrollerImpsFromScrollbars): Deleted.
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setAllPropertiesChanged):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarLayer):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollbarLayer):
(WebCore::ScrollingStateScrollingNode::setScrollerImpsFromScrollbars):
* page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::horizontalScrollbarLayer const):
(WebCore::ScrollingStateScrollingNode::verticalScrollbarLayer const):
(WebCore::ScrollingStateScrollingNode::verticalScrollerImp const):
(WebCore::ScrollingStateScrollingNode::horizontalScrollerImp const):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::setOrClearLatchedNode):
(WebCore::ScrollingTree::handleWheelEvent):
* page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm.
(WebCore::ScrollingStateScrollingNode::setScrollerImpsFromScrollbars):
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeMac::repositionRelatedLayers):
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::releaseReferencesToScrollerImpsOnTheMainThread): Deleted.
* page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::commitStateBeforeChildren):
(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeOverflowScrollingNodeMac::repositionRelatedLayers):
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::~ScrollingTreeScrollingNodeDelegateMac):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateScrollbarPainters):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::releaseReferencesToScrollerImpsOnTheMainThread):
* platform/ScrollbarThemeComposite.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::didChangePlatformLayerForLayer):
(WebCore::RenderLayerCompositor::updateScrollingNodeLayers):
(WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingRole):
* rendering/RenderLayerCompositor.h:

Source/WebKit:

* Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
* SourcesCocoa.txt:
* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
* UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::createScrollingTreeNode):
* UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::commitStateBeforeChildren):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::repositionRelatedLayers):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::handleMouseEvent):
* UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp: Copied from Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp.
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::create):
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::ScrollingTreeOverflowScrollingNodeRemoteMac):
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::~ScrollingTreeOverflowScrollingNodeRemoteMac):
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::commitStateBeforeChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::repositionRelatedLayers):
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::handleWheelEvent):
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::handleMouseEvent):
* WebKit.xcodeproj/project.pbxproj:

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

5 months agowebkit.org/b/195210 resolve by r242308, unskipping tests.
tsavell@apple.com [Mon, 4 Mar 2019 16:57:05 +0000 (16:57 +0000)]
webkit.org/b/195210 resolve by r242308, unskipping tests.
https://bugs.webkit.org/show_bug.cgi?id=195210

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 months agoRemove HEVC as a codec requiring hardware support.
jer.noble@apple.com [Mon, 4 Mar 2019 16:51:43 +0000 (16:51 +0000)]
Remove HEVC as a codec requiring hardware support.
https://bugs.webkit.org/show_bug.cgi?id=194960
<rdar://problem/47741432>

Reviewed by Eric Carlson.

* page/cocoa/SettingsBaseCocoa.mm:
(WebCore::SettingsBase::defaultMediaContentTypesRequiringHardwareSupport):

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

5 months ago[Apple Pay] Move WebPaymentCoordinatorProxy from Source/WebKit/UIProcess to Source...
aestes@apple.com [Mon, 4 Mar 2019 16:47:58 +0000 (16:47 +0000)]
[Apple Pay] Move WebPaymentCoordinatorProxy from Source/WebKit/UIProcess to Source/WebKit/Shared
https://bugs.webkit.org/show_bug.cgi?id=195080
<rdar://problem/48421558>

Reviewed by Antti Koivisto.

Source/WebKit:

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources.make:
* Shared/ApplePay/WebPaymentCoordinatorProxy.cpp: Renamed from Source/WebKit/UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp.
* Shared/ApplePay/WebPaymentCoordinatorProxy.h: Renamed from Source/WebKit/UIProcess/ApplePay/WebPaymentCoordinatorProxy.h.
* Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in: Renamed from Source/WebKit/UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in.
* Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h: Renamed from Source/WebKit/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h.
* Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: Renamed from Source/WebKit/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm.
* Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm: Renamed from Source/WebKit/UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm.
* Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm: Renamed from Source/WebKit/UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm.
* Shared/mac/WebHitTestResultData.mm:
* SourcesCocoa.txt:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.h:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
* WebKit.xcodeproj/project.pbxproj:

Source/WTF:

* wtf/FeatureDefines.h:

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

5 months ago[iOS] Fullscreen "stay in page" option breaks video playback
jer.noble@apple.com [Mon, 4 Mar 2019 16:44:51 +0000 (16:44 +0000)]
[iOS] Fullscreen "stay in page" option breaks video playback
https://bugs.webkit.org/show_bug.cgi?id=195277
<rdar://problem/48537317>

Reviewed by Eric Carlson.

Source/WebCore:

Add a LOG entry when playback is rejected due to media playback suspension.

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted const):

Source/WebKit:

Make sure we resume media playback when the user chooses "stay in page" from the deceptive
website warning dialog.

* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController _showPhishingAlert]):

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

5 months ago[WPE] Enable web process sandbox
mcatanzaro@igalia.com [Mon, 4 Mar 2019 15:25:43 +0000 (15:25 +0000)]
[WPE] Enable web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=195169

Reviewed by Daniel Bates.

.:

* Source/cmake/BubblewrapSandboxChecks.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

Source/WebKit:

* PlatformWPE.cmake:
* UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bubblewrapSpawn):
* UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitialize):

Tools:

* wpe/install-dependencies:
* wpe/jhbuild.modules:

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

5 months agoURLHelpers should use unorm2_quickCheck before converting to NFC
mcatanzaro@igalia.com [Mon, 4 Mar 2019 15:18:42 +0000 (15:18 +0000)]
URLHelpers should use unorm2_quickCheck before converting to NFC
https://bugs.webkit.org/show_bug.cgi?id=194272

Reviewed by Darin Adler.

If the string is already in normalization form C, don't try to normalize it.

* wtf/URLHelpers.cpp:
(WTF::URLHelpers::toNormalizationFormC):

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

5 months agoWebDriver: fix String not terminated with null caracter
commit-queue@webkit.org [Mon, 4 Mar 2019 14:30:46 +0000 (14:30 +0000)]
WebDriver: fix String not terminated with null caracter
https://bugs.webkit.org/show_bug.cgi?id=195274

Patch by Karl Leplat <karl.leplat_ext@softathome.com> on 2019-03-04
Reviewed by Carlos Garcia Campos.

This has been detected by an exception returned by the function
evaluateJavaScriptFunction with the message :
[native code]: JS ERROR SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound expression.
keyword 'function' has been initialized with a string that come from char array, not a null-terminated string.

* Session.cpp:
(WebDriver::Session::fullscreenWindow):
(WebDriver::Session::findElements):
(WebDriver::Session::isElementSelected):
(WebDriver::Session::isElementDisplayed):
(WebDriver::Session::getElementAttribute):
(WebDriver::Session::elementClear):

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

5 months ago[GTK][WPE] Wrong license header in WebKit{,WebExtension}Autocleanups.h
aperez@igalia.com [Mon, 4 Mar 2019 14:23:45 +0000 (14:23 +0000)]
[GTK][WPE] Wrong license header in WebKit{,WebExtension}Autocleanups.h
https://bugs.webkit.org/show_bug.cgi?id=195245

Reviewed by Carlos Garcia Campos.

Changed license headers to contain the LGPL, which is the correct one for the GTK
and WPE ports. The change was agreed by the contributors to the files involved.

* UIProcess/API/gtk/WebKitAutocleanups.h:
* UIProcess/API/wpe/WebKitAutocleanups.h:
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionAutocleanups.h:
* WebProcess/InjectedBundle/API/wpe/WebKitWebExtensionAutocleanups.h:

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