[webkit-changes] [219323] trunk
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) --- trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp 2017-07-11 03:46:16 UTC (rev 219322) +++ trunk/Source/WebK
[webkit-changes] [219322] trunk/Websites/perf.webkit.org
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
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--) +this._expandedTests.add(path[i]); +
[webkit-changes] [219320] trunk
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 boundingClientRect; +var expectedTop
[webkit-changes] [219319] trunk
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 trunk/Tools/WebKitTestRun
[webkit-changes] [219318] trunk/Source/WebKit2
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
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()); +break; +} +
[webkit-changes] [219316] trunk
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: 255}, +marginColor: {r: 255, g: 255
[webkit-changes] [219314] trunk/Source/WebKit2
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
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
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 trunk/Source/WebK
[webkit-changes] [219311] trunk/LayoutTests
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 fast/mediacapturefromelement/CanvasCaptureMediaStream-2d-events.html [ Pass Timeout ] webkit.org/b/172
[webkit-changes] [219310] trunk
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 trunk/Source/WebKit2/Chang
[webkit-changes] [219309] trunk/LayoutTests
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
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
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
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
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; +} } else if (auto firstSource = childrenOfType(*this).first()) { //Otherwis
[webkit-changes] [219304] trunk/Source
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. + +Add the root view location of a tap to a NavigationAction to ven
[webkit-changes] [219303] trunk/LayoutTests
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
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 trunk/Source/WebCore/bindings/js/JSLocationCus
[webkit-changes] [219300] trunk/Tools
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): self.assertEqual(self.make_port(options=MockOptions(configuration='Release')).default_timeout_ms(), 1500
[webkit-changes] [219299] trunk/LayoutTests
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
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 trunk/Source/WebCo
[webkit-changes] [219297] trunk
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. * http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-del
[webkit-changes] [219296] trunk
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()'>