[webkit-changes] [219323] trunk

2017-07-10 Thread bfulgham
Title: [219323] trunk








Revision 219323
Author bfulg...@apple.com
Date 2017-07-10 21:08:20 -0700 (Mon, 10 Jul 2017)


Log Message
Resource Load Statistics: Prune statistics in orders of importance
https://bugs.webkit.org/show_bug.cgi?id=174215


Unreviewed test correction.

Source/WebKit2:

* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::pruneResources): The revised algorithm did not update the remaining
count to be pruned, causing a test failure.

LayoutTests:

Drive-by fix after recent refactoring to correct the new function names in TestRunner.

* http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
* http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html
trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (219322 => 219323)

--- trunk/LayoutTests/ChangeLog	2017-07-11 03:46:16 UTC (rev 219322)
+++ trunk/LayoutTests/ChangeLog	2017-07-11 04:08:20 UTC (rev 219323)
@@ -1,3 +1,16 @@
+2017-07-10  Brent Fulgham  
+
+Resource Load Statistics: Prune statistics in orders of importance
+https://bugs.webkit.org/show_bug.cgi?id=174215
+
+
+Unreviewed test correction.
+
+Drive-by fix after recent refactoring to correct the new function names in TestRunner.
+
+* http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
+* http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
+
 2017-07-10  Simon Fraser  
 
 [WK2 iOS] REGRESSION (r216803) During momentum scroll, getBoundingClientRect returns wrong coordinates (missing images on pinterest, elle.com and many other sites)


Modified: trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html (219322 => 219323)

--- trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html	2017-07-11 03:46:16 UTC (rev 219322)
+++ trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html	2017-07-11 04:08:20 UTC (rev 219323)
@@ -93,7 +93,7 @@
 testRunner.setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval(false);
 testRunner.setStatisticsMinimumTimeBetweenDataRecordsRemoval(0);
 
-testRunner.statisticsUpdateCookiePartitioningForOneDomain("localhost", true);
+testRunner.statisticsSetShouldPartitionCookiesForHost("localhost", true);
 testRunner.setStatisticsPrevalentResource("http://localhost", true);
 if (!testRunner.isStatisticsPrevalentResource("http://localhost"))
 testFailed("Host did not get set as prevalent resource.");


Modified: trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html (219322 => 219323)

--- trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html	2017-07-11 03:46:16 UTC (rev 219322)
+++ trunk/LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html	2017-07-11 04:08:20 UTC (rev 219323)
@@ -73,7 +73,7 @@
 if (document.location.host === partitionHost && document.location.hash == "" && window.testRunner && window.internals) {
 setEnableFeature(true);
 
-testRunner.statisticsUpdateCookiePartitioningForOneDomain("localhost", true);
+testRunner.statisticsSetShouldPartitionCookiesForHost("localhost", true);
 
 testRunner.waitUntilDone();
 testRunner.dumpChildFramesAsText();


Modified: trunk/Source/WebKit2/ChangeLog (219322 => 219323)

--- trunk/Source/WebKit2/ChangeLog	2017-07-11 03:46:16 UTC (rev 219322)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-11 04:08:20 UTC (rev 219323)
@@ -1,3 +1,15 @@
+2017-07-10  Brent Fulgham  
+
+Resource Load Statistics: Prune statistics in orders of importance
+https://bugs.webkit.org/show_bug.cgi?id=174215
+
+
+Unreviewed test correction.
+
+* UIProcess/WebResourceLoadStatisticsStore.cpp:
+(WebKit::pruneResources): The revised algorithm did not update the remaining
+count to be pruned, causing a test failure.
+
 2017-07-10  John Wilander  
 
 Resource Load Statistics: Prune statistics in orders of importance


Modified: trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp (219322 => 219323)

--- 

[webkit-changes] [219322] trunk/Websites/perf.webkit.org

2017-07-10 Thread rniwa
Title: [219322] trunk/Websites/perf.webkit.org








Revision 219322
Author rn...@webkit.org
Date 2017-07-10 20:46:16 -0700 (Mon, 10 Jul 2017)


Log Message
Address Antti's review comment.

* public/v3/models/analysis-results.js:
(AnalysisResults.prototype.containsTest):

Modified Paths

trunk/Websites/perf.webkit.org/ChangeLog
trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js




Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (219321 => 219322)

--- trunk/Websites/perf.webkit.org/ChangeLog	2017-07-11 03:45:00 UTC (rev 219321)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2017-07-11 03:46:16 UTC (rev 219322)
@@ -1,5 +1,12 @@
 2017-07-10  Ryosuke Niwa  
 
+Address Antti's review comment.
+
+* public/v3/models/analysis-results.js:
+(AnalysisResults.prototype.containsTest):
+
+2017-07-10  Ryosuke Niwa  
+
 A/B testing results page show results for the top-level tests instead of the one being analyzed
 https://bugs.webkit.org/show_bug.cgi?id=174304
 


Modified: trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js (219321 => 219322)

--- trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js	2017-07-11 03:45:00 UTC (rev 219321)
+++ trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js	2017-07-11 03:46:16 UTC (rev 219322)
@@ -20,7 +20,7 @@
 containsTest(test)
 {
 console.assert(test instanceof Test);
-for (let metric of test.metrics()) {
+for (const metric of test.metrics()) {
 if (metric.id() in this._metricToBuildMap)
 return true;
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219321] trunk/Websites/perf.webkit.org

2017-07-10 Thread rniwa
Title: [219321] trunk/Websites/perf.webkit.org








Revision 219321
Author rn...@webkit.org
Date 2017-07-10 20:45:00 -0700 (Mon, 10 Jul 2017)


Log Message
A/B testing results page show results for the top-level tests instead of the one being analyzed
https://bugs.webkit.org/show_bug.cgi?id=174304

Reviewed by Antti Koivisto.

When a specific subtest is analyzed (e.g. Images subtest of MotionMark), then TestGroupResultsViewer
should expand and highlight that specific subtest instead of simply showing the top-level test's score.
This is especially misleading since AnalysisResultsViewer (stacking bars for each test group) uses
the score of the specific subtest being analyzed.

Fixed the bug by passing in the metric associated with the analysis task from AnalysisTaskPage to
TestGroupResultsViewer via AnalysisTaskTestGroupPane. Also made TestGroupResultsViewer.setAnalysisResults
auto-expand the tests that are ancestors of the specified metric. Without that, the test won't be shown
to the user until the ancestor tests are expanded by the user.

Also fixed the bug that we were always listing sub-tests regardless of whether they have results or not.
Since tests tend to change over time, we shouldn't show a test if it doesn't have any results associated.

* public/v3/components/test-group-results-viewer.js:
(TestGroupResultsViewer.prototype.setAnalysisResults): Expand the ancestor tests of the metric.
(TestGroupResultsViewer.prototype._buildRowsForTest): Exit early if this test doesn't have any results.
* public/v3/models/analysis-results.js:
(AnalysisResults.prototype.containsTest): Added.
* public/v3/pages/analysis-task-page.js:
(AnalysisTaskTestGroupPane.prototype.setAnalysisResults): Takes a metric to pass it to the results viewer.
(AnalysisTaskPage.prototype._assignTestResultsIfPossible):

Modified Paths

trunk/Websites/perf.webkit.org/ChangeLog
trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js
trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js
trunk/Websites/perf.webkit.org/public/v3/pages/analysis-task-page.js




Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (219320 => 219321)

--- trunk/Websites/perf.webkit.org/ChangeLog	2017-07-11 03:40:59 UTC (rev 219320)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2017-07-11 03:45:00 UTC (rev 219321)
@@ -1,3 +1,32 @@
+2017-07-10  Ryosuke Niwa  
+
+A/B testing results page show results for the top-level tests instead of the one being analyzed
+https://bugs.webkit.org/show_bug.cgi?id=174304
+
+Reviewed by Antti Koivisto.
+
+When a specific subtest is analyzed (e.g. Images subtest of MotionMark), then TestGroupResultsViewer
+should expand and highlight that specific subtest instead of simply showing the top-level test's score.
+This is especially misleading since AnalysisResultsViewer (stacking bars for each test group) uses
+the score of the specific subtest being analyzed.
+
+Fixed the bug by passing in the metric associated with the analysis task from AnalysisTaskPage to
+TestGroupResultsViewer via AnalysisTaskTestGroupPane. Also made TestGroupResultsViewer.setAnalysisResults
+auto-expand the tests that are ancestors of the specified metric. Without that, the test won't be shown
+to the user until the ancestor tests are expanded by the user.
+
+Also fixed the bug that we were always listing sub-tests regardless of whether they have results or not.
+Since tests tend to change over time, we shouldn't show a test if it doesn't have any results associated.
+
+* public/v3/components/test-group-results-viewer.js:
+(TestGroupResultsViewer.prototype.setAnalysisResults): Expand the ancestor tests of the metric.
+(TestGroupResultsViewer.prototype._buildRowsForTest): Exit early if this test doesn't have any results.
+* public/v3/models/analysis-results.js:
+(AnalysisResults.prototype.containsTest): Added.
+* public/v3/pages/analysis-task-page.js:
+(AnalysisTaskTestGroupPane.prototype.setAnalysisResults): Takes a metric to pass it to the results viewer.
+(AnalysisTaskPage.prototype._assignTestResultsIfPossible):
+
 2017-07-06  Ryosuke Niwa  
 
 Safari 10.1 fails to upload a patch on perf try bots page


Modified: trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js (219320 => 219321)

--- trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js	2017-07-11 03:40:59 UTC (rev 219320)
+++ trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js	2017-07-11 03:45:00 UTC (rev 219321)
@@ -24,6 +24,12 @@
 {
 this._analysisResults = analysisResults;
 this._currentMetric = metric;
+if (metric) {
+const path = metric.test().path();
+for (let i = path.length - 2; i >= 0; i--)
+

[webkit-changes] [219320] trunk

2017-07-10 Thread simon . fraser
Title: [219320] trunk








Revision 219320
Author simon.fra...@apple.com
Date 2017-07-10 20:40:59 -0700 (Mon, 10 Jul 2017)


Log Message
[WK2 iOS] REGRESSION (r216803) During momentum scroll, getBoundingClientRect returns wrong coordinates (missing images on pinterest, elle.com and many other sites)
https://bugs.webkit.org/show_bug.cgi?id=174286
rdar://problem/32864180

Reviewed by Dean Jackson.

Source/WebCore:

r216803 made getBoundingClientRects relative to the layout viewport, but when scrolling we
only update that on stable viewport updates (at the end of the scroll). This meant that during
unstable updates, getBoundingClientRects() used a "frozen" viewport origin so things on-screen
would appear to be off-screen, causing sites to fail to dynamically load images etc. when
scrolling.

Fix by pushing an optional "unstable" layout viewport rect onto FrameView, which gets used by
FrameView::documentToClientOffset(). This is cleared when we do a stable update.

This is a short-term solution. Longer term, I would prefer to always call setLayoutViewportOverrideRect(),
but fix the scrolling tree logic to work correctly in this case.

Add a bit more scrolling logging.

Test: fast/visual-viewport/ios/get-bounding-client-rect-unstable.html

* page/FrameView.cpp:
(WebCore::FrameView::setUnstableLayoutViewportRect):
(WebCore::FrameView::documentToClientOffset):
* page/FrameView.h:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::updateConstraints):
(WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect):

LayoutTests:

* fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt: Added.
* fast/visual-viewport/ios/get-bounding-client-rect-unstable.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/FrameView.cpp
trunk/Source/WebCore/page/FrameView.h
trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp


Added Paths

trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt
trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable.html




Diff

Modified: trunk/LayoutTests/ChangeLog (219319 => 219320)

--- trunk/LayoutTests/ChangeLog	2017-07-11 02:52:07 UTC (rev 219319)
+++ trunk/LayoutTests/ChangeLog	2017-07-11 03:40:59 UTC (rev 219320)
@@ -1,3 +1,14 @@
+2017-07-10  Simon Fraser  
+
+[WK2 iOS] REGRESSION (r216803) During momentum scroll, getBoundingClientRect returns wrong coordinates (missing images on pinterest, elle.com and many other sites)
+https://bugs.webkit.org/show_bug.cgi?id=174286
+rdar://problem/32864180
+
+Reviewed by Dean Jackson.
+
+* fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt: Added.
+* fast/visual-viewport/ios/get-bounding-client-rect-unstable.html: Added.
+
 2017-07-10  John Wilander  
 
 Resource Load Statistics: Prune statistics in orders of importance


Added: trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt (0 => 219320)

--- trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable-expected.txt	2017-07-11 03:40:59 UTC (rev 219320)
@@ -0,0 +1,9 @@
+PASS boundingClientRect.top is expectedTop
+Doing unstable scroll
+PASS boundingClientRect.top is expectedTop
+Finishing scroll
+PASS boundingClientRect.top is expectedTop
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable.html (0 => 219320)

--- trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable.html	(rev 0)
+++ trunk/LayoutTests/fast/visual-viewport/ios/get-bounding-client-rect-unstable.html	2017-07-11 03:40:59 UTC (rev 219320)
@@ -0,0 +1,78 @@
+ 
+
+
+
+
+
+jsTestIsAsync = true;
+
+function simulateScrollingStart(offsetTop)
+{
+return `(function() {
+uiController.stableStateOverride = false;
+uiController.immediateScrollToOffset(0, ${offsetTop});
+uiController.doAfterPresentationUpdate(function() {
+uiController.uiScriptComplete();
+});
+})()`;
+}
+
+function simulateScrollingEnd(offsetTop)
+{
+return `(function() {
+uiController.stableStateOverride = true;
+uiController.doAfterNextStablePresentationUpdate(function() {
+uiController.uiScriptComplete();
+});
+})()`;
+}
+
+var 

[webkit-changes] [219319] trunk

2017-07-10 Thread bfulgham
Title: [219319] trunk








Revision 219319
Author bfulg...@apple.com
Date 2017-07-10 19:52:07 -0700 (Mon, 10 Jul 2017)


Log Message
Resource Load Statistics: Prune statistics in orders of importance
https://bugs.webkit.org/show_bug.cgi?id=174215


Patch by John Wilander  on 2017-07-10
Reviewed by Chris Dumez.

Source/WebCore:

Test: http/tests/loading/resourceLoadStatistics/prune-statistics.html

* loader/ResourceLoadObserver.cpp:
(WebCore::reduceTimeResolution):
(WebCore::ResourceLoadObserver::logFrameNavigation):
(WebCore::ResourceLoadObserver::logSubresourceLoading):
(WebCore::ResourceLoadObserver::logWebSocketLoading):
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
Now all set the new statistics field lastSeen.
* loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::encode):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString):
(WebCore::ResourceLoadStatistics::merge):
Handling of the new statistics field lastSeen.
* loader/ResourceLoadStatistics.h:

Source/WebKit2:

New functionality. Prunes statistics in this order:
1. Non-prevalent resources without user interaction.
2. Prevalent resources without user interaction.
3. Non-prevalent resources with user interaction.
4. Prevalent resources with user interaction.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder::encode):
(IPC::ArgumentCoder::decode):
Added timestamp field lastSeen.
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _resourceLoadStatisticsSetLastSeen:forHost:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsSetMaxStatisticsEntries:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsSetPruneEntriesDownTo:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsResetToConsistentState]):
Test infrastructure.
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* UIProcess/Storage/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::setMaxStatisticsEntries):
Test infrastructure.
(WebKit::ResourceLoadStatisticsStore::setPruneEntriesDownTo):
Test infrastructure.
(WebKit::sortAndPrune):
Convenience function.
(WebKit::ResourceLoadStatisticsStore::pruneStatisticsIfNeeded):
The new pruning function.
* UIProcess/Storage/ResourceLoadStatisticsStore.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
Now calls ResourceLoadStatisticsStore::pruneStatisticsIfNeeded().
(WebKit::WebResourceLoadStatisticsStore::setLastSeen):
Test infrastructure.
(WebKit::WebResourceLoadStatisticsStore::setMaxStatisticsEntries):
Test infrastructure.
(WebKit::WebResourceLoadStatisticsStore::setPruneEntriesDownTo):
Test infrastructure.
* UIProcess/WebResourceLoadStatisticsStore.h:

Tools:

Nest infrastructure. Adds these functions:
1. testRunner.setStatisticsLastSeen()
2. setStatisticsMaxStatisticsEntries()
3. setStatisticsPruneEntriesDownTo()

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsLastSeen):
(WTR::TestRunner::setStatisticsMaxStatisticsEntries):
(WTR::TestRunner::setStatisticsPruneEntriesDownTo):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setMaxStatisticsEntries):
(WTR::TestController::setPruneEntriesDownTo):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setStatisticsMaxStatisticsEntries):
(WTR::TestController::setStatisticsPruneEntriesDownTo):

LayoutTests:

* http/tests/loading/resourceLoadStatistics/prune-statistics-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/prune-statistics.html: Added.
* platform/wk2/TestExpectations:
Added http/tests/loading/resourceLoadStatistics/prune-statistics.html as
[ Pass ] since Resource Load Statistics is WK2-only.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/ResourceLoadObserver.cpp
trunk/Source/WebCore/loader/ResourceLoadStatistics.cpp
trunk/Source/WebCore/loader/ResourceLoadStatistics.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h
trunk/Tools/ChangeLog
trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h

[webkit-changes] [219318] trunk/Source/WebKit2

2017-07-10 Thread dino
Title: [219318] trunk/Source/WebKit2








Revision 219318
Author d...@apple.com
Date 2017-07-10 19:39:16 -0700 (Mon, 10 Jul 2017)


Log Message
const() experimental feature should always be on by default
https://bugs.webkit.org/show_bug.cgi?id=174341


Reviewed by Simon Fraser.

Even though this is experimental, it should be enabled by default, and
not follow the value of DEFAULT_EXPERIMENTAL_FEATURES_ENABLED.

* Shared/WebPreferencesDefinitions.h:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (219317 => 219318)

--- trunk/Source/WebKit2/ChangeLog	2017-07-11 00:29:36 UTC (rev 219317)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-11 02:39:16 UTC (rev 219318)
@@ -1,3 +1,16 @@
+2017-07-10  Dean Jackson  
+
+const() experimental feature should always be on by default
+https://bugs.webkit.org/show_bug.cgi?id=174341
+
+
+Reviewed by Simon Fraser.
+
+Even though this is experimental, it should be enabled by default, and
+not follow the value of DEFAULT_EXPERIMENTAL_FEATURES_ENABLED.
+
+* Shared/WebPreferencesDefinitions.h:
+
 2017-07-10  Chris Dumez  
 
 [iOS] _didCommitLayerTree should avoid calling [scrollView setZoomScale] unnecessarily


Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (219317 => 219318)

--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2017-07-11 00:29:36 UTC (rev 219317)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2017-07-11 02:39:16 UTC (rev 219318)
@@ -356,7 +356,7 @@
 //   wider testing).
 
 #define FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(macro) \
-macro(ConstantPropertiesEnabled, constantPropertiesEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Constant Properties", "Enable CSS constant() properties") \
+macro(ConstantPropertiesEnabled, constantPropertiesEnabled, Bool, bool, true, "Constant Properties", "Enable CSS constant() properties") \
 macro(DisplayContentsEnabled, displayContentsEnabled, Bool, bool, false, "CSS display: contents", "Enable CSS display: contents support") \
 macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
 macro(IsSecureContextAttributeEnabled, isSecureContextAttributeEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "isSecureContext attribute", "Enable isSecureContext attribute") \






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219317] trunk/Source/JavaScriptCore

2017-07-10 Thread sbarati
Title: [219317] trunk/Source/_javascript_Core








Revision 219317
Author sbar...@apple.com
Date 2017-07-10 17:29:36 -0700 (Mon, 10 Jul 2017)


Log Message
Allocation sinking phase should consider a CheckStructure that would fail as an escape
https://bugs.webkit.org/show_bug.cgi?id=174321


Reviewed by Filip Pizlo.

When the allocation sinking phase was generating stores to materialize
objects in a cycle with each other, it would assume that each materialized
object had a valid, non empty, set of structures. This is an OK assumption for
the phase to make because how do you materialize an object with no structure?

The abstract interpretation part of the phase will model what's in the heap.
However, it would sometimes model that a CheckStructure would fail. The phase
did nothing special for this; it just stored the empty set of structures for
its representation of a particular allocation. However, what the phase proved
in such a scenario is that, had the CheckStructure executed, it would have exited.

This patch treats such CheckStructures and MultiGetByOffsets as escape points.
This will cause the allocation in question to be materialized just before
the CheckStructure, and then at execution time, the CheckStructure will exit.

I wasn't able to write a test case for this. However, I was able to reproduce
this crash by manually editing the IR. I've opened a separate bug to help us
create a testing framework for writing tests for hard to reproduce bugs like this:
https://bugs.webkit.org/show_bug.cgi?id=174322

* dfg/DFGObjectAllocationSinkingPhase.cpp:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (219316 => 219317)

--- trunk/Source/_javascript_Core/ChangeLog	2017-07-11 00:01:55 UTC (rev 219316)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-07-11 00:29:36 UTC (rev 219317)
@@ -1,3 +1,33 @@
+2017-07-10  Saam Barati  
+
+Allocation sinking phase should consider a CheckStructure that would fail as an escape
+https://bugs.webkit.org/show_bug.cgi?id=174321
+
+
+Reviewed by Filip Pizlo.
+
+When the allocation sinking phase was generating stores to materialize
+objects in a cycle with each other, it would assume that each materialized
+object had a valid, non empty, set of structures. This is an OK assumption for
+the phase to make because how do you materialize an object with no structure?
+
+The abstract interpretation part of the phase will model what's in the heap.
+However, it would sometimes model that a CheckStructure would fail. The phase
+did nothing special for this; it just stored the empty set of structures for
+its representation of a particular allocation. However, what the phase proved
+in such a scenario is that, had the CheckStructure executed, it would have exited.
+
+This patch treats such CheckStructures and MultiGetByOffsets as escape points.
+This will cause the allocation in question to be materialized just before
+the CheckStructure, and then at execution time, the CheckStructure will exit.
+
+I wasn't able to write a test case for this. However, I was able to reproduce
+this crash by manually editing the IR. I've opened a separate bug to help us
+create a testing framework for writing tests for hard to reproduce bugs like this:
+https://bugs.webkit.org/show_bug.cgi?id=174322
+
+* dfg/DFGObjectAllocationSinkingPhase.cpp:
+
 2017-07-10  Devin Rousso  
 
 Web Inspector: Highlight matching CSS canvas clients when hovering contexts in the Resources tab


Modified: trunk/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp (219316 => 219317)

--- trunk/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp	2017-07-11 00:01:55 UTC (rev 219316)
+++ trunk/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp	2017-07-11 00:29:36 UTC (rev 219317)
@@ -218,6 +218,7 @@
 {
 ASSERT(hasStructures());
 m_structures.filter(structures);
+RELEASE_ASSERT(!m_structures.isEmpty());
 return *this;
 }
 
@@ -902,7 +903,15 @@
 case CheckStructure: {
 Allocation* allocation = m_heap.onlyLocalAllocation(node->child1().node());
 if (allocation && allocation->isObjectAllocation()) {
-allocation->filterStructures(node->structureSet());
+RegisteredStructureSet filteredStructures = allocation->structures();
+filteredStructures.filter(node->structureSet());
+if (filteredStructures.isEmpty()) {
+// FIXME: Write a test for this:
+// https://bugs.webkit.org/show_bug.cgi?id=174322
+m_heap.escape(node->child1().node());
+  

[webkit-changes] [219316] trunk

2017-07-10 Thread drousso
Title: [219316] trunk








Revision 219316
Author drou...@apple.com
Date 2017-07-10 17:01:55 -0700 (Mon, 10 Jul 2017)


Log Message
Web Inspector: Highlight matching CSS canvas clients when hovering contexts in the Resources tab
https://bugs.webkit.org/show_bug.cgi?id=174279

Reviewed by Matt Baker.

Source/_javascript_Core:

* inspector/protocol/DOM.json:
Add `highlightNodeList` command that will highlight each node in the given list.

Source/WebCore:

Test: inspector/dom/highlightNodeList.html

* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightNodeList):

Source/WebInspectorUI:

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.highlightDOMNodeList):
(WebInspector.DOMTreeManager.prototype.highlightSelector):
* UserInterface/Views/CanvasTreeElement.js:
(WebInspector.CanvasTreeElement.prototype._handleMouseOver):

LayoutTests:

* inspector/dom/highlightNodeList-expected.html: Added.
* inspector/dom/highlightNodeList.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/inspector/protocol/DOM.json
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
trunk/Source/WebCore/inspector/InspectorDOMAgent.h
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js
trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTreeElement.js


Added Paths

trunk/LayoutTests/inspector/dom/highlightNodeList-expected.txt
trunk/LayoutTests/inspector/dom/highlightNodeList.html




Diff

Modified: trunk/LayoutTests/ChangeLog (219315 => 219316)

--- trunk/LayoutTests/ChangeLog	2017-07-10 23:56:21 UTC (rev 219315)
+++ trunk/LayoutTests/ChangeLog	2017-07-11 00:01:55 UTC (rev 219316)
@@ -1,3 +1,13 @@
+2017-07-10  Devin Rousso  
+
+Web Inspector: Highlight matching CSS canvas clients when hovering contexts in the Resources tab
+https://bugs.webkit.org/show_bug.cgi?id=174279
+
+Reviewed by Matt Baker.
+
+* inspector/dom/highlightNodeList-expected.html: Added.
+* inspector/dom/highlightNodeList.html: Added.
+
 2017-07-10  Javier Fernandez  
 
 [css-align][css-flex][css-grid] 'auto' values of align-self and justify-self must not be resolved


Added: trunk/LayoutTests/inspector/dom/highlightNodeList-expected.txt (0 => 219316)

--- trunk/LayoutTests/inspector/dom/highlightNodeList-expected.txt	(rev 0)
+++ trunk/LayoutTests/inspector/dom/highlightNodeList-expected.txt	2017-07-11 00:01:55 UTC (rev 219316)
@@ -0,0 +1,78 @@
+Tests for the DOM.highlightNodeList command.
+
+
+PASS: Page should have a subframe.
+
+== Running test suite: DOM.highlightNodeList
+-- Running test case: DOM.highlightNodeList.CheckEmptyHighlight
+PASS: Highlight should not exist.
+
+-- Running test case: DOM.highlightNodeList.emptyNodeList
+PASS: Should highlight 0 element(s).
+
+-- Running test case: DOM.highlightNodeList.mainFrameNode
+PASS: Should highlight 3 element(s).
+Highlighted Elements:
+{
+  "tagName": "div",
+  "idValue": "",
+  "size": {
+"width": 500,
+"height": 500
+  },
+  "role": ""
+}
+{
+  "tagName": "div",
+  "idValue": "",
+  "classes": [
+"class-one"
+  ],
+  "size": {
+"width": 10,
+"height": 20
+  },
+  "role": ""
+}
+{
+  "tagName": "div",
+  "idValue": "id-one",
+  "classes": [
+"class-two"
+  ],
+  "size": {
+"width": 100,
+"height": 200
+  },
+  "role": ""
+}
+
+-- Running test case: DOM.highlightNodeList.childFrameNode
+PASS: Should highlight 2 element(s).
+Highlighted Elements:
+{
+  "tagName": "div",
+  "idValue": "id-one",
+  "size": {
+"width": 150,
+"height": 250
+  },
+  "role": ""
+}
+{
+  "tagName": "div",
+  "idValue": "",
+  "size": {
+"width": 269,
+"height": 0
+  },
+  "role": ""
+}
+
+-- Running test case: DOM.highlightNodeList.invalidNodeId
+PASS: Should highlight 0 element(s).
+
+-- Running test case: DOM.highlightNodeList.nonIntegerNodeId
+PASS: Should produce an error.
+Error: Invalid nodeIds item type. Expecting integer types.
+


Added: trunk/LayoutTests/inspector/dom/highlightNodeList.html (0 => 219316)

--- trunk/LayoutTests/inspector/dom/highlightNodeList.html	(rev 0)
+++ trunk/LayoutTests/inspector/dom/highlightNodeList.html	2017-07-11 00:01:55 UTC (rev 219316)
@@ -0,0 +1,162 @@
+
+
+
+
+function test()
+{
+let suite = InspectorTest.createAsyncSuite("DOM.highlightNodeList");
+
+let mainFrame = WebInspector.frameResourceManager.mainFrame;
+let childFrames = mainFrame.childFrameCollection.toArray();
+InspectorTest.expectEqual(childFrames.length, 1, "Page should have a subframe.");
+
+const highlightConfig = {
+showInfo: true,
+contentColor: {r: 255, g: 255, b: 255},
+paddingColor: {r: 255, g: 255, b: 255},
+borderColor: {r: 255, g: 255, b: 

[webkit-changes] [219314] trunk/Source/WebKit2

2017-07-10 Thread cdumez
Title: [219314] trunk/Source/WebKit2








Revision 219314
Author cdu...@apple.com
Date 2017-07-10 16:28:27 -0700 (Mon, 10 Jul 2017)


Log Message
[iOS] _didCommitLayerTree should avoid calling [scrollView setZoomScale] unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=174326


Reviewed by Simon Fraser.

Only call [scrollView setZoomScale] if the new zoom scale is actually different to
avoid doing unnecessary work in UIKit.

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

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (219313 => 219314)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 23:25:19 UTC (rev 219313)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 23:28:27 UTC (rev 219314)
@@ -1,5 +1,19 @@
 2017-07-10  Chris Dumez  
 
+[iOS] _didCommitLayerTree should avoid calling [scrollView setZoomScale] unnecessarily
+https://bugs.webkit.org/show_bug.cgi?id=174326
+
+
+Reviewed by Simon Fraser.
+
+Only call [scrollView setZoomScale] if the new zoom scale is actually different to
+avoid doing unnecessary work in UIKit.
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView _didCommitLayerTree:]):
+
+2017-07-10  Chris Dumez  
+
 Merge ResourceLoadStatisticsStore into WebResourceLoadStatisticsStore
 https://bugs.webkit.org/show_bug.cgi?id=174203
 


Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (219313 => 219314)

--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-07-10 23:25:19 UTC (rev 219313)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-07-10 23:28:27 UTC (rev 219314)
@@ -1509,7 +1509,7 @@
 [_scrollView setMinimumZoomScale:layerTreeTransaction.minimumScaleFactor()];
 [_scrollView setMaximumZoomScale:layerTreeTransaction.maximumScaleFactor()];
 [_scrollView setZoomEnabled:layerTreeTransaction.allowsUserScaling()];
-if (!layerTreeTransaction.scaleWasSetByUIProcess() && ![_scrollView isZooming] && ![_scrollView isZoomBouncing] && ![_scrollView _isAnimatingZoom])
+if (!layerTreeTransaction.scaleWasSetByUIProcess() && ![_scrollView isZooming] && ![_scrollView isZoomBouncing] && ![_scrollView _isAnimatingZoom] && [_scrollView zoomScale] != layerTreeTransaction.pageScaleFactor())
 [_scrollView setZoomScale:layerTreeTransaction.pageScaleFactor()];
 
 _viewportMetaTagWidth = layerTreeTransaction.viewportMetaTagWidth();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219313] trunk/LayoutTests

2017-07-10 Thread mmaxfield
Title: [219313] trunk/LayoutTests








Revision 219313
Author mmaxfi...@apple.com
Date 2017-07-10 16:25:19 -0700 (Mon, 10 Jul 2017)


Log Message
fast/text/trak-optimizeLegibility.html is failing on macOS High Sierra
https://bugs.webkit.org/show_bug.cgi?id=174325


Reviewed by Zalan Bujtas.

The name of the font changed.

* fast/text/trak-optimizeLegibility.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/text/trak-optimizeLegibility.html




Diff

Modified: trunk/LayoutTests/ChangeLog (219312 => 219313)

--- trunk/LayoutTests/ChangeLog	2017-07-10 23:00:42 UTC (rev 219312)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 23:25:19 UTC (rev 219313)
@@ -1,3 +1,15 @@
+2017-07-10  Myles C. Maxfield  
+
+fast/text/trak-optimizeLegibility.html is failing on macOS High Sierra
+https://bugs.webkit.org/show_bug.cgi?id=174325
+
+
+Reviewed by Zalan Bujtas.
+
+The name of the font changed.
+
+* fast/text/trak-optimizeLegibility.html:
+
 2017-07-10  Youenn Fablet  
 
 Update webrtc expectations


Modified: trunk/LayoutTests/fast/text/trak-optimizeLegibility.html (219312 => 219313)

--- trunk/LayoutTests/fast/text/trak-optimizeLegibility.html	2017-07-10 23:00:42 UTC (rev 219312)
+++ trunk/LayoutTests/fast/text/trak-optimizeLegibility.html	2017-07-10 23:25:19 UTC (rev 219313)
@@ -7,8 +7,8 @@
 This test makes sure that you can opt-in to honoring the 'trak' table by specifying text-rendering: optimizeLegibility.
 The first and third lines below should have the same width. The middle one can (but doesn't have to) have a different width.
 hamburgefonstiv
-hamburgefonstiv
-hamburgefonstiv
+hamburgefonstiv
+hamburgefonstiv
 

[webkit-changes] [219312] trunk/Source/WebKit2

2017-07-10 Thread cdumez
Title: [219312] trunk/Source/WebKit2








Revision 219312
Author cdu...@apple.com
Date 2017-07-10 16:00:42 -0700 (Mon, 10 Jul 2017)


Log Message
Merge ResourceLoadStatisticsStore into WebResourceLoadStatisticsStore
https://bugs.webkit.org/show_bug.cgi?id=174203

Reviewed by Brent Fulgham.

Merge ResourceLoadStatisticsStore into WebResourceLoadStatisticsStore. The 2 classes
have a similar purpose and there is no clean separation between the 2. It makes more
sense to have a single store class for resource load statistics.

If we want to simplify the WebResourceLoadStatisticsStore class, I think it'd make
more sense to split the file system I/O code out. This code adds quite a bit of
complexity.

* CMakeLists.txt:
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning]):
(-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore]):
(-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsResetToConsistentState]):
* UIProcess/Storage/ResourceLoadStatisticsStore.cpp: Removed.
* UIProcess/Storage/ResourceLoadStatisticsStore.h: Removed.
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
(WebKit::WebResourceLoadStatisticsStore::refreshFromDisk):
(WebKit::WebResourceLoadStatisticsStore::writeStoreToDisk):
(WebKit::WebResourceLoadStatisticsStore::startMonitoringStatisticsStorage):
(WebKit::WebResourceLoadStatisticsStore::performDailyTasks):
(WebKit::WebResourceLoadStatisticsStore::submitTelemetry):
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::clearUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::isGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdate):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemory):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::setTimeToLiveUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setTimeToLiveCookiePartitionFree):
(WebKit::WebResourceLoadStatisticsStore::setGrandfatheringTime):
(WebKit::WebResourceLoadStatisticsStore::ensureResourceStatisticsForPrimaryDomain):
(WebKit::WebResourceLoadStatisticsStore::createEncoderFromData):
(WebKit::WebResourceLoadStatisticsStore::populateFromDecoder):
(WebKit::WebResourceLoadStatisticsStore::clearInMemory):
(WebKit::WebResourceLoadStatisticsStore::mergeStatistics):
(WebKit::WebResourceLoadStatisticsStore::shouldPartitionCookies):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains):
(WebKit::WebResourceLoadStatisticsStore::processStatistics):
(WebKit::WebResourceLoadStatisticsStore::hasHadUnexpiredRecentUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::topPrivatelyControlledDomainsToRemoveWebsiteDataFor):
(WebKit::WebResourceLoadStatisticsStore::includeTodayAsOperatingDateIfNecessary):
(WebKit::WebResourceLoadStatisticsStore::hasStatisticsExpired):
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebResourceLoadStatisticsTelemetry.cpp:
(WebKit::sortedPrevalentResourceTelemetry):
(WebKit::WebResourceLoadStatisticsTelemetry::calculateAndSubmit):
* UIProcess/WebResourceLoadStatisticsTelemetry.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::removeData):
* WebKit2.xcodeproj/project.pbxproj:

Modified Paths

trunk/Source/WebKit2/CMakeLists.txt
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsTelemetry.cpp

[webkit-changes] [219311] trunk/LayoutTests

2017-07-10 Thread commit-queue
Title: [219311] trunk/LayoutTests








Revision 219311
Author commit-qu...@webkit.org
Date 2017-07-10 16:00:02 -0700 (Mon, 10 Jul 2017)


Log Message
Update webrtc expectations
https://bugs.webkit.org/show_bug.cgi?id=174318

Unreviewed.

Updated expectation according flakiness dashboard information.

Patch by Youenn Fablet  on 2017-07-10

* TestExpectations:
* platform/ios-wk2/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/platform/ios-wk2/TestExpectations
trunk/LayoutTests/platform/mac-wk1/TestExpectations
trunk/LayoutTests/platform/mac-wk2/TestExpectations
trunk/LayoutTests/platform/wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (219310 => 219311)

--- trunk/LayoutTests/ChangeLog	2017-07-10 22:08:38 UTC (rev 219310)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 23:00:02 UTC (rev 219311)
@@ -1,3 +1,18 @@
+2017-07-10  Youenn Fablet  
+
+Update webrtc expectations
+https://bugs.webkit.org/show_bug.cgi?id=174318
+
+Unreviewed.
+
+Updated expectation according flakiness dashboard information.
+
+* TestExpectations:
+* platform/ios-wk2/TestExpectations:
+* platform/mac-wk1/TestExpectations:
+* platform/mac-wk2/TestExpectations:
+* platform/wk2/TestExpectations:
+
 2017-07-10  Wenson Hsieh  
 
 [WK2] Ignore touch events that interrupt platform-driven momentum scrolling


Modified: trunk/LayoutTests/TestExpectations (219310 => 219311)

--- trunk/LayoutTests/TestExpectations	2017-07-10 22:08:38 UTC (rev 219310)
+++ trunk/LayoutTests/TestExpectations	2017-07-10 23:00:02 UTC (rev 219311)
@@ -290,7 +290,6 @@
 webkit.org/b/169271 imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-sizing-alignment-001.html [ ImageOnlyFailure ]
 
 # Flaky tests at import time
-imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html [ Failure Pass ]
 imported/w3c/web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-namespace.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/IndexedDB/abort-in-initial-upgradeneeded.html [ Pass Failure ]
 imported/w3c/web-platform-tests/IndexedDB/clone-before-keypath-eval.html [ Pass Failure ]
@@ -343,7 +342,6 @@
 
 # Tests that are flakey due to unhandled promise rejection error messages
 webkit.org/b/171094 imported/w3c/web-platform-tests/streams/readable-streams/tee.html [ Pass Failure ]
-webkit.org/b/171094 imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html [ Pass Failure ]
 webkit.org/b/171094 streams/brand-checks.html [ Pass Failure ]
 webkit.org/b/171094 streams/reference-implementation/abstract-ops.html [ Pass Failure ]
 
@@ -765,10 +763,19 @@
 media/session [ Skip ]
 
 webrtc/datachannel/multiple-connections.html [ Slow ]
-webrtc/negotiatedneeded-event-addStream.html [ Pass Crash ]
 webrtc/video-replace-track.html [ Pass Failure ]
 webrtc/video-getParameters.html [ Failure ]
 webkit.org/b/170178 webrtc/video-replace-track-to-null.html [ Pass Failure ]
+webrtc/video-rotation.html [ Pass Failure ]
+webkit.org/b/170704 webrtc/video-mute.html [ Failure ]
+webkit.org/b/170701 webrtc/datachannel/bufferedAmountLowThreshold-default.html [ Pass Failure ]
+webkit.org/b/173486 webrtc/video-replace-muted-track.html [ Pass Failure Timeout ]
+
+imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html [ Failure ]
+webkit.org/b/171094 imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html [ Failure ]
+webkit.org/b/171930 imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html [ Failure ]
+webkit.org/b/172f21 imported/w3c/web-platform-tests/webrtc/getstats.html [ Failure ]
+
 fast/mediastream/RTCPeerConnection-closed-state.html [ Skip ]
 fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html [ Skip ]
 fast/mediastream/RTCPeerConnection-more-media-to-negotiate.html [ Skip ]
@@ -775,7 +782,6 @@
 fast/mediastream/RTCPeerConnection-overloaded-operations-params.html [ Skip ]
 fast/mediastream/RTCRtpSender-replaceTrack.html [ Skip ]
 fast/mediastream/RTCPeerConnection-dtmf.html [ Failure ]
-webrtc/video-rotation.html [ Pass Failure ]
 # libwebrtc backend doesn't generate a=bundle-only lines
 fast/mediastream/RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only.html [ Failure ]
 
@@ -1372,12 +1378,8 @@
 
 webkit.org/b/90724 compositing/iframes/iframe-size-from-zero.html [ Failure Pass ]
 
-webkit.org/b/170704 webrtc/video-mute.html [ Pass Failure ]
-
 webkit.org/b/171031 imported/w3c/web-platform-tests/XMLHttpRequest/getallresponseheaders-cl.htm [ Failure ]
 
-webkit.org/b/170701 webrtc/datachannel/bufferedAmountLowThreshold.html [ Pass Failure ]
-
 webkit.org/b/172961 

[webkit-changes] [219310] trunk

2017-07-10 Thread wenson_hsieh
Title: [219310] trunk








Revision 219310
Author wenson_hs...@apple.com
Date 2017-07-10 15:08:38 -0700 (Mon, 10 Jul 2017)


Log Message
[WK2] Ignore touch events that interrupt platform-driven momentum scrolling
https://bugs.webkit.org/show_bug.cgi?id=174300


Reviewed by Simon Fraser.

Source/WebCore:

See Source/WebKit2/ChangeLog for more detail.

Tests: fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe.html
   fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html
   fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html

* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeDidEndPanGesture):

Source/WebKit2:

Adds support for immediately failing WKContentView's UIWebTouchEventsGestureRecognizer if any touch interrupts
scroll view deceleration. Covered by 3 new LayoutTests (see Source/WebCore/ChangeLog).

* Platform/spi/ios/UIKitSPI.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
* UIProcess/PageClient.h:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::scrollingTreeNodeDidEndPanGesture):
* UIProcess/Scrolling/RemoteScrollingTree.h:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollViewDidEndPanGesture):

Adds plumbing in the UI process to alert the WKContentView when scroll view dragging has ended in an overflow
momentum scrolling region (tracked by an overflow scrolling tree node). This parallels UI process plumbing for
ScrollingTreeOverflowScrollingNodeIOS::overflowScrollViewWillStartPanGesture.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::overflowScrollViewDidEndPanGesture):
* UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidEndPanGesture):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView scrollViewDidEndPanOrPinchGesture]):

When the dragging phase of a scroll gesture ends, ensure that _canSendTouchEventsAsynchronously is reset to NO.
When touches are not being prevented, this flag is set to YES in -scrollViewWillStartPanOrPinchGesture: and
normally reset to NO in -_webTouchEventsRecognized: after all touch points have been released. However, in the
case where we've prematurely failed the web touch events gesture recognizer after -touchesBegan:,
-_webTouchEventsRecognized: will not be called again in a state where all touches have been released. Thus, we
also need to bookend the place where we begin allowing async touch event dispatch in
-scrollViewWillStartPanOrPinchGesture by disallowing async touch event dispatch in
-scrollViewDidEndPanOrPinchGesture.

This has no impact in the normal case where the user scrolls without momentum, since
-scrollViewDidEndPanOrPinchGesture will fire after async touch events have already been disallowed in
-_webTouchEventsRecognized:, and in the case where the page prevents default on touches, scrolling doesn't
happen anyways, so neither scrollViewWillStartPanOrPinchGesture nor scrollViewDidEndPanOrPinchGesture will be
invoked.

(-[WKContentView gestureRecognizer:shouldIgnoreWebTouchWithEvent:]):

Implements a new SPI hook in UIKit. This serves an identical purpose as -shouldIgnoreWebTouch, but additionally
passes the triggering UIEvent, as well as the gesture recognizer itself (following standard convention for
Objective C delegate methods). Here, we return YES in the case where one or more of the touches recognized by
the gesture is currently interrupting scroll deceleration.

* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::overflowScrollViewDidEndPanGesture):

LayoutTests:

Adds 3 new LayoutTests covering cases of touch event handling during scroll deceleration in mainframe and
overflow scrolling containers. See Source/WebKit2/ChangeLog for more detail.

* fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt: Added.
* fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe.html: Added.
* fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow-expected.txt: Added.
* fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html: Added.
* fast/events/ios/touch-events-during-scroll-deceleration-in-overflow-expected.txt: Added.
* fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/ScrollingTree.h

[webkit-changes] [219309] trunk/LayoutTests

2017-07-10 Thread jlewis3
Title: [219309] trunk/LayoutTests








Revision 219309
Author jlew...@apple.com
Date 2017-07-10 14:31:50 -0700 (Mon, 10 Jul 2017)


Log Message
Marked animations/resume-after-page-cache.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=174183

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (219308 => 219309)

--- trunk/LayoutTests/ChangeLog	2017-07-10 21:16:40 UTC (rev 219308)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 21:31:50 UTC (rev 219309)
@@ -1,3 +1,12 @@
+2017-07-10  Matt Lewis  
+
+Marked animations/resume-after-page-cache.html as flaky.
+https://bugs.webkit.org/show_bug.cgi?id=174183
+
+Unreviewed test gardening.
+
+* platform/ios-simulator-wk2/TestExpectations:
+
 2017-07-10  Jeremy Jones  
 
 media element handle adding source immediately before src.


Modified: trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations (219308 => 219309)

--- trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations	2017-07-10 21:16:40 UTC (rev 219308)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations	2017-07-10 21:31:50 UTC (rev 219309)
@@ -36,3 +36,5 @@
 
 webkit.org/b/173010 js/slow-stress/Int32Array-alloc-huge.html [ Pass Timout ]
 
+webkit.org/b/174183 animations/resume-after-page-cache.html [ Pass Failure ]
+






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219308] trunk/Source/WebKit2

2017-07-10 Thread bfulgham
Title: [219308] trunk/Source/WebKit2








Revision 219308
Author bfulg...@apple.com
Date 2017-07-10 14:16:40 -0700 (Mon, 10 Jul 2017)


Log Message
[WK2][macOS] Allow access to com.apple.cfnetwork.cfnetworkagent in the Network Process
https://bugs.webkit.org/show_bug.cgi?id=174320


Reviewed by Geoffrey Garen.

* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in




Diff

Modified: trunk/Source/WebKit2/ChangeLog (219307 => 219308)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 20:58:32 UTC (rev 219307)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 21:16:40 UTC (rev 219308)
@@ -1,3 +1,13 @@
+2017-07-10  Brent Fulgham  
+
+[WK2][macOS] Allow access to com.apple.cfnetwork.cfnetworkagent in the Network Process
+https://bugs.webkit.org/show_bug.cgi?id=174320
+
+
+Reviewed by Geoffrey Garen.
+
+* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
+
 2017-07-10  Megan Gardner  
 
 Add location to NavigationActionData


Modified: trunk/Source/WebKit2/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in (219307 => 219308)

--- trunk/Source/WebKit2/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in	2017-07-10 20:58:32 UTC (rev 219307)
+++ trunk/Source/WebKit2/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in	2017-07-10 21:16:40 UTC (rev 219308)
@@ -150,6 +150,7 @@
 #endif
 (global-name "com.apple.cookied")
 (global-name "com.apple.cfnetwork.AuthBrokerAgent")
+(global-name "com.apple.cfnetwork.cfnetworkagent")
 (global-name "com.apple.lsd.mapdb")
 (global-name "com.apple.nesessionmanager.flow-divert-token")
 )






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219307] trunk/Source/WebCore

2017-07-10 Thread commit-queue
Title: [219307] trunk/Source/WebCore








Revision 219307
Author commit-qu...@webkit.org
Date 2017-07-10 13:58:32 -0700 (Mon, 10 Jul 2017)


Log Message
Captions and subtitles not showing up in picture-in-picture for MSE content
https://bugs.webkit.org/show_bug.cgi?id=174317
rdar://problem/33188591

Patch by Jeremy Jones  on 2017-07-10
Reviewed by Eric Carlson.

Reverts a regression created by r218403.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/shadow/MediaControlElements.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (219306 => 219307)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 20:09:04 UTC (rev 219306)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 20:58:32 UTC (rev 219307)
@@ -1,3 +1,16 @@
+2017-07-10  Jeremy Jones  
+
+Captions and subtitles not showing up in picture-in-picture for MSE content
+https://bugs.webkit.org/show_bug.cgi?id=174317
+rdar://problem/33188591
+
+Reviewed by Eric Carlson.
+
+Reverts a regression created by r218403.
+
+* html/shadow/MediaControlElements.cpp:
+(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation):
+
 2017-07-10  Per Arne Vollan  
 
 [Win] Link error when building WTF from WTF.proj project file.


Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (219306 => 219307)

--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp	2017-07-10 20:09:04 UTC (rev 219306)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp	2017-07-10 20:58:32 UTC (rev 219307)
@@ -1296,7 +1296,6 @@
 mediaElement->setTextTrackRepresentation(m_textTrackRepresentation.get());
 }
 
-hide();
 m_textTrackRepresentation->update();
 updateStyleForTextTrackRepresentation();
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219306] trunk/Source

2017-07-10 Thread pvollan
Title: [219306] trunk/Source








Revision 219306
Author pvol...@apple.com
Date 2017-07-10 13:09:04 -0700 (Mon, 10 Jul 2017)


Log Message
[Win] Link error when building WTF from WTF.proj project file.
https://bugs.webkit.org/show_bug.cgi?id=174316


Reviewed by Brent Fulgham.

WTF_CPU_X86 cmake variable needs to be set for link libraries directories to be correct.

Source/WebCore:

* WebCore.vcxproj/WebCore.proj:

Source/WebKit:

* WebKit.vcxproj/WebKit.proj:

Source/WTF:

* WTF.vcxproj/WTF.proj:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/WTF.vcxproj/WTF.proj
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebKit.vcxproj/WebKit.proj




Diff

Modified: trunk/Source/WTF/ChangeLog (219305 => 219306)

--- trunk/Source/WTF/ChangeLog	2017-07-10 19:49:29 UTC (rev 219305)
+++ trunk/Source/WTF/ChangeLog	2017-07-10 20:09:04 UTC (rev 219306)
@@ -1,3 +1,15 @@
+2017-07-10  Per Arne Vollan  
+
+[Win] Link error when building WTF from WTF.proj project file.
+https://bugs.webkit.org/show_bug.cgi?id=174316
+
+
+Reviewed by Brent Fulgham.
+
+WTF_CPU_X86 cmake variable needs to be set for link libraries directories to be correct.
+
+* WTF.vcxproj/WTF.proj:
+
 2017-07-03  Brian Burg  
 
 Web Replay: remove some unused code


Modified: trunk/Source/WTF/WTF.vcxproj/WTF.proj (219305 => 219306)

--- trunk/Source/WTF/WTF.vcxproj/WTF.proj	2017-07-10 19:49:29 UTC (rev 219305)
+++ trunk/Source/WTF/WTF.vcxproj/WTF.proj	2017-07-10 20:09:04 UTC (rev 219306)
@@ -46,9 +46,9 @@
   
 
 
-	
+	
 	
-	
+	
 	
   
 


Modified: trunk/Source/WebCore/ChangeLog (219305 => 219306)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 19:49:29 UTC (rev 219305)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 20:09:04 UTC (rev 219306)
@@ -1,3 +1,15 @@
+2017-07-10  Per Arne Vollan  
+
+[Win] Link error when building WTF from WTF.proj project file.
+https://bugs.webkit.org/show_bug.cgi?id=174316
+
+
+Reviewed by Brent Fulgham.
+
+WTF_CPU_X86 cmake variable needs to be set for link libraries directories to be correct.
+
+* WebCore.vcxproj/WebCore.proj:
+
 2017-07-10  Jeremy Jones  
 
 media element handle adding source immediately before src.


Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj (219305 => 219306)

--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj	2017-07-10 19:49:29 UTC (rev 219305)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj	2017-07-10 20:09:04 UTC (rev 219306)
@@ -54,9 +54,9 @@
   
 
 
-	
+	
 	
-	
+	
 	
   
 


Modified: trunk/Source/WebKit/ChangeLog (219305 => 219306)

--- trunk/Source/WebKit/ChangeLog	2017-07-10 19:49:29 UTC (rev 219305)
+++ trunk/Source/WebKit/ChangeLog	2017-07-10 20:09:04 UTC (rev 219306)
@@ -1,3 +1,15 @@
+2017-07-10  Per Arne Vollan  
+
+[Win] Link error when building WTF from WTF.proj project file.
+https://bugs.webkit.org/show_bug.cgi?id=174316
+
+
+Reviewed by Brent Fulgham.
+
+WTF_CPU_X86 cmake variable needs to be set for link libraries directories to be correct.
+
+* WebKit.vcxproj/WebKit.proj:
+
 2017-07-05  Don Olmstead  
 
 [WinCairo] Consolidate CMake code related to CURL


Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKit.proj (219305 => 219306)

--- trunk/Source/WebKit/WebKit.vcxproj/WebKit.proj	2017-07-10 19:49:29 UTC (rev 219305)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKit.proj	2017-07-10 20:09:04 UTC (rev 219306)
@@ -54,9 +54,9 @@
   
 
 
-	
+	
 	
-	
+	
 	
   
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219305] trunk

2017-07-10 Thread commit-queue
Title: [219305] trunk








Revision 219305
Author commit-qu...@webkit.org
Date 2017-07-10 12:49:29 -0700 (Mon, 10 Jul 2017)


Log Message
media element handle adding source immediately before src.
https://bugs.webkit.org/show_bug.cgi?id=174284
rdar://problem/33115439

Patch by Jeremy Jones  on 2017-07-10
Reviewed by David Kilzer.

Source/WebCore:

Test: media/video-source-before-src.html

Adding a source causes a selectMediaResource block to be enqueued.
If dataLoadingPermitted prevents creating the m_player but sets the srcAttr, then
the enqueued selectMediaResource will be in a bad state, with a srcAttr but no m_player.

This fix prevents selectMediaResource from being called, if data loading is not permitted
when adding a source element, to match how it prevents player creation when setting srcAttr.

This fix also adds a debug assert to catch the problem earlier and adds an early return to
prevent the crash in release builds.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::sourceWasAdded):

LayoutTests:

* media/video-source-before-src.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp


Added Paths

trunk/LayoutTests/media/video-source-before-src.html




Diff

Modified: trunk/LayoutTests/ChangeLog (219304 => 219305)

--- trunk/LayoutTests/ChangeLog	2017-07-10 19:46:01 UTC (rev 219304)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 19:49:29 UTC (rev 219305)
@@ -1,3 +1,13 @@
+2017-07-10  Jeremy Jones  
+
+media element handle adding source immediately before src.
+https://bugs.webkit.org/show_bug.cgi?id=174284
+rdar://problem/33115439
+
+Reviewed by David Kilzer.
+
+* media/video-source-before-src.html: Added.
+
 2017-07-10  Matt Lewis  
 
 Fixed test expectations for http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.


Added: trunk/LayoutTests/media/video-source-before-src.html (0 => 219305)

--- trunk/LayoutTests/media/video-source-before-src.html	(rev 0)
+++ trunk/LayoutTests/media/video-source-before-src.html	2017-07-10 19:49:29 UTC (rev 219305)
@@ -0,0 +1,28 @@
+
+
+
+
+if (window.testRunner) {
+internals.settings.setVideoPlaybackRequiresUserGesture(true);
+testRunner.waitUntilDone();
+testRunner.dumpAsText();
+}
+
+window._onload_ = () => {
+var video = document.getElementsByTagName("video")[0]
+video.appendChild(document.createElement("source"))
+video.src = ""
+
+setTimeout(()=>{
+if (window.testRunner)
+testRunner.notifyDone();
+}, 1)
+}
+
+
+
+
+Append source element before setting src attribute.
+
+
+
\ No newline at end of file


Modified: trunk/Source/WebCore/ChangeLog (219304 => 219305)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 19:46:01 UTC (rev 219304)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 19:49:29 UTC (rev 219305)
@@ -1,3 +1,27 @@
+2017-07-10  Jeremy Jones  
+
+media element handle adding source immediately before src.
+https://bugs.webkit.org/show_bug.cgi?id=174284
+rdar://problem/33115439
+
+Reviewed by David Kilzer.
+
+Test: media/video-source-before-src.html
+
+Adding a source causes a selectMediaResource block to be enqueued.
+If dataLoadingPermitted prevents creating the m_player but sets the srcAttr, then
+the enqueued selectMediaResource will be in a bad state, with a srcAttr but no m_player.
+
+This fix prevents selectMediaResource from being called, if data loading is not permitted
+when adding a source element, to match how it prevents player creation when setting srcAttr.
+
+This fix also adds a debug assert to catch the problem earlier and adds an early return to
+prevent the crash in release builds.
+
+* html/HTMLMediaElement.cpp:
+(WebCore::HTMLMediaElement::selectMediaResource):
+(WebCore::HTMLMediaElement::sourceWasAdded):
+
 2017-07-10  Megan Gardner  
 
 Add location to NavigationActionData


Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (219304 => 219305)

--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-07-10 19:46:01 UTC (rev 219304)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-07-10 19:49:29 UTC (rev 219305)
@@ -1323,6 +1323,11 @@
 } else if (hasAttributeWithoutSynchronization(srcAttr)) {
 //Otherwise, if the media element has no assigned media provider object but has a src attribute, then let mode be attribute.
 mode = Attribute;
+ASSERT(m_player);
+if (!m_player) {
+RELEASE_LOG_ERROR(Media, "HTMLMediaElement::selectMediaResource(%p) - has srcAttr but m_player is not created", this);
+return;
+

[webkit-changes] [219304] trunk/Source

2017-07-10 Thread megan_gardner
Title: [219304] trunk/Source








Revision 219304
Author megan_gard...@apple.com
Date 2017-07-10 12:46:01 -0700 (Mon, 10 Jul 2017)


Log Message
Add location to NavigationActionData
https://bugs.webkit.org/show_bug.cgi?id=174233


Reviewed by Simon Fraser.

Add the root view location of a tap to a NavigationAction to vend to Safari.

Source/WebCore:

Test: small enough change to not be tested alone.

* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::absoluteLocationConvertedToRootView):
* dom/MouseRelatedEvent.h:

Source/WebKit2:

* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h:
* UIProcess/API/APINavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction description]):
(-[WKNavigationAction _clickLocationInRootViewCoordinates]):
* UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::clickLocationInRootViewCoordinatesForMouseEvent):
(WebKit::InjectedBundleNavigationAction::clickLocationInRootViewCoordinatesForNavigationAction):
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
(WebKit::InjectedBundleNavigationAction::clickLocationInRootViewCoordinates):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/MouseRelatedEvent.cpp
trunk/Source/WebCore/dom/MouseRelatedEvent.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/NavigationActionData.cpp
trunk/Source/WebKit2/Shared/NavigationActionData.h
trunk/Source/WebKit2/UIProcess/API/APINavigationAction.h
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.mm
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionPrivate.h
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.h
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (219303 => 219304)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 19:04:10 UTC (rev 219303)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 19:46:01 UTC (rev 219304)
@@ -1,3 +1,19 @@
+2017-07-10  Megan Gardner  
+
+Add location to NavigationActionData
+https://bugs.webkit.org/show_bug.cgi?id=174233
+
+
+Reviewed by Simon Fraser.
+
+Add the root view location of a tap to a NavigationAction to vend to Safari.
+
+Test: small enough change to not be tested alone.
+
+* dom/MouseRelatedEvent.cpp:
+(WebCore::MouseRelatedEvent::absoluteLocationConvertedToRootView):
+* dom/MouseRelatedEvent.h:
+
 2017-07-10  Sam Weinig  
 
 [WebIDL] Move plugin object customization into the generator


Modified: trunk/Source/WebCore/dom/MouseRelatedEvent.cpp (219303 => 219304)

--- trunk/Source/WebCore/dom/MouseRelatedEvent.cpp	2017-07-10 19:04:10 UTC (rev 219303)
+++ trunk/Source/WebCore/dom/MouseRelatedEvent.cpp	2017-07-10 19:46:01 UTC (rev 219304)
@@ -26,6 +26,7 @@
 #include "Document.h"
 #include "Frame.h"
 #include "FrameView.h"
+#include "LayoutPoint.h"
 #include "RenderLayer.h"
 #include "RenderObject.h"
 
@@ -165,6 +166,11 @@
 
 m_hasCachedRelativePosition = true;
 }
+
+FloatPoint MouseRelatedEvent::locationInRootViewCoordinates() const
+{
+return frameView()->contentsToRootView(roundedIntPoint(m_absoluteLocation));
+}
 
 int MouseRelatedEvent::layerX()
 {


Modified: trunk/Source/WebCore/dom/MouseRelatedEvent.h (219303 => 219304)

--- trunk/Source/WebCore/dom/MouseRelatedEvent.h	2017-07-10 19:04:10 UTC (rev 219303)
+++ trunk/Source/WebCore/dom/MouseRelatedEvent.h	2017-07-10 19:46:01 UTC (rev 219304)
@@ -57,6 +57,7 @@
 bool isSimulated() const { return m_isSimulated; }
 int pageX() const final;
 int pageY() const final;
+WEBCORE_EXPORT FloatPoint locationInRootViewCoordinates() const;
 virtual const LayoutPoint& pageLocation() const;
 WEBCORE_EXPORT int x() const;
 WEBCORE_EXPORT int y() const;


Modified: trunk/Source/WebKit2/ChangeLog (219303 => 219304)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 19:04:10 UTC (rev 219303)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 19:46:01 UTC (rev 219304)
@@ -1,3 +1,34 @@
+2017-07-10  Megan Gardner  
+
+Add location to NavigationActionData
+https://bugs.webkit.org/show_bug.cgi?id=174233
+
+
+Reviewed by Simon Fraser.
+
+ 

[webkit-changes] [219303] trunk/LayoutTests

2017-07-10 Thread jlewis3
Title: [219303] trunk/LayoutTests








Revision 219303
Author jlew...@apple.com
Date 2017-07-10 12:04:10 -0700 (Mon, 10 Jul 2017)


Log Message
Fixed test expectations for http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
https://bugs.webkit.org/show_bug.cgi?id=174120

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (219302 => 219303)

--- trunk/LayoutTests/ChangeLog	2017-07-10 18:27:26 UTC (rev 219302)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 19:04:10 UTC (rev 219303)
@@ -1,3 +1,12 @@
+2017-07-10  Matt Lewis  
+
+Fixed test expectations for http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
+https://bugs.webkit.org/show_bug.cgi?id=174120
+
+Unreviewed test gardening.
+
+* platform/ios-wk2/TestExpectations:
+
 2017-07-03  Brian Burg  
 
 Web Replay: remove some unused code


Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (219302 => 219303)

--- trunk/LayoutTests/platform/ios-wk2/TestExpectations	2017-07-10 18:27:26 UTC (rev 219302)
+++ trunk/LayoutTests/platform/ios-wk2/TestExpectations	2017-07-10 19:04:10 UTC (rev 219303)
@@ -1679,7 +1679,6 @@
 transitions/zero-duration-in-list.html [ Failure Pass ]
 transitions/zero-duration-with-non-zero-delay-end.html [ Failure Pass ]
 
-http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html [ Pass ]
 
 # Skip flaky/timeout tests
 fast/css-grid-layout/flex-content-sized-columns-resize.html [ Skip ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219302] trunk/Source/WebCore

2017-07-10 Thread commit-queue
Title: [219302] trunk/Source/WebCore








Revision 219302
Author commit-qu...@webkit.org
Date 2017-07-10 11:27:26 -0700 (Mon, 10 Jul 2017)


Log Message
[WebIDL] Move plugin object customization into the generator
https://bugs.webkit.org/show_bug.cgi?id=174238

Patch by Sam Weinig  on 2017-07-10
Reviewed by Chris Dumez.

- Added [Plugin] extended attribute to forward the necessary hooks
  for get/set/delete to the plugin code.
- Removed [CustomNamedSetter] and replaced it's remaining uses
  [CustomPut] (formally called [CustomPutFunction]).
- Renamed [CustomNamedGetterOnPrototype] to [CustomPutOnPrototype]
  because that is actually what it does.
- Removed [CustomGetOwnPropertySlotByIndex] and made
  [CustomGetOwnPropertySlot] imply it, as the other custom hooks
  do.
- Renamed [CustomEnumerateProperty] to [CustomGetOwnPropertyNames]
  to conform with other attribute names.
- Renamed [CustomCall] to [CustomGetCallData] to conform with other
  attribute names.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSHTMLAppletElementCustom.cpp: Removed.
* bindings/js/JSHTMLEmbedElementCustom.cpp: Removed.
* bindings/js/JSHTMLObjectElementCustom.cpp: Removed.
Remove custom bindings.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::putCommon):
(WebCore::JSCSSStyleDeclaration::put):
(WebCore::JSCSSStyleDeclaration::putByIndex):
(WebCore::JSCSSStyleDeclaration::putDelegate): Deleted.
Use [CustomPut] rather than [CustomNamedSetter] to allow us
to get rid of [CustomNamedSetter]. Reuse put delegate as
common code to share between put and putByIndex.

* bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
(WebCore::JSLocation::getOwnPropertySlot):
(WebCore::JSLocation::getOwnPropertySlotByIndex):
Replace [CustomGetOwnPropertySlotAndDescriptor] with [CustomGetOwnPropertySlot]
which is more clear and reduces the number of variants of this hook override
we need.

(WebCore::putCommon):
(WebCore::JSLocation::put):
(WebCore::JSLocation::putByIndex):
Use [CustomPut] rather than [CustomNamedSetter] to allow us
to get rid of [CustomNamedSetter]. Reuse put delegate as
common code to share between put and putByIndex.

(WebCore::JSLocationPrototype::put):
[CustomPutOnPrototype] (which weirdly used incorrectly be called
[CustomNamedGetterOnPrototype]) now works like [CustomPut] meaning
you need to call Base.

* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
(WebCore::pluginElementCustomGetOwnPropertySlot):
(WebCore::pluginElementCustomPut):
* bindings/js/JSPluginElementFunctions.h:
(WebCore::pluginElementCustomGetOwnPropertySlot): Deleted.
Remove templatized pluginElementCustomGetOwnPropertySlot, which was
completely unnecessary and merge its functionality into the out of
line overload. Remove pluginElementPropertyGetter from the header,
since it is only used in implementation, and unify the naming and
argument position (JSHTMLElement* comes first) of the hooks.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateIndexedGetter):
(GenerateNamedGetter):
(GenerateGetOwnPropertySlot):
(GenerateGetOwnPropertySlotByIndex):
(GenerateGetOwnPropertyNames):
(GeneratePut):
(GeneratePutByIndex):
(GenerateDeleteProperty):
(GenerateDeletePropertyByIndex):
(GenerateNamedDeleterDefinition):
(InstanceOverridesGetOwnPropertySlot):
(InstanceOverridesGetOwnPropertyNames):
(InstanceOverridesPut):
(InstanceOverridesDeleteProperty):
(GenerateHeader):
(GenerateImplementation):
(GenerateGetCallData):
(GeneratePluginCall):
(GenerateLegacyCallerDefinitions):
(GenerateLegacyCallerDefinition):
(GeneratePrototypeDeclaration):
(InstanceOverridesGetCallData):
(HeaderNeedsPrototypeDeclaration):
- Add support for [Plugin]
- Remove support for [CustomNamedSetter]
- Replace [CustomGetOwnPropertySlotByIndex] with [CustomGetOwnPropertySlot]
- Replace [CustomEnumerateProperty] with [CustomGetOwnPropertyNames]
- Replace [CustomPutFunction] with [CustomPut].
- Make subroutine names more consistent (remove a few Definition suffixes)

* bindings/scripts/IDLAttributes.json:
Update for new / removed attributes.

* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestPluginInterface.cpp: Added.
* bindings/scripts/test/JS/JSTestPluginInterface.h: Added.
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/TestPluginInterface.idl: Added.
Update / add tests.

* css/CSSStyleDeclaration.idl:
* html/HTMLAppletElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLObjectElement.idl:
* page/DOMWindow.idl:
* page/Location.idl:
* storage/Storage.idl:
Update for new / renamed attributes.

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp

[webkit-changes] [219300] trunk/Tools

2017-07-10 Thread zandobersek
Title: [219300] trunk/Tools








Revision 219300
Author zandober...@gmail.com
Date 2017-07-10 11:07:10 -0700 (Mon, 10 Jul 2017)


Log Message
[WPE] Fix layout test baseline and TestExpectations hierarchy
https://bugs.webkit.org/show_bug.cgi?id=174092

Reviewed by Michael Catanzaro.

Like for the GTK+ port, override the default_baseline_search_path() and
_port_specific_expectations_files() methods in the webkitpy.port.WPEPort class.
Both methods operate on a short list of search paths that defaults to 'wpe' and
'wk2', along with any other user-specified platform directory.

The test_expectations_file_position() method is overridden for testing purposes,
and relevant unit tests are added.

* Scripts/webkitpy/port/wpe.py:
(WPEPort._search_paths):
(WPEPort):
(WPEPort.default_baseline_search_path):
(WPEPort._port_specific_expectations_files):
(WPEPort.test_expectations_file_position):
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_baseline_search_path):
(WPEPortTest):
(WPEPortTest.test_port_specific_expectations_files):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/port/wpe.py
trunk/Tools/Scripts/webkitpy/port/wpe_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (219299 => 219300)

--- trunk/Tools/ChangeLog	2017-07-10 17:52:06 UTC (rev 219299)
+++ trunk/Tools/ChangeLog	2017-07-10 18:07:10 UTC (rev 219300)
@@ -1,3 +1,29 @@
+2017-07-10  Zan Dobersek  
+
+[WPE] Fix layout test baseline and TestExpectations hierarchy
+https://bugs.webkit.org/show_bug.cgi?id=174092
+
+Reviewed by Michael Catanzaro.
+
+Like for the GTK+ port, override the default_baseline_search_path() and
+_port_specific_expectations_files() methods in the webkitpy.port.WPEPort class.
+Both methods operate on a short list of search paths that defaults to 'wpe' and
+'wk2', along with any other user-specified platform directory.
+
+The test_expectations_file_position() method is overridden for testing purposes,
+and relevant unit tests are added.
+
+* Scripts/webkitpy/port/wpe.py:
+(WPEPort._search_paths):
+(WPEPort):
+(WPEPort.default_baseline_search_path):
+(WPEPort._port_specific_expectations_files):
+(WPEPort.test_expectations_file_position):
+* Scripts/webkitpy/port/wpe_unittest.py:
+(WPEPortTest.test_default_baseline_search_path):
+(WPEPortTest):
+(WPEPortTest.test_port_specific_expectations_files):
+
 2017-07-10  Chris Dumez  
 
 Further WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore clean up


Modified: trunk/Tools/Scripts/webkitpy/port/wpe.py (219299 => 219300)

--- trunk/Tools/Scripts/webkitpy/port/wpe.py	2017-07-10 17:52:06 UTC (rev 219299)
+++ trunk/Tools/Scripts/webkitpy/port/wpe.py	2017-07-10 18:07:10 UTC (rev 219300)
@@ -81,6 +81,19 @@
 def _path_to_image_diff(self):
 return self._built_executables_path('ImageDiff')
 
+def _search_paths(self):
+return [self.port_name, 'wk2'] + self.get_option("additional_platform_directory", [])
+
+def default_baseline_search_path(self):
+return map(self._webkit_baseline_path, self._search_paths())
+
+def _port_specific_expectations_files(self):
+return map(lambda x: self._filesystem.join(self._webkit_baseline_path(x), 'TestExpectations'), reversed(self._search_paths()))
+
+def test_expectations_file_position(self):
+# WPE port baseline search path is wpe -> wk2 -> generic, so port test expectations file is at third to last position.
+return 2
+
 def _get_crash_log(self, name, pid, stdout, stderr, newer_than, target_host=None):
 name = "WPEWebProcess" if name == "WebProcess" else name
 return GDBCrashLogGenerator(name, pid, newer_than, self._filesystem, self._path_to_driver).generate_crash_log(stdout, stderr)


Modified: trunk/Tools/Scripts/webkitpy/port/wpe_unittest.py (219299 => 219300)

--- trunk/Tools/Scripts/webkitpy/port/wpe_unittest.py	2017-07-10 17:52:06 UTC (rev 219299)
+++ trunk/Tools/Scripts/webkitpy/port/wpe_unittest.py	2017-07-10 18:07:10 UTC (rev 219300)
@@ -51,6 +51,17 @@
 port._pulseaudio_sanitizer = PulseAudioSanitizerMock()
 return port
 
+def test_default_baseline_search_path(self):
+port = self.make_port()
+self.assertEqual(port.default_baseline_search_path(), ['/mock-checkout/LayoutTests/platform/wpe',
+'/mock-checkout/LayoutTests/platform/wk2'])
+
+def test_port_specific_expectations_files(self):
+port = self.make_port()
+self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/TestExpectations',
+'/mock-checkout/LayoutTests/platform/wk2/TestExpectations',
+'/mock-checkout/LayoutTests/platform/wpe/TestExpectations'])
+
 def test_default_timeout_ms(self):
 

[webkit-changes] [219299] trunk/LayoutTests

2017-07-10 Thread jlewis3
Title: [219299] trunk/LayoutTests








Revision 219299
Author jlew...@apple.com
Date 2017-07-10 10:52:06 -0700 (Mon, 10 Jul 2017)


Log Message
Skipped http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
https://bugs.webkit.org/show_bug.cgi?id=174120

Unreviewed test gardening.

* platform/ios/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (219298 => 219299)

--- trunk/LayoutTests/ChangeLog	2017-07-10 17:43:38 UTC (rev 219298)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 17:52:06 UTC (rev 219299)
@@ -1,3 +1,12 @@
+2017-07-10  Matt Lewis  
+
+Skipped http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
+https://bugs.webkit.org/show_bug.cgi?id=174120
+
+Unreviewed test gardening.
+
+* platform/ios/TestExpectations:
+
 2017-07-10  Chris Dumez  
 
 Further WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore clean up


Modified: trunk/LayoutTests/platform/ios/TestExpectations (219298 => 219299)

--- trunk/LayoutTests/platform/ios/TestExpectations	2017-07-10 17:43:38 UTC (rev 219298)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2017-07-10 17:52:06 UTC (rev 219299)
@@ -2863,4 +2863,7 @@
 webgl/1.0.2/conformance/ogles/GL/sin/sin_001_to_006.html [ Skip ]
 webgl/1.0.2/conformance/reading/read-pixels-test.html [ Skip ]
 webgl/1.0.2/conformance/rendering/multisample-corruption.html [ Skip ]
-webgl/1.0.2/conformance/uniforms/out-of-bounds-uniform-array-access.html [ Skip ]
\ No newline at end of file
+webgl/1.0.2/conformance/uniforms/out-of-bounds-uniform-array-access.html [ Skip ]
+
+webkit.org/b/174120 http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html [ Skip ]
+






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219298] trunk/Source

2017-07-10 Thread beidson
Title: [219298] trunk/Source








Revision 219298
Author beid...@apple.com
Date 2017-07-10 10:43:38 -0700 (Mon, 10 Jul 2017)


Log Message
Cleanup lifetime issues of UniqueIDBDatabase and IDBBackingStore.
 and https://bugs.webkit.org/show_bug.cgi?id=174244

Reviewed by David Kilzer and Alex Christensen.

Source/WebCore:

No targeted test possible, implicitly covered by all IDB tests.

The original idea behind UniqueIDBDatabase lifetime was that they are ThreadSafeRefCounted and
we take protector Refs when any operation that needs it alive is in flight.

This added variability to their lifetime which made it difficult to enforce a few different
design invariants, namely:
- UniqueIBDDatabase objects are always created and destroyed only on the main thread.
- IDBBackingStore objects are always created and destroyed only on the database thread.

This patch removes the ref counting and instead ties UniqueIDBDatabase lifetime to a
std::unique_ptr that is owned by the IDBServer.

Whenever any operations on the UniqueIDBDatabase are in flight it is kept alive by virtue
of that unique_ptr in the IDBServer. Once a UniqueIDBDatabase is completely done with all of
its work, the following happens:
- On the main thread the IDBServer removes the unique_ptr owning the UniqueIDBDatabase
  from its map.
- It hands the unique_ptr to the UniqueIDBDatabase itself, which schedules one final
  database thread task.
- That database thread task is to destroy the IDBBackingStore, kill its message queues,
  and then message back to the main thread for one final task.
- That main thread task is to release the unique_ptr, resulting in destruction of the
  UniqueIDBDatabase object.

This is safe, predictable, solves the lifetime issues that r218516 originally tried to solve,
and solves the lifetime issues that r218516 introduced.

(This patch also adds many more assertions to cover various design invariants throughout the
lifecycle of a particular UniqueIDBDatabase)

ASSERT that IDBBackingStores are only ever created and destroyed on the background thread:
* Modules/indexeddb/server/IDBBackingStore.h:
(WebCore::IDBServer::IDBBackingStore::~IDBBackingStore):
(WebCore::IDBServer::IDBBackingStore::IDBBackingStore):

Transition UniqueIDBDatabase ownership from a RefPtr to a std::unique_ptr:
* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getOrCreateUniqueIDBDatabase):
(WebCore::IDBServer::IDBServer::closeAndTakeUniqueIDBDatabase):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::closeUniqueIDBDatabase): Deleted.
* Modules/indexeddb/server/IDBServer.h:

Make all the other changes mentioned above:
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase): Bulk up on ASSERTs
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::performUnconditionalDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::shutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::didShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performPrefetchCursor):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::activateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::maybeFinishHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::isDoneWithHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformUnconditionalDeleteBackingStore): Deleted.
* Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::create): Deleted.

Source/WTF:

Add proper "kill" support to CrossThreadQueue, as well as isEmpty() support.

* wtf/CrossThreadQueue.h:
(WTF::CrossThreadQueue::append):
(WTF::CrossThreadQueue::kill):
(WTF::CrossThreadQueue::isKilled):
(WTF::CrossThreadQueue::isEmpty):
(WTF::CrossThreadQueue::isKilled): Deleted.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/CrossThreadQueue.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/indexeddb/server/IDBBackingStore.h
trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp
trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.h

[webkit-changes] [219297] trunk

2017-07-10 Thread cdumez
Title: [219297] trunk








Revision 219297
Author cdu...@apple.com
Date 2017-07-10 10:09:38 -0700 (Mon, 10 Jul 2017)


Log Message
Further WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore clean up
https://bugs.webkit.org/show_bug.cgi?id=174301

Reviewed by Brent Fulgham.

Source/WebCore:

Moved some generic file system utility functions down to platform's FileSystem.h.

* platform/FileSystem.cpp:
(WebCore::openAndLockFile):
(WebCore::unlockAndCloseFile):
* platform/FileSystem.h:

Source/WebKit2:

General clean up and various simplifications / optimizations to WebResourceLoadStatisticsStore
and ResourceLoadStatisticsStore classes.

* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning]):
(-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]):
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* UIProcess/Storage/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::create):
(WebKit::ResourceLoadStatisticsStore::ResourceLoadStatisticsStore):
(WebKit::ResourceLoadStatisticsStore::hasHadRecentUserInteraction):
(WebKit::ResourceLoadStatisticsStore::createEncoderFromData):
(WebKit::ResourceLoadStatisticsStore::populateFromDecoder):
(WebKit::ResourceLoadStatisticsStore::clearInMemory):
(WebKit::ResourceLoadStatisticsStore::mergeStatistics):
(WebKit::ResourceLoadStatisticsStore::updateCookiePartitioning):
(WebKit::ResourceLoadStatisticsStore::updateCookiePartitioningForDomains):
(WebKit::ResourceLoadStatisticsStore::processStatistics):
(WebKit::ResourceLoadStatisticsStore::hasHadUnexpiredRecentUserInteraction):
(WebKit::ResourceLoadStatisticsStore::topPrivatelyControlledDomainsToRemoveWebsiteDataFor):
* UIProcess/Storage/ResourceLoadStatisticsStore.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
(WebKit::WebResourceLoadStatisticsStore::refreshFromDisk):
(WebKit::WebResourceLoadStatisticsStore::applicationWillTerminate):
(WebKit::WebResourceLoadStatisticsStore::resourceLogFilePath):
(WebKit::WebResourceLoadStatisticsStore::writeStoreToDisk):
(WebKit::WebResourceLoadStatisticsStore::scheduleOrWriteStoreToDisk):
(WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
(WebKit::WebResourceLoadStatisticsStore::startMonitoringStatisticsStorage):
(WebKit::WebResourceLoadStatisticsStore::platformExcludeFromBackup):
(WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk):
(WebKit::WebResourceLoadStatisticsStore::performDailyTasks):
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains):
(WebKit::WebResourceLoadStatisticsStore::clearInMemory):
(WebKit::WebResourceLoadStatisticsStore::clearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::shouldRemoveDataRecords):
(WebKit::WebResourceLoadStatisticsStore::setDataRecordsBeingRemoved):
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebResourceLoadStatisticsTelemetry.cpp:
(WebKit::sortedPrevalentResourceTelemetry):
(WebKit::WebResourceLoadStatisticsTelemetry::calculateAndSubmit):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updateCookiePartitioningForTopPrivatelyOwnedDomains):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
* UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

Rename some of the testRunner API for clarity and to better match what it calls
internally.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsUpdateCookiePartitioning):
(WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsUpdateCookiePartitioning):
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::statisticsUpdateCookiePartitioning):
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost):

LayoutTests:

Update existing layout tests to reflect testRunner API changes.

* 

[webkit-changes] [219296] trunk

2017-07-10 Thread akling
Title: [219296] trunk








Revision 219296
Author akl...@apple.com
Date 2017-07-10 10:03:14 -0700 (Mon, 10 Jul 2017)


Log Message
REGRESSION(r210226): Keyboard-focused element not preserved when navigating back through page cache, causing multiple elements to have focus
https://bugs.webkit.org/show_bug.cgi?id=174302


Reviewed by Antti Koivisto.

Source/WebCore:

Don't clear the active/hovered/focused elements when destroying the render tree,
since we might need to reconstruct it later, and would like to remember which
elements those were.

Only the focused state actually stuck when going in and out of the page cache,
but this patch removes all the element pointer clearing for consistency.

Test: fast/history/page-cache-element-state-focused.html

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

LayoutTests:

* fast/history/page-cache-element-state-focused-expected.html: Added.
* fast/history/page-cache-element-state-focused.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp


Added Paths

trunk/LayoutTests/fast/history/page-cache-element-state-focused-expected.html
trunk/LayoutTests/fast/history/page-cache-element-state-focused.html




Diff

Modified: trunk/LayoutTests/ChangeLog (219295 => 219296)

--- trunk/LayoutTests/ChangeLog	2017-07-10 16:23:19 UTC (rev 219295)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 17:03:14 UTC (rev 219296)
@@ -1,3 +1,14 @@
+2017-07-10  Andreas Kling  
+
+REGRESSION(r210226): Keyboard-focused element not preserved when navigating back through page cache, causing multiple elements to have focus
+https://bugs.webkit.org/show_bug.cgi?id=174302
+
+
+Reviewed by Antti Koivisto.
+
+* fast/history/page-cache-element-state-focused-expected.html: Added.
+* fast/history/page-cache-element-state-focused.html: Added.
+
 2017-07-10  Zalan Bujtas  
 
 Block of text is missing in iBooks sample books.


Added: trunk/LayoutTests/fast/history/page-cache-element-state-focused-expected.html (0 => 219296)

--- trunk/LayoutTests/fast/history/page-cache-element-state-focused-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/history/page-cache-element-state-focused-expected.html	2017-07-10 17:03:14 UTC (rev 219296)
@@ -0,0 +1,20 @@
+
+
+
+
+a:focus {
+background: yellow;
+}
+
+
+function runTest() {
+document.getElementById("a3").focus();
+}
+
+
+
+
+


Added: trunk/LayoutTests/fast/history/page-cache-element-state-focused.html (0 => 219296)

--- trunk/LayoutTests/fast/history/page-cache-element-state-focused.html	(rev 0)
+++ trunk/LayoutTests/fast/history/page-cache-element-state-focused.html	2017-07-10 17:03:14 UTC (rev 219296)
@@ -0,0 +1,37 @@
+
+
+
+
+a:focus {
+background: yellow;
+}
+
+
+function runTest() {
+if (window.testRunner) {
+testRunner.overridePreference("WebKitUsesPageCachePreferenceKey", 1);
+testRunner.waitUntilDone();
+}
+
+window._onpageshow_ = function(e) {
+if (e.persisted) {
+document.getElementById("a3").focus();
+if (window.testRunner)
+testRunner.notifyDone();
+} else {
+document.getElementById("a2").focus();
+}
+};
+
+setTimeout(function() {
+window.location.href = "" _onload_='history.back()'>";
+}, 0);
+}
+
+
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (219295 => 219296)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 16:23:19 UTC (rev 219295)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 17:03:14 UTC (rev 219296)
@@ -1,3 +1,23 @@
+2017-07-10  Andreas Kling  
+
+REGRESSION(r210226): Keyboard-focused element not preserved when navigating back through page cache, causing multiple elements to have focus
+https://bugs.webkit.org/show_bug.cgi?id=174302
+
+
+Reviewed by Antti Koivisto.
+
+Don't clear the active/hovered/focused elements when destroying the render tree,
+since we might need to reconstruct it later, and would like to remember which
+elements those were.
+
+Only the focused state actually stuck when going in and out of the page cache,
+but this patch removes all the element pointer clearing for consistency.
+
+Test: fast/history/page-cache-element-state-focused.html
+
+* dom/Document.cpp:
+(WebCore::Document::destroyRenderTree):
+
 2017-07-10  Daniel Bates  
 
 REGRESSION (r218616): Cannot build WebCore for macOS 10.12 with macOS 10.13 SDK


Modified: trunk/Source/WebCore/dom/Document.cpp (219295 => 219296)

--- trunk/Source/WebCore/dom/Document.cpp	2017-07-10 16:23:19 UTC (rev 219295)
+++ trunk/Source/WebCore/dom/Document.cpp	2017-07-10 17:03:14 UTC 

[webkit-changes] [219295] trunk/Source/WebKit2

2017-07-10 Thread mcatanzaro
Title: [219295] trunk/Source/WebKit2








Revision 219295
Author mcatanz...@igalia.com
Date 2017-07-10 09:23:19 -0700 (Mon, 10 Jul 2017)


Log Message
[SOUP] Remove WebKitSoupCookieJarSqlite
https://bugs.webkit.org/show_bug.cgi?id=174310

Reviewed by Carlos Garcia Campos.

It seems WebKitSoupCookieJarSqlite uses exactly the same database format as the upstream
SoupCookieJarDb class. WebKitSoupCookieJarSqlite is a copy of SoupCookieJarSqlite that uses
WebCore's SQLite wrapper and WTF stuff. WebKitSoupCookieJarSqlite exists only because
SoupCookieJarDb is relatively new, and the older SoupCookieJarSqlite class existed only in
libsoup-gnome rather than libsoup proper. The advantage of continuing to use our
WebKitSoupCookieJarSqlite class, besides that we already know it works, is that it utilizes
the same SQLiteDatabase class that is used elsewhere in WebKit. But that's not really any
reason to keep the class around, when SoupCookieJarDb does exactly the same thing. It was
introduced in libsoup 2.42 and that is already our minimum required version, so we can
switch now.

This passes a quick sanity-check of Epiphany's cookies dialog and also TestCookieManager.

* PlatformGTK.cmake:
* PlatformWPE.cmake:
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage):
* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: Removed.
* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h: Removed.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/PlatformGTK.cmake
trunk/Source/WebKit2/PlatformWPE.cmake
trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp


Removed Paths

trunk/Source/WebKit2/WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
trunk/Source/WebKit2/WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (219294 => 219295)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 16:21:41 UTC (rev 219294)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 16:23:19 UTC (rev 219295)
@@ -1,3 +1,30 @@
+2017-07-10  Michael Catanzaro  
+
+[SOUP] Remove WebKitSoupCookieJarSqlite
+https://bugs.webkit.org/show_bug.cgi?id=174310
+
+Reviewed by Carlos Garcia Campos.
+
+It seems WebKitSoupCookieJarSqlite uses exactly the same database format as the upstream
+SoupCookieJarDb class. WebKitSoupCookieJarSqlite is a copy of SoupCookieJarSqlite that uses
+WebCore's SQLite wrapper and WTF stuff. WebKitSoupCookieJarSqlite exists only because
+SoupCookieJarDb is relatively new, and the older SoupCookieJarSqlite class existed only in
+libsoup-gnome rather than libsoup proper. The advantage of continuing to use our
+WebKitSoupCookieJarSqlite class, besides that we already know it works, is that it utilizes
+the same SQLiteDatabase class that is used elsewhere in WebKit. But that's not really any
+reason to keep the class around, when SoupCookieJarDb does exactly the same thing. It was
+introduced in libsoup 2.42 and that is already our minimum required version, so we can
+switch now.
+
+This passes a quick sanity-check of Epiphany's cookies dialog and also TestCookieManager.
+
+* PlatformGTK.cmake:
+* PlatformWPE.cmake:
+* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
+(WebKit::WebCookieManager::setCookiePersistentStorage):
+* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: Removed.
+* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h: Removed.
+
 2017-07-10  Myles C. Maxfield  
 
 REGRESSION(r213590): UI process updates the visible content rects more often than it did in iOS 10


Modified: trunk/Source/WebKit2/PlatformGTK.cmake (219294 => 219295)

--- trunk/Source/WebKit2/PlatformGTK.cmake	2017-07-10 16:21:41 UTC (rev 219294)
+++ trunk/Source/WebKit2/PlatformGTK.cmake	2017-07-10 16:23:19 UTC (rev 219295)
@@ -239,7 +239,6 @@
 UIProcess/soup/WebProcessPoolSoup.cpp
 
 WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
-WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
 
 WebProcess/InjectedBundle/API/glib/WebKitConsoleMessage.cpp
 WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp


Modified: trunk/Source/WebKit2/PlatformWPE.cmake (219294 => 219295)

--- trunk/Source/WebKit2/PlatformWPE.cmake	2017-07-10 16:21:41 UTC (rev 219294)
+++ trunk/Source/WebKit2/PlatformWPE.cmake	2017-07-10 16:23:19 UTC (rev 219295)
@@ -222,7 +222,6 @@
 UIProcess/wpe/WebProcessPoolWPE.cpp
 
 WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
-WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
 
 WebProcess/InjectedBundle/API/glib/WebKitConsoleMessage.cpp
 WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp


Modified: trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp (219294 => 219295)

--- 

[webkit-changes] [219294] trunk/Source/WebCore

2017-07-10 Thread dbates
Title: [219294] trunk/Source/WebCore








Revision 219294
Author dba...@webkit.org
Date 2017-07-10 09:21:41 -0700 (Mon, 10 Jul 2017)


Log Message
REGRESSION (r218616): Cannot build WebCore for macOS 10.12 with macOS 10.13 SDK
https://bugs.webkit.org/show_bug.cgi?id=173939

Reviewed by Dan Bernstein.

(The code in this change was either suggested or written by Dan Bernstein with a very
minor adjustment to get it to build).

Allow WebCore to link even though CTFontCreatePhysicalFontForCharactersWithLanguage() is
undefined when building against the macOS 10.13 SDK targeting macOS 10.12. Let the dynamic
linker resolve the undefined symbol.

For completeness the SPI CTFontCreatePhysicalFontForCharactersWithLanguage() was removed
from the macOS 10.13 SDK.

* Configurations/WebCore.xcconfig: Tell the linker that CTFontCreatePhysicalFontForCharactersWithLanguage()
can be undefined when building against macOS 10.13 or later SDK.
* platform/spi/cocoa/CoreTextSPI.h: Annotate CTFontCreatePhysicalFontForCharactersWithLanguage()
with its availability information.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Configurations/WebCore.xcconfig
trunk/Source/WebCore/platform/spi/cocoa/CoreTextSPI.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (219293 => 219294)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 16:17:00 UTC (rev 219293)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 16:21:41 UTC (rev 219294)
@@ -1,3 +1,25 @@
+2017-07-10  Daniel Bates  
+
+REGRESSION (r218616): Cannot build WebCore for macOS 10.12 with macOS 10.13 SDK
+https://bugs.webkit.org/show_bug.cgi?id=173939
+
+Reviewed by Dan Bernstein.
+
+(The code in this change was either suggested or written by Dan Bernstein with a very
+minor adjustment to get it to build).
+
+Allow WebCore to link even though CTFontCreatePhysicalFontForCharactersWithLanguage() is
+undefined when building against the macOS 10.13 SDK targeting macOS 10.12. Let the dynamic
+linker resolve the undefined symbol.
+
+For completeness the SPI CTFontCreatePhysicalFontForCharactersWithLanguage() was removed
+from the macOS 10.13 SDK.
+
+* Configurations/WebCore.xcconfig: Tell the linker that CTFontCreatePhysicalFontForCharactersWithLanguage()
+can be undefined when building against macOS 10.13 or later SDK.
+* platform/spi/cocoa/CoreTextSPI.h: Annotate CTFontCreatePhysicalFontForCharactersWithLanguage()
+with its availability information.
+
 2017-07-10  Zalan Bujtas  
 
 Block of text is missing in iBooks sample books.


Modified: trunk/Source/WebCore/Configurations/WebCore.xcconfig (219293 => 219294)

--- trunk/Source/WebCore/Configurations/WebCore.xcconfig	2017-07-10 16:17:00 UTC (rev 219293)
+++ trunk/Source/WebCore/Configurations/WebCore.xcconfig	2017-07-10 16:21:41 UTC (rev 219294)
@@ -76,7 +76,7 @@
 LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Versions/A/Frameworks;
 LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
 
-OTHER_LDFLAGS = $(inherited) $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM);
+OTHER_LDFLAGS = $(inherited) $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS) $(WK_UNDEFINED_SYMBOLS_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM);
 OTHER_LDFLAGS_BASE = -lsqlite3 -lobjc -lANGLE -framework CoreAudio -framework Metal -allowable_client WebCoreTestSupport -allowable_client WebKitLegacy;
 // FIXME: Reduce the number of allowable_client 
 OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework MobileCoreServices -framework OpenGLES -lMobileGestalt $(WK_IOS_BINCOMPAT_LDFLAGS) -allowable_client WebKit -allowable_client iTunesU -allowable_client Casablanca -allowable_client Remote -allowable_client TVBooks -allowable_client DumpRenderTree -allowable_client WebKitTestRunner -allowable_client TestWebKitAPI;
@@ -84,6 +84,10 @@
 OTHER_LDFLAGS_PLATFORM[sdk=iphonesimulator*] = $(OTHER_LDFLAGS_BASE_ios) $(LIBWEBRTC_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = $(OTHER_LDFLAGS_BASE) -sub_library libobjc -umbrella WebKit -framework ApplicationServices -framework AudioUnit -framework Carbon -framework Cocoa -framework DataDetectorsCore -framework IOSurface -framework OpenGL -framework SystemConfiguration $(LIBWEBRTC_LDFLAGS);
 
+WK_UNDEFINED_SYMBOLS_LDFLAGS = $(WK_UNDEFINED_SYMBOLS_LDFLAGS_$(TARGET_MAC_OS_X_VERSION_LESS_THAN_1013000));
+WK_UNDEFINED_SYMBOLS_LDFLAGS_YES = -Wl,-U,_CTFontCreatePhysicalFontForCharactersWithLanguage;
+WK_UNDEFINED_SYMBOLS_LDFLAGS_YES[sdk=macosx10.12*] =;
+
 SECTORDER_FLAGS = $(SECTORDER_FLAGS_$(CONFIGURATION));
 SECTORDER_FLAGS_Production[sdk=iphoneos*] = -Wl,-order_file,$(SDKROOT)/AppleInternal/OrderFiles/WebCore.order;
 SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,WebCore.order;


[webkit-changes] [219293] trunk/Source/WebKit2

2017-07-10 Thread mmaxfield
Title: [219293] trunk/Source/WebKit2








Revision 219293
Author mmaxfi...@apple.com
Date 2017-07-10 09:17:00 -0700 (Mon, 10 Jul 2017)


Log Message
REGRESSION(r213590): UI process updates the visible content rects more often than it did in iOS 10
https://bugs.webkit.org/show_bug.cgi?id=174282


Reviewed by Simon Fraser.

In r213590, we accidentally refactored -[WKWebView _didCommitLayerTree:] to call _scheduleVisibleContentRectUpdate
more often. Instead, this should be triggered from inside the "if" statements.

No tests because there is no behavior change. Performance change is tested in MotionMark.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoPictureInPicture]):
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView goBack]):
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView _visibleContentRect]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _navigationGestureDidBegin]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _reloadExpiredOnly]):
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _setUnobscuredSafeAreaInsets:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
(-[WKWebView _clearOverrideLayoutParameters]):
(-[WKWebView _requestActivatedElementAtPosition:completionBlock:]):
(-[WKWebView _propertiesOfLayerWithID:]):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (219292 => 219293)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 16:10:18 UTC (rev 219292)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 16:17:00 UTC (rev 219293)
@@ -1,3 +1,40 @@
+2017-07-10  Myles C. Maxfield  
+
+REGRESSION(r213590): UI process updates the visible content rects more often than it did in iOS 10
+https://bugs.webkit.org/show_bug.cgi?id=174282
+
+
+Reviewed by Simon Fraser.
+
+In r213590, we accidentally refactored -[WKWebView _didCommitLayerTree:] to call _scheduleVisibleContentRectUpdate
+more often. Instead, this should be triggered from inside the "if" statements. 
+
+No tests because there is no behavior change. Performance change is tested in MotionMark.
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView _isShowingVideoPictureInPicture]):
+(-[WKWebView _initializeWithConfiguration:]):
+(-[WKWebView goBack]):
+(-[WKWebView _didCommitLayerTree:]):
+(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
+(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
+(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
+(-[WKWebView scrollViewDidScroll:]):
+(-[WKWebView _visibleContentRect]):
+(-[WKWebView _frameOrBoundsChanged]):
+(-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
+(-[WKWebView _updateVisibleContentRects]):
+(-[WKWebView _navigationGestureDidBegin]):
+(-[WKWebView _reloadWithoutContentBlockers]):
+(-[WKWebView _reloadExpiredOnly]):
+(-[WKWebView _setObscuredInsets:]):
+(-[WKWebView _setUnobscuredSafeAreaInsets:]):
+(-[WKWebView _endAnimatedResize]):
+(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
+(-[WKWebView _clearOverrideLayoutParameters]):
+(-[WKWebView _requestActivatedElementAtPosition:completionBlock:]):
+(-[WKWebView _propertiesOfLayerWithID:]):
+
 2017-07-10  Carlos Garcia Campos  
 
 [SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)


Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (219292 => 219293)

--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-07-10 16:10:18 UTC (rev 219292)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-07-10 16:17:00 UTC (rev 219293)
@@ -251,7 +251,7 @@
 
 UIInterfaceOrientation _interfaceOrientationOverride;
 BOOL _overridesInterfaceOrientation;
-
+
 BOOL _allowsViewportShrinkToFit;
 
 BOOL _hasCommittedLoadForMainFrame;
@@ -292,7 +292,7 @@
 
 BOOL _delayUpdateVisibleContentRects;
 BOOL _hadDelayedUpdateVisibleContentRects;
-
+
 int _activeAnimatedResizeCount;
 
 Vector _snapshotsDeferredDuringResize;
@@ -348,7 +348,7 @@
 #else
 if (!_page || !_page->videoFullscreenManager())
 return false;
-
+
 return 

[webkit-changes] [219292] trunk/Tools

2017-07-10 Thread commit-queue
Title: [219292] trunk/Tools








Revision 219292
Author commit-qu...@webkit.org
Date 2017-07-10 09:10:18 -0700 (Mon, 10 Jul 2017)


Log Message
[GStreamer] Live twitch.tv videos do not play
https://bugs.webkit.org/show_bug.cgi?id=174222

Patch by Charlie Turner  on 2017-07-10
Reviewed by Michael Catanzaro.

Upgrade GStreamer to 1.10.5. It contains a change to typefind that
fixes videos not playing on twitch.tv.

* gtk/jhbuild.modules:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/gtk/jhbuild.modules




Diff

Modified: trunk/Tools/ChangeLog (219291 => 219292)

--- trunk/Tools/ChangeLog	2017-07-10 16:03:03 UTC (rev 219291)
+++ trunk/Tools/ChangeLog	2017-07-10 16:10:18 UTC (rev 219292)
@@ -1,3 +1,15 @@
+2017-07-10  Charlie Turner  
+
+[GStreamer] Live twitch.tv videos do not play
+https://bugs.webkit.org/show_bug.cgi?id=174222
+
+Reviewed by Michael Catanzaro.
+
+Upgrade GStreamer to 1.10.5. It contains a change to typefind that
+fixes videos not playing on twitch.tv.
+
+* gtk/jhbuild.modules:
+
 2017-07-09  Zan Dobersek  
 
 Add WebGL2 configuration option to build-webkit


Modified: trunk/Tools/gtk/jhbuild.modules (219291 => 219292)

--- trunk/Tools/gtk/jhbuild.modules	2017-07-10 16:03:03 UTC (rev 219291)
+++ trunk/Tools/gtk/jhbuild.modules	2017-07-10 16:10:18 UTC (rev 219292)
@@ -317,9 +317,9 @@
 
   
 
-+ repo="gstreamer"
-hash="sha256:50c2f5af50a6cc6c0a3f3ed43bdd8b5e2bff00bacfb766d4be139ec06d8b5218">
+hash="sha256:bc06243600817f637029da29d089d5908d1d266542f68bf6626a10c5f05f1f1d">
   
 
   
@@ -333,9 +333,9 @@
 
   
 
-+ repo="gstreamer"
-hash="sha256:f6d245b6b3d4cb733f81ebb021074c525ece83db0c10e932794b339b8d935eb7"/>
+hash="sha256:1c401a79bd1e4521c6ef1b66579bddedd9136e164e54792aab4bfcf3485bf9a7"/>
   
 
   
@@ -347,9 +347,9 @@
   
 
 
-+ repo="gstreamer"
-hash="sha256:8a86c61434a8c44665365bd0b3557a040937d1f44bf69caee4e9ea816ce74d7e">
+hash="sha256:be053f6ed716eeb517cec148cec637cdce571c6e04d5c21409e2876fb76c7639">
   
   
 
@@ -363,9 +363,9 @@
   
   
 
-+ repo="gstreamer"
-hash="sha256:23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966"/>
+hash="sha256:c5806040bb83b43be86ce592e6a19c5d83d7776f7d9f434eb4b911c4efff3573"/>
   
 
   
@@ -372,9 +372,9 @@
 
   
 
-+ repo="gstreamer"
-hash="sha256:6ca0feca75e3d48315e07f20ec37cf6260ed1e9dde58df355febd5016246268b"/>
+hash="sha256:e4d2f315f478d47281fbfdfbd590a63d23704ca37911d7142d5992616f4b28d3"/>
   
 
   






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219291] trunk

2017-07-10 Thread zalan
Title: [219291] trunk








Revision 219291
Author za...@apple.com
Date 2017-07-10 09:03:03 -0700 (Mon, 10 Jul 2017)


Log Message
Block of text is missing in iBooks sample books.
https://bugs.webkit.org/show_bug.cgi?id=174295


Reviewed by Antti Koivisto.

Source/WebCore:

In the simple line layout context, translating y coordinate to a line index is
normally just a (y / line height) operation. However in case of strut offsets (pagination)
we need to take these extra paddings into account while resolving the line index.
This patch fixes the boundary checking for a given line by using the font size only
when the font is taller than the line.

* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::adjustLineIndexForStruts):

LayoutTests:

* fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html: Added.
* fast/multicol/simple-line-layout-line-index-after-strut-2.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp


Added Paths

trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html
trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2.html




Diff

Modified: trunk/LayoutTests/ChangeLog (219290 => 219291)

--- trunk/LayoutTests/ChangeLog	2017-07-10 13:21:35 UTC (rev 219290)
+++ trunk/LayoutTests/ChangeLog	2017-07-10 16:03:03 UTC (rev 219291)
@@ -1,3 +1,14 @@
+2017-07-10  Zalan Bujtas  
+
+Block of text is missing in iBooks sample books.
+https://bugs.webkit.org/show_bug.cgi?id=174295
+
+
+Reviewed by Antti Koivisto.
+
+* fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html: Added.
+* fast/multicol/simple-line-layout-line-index-after-strut-2.html: Added.
+
 2017-07-08  John Wilander  
 
 Resource Load Statistics: User interaction should always go to top document


Added: trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html (0 => 219291)

--- trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2-expected.html	2017-07-10 16:03:03 UTC (rev 219291)
@@ -0,0 +1,32 @@
+
+
+
+This tests that paginated lines are painting properly when line is taller than the font.
+
+html {
+	overflow: hidden;
+}
+div {
+  font-size: 20px;
+  line-height: 50px;
+  width: 50px;
+  margin-top: -8px;
+}
+
+
+
+
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+
+
+if (window.internals)
+internals.setPagination("LeftToRightPaginated", 0);
+
+
+


Added: trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2.html (0 => 219291)

--- trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2.html	(rev 0)
+++ trunk/LayoutTests/fast/multicol/simple-line-layout-line-index-after-strut-2.html	2017-07-10 16:03:03 UTC (rev 219291)
@@ -0,0 +1,64 @@
+
+
+
+This tests that paginated lines are painting properly when line is taller than the font.
+
+html {
+	overflow: hidden;
+}
+div {
+  column-fill: auto;
+  font-size: 20px;
+  line-height: 50px;
+  width: 50px;
+}
+
+
+
+
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+foobar
+
+
+if (window.internals)
+internals.setPagination("LeftToRightPaginated", 0);
+if (window.testRunner)
+testRunner.waitUntilDone();
+
+setTimeout(function() {
+window.scrollTo(1600, 0);
+document.body.offsetHeight;
+if (window.testRunner)
+testRunner.notifyDone();
+}, 0);
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (219290 => 219291)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 13:21:35 UTC (rev 219290)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 16:03:03 UTC (rev 219291)
@@ -1,3 +1,20 @@
+2017-07-10  Zalan Bujtas  
+
+Block of text is missing in iBooks sample books.
+https://bugs.webkit.org/show_bug.cgi?id=174295
+
+
+Reviewed by Antti Koivisto.
+
+In the simple line layout context, translating y coordinate to a line index is
+normally just a (y / line height) operation. However in case of strut offsets (pagination)
+we need to take these extra paddings into account while resolving the line index.
+This patch fixes the boundary checking for a given line by using the font size only
+when the font is taller than the line.
+
+* rendering/SimpleLineLayoutResolver.cpp:
+(WebCore::SimpleLineLayout::RunResolver::adjustLineIndexForStruts):
+
 2017-07-10  Carlos Garcia Campos  
 
 [SOUP] SoupCookieJar is never released 

[webkit-changes] [219290] trunk/Source

2017-07-10 Thread carlosgc
Title: [219290] trunk/Source








Revision 219290
Author carlo...@webkit.org
Date 2017-07-10 06:21:35 -0700 (Mon, 10 Jul 2017)


Log Message
[SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)
https://bugs.webkit.org/show_bug.cgi?id=166029

Reviewed by Michael Catanzaro.

Source/WebCore:

Add clearSoupNetworkSessionAndCookieStorage() to clear the SoupNetworkSession and cookie storage of the main
network session, ensuring the cookies database is properly closed.

* platform/network/NetworkStorageSession.h:
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::clearSoupNetworkSessionAndCookieStorage):

Source/WebKit2:

Clear the SoupNetworkSession and cookie storage after the main loop quits.

* NetworkProcess/soup/NetworkProcessMainSoup.cpp:
(WebKit::NetworkProcessMainUnix):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/NetworkStorageSession.h
trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (219289 => 219290)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 13:21:35 UTC (rev 219290)
@@ -1,5 +1,19 @@
 2017-07-10  Carlos Garcia Campos  
 
+[SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)
+https://bugs.webkit.org/show_bug.cgi?id=166029
+
+Reviewed by Michael Catanzaro.
+
+Add clearSoupNetworkSessionAndCookieStorage() to clear the SoupNetworkSession and cookie storage of the main
+network session, ensuring the cookies database is properly closed.
+
+* platform/network/NetworkStorageSession.h:
+* platform/network/soup/NetworkStorageSessionSoup.cpp:
+(WebCore::NetworkStorageSession::clearSoupNetworkSessionAndCookieStorage):
+
+2017-07-10  Carlos Garcia Campos  
+
 Move make-js-file-arrays.py from WebCore to _javascript_Core
 https://bugs.webkit.org/show_bug.cgi?id=174024
 


Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (219289 => 219290)

--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2017-07-10 13:21:35 UTC (rev 219290)
@@ -92,6 +92,7 @@
 
 SoupNetworkSession* soupNetworkSession() const { return m_session.get(); };
 SoupNetworkSession& getOrCreateSoupNetworkSession() const;
+void clearSoupNetworkSessionAndCookieStorage();
 SoupCookieJar* cookieStorage() const;
 void setCookieStorage(SoupCookieJar*);
 void setCookieObserverHandler(Function&&);


Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (219289 => 219290)

--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp	2017-07-10 13:21:35 UTC (rev 219290)
@@ -103,6 +103,14 @@
 return *m_session;
 }
 
+void NetworkStorageSession::clearSoupNetworkSessionAndCookieStorage()
+{
+ASSERT(defaultSession().get() == this);
+m_session = nullptr;
+m_cookieObserverHandler = nullptr;
+m_cookieStorage = nullptr;
+}
+
 void NetworkStorageSession::cookiesDidChange(NetworkStorageSession* session)
 {
 if (session->m_cookieObserverHandler)


Modified: trunk/Source/WebKit2/ChangeLog (219289 => 219290)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 13:21:35 UTC (rev 219290)
@@ -1,3 +1,15 @@
+2017-07-10  Carlos Garcia Campos  
+
+[SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)
+https://bugs.webkit.org/show_bug.cgi?id=166029
+
+Reviewed by Michael Catanzaro.
+
+Clear the SoupNetworkSession and cookie storage after the main loop quits.
+
+* NetworkProcess/soup/NetworkProcessMainSoup.cpp:
+(WebKit::NetworkProcessMainUnix):
+
 2017-07-10  Wenson Hsieh  
 
 [WK2] Action sheets for links fail to present in WebKit2 PDF view


Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp (219289 => 219290)

--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp	2017-07-10 13:21:35 UTC (rev 219290)
@@ -29,12 +29,21 @@
 
 #include "ChildProcessMain.h"
 #include "NetworkProcessMainUnix.h"
+#include 
 
 namespace WebKit {
 
+class NetworkProcessMain final: public ChildProcessMainBase {
+public:
+void platformFinalize() override
+{
+

[webkit-changes] [219289] trunk

2017-07-10 Thread carlosgc
Title: [219289] trunk








Revision 219289
Author carlo...@webkit.org
Date 2017-07-10 06:19:55 -0700 (Mon, 10 Jul 2017)


Log Message
Move make-js-file-arrays.py from WebCore to _javascript_Core
https://bugs.webkit.org/show_bug.cgi?id=174024

Reviewed by Michael Catanzaro.

.:

Make MAKE_JS_FILE_ARRAYS independent of WebCore and update it to use make-js-file-arrays.py from
_javascript_Core. It's no longer needed to set PYTHON_PATH to find jsmin.py.

* Source/cmake/WebKitMacros.cmake:

Source/_javascript_Core:

It's currently used only by WebCore, but it depends on other _javascript_Core scripts and it's not WebCore
specific at all. I plan to use it to compile the _javascript_ atoms used by the WebDriver implementation.
Added command line option to pass the namespace to use instead of using WebCore.

* _javascript_Core.xcodeproj/project.pbxproj:
* Scripts/make-js-file-arrays.py: Renamed from Source/WebCore/Scripts/make-js-file-arrays.py.
(main):

Source/WebCore:

* CMakeLists.txt: Explicitly add files generated by MAKE_JS_FILE_ARRAYS to the build, since the macro no longer
does it.
* DerivedSources.make: Updated to use make-js-file-arrays.py from _javascript_Core. It's no longer needed to set
PYTHON_PATH to find jsmin.py.

Modified Paths

trunk/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj
trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/DerivedSources.make
trunk/Source/cmake/WebKitMacros.cmake


Added Paths

trunk/Source/_javascript_Core/Scripts/make-js-file-arrays.py


Removed Paths

trunk/Source/WebCore/Scripts/make-js-file-arrays.py




Diff

Modified: trunk/ChangeLog (219288 => 219289)

--- trunk/ChangeLog	2017-07-10 10:13:47 UTC (rev 219288)
+++ trunk/ChangeLog	2017-07-10 13:19:55 UTC (rev 219289)
@@ -1,3 +1,15 @@
+2017-07-10  Carlos Garcia Campos  
+
+Move make-js-file-arrays.py from WebCore to _javascript_Core
+https://bugs.webkit.org/show_bug.cgi?id=174024
+
+Reviewed by Michael Catanzaro.
+
+Make MAKE_JS_FILE_ARRAYS independent of WebCore and update it to use make-js-file-arrays.py from
+_javascript_Core. It's no longer needed to set PYTHON_PATH to find jsmin.py.
+
+* Source/cmake/WebKitMacros.cmake:
+
 2017-07-08  Yusuke Suzuki  
 
 Drop NOSNIFF compile flag


Modified: trunk/Source/_javascript_Core/ChangeLog (219288 => 219289)

--- trunk/Source/_javascript_Core/ChangeLog	2017-07-10 10:13:47 UTC (rev 219288)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-07-10 13:19:55 UTC (rev 219289)
@@ -1,3 +1,18 @@
+2017-07-10  Carlos Garcia Campos  
+
+Move make-js-file-arrays.py from WebCore to _javascript_Core
+https://bugs.webkit.org/show_bug.cgi?id=174024
+
+Reviewed by Michael Catanzaro.
+
+It's currently used only by WebCore, but it depends on other _javascript_Core scripts and it's not WebCore
+specific at all. I plan to use it to compile the _javascript_ atoms used by the WebDriver implementation.
+Added command line option to pass the namespace to use instead of using WebCore.
+
+* _javascript_Core.xcodeproj/project.pbxproj:
+* Scripts/make-js-file-arrays.py: Renamed from Source/WebCore/Scripts/make-js-file-arrays.py.
+(main):
+
 2017-07-09  Yusuke Suzuki  
 
 [JSC] Drop LineNumberAdder since we no longer treat  (not ) as one line terminator


Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (219288 => 219289)

--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2017-07-10 10:13:47 UTC (rev 219288)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2017-07-10 13:19:55 UTC (rev 219289)
@@ -1900,6 +1900,7 @@
 		A5EA710A19F6DE7E0098F5EC /* generate_objc_internal_header.py in Headers */ = {isa = PBXBuildFile; fileRef = A5EA70F619F6DE5A0098F5EC /* generate_objc_internal_header.py */; settings = {ATTRIBUTES = (Private, ); }; };
 		A5EA710C19F6DE820098F5EC /* objc_generator.py in Headers */ = {isa = PBXBuildFile; fileRef = A5EA70F819F6DE5A0098F5EC /* objc_generator.py */; settings = {ATTRIBUTES = (Private, ); }; };
 		A5EA710E19F6DF810098F5EC /* InspectorAlternateBackendDispatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = A5EA710D19F6DF810098F5EC /* InspectorAlternateBackendDispatchers.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		A5EF13F91F073204000F0442 /* make-js-file-arrays.py in Headers */ = {isa = PBXBuildFile; fileRef = A5EF13F71F0731B4000F0442 /* make-js-file-arrays.py */; settings = {ATTRIBUTES = (Private, ); }; };
 		A5EF9B141A1D43F600702E90 /* generate_cpp_backend_dispatcher_header.py in Headers */ = {isa = PBXBuildFile; fileRef = C4F4B6D11A05C76F005CAB76 /* generate_cpp_backend_dispatcher_header.py */; settings = {ATTRIBUTES = (Private, ); }; };
 		

[webkit-changes] [219288] trunk/Source/WebCore

2017-07-10 Thread commit-queue
Title: [219288] trunk/Source/WebCore








Revision 219288
Author commit-qu...@webkit.org
Date 2017-07-10 03:13:47 -0700 (Mon, 10 Jul 2017)


Log Message
[GTK] http/tests/media/video-redirect.html is failing
https://bugs.webkit.org/show_bug.cgi?id=174260

Patch by Charlie Turner  on 2017-07-10
Reviewed by Carlos Garcia Campos.

Make sure we're testing new URLs within the same security origin.

Covered by existing tests.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::convertToInternalProtocol): Factor out setting our
internal URL schema.
(WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL): Use the
refactored helper.
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation): Use
refactored helper to ensure both URLs have the same origin.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (219287 => 219288)

--- trunk/Source/WebCore/ChangeLog	2017-07-10 10:04:53 UTC (rev 219287)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 10:13:47 UTC (rev 219288)
@@ -1,3 +1,22 @@
+2017-07-10  Charlie Turner  
+
+[GTK] http/tests/media/video-redirect.html is failing
+https://bugs.webkit.org/show_bug.cgi?id=174260
+
+Reviewed by Carlos Garcia Campos.
+
+Make sure we're testing new URLs within the same security origin.
+
+Covered by existing tests.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+(WebCore::convertToInternalProtocol): Factor out setting our
+internal URL schema.
+(WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL): Use the
+refactored helper.
+(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation): Use
+refactored helper to ensure both URLs have the same origin.
+
 2017-07-08  John Wilander  
 
 Resource Load Statistics: User interaction should always go to top document


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (219287 => 219288)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2017-07-10 10:04:53 UTC (rev 219287)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2017-07-10 10:13:47 UTC (rev 219288)
@@ -210,6 +210,12 @@
 }
 }
 
+static void convertToInternalProtocol(URL& url)
+{
+if (url.protocolIsInHTTPFamily())
+url.setProtocol("webkit+" + url.protocol());
+}
+
 void MediaPlayerPrivateGStreamer::setPlaybinURL(const URL& url)
 {
 // Clean out everything after file:// url path.
@@ -218,10 +224,8 @@
 cleanURLString = cleanURLString.substring(0, url.pathEnd());
 
 m_url = URL(URL(), cleanURLString);
+convertToInternalProtocol(m_url);
 
-if (m_url.protocolIsInHTTPFamily())
-m_url.setProtocol("webkit+" + url.protocol());
-
 GST_INFO("Load %s", m_url.string().utf8().data());
 g_object_set(m_pipeline.get(), "uri", m_url.string().utf8().data(), nullptr);
 }
@@ -1668,6 +1672,7 @@
 // append the value of new-location to it.
 URL baseUrl = gst_uri_is_valid(newLocation) ? URL() : m_url;
 URL newUrl = URL(baseUrl, newLocation);
+convertToInternalProtocol(newUrl);
 
 RefPtr securityOrigin = SecurityOrigin::create(m_url);
 if (securityOrigin->canRequest(newUrl)) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [219287] trunk/Source/WebKit2

2017-07-10 Thread wenson_hsieh
Title: [219287] trunk/Source/WebKit2








Revision 219287
Author wenson_hs...@apple.com
Date 2017-07-10 03:04:53 -0700 (Mon, 10 Jul 2017)


Log Message
[WK2] Action sheets for links fail to present in WebKit2 PDF view
https://bugs.webkit.org/show_bug.cgi?id=174307


Reviewed by Tim Horton.

Currently, presenting an action sheet for a link always uses the WKActionSheetPresentAtClosestIndicatorRect
codepath, which requires text indicator data for the link. However, when showing an action sheet for a link via
WKPDFView, a text indicator for the link is not included, so the popover rect ends up being an empty rect at the
origin, which causes us to bail from presenting the popover.

To address this, we tweak our heuristic for determining which action sheet presentation style to use, so that we
only use the closest indicator rect for a link if the text indicator data is also present (otherwise, we fall
back to using the element rect). All other behavior is the same.

* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]):
(presentationStyleForView):

Refactor _shouldPresentAtTouchLocationForElementRect into presentationStyleForView, a static function that
returns a WKActionSheetPresentationStyle.

(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant _shouldPresentAtTouchLocationForElementRect:]): Deleted.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (219286 => 219287)

--- trunk/Source/WebKit2/ChangeLog	2017-07-10 05:58:57 UTC (rev 219286)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 10:04:53 UTC (rev 219287)
@@ -1,3 +1,30 @@
+2017-07-10  Wenson Hsieh  
+
+[WK2] Action sheets for links fail to present in WebKit2 PDF view
+https://bugs.webkit.org/show_bug.cgi?id=174307
+
+
+Reviewed by Tim Horton.
+
+Currently, presenting an action sheet for a link always uses the WKActionSheetPresentAtClosestIndicatorRect
+codepath, which requires text indicator data for the link. However, when showing an action sheet for a link via
+WKPDFView, a text indicator for the link is not included, so the popover rect ends up being an empty rect at the
+origin, which causes us to bail from presenting the popover.
+
+To address this, we tweak our heuristic for determining which action sheet presentation style to use, so that we
+only use the closest indicator rect for a link if the text indicator data is also present (otherwise, we fall
+back to using the element rect). All other behavior is the same.
+
+* UIProcess/ios/WKActionSheetAssistant.mm:
+(-[WKActionSheetAssistant showImageSheet]):
+(presentationStyleForView):
+
+Refactor _shouldPresentAtTouchLocationForElementRect into presentationStyleForView, a static function that
+returns a WKActionSheetPresentationStyle.
+
+(-[WKActionSheetAssistant showLinkSheet]):
+(-[WKActionSheetAssistant _shouldPresentAtTouchLocationForElementRect:]): Deleted.
+
 2017-07-09  Brady Eidson  
 
 Remove some obsolete WebKitVersionChecks.


Modified: trunk/Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm (219286 => 219287)

--- trunk/Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm	2017-07-10 05:58:57 UTC (rev 219286)
+++ trunk/Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm	2017-07-10 10:04:53 UTC (rev 219287)
@@ -371,7 +371,7 @@
 
 _elementInfo = WTFMove(elementInfo);
 
-if (![_interactionSheet presentSheet:[self _shouldPresentAtTouchLocationForElementRect:elementBounds] ? WKActionSheetPresentAtTouchLocation : WKActionSheetPresentAtElementRect])
+if (![_interactionSheet presentSheet:presentationStyleForView(_view.getAutoreleased(), _positionInformation.value(), _elementInfo.get())])
 [self cleanupSheet];
 };
 
@@ -393,10 +393,9 @@
 showImageSheetWithAlternateURLBlock(nil, nil);
 }
 
-- (BOOL)_shouldPresentAtTouchLocationForElementRect:(CGRect)elementRect
+static WKActionSheetPresentationStyle presentationStyleForView(UIView *view, const InteractionInformationAtPosition& positionInfo, _WKActivatedElementInfo *elementInfo)
 {
-UIView *view = _view.getAutoreleased();
-auto apparentElementRect = [view convertRect:elementRect toView:view.window];
+auto apparentElementRect = [view convertRect:positionInfo.bounds toView:view.window];
 auto windowRect = view.window.bounds;
 apparentElementRect = CGRectIntersection(apparentElementRect, windowRect);
 
@@ -408,7 +407,13 @@
 // If at least this much of the window is available for the popover to draw in, then target the element rect when presenting the action menu popover.
 // Otherwise, there is not enough space to position the popover around the element, so revert to using the touch location instead.
 static const