Timeline
Feb 25, 2017:
- 11:19 PM Changeset in webkit [213009] by
-
- 6 edits2 adds in trunk/Source/WebCore
Simple line layout: Move coverage functions out of SimpleLineLayout.cpp
https://bugs.webkit.org/show_bug.cgi?id=168872
Reviewed by Simon Fraser.
SimpleLineLayout.cpp is for core functions only.
No change in functionality.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderingAllInOne.cpp:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::printReason): Deleted.
(WebCore::SimpleLineLayout::printReasons): Deleted.
(WebCore::SimpleLineLayout::printTextForSubtree): Deleted.
(WebCore::SimpleLineLayout::textLengthForSubtree): Deleted.
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows): Deleted.
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage): Deleted.
(WebCore::SimpleLineLayout::toggleSimpleLineLayout): Deleted.
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList): Deleted.
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage): Deleted.
- rendering/SimpleLineLayout.h:
- rendering/SimpleLineLayoutCoverage.cpp: Added.
(WebCore::SimpleLineLayout::printReason):
(WebCore::SimpleLineLayout::printReasons):
(WebCore::SimpleLineLayout::printTextForSubtree):
(WebCore::SimpleLineLayout::textLengthForSubtree):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage):
(WebCore::SimpleLineLayout::toggleSimpleLineLayout):
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList):
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage):
- rendering/SimpleLineLayoutCoverage.h: Added.
- 2:18 PM Changeset in webkit [213008] by
-
- 3 edits2 adds in trunk
Text might wrap when its preferred logical width is used for sizing the containing block.
https://bugs.webkit.org/show_bug.cgi?id=168864
<rdar://problem/30690734>
Reviewed by Antti Koivisto.
Source/WebCore:
In certain cases we end up measuring a text run in 2 different ways.
- preferred width computation -> slow path FontCascade::width()
- line breaking logic -> fast path FontCascade::widthForSimpleText()
FontCascade::width() and ::widthForSimpleText() might return different results for the same run even when
the individual glyph widths are measured to be the same. It's because they run diffrent set of
arithmetics on the float values and for certain values these arithmetics produce different results due to the floating point
precision.
Since RenderText::computePreferredLogicalWidths() currently forces us to use the slow path
(to retrieve fontfallback and glyph overflow information) the only alternative solution is to turn off the fast path
for all runs that have been already measured using the slow path (which would be just wasteful).
Test: fast/text/fast-run-width-vs-slow-run-width.html
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText): Mimics WidthIterator::applyFontTransforms. Use the same set of arithmetics here.
LayoutTests:
- fast/text/fast-run-width-vs-slow-run-width-expected.html: Added.
- fast/text/fast-run-width-vs-slow-run-width.html: Added.
- 11:02 AM Changeset in webkit [213007] by
-
- 3 edits in trunk/Source/WebCore
Improve how multiple codegen-properties are handled in CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=168867
Reviewed by Zalan Bujtas.
To make upcoming metadata storage easier, it's better if property entries in CSSProperties.json
are always hashes. One property (line-height) used an array, in order to represent settings for
two different build flags (ENABLE_TEXT_AUTOSIZING and !ENABLE_TEXT_AUTOSIZING).
Fix by making "codegen-properties" optionally be an array. The relevant item is selected in
removeInactiveCodegenProperties() and used to replace the array.
Sort @internalProprerties when generating code, otherwise the contents of isInternalCSSProperty()
are unstable (the order in @allNames is not stable because it's the keys in a hash).
- css/CSSProperties.json:
- css/makeprop.pl:
(matchEnableFlags):
(removeInactiveCodegenProperties):
(isPropertyEnabled):
- 8:33 AM Changeset in webkit [213006] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK test gardening
- platform/gtk/TestExpectations:
- 7:47 AM Changeset in webkit [213005] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Unreviewed, document deficiency in webkit_website_data_manager_clear() API
Document that this function cannot currently delete cookie data for a particular period of
time.
- UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
- 1:23 AM Changeset in webkit [213004] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: add support for Color Picker
https://bugs.webkit.org/show_bug.cgi?id=168853
Patch by Devin Rousso <Devin Rousso> on 2017-02-25
Reviewed by Brian Burg.
- UserInterface/Views/ColorPicker.css:
(.color-picker):
(body[dir=ltr] .color-picker > .brightness):
(body[dir=rtl] .color-picker > .brightness):
(body[dir=ltr] .color-picker > .opacity):
(body[dir=rtl] .color-picker > .opacity):
(.color-picker > .brightness): Deleted.
(.color-picker > .opacity): Deleted.
- UserInterface/Views/ColorWheel.js:
(WebInspector.ColorWheel.prototype.set dimension):
Set the CSS width and height style of the container element to ensure that the element only
takes up the space it needs.
- UserInterface/Views/Slider.css:
(.slider):
- UserInterface/Views/Variables.css:
(:root):
Add--slider-heightCSS variable for convenience.
- 12:58 AM Changeset in webkit [213003] by
-
- 4 edits in trunk/Websites/perf.webkit.org
Commit should order by 'commit_order' as secondary key.
https://bugs.webkit.org/show_bug.cgi?id=168866
Reviewed by Ryosuke Niwa.
Currently, commits are sorted by 'commit_time' only.
We should use 'commit_order' as secondary key when 'commit_time' is equal or null.
- public/include/commit-log-fetcher.php:
- public/include/db.php:
- server-tests/api-commits.js:
(return.addSlaveForReport.subversionCommits.then):
(then):
- 12:44 AM Changeset in webkit [213002] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: add support for Bezier/Spring editor
https://bugs.webkit.org/show_bug.cgi?id=168854
Patch by Devin Rousso <Devin Rousso> on 2017-02-25
Reviewed by Brian Burg.
- UserInterface/Views/BezierEditor.css:
(.bezier-editor):
(body[dir=ltr] .bezier-editor):
(body[dir=rtl] .bezier-editor):
(.bezier-editor > .bezier-preview-timing):
(body[dir=ltr] .bezier-editor > .bezier-preview-timing):
(body[dir=rtl] .bezier-editor > .bezier-preview-timing):
(@keyframes bezierPreview):
(body[dir=rtl] .bezier-editor > .bezier-container):
(.bezier-editor > .number-input-container > input):
(body[dir=ltr] .bezier-editor > .number-input-container > input):
(body[dir=rtl] .bezier-editor > .number-input-container > input):
- UserInterface/Views/SpringEditor.css:
(.spring-editor > .spring-timing):
(.spring-editor > .spring-timing::before):
(.spring-editor > .spring-timing::after):
(body[dir=ltr] .spring-editor > .spring-timing::before, body[dir=rtl] .spring-editor > .spring-timing::after):
(body[dir=ltr] .spring-editor > .spring-timing::after, body[dir=rtl] .spring-editor > .spring-timing::before):
(.spring-editor > .number-input-container > .number-input-row > input):
- UserInterface/Views/SpringEditor.js:
(WebInspector.SpringEditor.prototype._updatePreviewAnimation):
- 12:43 AM Changeset in webkit [213001] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: Elements tab Styles sidebar label/arrows need adjustment
https://bugs.webkit.org/show_bug.cgi?id=168746
Patch by Devin Rousso <Devin Rousso> on 2017-02-25
Reviewed by Brian Burg.
- UserInterface/Views/ScopeRadioButtonNavigationItem.css:
(.scope-radio-button-navigation-item):
(.scope-radio-button-navigation-item > .scope-radio-button-item-select):
(body[dir=ltr] .scope-radio-button-navigation-item > .scope-radio-button-item-select):
(body[dir=rtl] .scope-radio-button-navigation-item > .scope-radio-button-item-select):
(.scope-radio-button-navigation-item > .scope-radio-button-item-select:focus):
(.scope-radio-button-navigation-item > .arrows):
(body[dir=ltr] .scope-radio-button-navigation-item > .arrows):
(body[dir=rtl] .scope-radio-button-navigation-item > .arrows):
- 12:29 AM Changeset in webkit [213000] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: copying a search result out of Search Tab navigation sidebar does nothing
https://bugs.webkit.org/show_bug.cgi?id=167074
Patch by Devin Rousso <Devin Rousso> on 2017-02-25
Reviewed by Brian Burg.
- UserInterface/Base/Main.js:
(WebInspector._copy):
- UserInterface/Views/SearchTabContentView.js:
(WebInspector.SearchTabContentView.prototype.handleCopyEvent):
Provide the container TabContentView with the opportunity to intercept the copy event.
- UserInterface/Models/SourceCodeTextRange.js:
(WebInspector.SourceCodeTextRange.prototype.get synthesizedTextValue):
- UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement.prototype.get synthesizedTextValue):
Generate a string with the format${url}:${lineNumber}:${resultLine}.
- 12:08 AM Changeset in webkit [212999] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: Styles - Rules sidebar icons are misaligned
https://bugs.webkit.org/show_bug.cgi?id=168807
Patch by Devin Rousso <Devin Rousso> on 2017-02-25
Reviewed by Brian Burg.
- UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section > .header):
(body[dir=ltr] .style-declaration-section > .header):
(body[dir=rtl] .style-declaration-section > .header):
(.style-declaration-section.locked > .header > .locked-icon):
(body[dir=ltr] .style-declaration-section.locked > .header > .locked-icon):
(body[dir=rtl] .style-declaration-section.locked > .header > .locked-icon):
(.style-declaration-section > .header > .icon):
(body[dir=ltr] .style-declaration-section > .header > .icon):
(body[dir=rtl] .style-declaration-section > .header > .icon):
(.style-declaration-section > .header > textarea):
(body[dir=ltr] .style-declaration-section > .header > textarea):
(body[dir=rtl] .style-declaration-section > .header > textarea):
(.style-declaration-section.invalid-selector > .header > .icon):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
(body[dir=ltr] .sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
(body[dir=rtl] .sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
(body[dir=ltr] .sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
(body[dir=rtl] .sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(body[dir=ltr] .sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(body[dir=rtl] .sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
- UserInterface/Views/Variables.css:
(:root):
- 12:05 AM Changeset in webkit [212998] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: disclosure triangles in details section headers should be flipped and aligned right
https://bugs.webkit.org/show_bug.cgi?id=168283
Patch by Devin Rousso <Devin Rousso> on 2017-02-25
Reviewed by Brian Burg.
- UserInterface/Views/DetailsSection.css:
(.details-section):
(.details-section > .header):
(body[dir=ltr] .details-section > .header):
(body[dir=rtl] .details-section > .header):
(.details-section > .header > .options > .navigation-bar):
(body[dir=ltr] .details-section > .header > :matches(label, .node-link, .go-to-arrow, .options > .navigation-bar), body[dir=rtl] .details-section > .header::before):
(body[dir=ltr] .details-section > .header::before, body[dir=rtl] .details-section > .header > :matches(label, .node-link, .go-to-arrow, .options > .navigation-bar)):
(.details-section > .header::before):
(body[dir=rtl] .details-section > .header::before):
(.details-section > .header > label):
(.details-section > .header > label > input[type="checkbox"]):
(body[dir=ltr] .details-section > .header > label > input[type="checkbox"]):
(body[dir=rtl] .details-section > .header > label > input[type="checkbox"]):
(.details-section > .header .go-to-arrow):
(body[dir=ltr] .details-section > .header .go-to-arrow):
(body[dir=rtl] .details-section > .header .go-to-arrow):
(.details-section > .content > .group > .row.simple > .label):
(body[dir=ltr] .details-section > .content > .group > .row.simple > .label):
(body[dir=rtl] .details-section > .content > .group > .row.simple > .label):
(.details-section > .content > .group > .row.simple > .value):
(body[dir=ltr] .details-section > .content > .group > .row.simple > .value):
(body[dir=rtl] .details-section > .content > .group > .row.simple > .value):
(.details-section > .content > .group > .row.simple > .value .go-to-arrow):
(body[dir=ltr] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
(body[dir=rtl] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
(.details-section > .header > :matches(.node-link, .go-to-arrow)): Deleted.
- 12:02 AM Changeset in webkit [212997] by
-
- 7 edits in trunk/Websites/perf.webkit.org
REGRESSION(r212853): Comparisons to baseline no longer shows up
https://bugs.webkit.org/show_bug.cgi?id=168863
Reviewed by Joseph Pecoraro.
The bug was caused by ChartStatusView's code not being updated to use TimeSeriesView's.
Updated the code to use TimeSeriesView's methods to fix the bug.
Also made InteractiveTimeSeriesChart's currentPoint to return a (TimeSeriesView, point, isLocked) tuple
to consolidate it with lockedIndicator() to work towards making the baseline data points selectable.
- browser-tests/time-series-chart-tests.js: Updated the test cases to use currentIndicator, and added
test cases for newly added lastPointInTimeRange.
- public/v3/components/chart-pane.js:
(ChartPane.prototype.serializeState): Updated to use currentIndicator.
(ChartPane.prototype._renderFilteringPopover): Ditto.
- public/v3/components/chart-status-view.js:
(ChartStatusView.prototype.updateStatusIfNeeded): Use currentIndicator for an interative time series.
Fixed the non-interactive chart's code path for TimeSeriesView.
(ChartStatusView.prototype._computeChartStatus): Modernized the code.
(ChartStatusView.prototype._findLastPointPriorToTime): Deleted. Replaced by TimeSeriesView's
lastPointInTimeRange.
- public/v3/components/interactive-time-series-chart.js:
(InteractiveTimeSeriesChart.prototype.currentIndicator):
(InteractiveTimeSeriesChart.prototype.moveLockedIndicatorWithNotification):
(InteractiveTimeSeriesChart.prototype._renderChartContent):
(InteractiveTimeSeriesChart):
- public/v3/models/time-series.js:
(TimeSeriesView.prototype.lastPointInTimeRange): Added.
(TimeSeriesView.prototype._reverse): Added. Traverses the view in the reverse order.
- unit-tests/time-series-tests.js:
Feb 24, 2017:
- 11:53 PM Changeset in webkit [212996] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: add support for Error page
https://bugs.webkit.org/show_bug.cgi?id=168855
Patch by Devin Rousso <Devin Rousso> on 2017-02-24
Reviewed by Brian Burg.
- UserInterface/Debug/UncaughtExceptionReporter.css:
(.uncaught-exception-sheet):
(body[dir=ltr] .uncaught-exception-sheet):
(body[dir=rtl] .uncaught-exception-sheet):
(.uncaught-exception-sheet h1 > img):
(body[dir=ltr] .uncaught-exception-sheet h1 > img):
(body[dir=rtl] .uncaught-exception-sheet h1 > img):
(.uncaught-exception-sheet h2 > img):
(body[dir=ltr] .uncaught-exception-sheet h2 > img):
(body[dir=rtl] .uncaught-exception-sheet h2 > img):
(.uncaught-exception-sheet dd):
(body[dir=ltr] .uncaught-exception-sheet dd):
(body[dir=rtl] .uncaught-exception-sheet dd):
(.uncaught-exception-sheet ul):
(body[dir=ltr] .uncaught-exception-sheet ul):
(body[dir=rtl] .uncaught-exception-sheet ul):
- 11:50 PM Changeset in webkit [212995] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught Exception: Unknown angle units "undefined"
https://bugs.webkit.org/show_bug.cgi?id=168851
Patch by Devin Rousso <Devin Rousso> on 2017-02-24
Reviewed by Brian Burg.
- UserInterface/Views/GradientEditor.js:
(WebInspector.GradientEditor.prototype._gradientTypeChanged):
- 11:50 PM Changeset in webkit [212994] by
-
- 9 edits in trunk
[Resource Timing] Media elements initiated loads should set the initiatorType to their element name (video/audio)
https://bugs.webkit.org/show_bug.cgi?id=168680
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/resource-timing/rt-initiatorType-media-expected.txt:
Progression on the initiatorType.
Source/WebCore:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
Pass in the element so it may be used as the initiator.
- html/HTMLVideoElement.h:
Export create() for TestWebKitAPI to use.
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::MediaResourceLoader):
(WebCore::MediaResourceLoader::contextDestroyed):
(WebCore::MediaResourceLoader::requestResource):
- loader/MediaResourceLoader.h:
Include the HTMLMediaElement as the initiator.
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
Include a dummy HTMLVideoElement.
- 9:48 PM Changeset in webkit [212993] by
-
- 97 edits2 moves13 adds in trunk
[Resource Timing] Gather timing information with reliable responseEnd time
https://bugs.webkit.org/show_bug.cgi?id=168351
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
New behavior for too many redirects caused by <rdar://problem/30610988>.
- web-platform-tests/resource-timing/rt-nextHopProtocol-expected.txt: Added.
- web-platform-tests/resource-timing/rt-nextHopProtocol.html: Added.
- web-platform-tests/resource-timing/rt-nextHopProtocol.js: Added.
- web-platform-tests/resource-timing/rt-nextHopProtocol.worker-expected.txt: Added.
- web-platform-tests/resource-timing/rt-nextHopProtocol.worker.html: Added.
- web-platform-tests/resource-timing/rt-nextHopProtocol.worker.js: Added.
New tests specific to just checking the nextHopProtocol property with
a non-cached resource to avoid flakeyness.
Source/WebCore:
This patch replaces the unused
double finishTimein ResourceLoader's
didFinishLoad with a complete WebCore::NetworkLoadMetrics object. This
allows the NetworkProcess to give complete timing information, and more
final metrics about the load, to WebCore. Currently this is only used
by ResourceTiming, but it will soon be used by Web Inspector as well.
We may also end up extending this to the didFail path as well, since it
is possible that we have some metrics for load failures.
At the same time we want to start moving away from the legacy path that
populated a subset of this information in ResourceResponse's NetworkLoadMetrics.
It doesn't make sense to store this information on the ResourceResponse
for a few reasons: We don't want to store the metrics in our Network Cache and
not all of the load timing metrics have been populated yet (responseEnd).
In an effort to move off of this data we've renamed the accessor to
"deprecatedNetworkLoadMetrics". There are a few remaining clients
(ResourceHandle, PerformanceTiming, InspectorNetworkAgent) which can be
migrated separately from this patch.
Having both the legacy and new code paths adds a little bit of complexity.
One advantage of the new path is that the complete load timing data
(fetchStart -> dns -> connect -> request -> response -> responseEnd) can
be packaged together. The legacy path could not include a responseEnd, so
WebCore faked that value with its own timestamp. Having the fake responseEnd
caused issues as timestamps / clocks are different between processes. In order
for PerformanceResponseTiming to know whether or not the NetworkLoadMetrics
has the complete network timing metrics it checks isComplete(). If true
it knows it can use the responseEnd time from NetworkLoadMetrics, otherwise
it must fallback to the legacy value from LoadTiming. Once all of the
deprecatedNetworkLoadMetrics clients go away, we should always have the
complete data and this can be eliminated.
Tests: imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.html
imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.html
- PlatformMac.cmake:
- WebCore.xcodeproj/project.pbxproj:
Rename NetworkLoadTiming -> NetworkLoadMetrics.
- page/PerformanceResourceTiming.cpp:
(WebCore::entryStartTime):
(WebCore::entryEndTime):
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::nextHopProtocol):
(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::requestStart):
(WebCore::PerformanceResourceTiming::responseStart):
(WebCore::PerformanceResourceTiming::responseEnd):
(WebCore::PerformanceResourceTiming::networkLoadTimeToDOMHighResTimeStamp):
- page/PerformanceResourceTiming.h:
Mostly just updating names and types. This does however need to get the
correct endTime based on whether the NetworkLoadMetrics are complete
(meaning includes responseEnd) or not (legacy, use LoadTiming value).
- page/PerformanceResourceTiming.idl:
Add nextHopProtocol.
- page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToFetchStart):
- page/PerformanceTiming.h:
Navigation Timing values still uses the NetworkLoadTiming values stored on
the DocumentLoader. This should be moved off of the deprecated path separately.
- platform/network/NetworkLoadMetrics.h: Renamed from Source/WebCore/platform/network/NetworkLoadTiming.h.
(WebCore::NetworkLoadMetrics::NetworkLoadMetrics):
(WebCore::NetworkLoadMetrics::isolatedCopy):
(WebCore::NetworkLoadMetrics::reset):
(WebCore::NetworkLoadMetrics::operator==):
(WebCore::NetworkLoadMetrics::operator!=):
(WebCore::NetworkLoadMetrics::isComplete):
(WebCore::NetworkLoadMetrics::markComplete):
(WebCore::NetworkLoadMetrics::encode):
(WebCore::NetworkLoadMetrics::decode):
Re-introduce a reset() method (for NetworkLoadSoup to reset between redirects).
Add protocolName and "complete" boolean.
- platform/network/cocoa/NetworkLoadMetrics.mm: Renamed from Source/WebCore/platform/network/cocoa/NetworkLoadTiming.mm.
(WebCore::timingValue):
(WebCore::copyTimingData):
(WebCore::setCollectsTimingData):
Use this opportunity to convert NetworkLoadTiming timestamps to WTF::Seconds.
Since we already have to modify all the clients this moves us to use the more
strongly typed units that are less ambiguous then "double". The rest of the
Performance API has already moved to these units.
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::buildObjectForTiming):
(WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
(WebCore::InspectorNetworkAgent::didFinishLoading):
- inspector/InspectorNetworkAgent.h:
Inspector was the only client of the finishTime, and since the value was
erratically coming from clients in different ways it was almost certainly
inaccurate. Simplify this in preparation for using NetworkLoadMetrics.
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::didFinishLoading):
- Modules/fetch/FetchLoader.h:
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::didFinishLoading):
- fileapi/FileReaderLoader.h:
- html/MediaFragmentURIParser.cpp:
(WebCore::MediaFragmentURIParser::parseNPTTime):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didFinishLoadingImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didFinishLoading):
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::maybeLoadEmpty):
- loader/DocumentLoader.h:
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::notifyFinished):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/DocumentThreadableLoader.h:
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
- loader/NetscapePlugInStreamLoader.h:
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::didFinishLoad):
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
(WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
- loader/ResourceLoadNotifier.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::deliverResponseAndData):
(WebCore::ResourceLoader::loadDataURL):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFinishLoadingOnePart):
- loader/ResourceLoader.h:
- loader/ResourceTiming.cpp:
(WebCore::ResourceTiming::fromLoad):
(WebCore::ResourceTiming::fromSynchronousLoad):
(WebCore::ResourceTiming::ResourceTiming):
(WebCore::ResourceTiming::isolatedCopy):
- loader/ResourceTiming.h:
(WebCore::ResourceTiming::networkLoadMetrics):
(WebCore::ResourceTiming::ResourceTiming):
(WebCore::ResourceTiming::networkLoadTiming): Deleted.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::reportResourceTiming):
- loader/SubresourceLoader.h:
- loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::didFinishLoading):
- loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
- loader/WorkerThreadableLoader.h:
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoading):
- loader/appcache/ApplicationCacheGroup.h:
- loader/cache/CachedResource.h:
(WebCore::CachedResource::setLoadFinishTime):
- loader/ios/QuickLook.mm:
(-[WebPreviewLoader connectionDidFinishLoading:]):
- page/EventSource.cpp:
(WebCore::EventSource::didFinishLoading):
- page/EventSource.h:
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(ResourceHandleStreamingClient::didFinishLoading):
- platform/network/BlobResourceHandle.cpp:
(WebCore::doNotifyFinish):
- platform/network/PingHandle.h:
- platform/network/ResourceHandle.h:
- platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didFinishLoading):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::compare):
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::deprecatedNetworkLoadMetrics):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
(WebCore::ResourceResponseBase::networkLoadTiming): Deleted.
- platform/network/SynchronousLoaderClient.cpp:
(WebCore::SynchronousLoaderClient::didFinishLoading):
- platform/network/SynchronousLoaderClient.h:
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
- platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::calculateWebTimingInformations):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::handleDataURL):
(WebCore::milisecondsSinceRequest): Deleted.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
- platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::restartedCallback):
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
(WebCore::ResourceHandle::sendPendingRequest):
(WebCore::readCallback):
(WebCore::milisecondsSinceRequest): Deleted.
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didFinishLoading):
- workers/WorkerScriptLoader.h:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
- xml/XMLHttpRequest.h:
Eliminate the unused finishTime double.
Source/WebKit2:
Change from an unused
double finishTimeto a complete WebCore::NetworkLoadMetrics
object in the didFinishLoad ResourceLoader path. We may also extend this in the
didFail path later on. This allows the NetworkProcess to give complete timing
information, and more final metrics about the load, to WebCore.
- NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTaskClient::didCompleteWithError):
Give the NetworkDataTaskClient a basic didCompleteWithError for a completion
without metrics. For loads that complete with an error, or haven't populated
any metrics, this will pass empty metrics onward.
- NetworkProcess/Downloads/BlobDownloadClient.cpp:
(WebKit::BlobDownloadClient::didFinishLoading):
- NetworkProcess/Downloads/BlobDownloadClient.h:
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/PingLoad.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::didFail):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::didFinishLoading):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebResourceLoader.messages.in:
Change didFinishLoad paths to take a NetworkLoadMetrics object instead of finishTime.
Change didCompleteWithError pathes to include a NetworkLoadMetrics object instead of finishTime.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::didCompleteWithError):
Own a NetworkLoadTiming that will be populated with the load.
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
Populate NetworkLoadMetrics in the didFinishCollectingMetrics NSURLSessionTaskDelegate method.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::timeoutFired):
(WebKit::NetworkDataTaskSoup::didSendRequest):
(WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
(WebKit::NetworkDataTaskSoup::dispatchDidCompleteWithError):
(WebKit::NetworkDataTaskSoup::tlsErrorsChanged):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
(WebKit::NetworkDataTaskSoup::didFinishRead):
(WebKit::NetworkDataTaskSoup::didFinishRequestNextPart):
(WebKit::NetworkDataTaskSoup::didFailDownload):
(WebKit::NetworkDataTaskSoup::didFail):
(WebKit::NetworkDataTaskSoup::networkEvent):
(WebKit::NetworkDataTaskSoup::didStartRequest):
(WebKit::NetworkDataTaskSoup::didRestart):
- NetworkProcess/soup/NetworkDataTaskSoup.h:
Instead of populating the NetworkLoadMetrics on the ResourceResponse, populate
a member variable during the entire load and dispatch didFinishCollectingMetrics
right before didCompleteLoadWithError.
Source/WTF:
- wtf/persistence/Coders.h:
(WTF::Persistence::Coder<Seconds>::encode):
(WTF::Persistence::Coder<Seconds>::decode):
LayoutTests:
Now that nextHopProtocol is available on Mac mark the test as flakey
because the value can be set or not depending on whether or not the
resource was loaded from a cache.
- platform/ios-simulator/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
Mark nextHopProtocol tests as expected to fail on ports that do not
yet support those values. Mark redirect tests as failing on ports
that encounter the CFNetwork issue causing unexpected callbacks.
- performance-api/resource-timing-apis-expected.txt:
- performance-api/resources/resource-timing-api.js:
Progressions.
- platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing/test_resource_timing-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/resource-timing/test_resource_timing-expected.txt: Added.
Expected passing values on mac, except el capitan where this new resource timing data is unavailable.
- 8:54 PM Changeset in webkit [212992] by
-
- 3 edits in trunk/Source/WTF
Rubber-stamped by Chris Dumez.
Replace typename Bool with typename BoolType because X11 has
#define Bool int for some unknown reason...
- wtf/HashFunctions.h:
(WTF::TupleHash::allTrue):
- wtf/HashTraits.h:
(WTF::TupleHashTraits::allTrue):
- 8:27 PM Changeset in webkit [212991] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed GTK build fix after r212965
- CMakeLists.txt:
- 8:05 PM Changeset in webkit [212990] by
-
- 4 edits in trunk/Tools
Unreviewed, temporarily disable all data interaction tests.
They will be reenabled once the bots are ready to build and run them.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
- TestWebKitAPI/ios/DataInteractionSimulator.h:
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
- 7:34 PM Changeset in webkit [212989] by
-
- 96 edits2 moves8 deletes in trunk
Unreviewed, rolling out r212944.
Caused a lot of failures on the debug bots
Reverted changeset:
"[Resource Timing] Gather timing information with reliable
responseEnd time"
https://bugs.webkit.org/show_bug.cgi?id=168351
http://trac.webkit.org/changeset/212944
- 7:24 PM Changeset in webkit [212988] by
-
- 2 edits in trunk/Tools
Unreviewed, fix the internal build.
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
- 7:23 PM Changeset in webkit [212987] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, follow-up fix after r212972.
Fixes a few assertions on the debug build bots.
URL needs to be exactly the same as the parsed one given
that we are calling the ParsedURLString constructor.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::sanitizeSuggestedFilename):
- 6:14 PM Changeset in webkit [212986] by
-
- 7 edits2 adds in trunk/Source/WebCore
Simple line layout: Re-adjust paginated lines when block height changes.
https://bugs.webkit.org/show_bug.cgi?id=168838
<rdar://problem/30701233>
Reviewed by Antti Koivisto.
When the estimated block height is wrong, we issue an additional layout on the inline children
so that we get the pagination right (this layout is setChildNeedsLayout(MarkOnlyThis) only).
Since the height change only affects the struts and page breaks (and again, the relayoutChildren flag is false)
we don't need to re-layout the content, but instead we just need to re-adjust the pagination for the simple lines.
This patch also moves the pagination logic to SimpleLineLayoutPagination.cpp.
Not enabled yet.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutSimpleLines):
- rendering/RenderingAllInOne.cpp:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::Layout::create):
(WebCore::SimpleLineLayout::Layout::Layout):
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow): Deleted.
(WebCore::SimpleLineLayout::computeLineBreakIndex): Deleted.
(WebCore::SimpleLineLayout::computeOffsetAfterLineBreak): Deleted.
(WebCore::SimpleLineLayout::setPageBreakForLine): Deleted.
(WebCore::SimpleLineLayout::updateMinimumPageHeight): Deleted.
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination): Deleted.
- rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Layout::setIsPaginated):
(WebCore::SimpleLineLayout::Layout::setLineStruts):
- rendering/SimpleLineLayoutPagination.cpp: Added.
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow):
(WebCore::SimpleLineLayout::computeLineBreakIndex):
(WebCore::SimpleLineLayout::computeOffsetAfterLineBreak):
(WebCore::SimpleLineLayout::setPageBreakForLine):
(WebCore::SimpleLineLayout::updateMinimumPageHeight):
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination):
- rendering/SimpleLineLayoutPagination.h: Added.
- 6:07 PM Changeset in webkit [212985] by
-
- 44 edits in trunk
Alias "system-ui" for the System font name
https://bugs.webkit.org/show_bug.cgi?id=151493
Reviewed by Tim Horton and Joseph Pecoraro.
Source/WebCore:
Updated existing tests.
- WebCore.xcodeproj/project.pbxproj: Add WebKitFontFamilyNames.in for
convenience.
- css/CSSValueKeywords.in: Add system-ui as a keyword.
- css/WebKitFontFamilyNames.in: Add system-ui.
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::platformFontWithFamilySpecialCase): Include "system-ui" as an
alias.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::platformFontWithFamilySpecialCase): Ditto.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updateCachedSystemFontDescription): Update
serialization to "system-ui" from "-apple-system".
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::identifierForFamily):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::familyNameFromPrimitive):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFontFamily):
Source/WebInspectorUI:
- UserInterface/Models/CSSKeywordCompletions.js: Ditto.
LayoutTests:
Add "system-ui" to the test.
- fast/css/font-family-builtins.html:
- fast/css/font-family-builtins-expected.txt:
- fast/text/system-font-features.html:
- fast/text/system-font-features-expected.html:
- fast/text/system-font-legacy-name.html:
- fast/text/system-font-legacy-name-expected.txt:
- platform/ios-simulator/ios/fast/text/opticalFont.html:
- platform/ios-simulator/ios/fast/text/opticalFont-expected.txt:
- platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle-expected.txt:
Unskip opticalFont* tests.
- platform/ios-simulator/TestExpectations:
Update tests to use "system-ui" instead of "-apple-system" or the even
older "-apple-system-font".
- fast/css/multiple-tabs-expected.html:
- fast/css/multiple-tabs.html:
- fast/text/international/system-language/han-quotes-expected-mismatch.html:
- fast/text/international/system-language/han-quotes.html:
- fast/text/international/system-language/hindi-system-font-punctuation-expected.html:
- fast/text/international/system-language/hindi-system-font-punctuation.html:
- fast/text/letterpress-different-expected-mismatch.html:
- fast/text/letterpress-different.html:
- fast/text/letterpress-paint.html:
- fast/text/system-font-weight-italic.html:
- fast/text/system-font-weight.html:
- fast/text/text-node-remains-dirty-after-calling-surroundContents-expected.html:
- fast/text/text-node-remains-dirty-after-calling-surroundContents.html:
- fast/text/trak-optimizeLegibility.html:
- fast/text/weighted-italicized-system-font-expected.html:
- fast/text/weighted-italicized-system-font.html:
- platform/ios-simulator/ios/fast/text/apple-logo.html:
- platform/ios-simulator/ios/fast/text/opticalFontWithWeight-expected.txt:
- platform/ios-simulator/ios/fast/text/opticalFontWithWeight.html:
- platform/ios-simulator/ios/fast/text/underline-scaling.html:
- platform/mac/fast/css/css2-system-fonts-expected.txt:
- 6:07 PM Changeset in webkit [212984] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, fix the internal build
- UIProcess/ios/WKContentViewInteraction.h:
- 6:02 PM Changeset in webkit [212983] by
-
- 14 edits in trunk
WebAssembly: miscellaneous spec fixes
https://bugs.webkit.org/show_bug.cgi?id=168822
Reviewed by Saam Barati.
JSTests:
- wasm.yaml: mark some skip tests as normal, now that they pass
- wasm/Builder.js: error message was wrong, causing extra error if hit
- wasm/js-api/global-error.js: new tests
(assert.throws):
- wasm/spec-tests/call.wast.js: comment out stack check tests
- wasm/spec-tests/call_indirect.wast.js: comment out stack check tests
- wasm/spec-tests/fac.wast.js: comment out stack check tests
- wasm/spec-tests/float_exprs.wast.js: wabt is wrong, bug reported, we should update
- wasm/spec-tests/imports.wast.js: bug in old wabt, fixed in recent wabt
(assert_unlinkable):
Source/JavaScriptCore:
- wasm/WasmModuleParser.cpp: "unknown" sections are now called "custom" sections
- wasm/WasmSections.h:
(JSC::Wasm::validateOrder):
(JSC::Wasm::makeString): fix ASSERT_UNREACHABLE bug in printing
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance): disallow i64 import
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link): disallow i64 export
(JSC::WebAssemblyModuleRecord::evaluate):
- 5:17 PM Changeset in webkit [212982] by
-
- 15 edits1 add in trunk
Media: notify clients when autoplay is denied
https://bugs.webkit.org/show_bug.cgi?id=168840
Reviewed by Alex Christensen.
Source/WebCore:
Added API tests.
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::playInternal):
- page/AutoplayEvent.h: Added.
- page/ChromeClient.h:
Source/WebKit2:
- UIProcess/API/APIUIClient.h:
(API::UIClient::handleAutoplayEvent):
(API::UIClient::didPlayMediaPreventedFromPlayingWithoutUserGesture): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleAutoplayEvent):
(WebKit::WebPageProxy::didPlayMediaPreventedFromPlayingWithoutUserGesture): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::handleAutoplayEvent):
(WebKit::WebChromeClient::didPlayMediaPreventedFromPlayingWithoutUserGesture): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(handleAutoplayEvent):
(runUntilReceivesAutoplayEvent):
(TEST): Added.
- 5:08 PM Changeset in webkit [212981] by
-
- 2 edits in trunk/Source/WebCore
curl: Improve errors by including the domain
https://bugs.webkit.org/show_bug.cgi?id=134340
Patch by Basuke Suzuki <Basuke.Suzuki@am.sony.com> on 2017-02-24
Reviewed by Alex Christensen.
Added proper error domain to ResourceError created by
Curl problem.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
- 5:03 PM Changeset in webkit [212980] by
-
- 8 edits2 copies in trunk
[Modern Media Controls] <audio> controls should center in their container when the page is scaled
https://bugs.webkit.org/show_bug.cgi?id=168841
<rdar://problem/28612794>
Patch by Antoine Quint <Antoine Quint> on 2017-02-24
Reviewed by Eric Carlson.
Source/WebCore:
When dealing with <audio> elements, we vertically center the controls relative to their containing
media element such that if the controls visually overflow, they overflow equally above and below
to minimize the likelihood of overlap with surrounding elements.
Test: media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.prototype.get shouldCenterControlsVertically):
(MediaControls.prototype.set shouldCenterControlsVertically):
(MediaControls.prototype.commitProperty):
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype.get isAudio):
(MediaController.prototype.get layoutTraits):
(MediaController.prototype._updateControlsSize):
LayoutTests:
Adding test coverage for the "top" property set on the media controls to achieve vertical centering,
and creating a new test that checks the behavior for an <audio> element on iOS.
- TestExpectations:
- media/modern-media-controls/media-controller/media-controller-scale-factor-audio-expected.txt: Added.
- media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html: Added.
- media/modern-media-controls/media-controller/media-controller-scale-factor-expected.txt:
- media/modern-media-controls/media-controller/media-controller-scale-factor.html:
- platform/ios-simulator/TestExpectations:
- 4:47 PM Changeset in webkit [212979] by
-
- 1 copy in tags/Safari-603.1.30.1.30
Tag Safari-603.1.30.1.30.
- 4:46 PM Changeset in webkit [212978] by
-
- 1 copy in tags/Safari-603.1.30.0.30
Tag Safari-603.1.30.0.30.
- 4:36 PM Changeset in webkit [212977] by
-
- 6 edits in trunk
Non-special relative URLs should not ignore extra slashes
https://bugs.webkit.org/show_bug.cgi?id=168834
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Special authority ignore slashes state should, as its name implies,
only be reached by special URLs. See https://url.spec.whatwg.org/#relative-slash-state
Covered by newly passing web platform tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
- 4:20 PM Changeset in webkit [212976] by
-
- 2 edits in trunk/Source/WebCore
Build fix for newer clang
https://bugs.webkit.org/show_bug.cgi?id=168849
rdar://problem/30638741
Reviewed by Ryosuke Niwa.
- dom/Range.cpp: (WebCore::Range::toString): std::max(0, <unsigned>) is not meaningful,
and now triggers a warning.
- 4:17 PM Changeset in webkit [212975] by
-
- 2 edits in trunk/Tools
API test WebKit2.WebsitePoliciesPlayAfterPreventedAutoplay is timing out
https://bugs.webkit.org/show_bug.cgi?id=167466
Reviewed by Alex Christensen.
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Use the correct API version.
- 4:05 PM Changeset in webkit [212974] by
-
- 11 edits in trunk
Refactor data interaction to use new WKDataInteraction SPI
https://bugs.webkit.org/show_bug.cgi?id=168602
Work towards <rdar://problem/30313681>
Reviewed by Tim Horton.
Source/WebKit2:
Adjust testing SPI to match new data interaction interfaces.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _simulateDataInteractionEntered:]):
(-[WKWebView _simulateDataInteractionUpdated:]):
(-[WKWebView _simulateDataInteractionPerformOperation:]):
(-[WKWebView _simulateDataInteractionEnded:]):
(-[WKWebView _simulateDataInteractionSessionDidEnd:]):
(-[WKWebView _simulateWillBeginDataInteractionWithSession:]):
(-[WKWebView _simulatedItemsForSession:]):
(-[WKWebView _simulatePrepareForDataInteractionSession:completion:]):
(-[WKWebView _simulateDataInteractionSessionDidEnd:withOperation:]): Deleted.
(-[WKWebView _simulateFailedDataInteractionWithIndex:]): Deleted.
(-[WKWebView _simulateWillBeginDataInteractionWithIndex:withSession:]): Deleted.
(-[WKWebView _simulatedItemsForDataInteractionWithIndex:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _positionInformationDidChange:]):
- UIProcess/ios/WKScrollView.h:
- UIProcess/ios/WKScrollView.mm:
Tools:
Update DataInteractionSimulator to simulate data interaction using updated SPI. See changes in WebKit2 for more details.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/ios/DataInteractionSimulator.h:
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator _currentLocation]):
(-[DataInteractionSimulator _finishDataInteraction]): Deleted.
(-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]): Deleted.
(-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]): Deleted.
- 4:05 PM Changeset in webkit [212973] by
-
- 8 edits in trunk
Remove the data interaction gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=168600
<rdar://problem/30313681>
Reviewed by Anders Carlsson.
Source/WebKit2:
The data interaction gesture recognizer will no longer be needed moving forward.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _simulateDataInteractionGestureRecognized]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _dataInteractionGestureRecognizer]): Deleted.
Tools:
Adjust TestWebKitAPI for changes in WebKit2.
- TestWebKitAPI/ios/DataInteractionSimulator.h:
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator _finishDataInteraction]):
(-[MockLongPressGestureRecognizer initWithWindow:]): Deleted.
(-[MockLongPressGestureRecognizer locationInView:]): Deleted.
(-[MockLongPressGestureRecognizer state]): Deleted.
(-[MockLongPressGestureRecognizer numberOfTouches]): Deleted.
(-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]): Deleted.
(-[DataInteractionSimulator dataInteractionGestureRecognizer]): Deleted.
(-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]): Deleted.
- 4:02 PM Changeset in webkit [212972] by
-
- 9 edits6 adds in trunk
Download attribute should be sanitized before being used as suggested filename
https://bugs.webkit.org/show_bug.cgi?id=168839
<rdar://problem/30683109>
Reviewed by Darin Adler.
Source/WebCore:
Sanitize Download attribute before using it as a suggested filename for the download.
We rely on ResourceResponse's sanitizing of the suggested filename to do so, which has
the benefit of being consistent with downloads without the download attribute.
Tests: fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html
fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html
fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::sanitizeSuggestedFilename):
- platform/network/ResourceResponseBase.h:
LayoutTests:
Add layout test coverage.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html: Added.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 3:16 PM Changeset in webkit [212971] by
-
- 1 edit1 delete in trunk/Source/ThirdParty/libwebrtc
Remove unneeded protobuf tests directory.
Rubber-stamped by Joe Pecoraro.
This directory contained a swift file that was causing problems in an internal verification step.
- Source/third_party/protobuf/objectivec/Tests: Removed.
(And everything in this subdirectory)
- 2:50 PM Changeset in webkit [212970] by
-
- 48 edits4 adds in trunk/Source/JavaScriptCore
Move Arg::Type and Arg::Width out into the B3 namespace, since they are general concepts
https://bugs.webkit.org/show_bug.cgi?id=168833
Reviewed by Saam Barati.
I want to use the Air::Arg::Type and Air::Arg::Width concepts in B3. We are already
doing this a bit, and it's akward because of the namespacing. Throughout B3 we take the
approach that if something is not specific to Air, then it should be in the B3
namespace.
This moves Air::Arg::Type to B3::Bank. This moves Air::Arg::Width to B3::Width.
I renamed Arg::Type to Bank because there is already a B3::Type and because Arg::Type
was never really a type. Its purpose was always to identify register banks, and we use
this enum when the thing we care about is whether the value is most appropriate for
GPRs or FPRs.
I kept both as non-enum classes because I think that we've learned that terse compiler
code is a good thing. I don't want to say Bank::GP when I can say GP. With Width, the
argument is even stronger, since you cannot say Width::8 but you can say Width8.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3Bank.cpp: Added.
(WTF::printInternal):
- b3/B3Bank.h: Added.
(JSC::B3::forEachBank):
(JSC::B3::bankForType):
- b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::forEachArg):
- b3/B3LegalizeMemoryOffsets.cpp:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::tmp):
(JSC::B3::Air::LowerToAir::scaleForShl):
(JSC::B3::Air::LowerToAir::effectiveAddr):
(JSC::B3::Air::LowerToAir::addr):
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::createBranch):
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::createSelect):
(JSC::B3::Air::LowerToAir::lower):
- b3/B3MemoryValue.cpp:
(JSC::B3::MemoryValue::accessWidth):
- b3/B3MemoryValue.h:
- b3/B3MoveConstants.cpp:
- b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::forEachArg):
- b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::forEachArgImpl):
- b3/B3Value.h:
- b3/B3Variable.h:
(JSC::B3::Variable::width):
(JSC::B3::Variable::bank):
- b3/B3WasmAddressValue.h:
- b3/B3Width.cpp: Added.
(WTF::printInternal):
- b3/B3Width.h: Added.
(JSC::B3::pointerWidth):
(JSC::B3::widthForType):
(JSC::B3::conservativeWidth):
(JSC::B3::minimumWidth):
(JSC::B3::bytes):
(JSC::B3::widthForBytes):
- b3/air/AirAllocateRegistersByGraphColoring.cpp:
- b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
- b3/air/AirArg.cpp:
(JSC::B3::Air::Arg::canRepresent):
(JSC::B3::Air::Arg::isCompatibleBank):
(JSC::B3::Air::Arg::isCompatibleType): Deleted.
- b3/air/AirArg.h:
(JSC::B3::Air::Arg::hasBank):
(JSC::B3::Air::Arg::bank):
(JSC::B3::Air::Arg::isBank):
(JSC::B3::Air::Arg::forEachTmp):
(JSC::B3::Air::Arg::forEachType): Deleted.
(JSC::B3::Air::Arg::pointerWidth): Deleted.
(JSC::B3::Air::Arg::typeForB3Type): Deleted.
(JSC::B3::Air::Arg::widthForB3Type): Deleted.
(JSC::B3::Air::Arg::conservativeWidth): Deleted.
(JSC::B3::Air::Arg::minimumWidth): Deleted.
(JSC::B3::Air::Arg::bytes): Deleted.
(JSC::B3::Air::Arg::widthForBytes): Deleted.
(JSC::B3::Air::Arg::hasType): Deleted.
(JSC::B3::Air::Arg::type): Deleted.
(JSC::B3::Air::Arg::isType): Deleted.
- b3/air/AirArgInlines.h:
(JSC::B3::Air::ArgThingHelper<Tmp>::forEach):
(JSC::B3::Air::ArgThingHelper<Arg>::forEach):
(JSC::B3::Air::ArgThingHelper<Reg>::forEach):
(JSC::B3::Air::Arg::forEach):
- b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::forEachArg):
- b3/air/AirCCallingConvention.cpp:
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::Code):
(JSC::B3::Air::Code::setRegsInPriorityOrder):
(JSC::B3::Air::Code::pinRegister):
- b3/air/AirCode.h:
(JSC::B3::Air::Code::regsInPriorityOrder):
(JSC::B3::Air::Code::newTmp):
(JSC::B3::Air::Code::numTmps):
(JSC::B3::Air::Code::regsInPriorityOrderImpl):
- b3/air/AirCustom.cpp:
(JSC::B3::Air::PatchCustom::isValidForm):
(JSC::B3::Air::ShuffleCustom::isValidForm):
- b3/air/AirCustom.h:
(JSC::B3::Air::PatchCustom::forEachArg):
(JSC::B3::Air::CCallCustom::forEachArg):
(JSC::B3::Air::ColdCCallCustom::forEachArg):
(JSC::B3::Air::ShuffleCustom::forEachArg):
(JSC::B3::Air::WasmBoundsCheckCustom::forEachArg):
- b3/air/AirDumpAsJS.cpp:
(JSC::B3::Air::dumpAsJS):
- b3/air/AirEliminateDeadCode.cpp:
(JSC::B3::Air::eliminateDeadCode):
- b3/air/AirEmitShuffle.cpp:
(JSC::B3::Air::emitShuffle):
- b3/air/AirEmitShuffle.h:
(JSC::B3::Air::ShufflePair::ShufflePair):
(JSC::B3::Air::ShufflePair::width):
- b3/air/AirFixObviousSpills.cpp:
- b3/air/AirFixPartialRegisterStalls.cpp:
(JSC::B3::Air::fixPartialRegisterStalls):
- b3/air/AirInst.cpp:
(JSC::B3::Air::Inst::hasArgEffects):
- b3/air/AirInst.h:
(JSC::B3::Air::Inst::forEachTmp):
- b3/air/AirInstInlines.h:
(JSC::B3::Air::Inst::forEach):
(JSC::B3::Air::Inst::forEachDef):
(JSC::B3::Air::Inst::forEachDefWithExtraClobberedRegs):
- b3/air/AirLiveness.h:
(JSC::B3::Air::TmpLivenessAdapter::numIndices):
(JSC::B3::Air::TmpLivenessAdapter::acceptsBank):
(JSC::B3::Air::TmpLivenessAdapter::valueToIndex):
(JSC::B3::Air::TmpLivenessAdapter::indexToValue):
(JSC::B3::Air::StackSlotLivenessAdapter::acceptsBank):
(JSC::B3::Air::RegLivenessAdapter::acceptsBank):
(JSC::B3::Air::AbstractLiveness::AbstractLiveness):
(JSC::B3::Air::AbstractLiveness::LocalCalc::execute):
(JSC::B3::Air::TmpLivenessAdapter::acceptsType): Deleted.
(JSC::B3::Air::StackSlotLivenessAdapter::acceptsType): Deleted.
(JSC::B3::Air::RegLivenessAdapter::acceptsType): Deleted.
- b3/air/AirLogRegisterPressure.cpp:
(JSC::B3::Air::logRegisterPressure):
- b3/air/AirLowerAfterRegAlloc.cpp:
(JSC::B3::Air::lowerAfterRegAlloc):
- b3/air/AirLowerMacros.cpp:
(JSC::B3::Air::lowerMacros):
- b3/air/AirPadInterference.cpp:
(JSC::B3::Air::padInterference):
- b3/air/AirReportUsedRegisters.cpp:
(JSC::B3::Air::reportUsedRegisters):
- b3/air/AirSpillEverything.cpp:
(JSC::B3::Air::spillEverything):
- b3/air/AirTmpInlines.h:
(JSC::B3::Air::AbsoluteTmpMapper<Arg::GP>::absoluteIndex): Deleted.
(JSC::B3::Air::AbsoluteTmpMapper<Arg::GP>::lastMachineRegisterIndex): Deleted.
(JSC::B3::Air::AbsoluteTmpMapper<Arg::GP>::tmpFromAbsoluteIndex): Deleted.
(JSC::B3::Air::AbsoluteTmpMapper<Arg::FP>::absoluteIndex): Deleted.
(JSC::B3::Air::AbsoluteTmpMapper<Arg::FP>::lastMachineRegisterIndex): Deleted.
(JSC::B3::Air::AbsoluteTmpMapper<Arg::FP>::tmpFromAbsoluteIndex): Deleted.
- b3/air/AirTmpWidth.cpp:
(JSC::B3::Air::TmpWidth::recompute):
- b3/air/AirTmpWidth.h:
(JSC::B3::Air::TmpWidth::width):
(JSC::B3::Air::TmpWidth::requiredWidth):
(JSC::B3::Air::TmpWidth::defWidth):
(JSC::B3::Air::TmpWidth::useWidth):
(JSC::B3::Air::TmpWidth::Widths::Widths):
- b3/air/AirUseCounts.h:
(JSC::B3::Air::UseCounts::UseCounts):
- b3/air/AirValidate.cpp:
- b3/air/opcode_generator.rb:
- b3/air/testair.cpp:
(JSC::B3::Air::compile): Deleted.
(JSC::B3::Air::invoke): Deleted.
(JSC::B3::Air::compileAndRun): Deleted.
(JSC::B3::Air::testSimple): Deleted.
(JSC::B3::Air::loadConstantImpl): Deleted.
(JSC::B3::Air::loadConstant): Deleted.
(JSC::B3::Air::loadDoubleConstant): Deleted.
(JSC::B3::Air::testShuffleSimpleSwap): Deleted.
(JSC::B3::Air::testShuffleSimpleShift): Deleted.
(JSC::B3::Air::testShuffleLongShift): Deleted.
(JSC::B3::Air::testShuffleLongShiftBackwards): Deleted.
(JSC::B3::Air::testShuffleSimpleRotate): Deleted.
(JSC::B3::Air::testShuffleSimpleBroadcast): Deleted.
(JSC::B3::Air::testShuffleBroadcastAllRegs): Deleted.
(JSC::B3::Air::testShuffleTreeShift): Deleted.
(JSC::B3::Air::testShuffleTreeShiftBackward): Deleted.
(JSC::B3::Air::testShuffleTreeShiftOtherBackward): Deleted.
(JSC::B3::Air::testShuffleMultipleShifts): Deleted.
(JSC::B3::Air::testShuffleRotateWithFringe): Deleted.
(JSC::B3::Air::testShuffleRotateWithFringeInWeirdOrder): Deleted.
(JSC::B3::Air::testShuffleRotateWithLongFringe): Deleted.
(JSC::B3::Air::testShuffleMultipleRotates): Deleted.
(JSC::B3::Air::testShuffleShiftAndRotate): Deleted.
(JSC::B3::Air::testShuffleShiftAllRegs): Deleted.
(JSC::B3::Air::testShuffleRotateAllRegs): Deleted.
(JSC::B3::Air::testShuffleSimpleSwap64): Deleted.
(JSC::B3::Air::testShuffleSimpleShift64): Deleted.
(JSC::B3::Air::testShuffleSwapMixedWidth): Deleted.
(JSC::B3::Air::testShuffleShiftMixedWidth): Deleted.
(JSC::B3::Air::testShuffleShiftMemory): Deleted.
(JSC::B3::Air::testShuffleShiftMemoryLong): Deleted.
(JSC::B3::Air::testShuffleShiftMemoryAllRegs): Deleted.
(JSC::B3::Air::testShuffleShiftMemoryAllRegs64): Deleted.
(JSC::B3::Air::combineHiLo): Deleted.
(JSC::B3::Air::testShuffleShiftMemoryAllRegsMixedWidth): Deleted.
(JSC::B3::Air::testShuffleRotateMemory): Deleted.
(JSC::B3::Air::testShuffleRotateMemory64): Deleted.
(JSC::B3::Air::testShuffleRotateMemoryMixedWidth): Deleted.
(JSC::B3::Air::testShuffleRotateMemoryAllRegs64): Deleted.
(JSC::B3::Air::testShuffleRotateMemoryAllRegsMixedWidth): Deleted.
(JSC::B3::Air::testShuffleSwapDouble): Deleted.
(JSC::B3::Air::testShuffleShiftDouble): Deleted.
(JSC::B3::Air::testX86VMULSD): Deleted.
(JSC::B3::Air::testX86VMULSDDestRex): Deleted.
(JSC::B3::Air::testX86VMULSDOp1DestRex): Deleted.
(JSC::B3::Air::testX86VMULSDOp2DestRex): Deleted.
(JSC::B3::Air::testX86VMULSDOpsDestRex): Deleted.
(JSC::B3::Air::testX86VMULSDAddr): Deleted.
(JSC::B3::Air::testX86VMULSDAddrOpRexAddr): Deleted.
(JSC::B3::Air::testX86VMULSDDestRexAddr): Deleted.
(JSC::B3::Air::testX86VMULSDRegOpDestRexAddr): Deleted.
(JSC::B3::Air::testX86VMULSDAddrOpDestRexAddr): Deleted.
(JSC::B3::Air::testX86VMULSDBaseNeedsRex): Deleted.
(JSC::B3::Air::testX86VMULSDIndexNeedsRex): Deleted.
(JSC::B3::Air::testX86VMULSDBaseIndexNeedRex): Deleted.
(JSC::B3::Air::run): Deleted.
- 2:14 PM Changeset in webkit [212969] by
-
- 7 edits in trunk/Source
We should be able to use std::tuples as keys in HashMap
https://bugs.webkit.org/show_bug.cgi?id=168805
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Convert the mess of std::pairs we used as the keys in PrototypeMap
to a std::tuple. I also plan on using this for a HashMap in wasm.
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/PrototypeMap.cpp:
(JSC::PrototypeMap::createEmptyStructure):
(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype):
- runtime/PrototypeMap.h:
Source/WTF:
This patch adds support for using std::tupeles as the key
type in HashMap. It is equivalent to doing a sequence of
std::pairs but has a nicer syntax.
- wtf/HashFunctions.h:
(WTF::TupleHash::hash):
(WTF::TupleHash::equal):
(WTF::TupleHash::allTrue):
- wtf/HashTraits.h:
(WTF::TupleHashTraits::allTrue):
(WTF::TupleHashTraits::emptyValue):
(WTF::TupleHashTraits::constructDeletedValue):
(WTF::TupleHashTraits::isDeletedValue):
- 12:44 PM Changeset in webkit [212968] by
-
- 2 edits in trunk/Source/WebCore
[GTK] WebkitWebProcess crashes on exit on nvidia if threaded compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=165522
Reviewed by Carlos Garcia Campos.
Before destrying a GLContextGLX we need to set the default framebufer to avoid a bug
in some nvidia drivers. Ensure that we set the context as current before performing
that operation, and set the appropriate current context after doing so.
No new tests.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::~GLContextGLX):
- 12:09 PM Changeset in webkit [212967] by
-
- 2 edits in trunk/Source/WTF
Prepare to enable WebRTC on iOS
https://bugs.webkit.org/show_bug.cgi?id=168811
Patch by Alex Christensen <achristensen@webkit.org> on 2017-02-24
Reviewed by Youenn Fablet.
- wtf/Platform.h:
- 12:04 PM Changeset in webkit [212966] by
-
- 1 edit2 deletes in trunk/LayoutTests
Remove leftover html files.
- http/tests/cache/disk-cache/shattered-deduplication-expected.html: Removed.
- http/tests/cache/disk-cache/shattered-deduplication.html: Removed.
- 11:51 AM Changeset in webkit [212965] by
-
- 5 edits3 adds in trunk/Source
[iOS][WK2] Disable network cache speculative revalidation / loading in low power mode
https://bugs.webkit.org/show_bug.cgi?id=168832
<rdar://problem/30697911>
Reviewed by Antti Koivisto.
Source/WebCore:
Add LowPowerModeNotifier class to monitor low power mode state on iOS.
- WebCore.xcodeproj/project.pbxproj:
- platform/LowPowerModeNotifier.cpp: Added.
(WebCore::LowPowerModeNotifier::LowPowerModeNotifier):
(WebCore::LowPowerModeNotifier::isLowPowerModeEnabled):
- platform/LowPowerModeNotifier.h: Added.
- platform/ios/LowPowerModeNotifierIOS.mm: Added.
(-[WebLowPowerModeObserver initWithNotifier:]):
(-[WebLowPowerModeObserver dealloc]):
(-[WebLowPowerModeObserver _didReceiveLowPowerModeChange]):
(WebCore::LowPowerModeNotifier::LowPowerModeNotifier):
(WebCore::LowPowerModeNotifier::isLowPowerModeEnabled):
(WebCore::LowPowerModeNotifier::notifyLowPowerModeChanged):
(WebCore::notifyLowPowerModeChanged):
Source/WebKit2:
Disable network cache speculative revalidation / loading in low power mode on iOS to
save battery.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::initialize):
- NetworkProcess/cache/NetworkCache.h:
- 11:41 AM Changeset in webkit [212964] by
-
- 19 edits in branches/safari-603.1.30.1-branch
- 11:41 AM Changeset in webkit [212963] by
-
- 5 edits in branches/safari-603.1.30.1-branch/Source
Versioning.
- 11:36 AM Changeset in webkit [212962] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Remove inaccurate copy-paste comment from r212939.
- dfg/DFGOperations.cpp:
- 11:24 AM Changeset in webkit [212961] by
-
- 4 edits in trunk/Source/WebCore
[Mac] Report domains using abnormally high memory usage via enhanced privacy logging
https://bugs.webkit.org/show_bug.cgi?id=168797
<rdar://problem/29964017>
Reviewed by Andreas Kling.
Report domains using abnormally high memory usage (> 2GB) via enhanced privacy
logging on Mac.
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::domainCausingJetsamKey):
- page/DiagnosticLoggingKeys.h:
- page/PerformanceMonitor.cpp:
(WebCore::reportPageOverPostLoadResourceThreshold):
(WebCore::PerformanceMonitor::measurePostLoadCPUUsage):
(WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
(WebCore::reportPageOverPostLoadCPUUsageThreshold): Deleted.
- 9:50 AM Changeset in webkit [212960] by
-
- 5 edits in branches/safari-603.1.30.0-branch/Source
Versioning.
- 9:10 AM Changeset in webkit [212959] by
-
- 5 edits in branches/safari-603.1.30.4-branch/Source
Versioning.
- 9:07 AM Changeset in webkit [212958] by
-
- 2 edits in branches/safari-603.1.30.4-branch/Source/WebCore
Merge r212822. rdar://problem/30682429
- 9:02 AM Changeset in webkit [212957] by
-
- 2 edits in branches/safari-603.1.30.0-branch/Source/JavaScriptCore
rdar://problem/30675867
- 8:59 AM Changeset in webkit [212956]
-
- in /
This is an empty revision for padding.
- 8:59 AM Changeset in webkit [212955] by
-
- 5 edits in branches/safari-603.1.30.0-branch/Source
Versioning.
- 8:57 AM Changeset in webkit [212954] by
-
- 5 edits in branches/safari-603.1.30.1-branch/Source
Versioning.
- 8:45 AM Changeset in webkit [212953] by
-
- 11 edits in trunk
.. should not remove windows drive letters in paths of file URLs
https://bugs.webkit.org/show_bug.cgi?id=168824
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
It's specified in https://url.spec.whatwg.org/#shorten-a-urls-path and helps behavior for browsers on Windows.
It can't hurt to pass a few more web platform tests, though.
- platform/URLParser.cpp:
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::shouldPopPath):
(WebCore::URLParser::popPath):
(WebCore::URLParser::parse):
- platform/URLParser.h:
LayoutTests:
- fast/url/file-expected.txt:
- fast/url/file-http-base-expected.txt:
- fast/url/relative-win-expected.txt:
- 5:17 AM Changeset in webkit [212952] by
-
- 1 edit3 deletes in trunk/LayoutTests
Reverting https://trac.webkit.org/r212951, landing this doesn't actually work due to Git infrastucture.
- http/tests/cache/disk-cache/resources/shattered-1-nocollision.pdf: Removed.
- http/tests/cache/disk-cache/resources/shattered-1.pdf: Removed.
- http/tests/cache/disk-cache/resources/shattered-2-nocollision.pdf: Removed.
- 4:45 AM Changeset in webkit [212951] by
-
- 1 edit5 adds in trunk/LayoutTests
Add a test verifying cache deduplication is not sensitive to SHA1 collision attack
https://bugs.webkit.org/show_bug.cgi?id=168774
Reviewed by Sam Weinig.
We use SHA1 for deduplicating disk cache resources. Since a real world SHA1 collision was demonstrated
recently (http://shattered.io/) we can add a test that shows it can't be used for cache poisoning.
There are two protections in the cache code that both individually stop this type of attack:
- When deduplicating the data is verified to be equal by a bytewise comparison.
- SHA1 computations include random salt unique to cache instance.
Commenting out both protections is needed to make this test fail.
- http/tests/cache/disk-cache/resources/shattered-1-nocollision.pdf: Added.
- http/tests/cache/disk-cache/resources/shattered-1.pdf: Added.
- http/tests/cache/disk-cache/resources/shattered-2-nocollision.pdf: Added.
- http/tests/cache/disk-cache/resources/shattered-2.pdf: Added.
Files shattered-1.pdf and shattered-2.pdf differ visually but have the same SHA1.
The nocollision versions for the ref have the same pixels but don't collide.
- http/tests/cache/disk-cache/shattered-deduplication-expected.html: Added.
- http/tests/cache/disk-cache/shattered-deduplication.html: Added.
- 1:34 AM Changeset in webkit [212950] by
-
- 2 edits in trunk/Source/WebCore
[Mac][cmake] Unreviewed buildfix after r212736.
- PlatformMac.cmake:
- 1:19 AM Changeset in webkit [212949] by
-
- 29 edits3 copies19 adds in trunk
Resource Load Statistics: Add alternate classification method
https://bugs.webkit.org/show_bug.cgi?id=168347
<rdar://problem/30352793>
<rdar://problem/30646710>
<rdar://problem/30660708>
Reviewed by Alex Christensen.
Source/WebCore:
This patch only adds test infrastructure in WebCore.
Tests: http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html
http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html
http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html
http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html
http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html
http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html
http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html
http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::setSubframeUnderTopFrameOrigin):
(WebCore::ResourceLoadObserver::setSubresourceUnderTopFrameOrigin):
(WebCore::ResourceLoadObserver::setSubresourceUniqueRedirectTo):
- loader/ResourceLoadObserver.h:
Source/WebKit2:
This patch adds a CorePrediction-based classifier to the WebResourceLoadStatisticsStore.
The CorePrediction framework is introduced as a dependency for macOS and iOS. The patch
also adds functions to support layout tests of the feature.
- Platform/Logging.h:
Added channel ResourceLoadStatistics.
- Platform/classifier/ResourceLoadStatisticsClassifier.h: Added.
Pulls in the Cocoa-specific classifier for Cocoa-based platforms.
(WebKit::ResourceLoadStatisticsClassifier::ResourceLoadStatisticsClassifier):
- Platform/classifier/ResourceLoadStatisticsClassifierBase.cpp: Added.
(WebKit::ResourceLoadStatisticsClassifierBase::hasPrevalentResourceCharacteristics):
Shared classifier logic.
(WebKit::ResourceLoadStatisticsClassifierBase::classifyWithVectorThreshold):
Fallback classifier for when we don't have CorePrediction.
- Platform/classifier/ResourceLoadStatisticsClassifierBase.h: Added.
(WebKit::ResourceLoadStatisticsClassifierBase::ResourceLoadStatisticsClassifierBase):
(WebKit::ResourceLoadStatisticsClassifierBase::~ResourceLoadStatisticsClassifierBase):
- Platform/classifier/cocoa/CorePredictionSoftLink.h: Added.
Soft links to CorePrediction and the two functions we use from it.
- Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: Added.
(WebKit::ResourceLoadStatisticsClassifier::classify):
(WebKit::ResourceLoadStatisticsClassifier::storagePath):
(WebKit::ResourceLoadStatisticsClassifier::shouldUseCorePredictionAndHaveModelLoaded):
(WebKit::ResourceLoadStatisticsClassifier::singletonPredictionModel):
The new classifier for Cocoa platforms.
- Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h: Added.
- PlatformGTK.cmake:
Added Platform/classifier directory and ResourceLoadStatisticsClassifierBase.cpp.
- PlatformMac.cmake:
Added Platform/classifier and Platform/classifier/cocoa directories, and
source files ResourceLoadStatisticsClassifierBase.cpp and
ResourceLoadStatisticsClassifierCocoa.cpp
- Resources/ResourceLoadStatistics/corePrediction_model: Added.
Model file to load into CorePrediction.
- UIProcess/API/C/WKResourceLoadStatisticsManager.cpp:
(WKResourceLoadStatisticsManagerSetSubframeUnderTopFrameOrigin):
(WKResourceLoadStatisticsManagerSetSubresourceUnderTopFrameOrigin):
(WKResourceLoadStatisticsManagerSetSubresourceUniqueRedirectTo):
Test infrastructure.
- UIProcess/API/C/WKResourceLoadStatisticsManager.h:
- UIProcess/WebResourceLoadStatisticsManager.cpp:
(WebKit::WebResourceLoadStatisticsManager::setSubframeUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsManager::setSubresourceUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsManager::setSubresourceUniqueRedirectTo):
Test infrastructure.
- UIProcess/WebResourceLoadStatisticsManager.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
Renamed m_storagePath to m_statisticsStoragePath for clarity.
(WebKit::WebResourceLoadStatisticsStore::classifyResource):
Now calls the classifier through its ResourceLoadStatisticsClassifier
member variable.
(WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):
Renamed m_storagePath to m_statisticsStoragePath for clarity.
(WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
Renamed m_storagePath to m_statisticsStoragePath for clarity.
(WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics): Deleted.
- UIProcess/WebResourceLoadStatisticsStore.h:
- WebKit2.xcodeproj/project.pbxproj:
Added the new classifier source files under Platform/classifier and the
corePrediction_model file under Resources/ResourceLoadStatistics.
Tools:
Added three testRunner functions to facilitate layout tests:
- setStatisticsSubframeUnderTopFrameOrigin()
- setStatisticsSubresourceUnderTopFrameOrigin()
- setStatisticsSubresourceUniqueRedirectTo()
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html: Added.
- http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
Added a call to internals.setResourceLoadStatisticsEnabled(false) before testRunner.notifyDone().
- http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
Added a call to internals.setResourceLoadStatisticsEnabled(false) before testRunner.notifyDone().
- http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html:
Added a call to internals.setResourceLoadStatisticsEnabled(false) before testRunner.notifyDone().
- http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html:
Added a call to internals.setResourceLoadStatisticsEnabled(false) before testRunner.notifyDone().
- http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html:
Added a call to internals.setResourceLoadStatisticsEnabled(false) before testRunner.notifyDone().
- platform/gtk/TestExpectations:
The whole http/tests/loading/resourceLoadStatistics marked as crashing based on
Carlos Garcia Campos's assessment in https://bugs.webkit.org/show_bug.cgi?id=168171.
- platform/wk2/TestExpectations:
The above tests are only valid for WebKit2. Marked as [ Pass ].