Timeline
Oct 10, 2018:
- 10:10 PM Changeset in webkit [237030] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 67
Added a tag for Safari Technology Preview release 67.
- 9:27 PM Changeset in webkit [237029] by
-
- 13 edits in trunk/Source/WebCore
Rename a couple of DOMWindowProperty virtual functions
https://bugs.webkit.org/show_bug.cgi?id=190458
Reviewed by Geoffrey Garen.
Rename a couple of DOMWindowProperty virtual functions as the current naming no longer makes
sense after recent refactoring.
disconnectFrameForDocumentSuspension() was renamed to suspendForPageCache(), and
reconnectFrameFromDocumentSuspension(Frame*) was renamed to resumeFromPageCache().
DOMWindowProperty objects no longer need to disconnect / reconnect from their
frame since they now get their frame from their associated Window. However, some
DOMWindowProperty subclasses do have some page cache suspension / resuming logic
implemented of overrides of these functions.
Also drop the disconnectDOMWindowProperties() / reconnectDOMWindowProperties()
methods in DOMWindow. The naming made little sense as it does not really
disconnect those properties in any way. Instead, inline them in
DOMWindow's suspendForPageCache() / resumeFromPageCache() since these are
the only callers.
- Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::suspendForPageCache):
(WebCore::DOMWindowIndexedDatabase::resumeFromPageCache):
(WebCore::DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension): Deleted.
- Modules/indexeddb/DOMWindowIndexedDatabase.h:
- history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::open):
- loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::suspendForPageCache):
(WebCore::DOMApplicationCache::resumeFromPageCache):
(WebCore::DOMApplicationCache::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMApplicationCache::reconnectFrameFromDocumentSuspension): Deleted.
- loader/appcache/DOMApplicationCache.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::suspendForPageCache):
(WebCore::DOMWindow::resumeFromPageCache):
(WebCore::DOMWindow::suspendForDocumentSuspension): Deleted.
(WebCore::DOMWindow::resumeFromDocumentSuspension): Deleted.
(WebCore::DOMWindow::disconnectDOMWindowProperties): Deleted.
(WebCore::DOMWindow::reconnectDOMWindowProperties): Deleted.
- page/DOMWindow.h:
- page/DOMWindowExtension.cpp:
(WebCore::DOMWindowExtension::suspendForPageCache):
(WebCore::DOMWindowExtension::resumeFromPageCache):
(WebCore::DOMWindowExtension::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMWindowExtension::reconnectFrameFromDocumentSuspension): Deleted.
- page/DOMWindowExtension.h:
- page/DOMWindowProperty.cpp:
(WebCore::DOMWindowProperty::suspendForPageCache):
(WebCore::DOMWindowProperty::resumeFromPageCache):
(WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension): Deleted.
- page/DOMWindowProperty.h:
- 9:13 PM Changeset in webkit [237028] by
-
- 23 edits2 copies7 adds in trunk
Web Inspector: create special Network waterfall for media events
https://bugs.webkit.org/show_bug.cgi?id=189773
<rdar://problem/44626605>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add
didFireEventevent that is fired when specific event listeners added by
InspectorInstrumentation::addEventListenersToNodeare fired.
Source/WebCore:
Test: http/tests/inspector/dom/didFireEvent.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::addEventListenersToNode): Added.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::addEventListenersToNodeImpl): Added.
- inspector/agents/InspectorDOMAgent.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::EventFiredCallback): Added.
(WebCore::EventFiredCallback::create): Added.
(WebCore::EventFiredCallback::operator==): Added.
(WebCore::EventFiredCallback::handleEvent): Added.
(WebCore::EventFiredCallback::EventFiredCallback): Added.
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::addEventListenersToNode): Added.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Base/Utilities.js:
- UserInterface/Protocol/DOMObserver.js:
(WI.DOMObserver.prototype.didFireEvent): Added.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.didFireEvent): Added.
- UserInterface/Models/DOMNode.js:
(WI.DOMNode):
(WI.DOMNode.prototype.get domEvents): Added.
(WI.DOMNode.prototype.didFireEvent): Added.
(WI.DOMNode.prototype._addDOMEvent): Added.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.shown):
(WI.NetworkTableContentView.prototype.hidden):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.showRepresentedObject):
(WI.NetworkTableContentView.prototype.networkDetailViewClose): Added.
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype.tableSelectionDidChange):
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.positionByStartOffset): Added.
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.setWidthForDuration): Added.
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.createDOMEventLine): Added.
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._rowIndexForRepresentedObject): Added.
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._hideDetailView): Added.
(WI.NetworkTableContentView.prototype._showDetailView): Added.
(WI.NetworkTableContentView.prototype._positionDetailView): Added.
(WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
(WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode):
(WI.NetworkTableContentView.prototype._handleNodeDidFireEvent): Added.
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
(WI.NetworkTableContentView.prototype._urlFilterDidChange):
(WI.NetworkTableContentView.prototype._restoreSelectedRow):
(WI.NetworkTableContentView.prototype._waterfallPopoverContent): Added.
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForResourceEntry): Added.
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForNodeEntry): Added.
(WI.NetworkTableContentView.prototype._handleResourceEntryMousedownWaterfall): Added.
(WI.NetworkTableContentView.prototype._handleNodeEntryMousedownWaterfall): Added.
(WI.NetworkTableContentView.prototype._handleMousedownWaterfall): Added.
(WI.NetworkTableContentView.prototype.networkResourceDetailViewClose): Deleted.
(WI.NetworkTableContentView.prototype._rowIndexForResource): Deleted.
(WI.NetworkTableContentView.prototype._hideResourceDetailView): Deleted.
(WI.NetworkTableContentView.prototype._showResourceDetailView): Deleted.
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): Deleted.
- UserInterface/Views/NetworkTableContentView.css:
(.content-view.network .network-table): Added.
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-event): Added.
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity): Added.
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity.playing): Added.
- UserInterface/Views/NetworkDOMNodeDetailView.js: Added.
(WI.NetworkDOMNodeDetailView):
(WI.NetworkDOMNodeDetailView.prototype.initialLayout):
(WI.NetworkDOMNodeDetailView.prototype.showContentViewForIdentifier):
- UserInterface/Views/NetworkResourceDetailView.css:
(.content-view.resource-details):
(.network-resource-detail): Deleted.
(.network-resource-detail .navigation-bar): Deleted.
(.network-resource-detail .item.close > .glyph): Deleted.
(.network-resource-detail .item.close > .glyph:hover): Deleted.
(.network-resource-detail .item.close > .glyph:active): Deleted.
(.network .network-resource-detail .navigation-bar .item.radio.button.text-only): Deleted.
(.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected): Deleted.
(.network-resource-detail > .content-browser): Deleted.
(@media (prefers-dark-interface)): Deleted.
- UserInterface/Views/NetworkResourceDetailView.js:
(WI.NetworkResourceDetailView):
(WI.NetworkResourceDetailView.prototype.shown):
(WI.NetworkResourceDetailView.prototype.headersContentViewGoToRequestData):
(WI.NetworkResourceDetailView.prototype.sizesContentViewGoToHeaders):
(WI.NetworkResourceDetailView.prototype.sizesContentViewGoToRequestBody):
(WI.NetworkResourceDetailView.prototype.sizesContentViewGoToResponseBody):
(WI.NetworkResourceDetailView.prototype.initialLayout):
(WI.NetworkResourceDetailView.prototype.showContentViewForIdentifier):
(WI.NetworkResourceDetailView.prototype.get resource): Deleted.
(WI.NetworkResourceDetailView.prototype.hidden): Deleted.
(WI.NetworkResourceDetailView.prototype.dispose): Deleted.
(WI.NetworkResourceDetailView.prototype.willShowWithCookie): Deleted.
(WI.NetworkResourceDetailView.prototype.initialLayout): Deleted.
(WI.NetworkResourceDetailView.prototype._showPreferredContentView): Deleted.
(WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem): Deleted.
(WI.NetworkResourceDetailView.prototype._navigationItemSelected): Deleted.
(WI.NetworkResourceDetailView.prototype._handleCloseButton): Deleted.
- UserInterface/Views/NetworkDetailView.js: Added.
(WI.NetworkDetailView):
(WI.NetworkDetailView.prototype.get representedObject):
(WI.NetworkDetailView.prototype.shown):
(WI.NetworkDetailView.prototype.hidden):
(WI.NetworkDetailView.prototype.dispose):
(WI.NetworkDetailView.prototype.willShowWithCookie):
(WI.NetworkDetailView.prototype.initialLayout):
(WI.NetworkDetailView.prototype.createDetailNavigationItem):
(WI.NetworkDetailView.prototype.detailNavigationItemForIdentifier):
(WI.NetworkDetailView.prototype.showContentViewForIdentifier):
(WI.NetworkDetailView.prototype._showPreferredContentView):
(WI.NetworkDetailView.prototype._navigationItemSelected):
(WI.NetworkDetailView.prototype._handleCloseButton):
- UserInterface/Views/NetworkDetailView.css: Added.
(.network-detail):
(.network-detail .navigation-bar):
(.network-detail .item.close > .glyph):
(.network-detail .item.close > .glyph:hover):
(.network-detail .item.close > .glyph:active):
(.network .network-detail .navigation-bar .item.radio.button.text-only):
(.network .network-detail .navigation-bar .item.radio.button.text-only.selected):
(.network-detail > .content-browser):
(@media (prefers-dark-interface)):
Create base class for detail views shown in the Network tab.
- UserInterface/Views/DOMNodeEventsContentView.js: Added.
(WI.DOMNodeEventsContentView):
(WI.DOMNodeEventsContentView.prototype.initialLayout):
(WI.DOMNodeEventsContentView.prototype.closed):
(WI.DOMNodeEventsContentView.prototype._handleDOMNodeDidFireEvent):
- UserInterface/Views/DOMNodeEventsContentView.css: Added.
(.dom-node-details.dom-events):
- UserInterface/Views/DOMEventsBreakdownView.js: Added.
(WI.DOMEventsBreakdownView):
(WI.DOMEventsBreakdownView.prototype.addEvent):
(WI.DOMEventsBreakdownView.prototype.initialLayout):
(WI.DOMEventsBreakdownView.prototype._populateTable.percentOfTotalTime):
(WI.DOMEventsBreakdownView.prototype._populateTable):
- UserInterface/Views/DOMEventsBreakdownView.css: Added.
(.waterfall-popover-content .dom-events-breakdown):
(.dom-events-breakdown):
(.dom-events-breakdown table):
(.dom-events-breakdown tr > :matches(th, td)):
(.dom-events-breakdown tbody > tr):
(.dom-events-breakdown .graph):
(.dom-events-breakdown .graph > :matches(.point, .area)):
(.dom-events-breakdown .graph > .point):
(.dom-events-breakdown .time):
- UserInterface/Views/ResourceTimingBreakdownView.css:
(.resource-timing-breakdown > table > tr.header:not(.total-row) > td): Added.
(.popover.waterfall-popover): Deleted.
LayoutTests:
- http/tests/inspector/dom/didFireEvent-expected.txt: Added.
- http/tests/inspector/dom/didFireEvent.html: Added.
- inspector/unit-tests/array-utilities-expected.txt:
- inspector/unit-tests/array-utilities.html:
- 8:08 PM Changeset in webkit [237027] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Cleanup -[WAKView _selfHandleEvent:] and -[WAKWindow sendEventSynchronously:]
https://bugs.webkit.org/show_bug.cgi?id=190402
Reviewed by Anders Carlsson.
Unindent case statements. Remove use of default case statements with body ASSERT_NOT_REACHED()
to catch the cases of a missing enumerator. By omitting the default case statement we turn
such a scenario into a compile-time error instead of handling it as a runtime error.
- platform/ios/wak/WAKView.mm:
(-[WAKView _selfHandleEvent:]):
- platform/ios/wak/WAKWindow.mm:
(-[WAKWindow sendEventSynchronously:]):
- 8:03 PM Changeset in webkit [237026] by
-
- 3 edits in trunk/Source/WebKit
Safari crashes when attempting to share a YouTube video while in full-screen
https://bugs.webkit.org/show_bug.cgi?id=190456
<rdar://problem/45130748>
Reviewed by Wenson Hsieh.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithParameters:completionHandler:]):
Allow the share sheet to present centered, since we don't have enough
context to put it in a more sensible place.
- 7:27 PM Changeset in webkit [237025] by
-
- 5 edits in trunk/Source/WebCore
Rename MarkupAccumulator::appendStartTag, appendElement, etc... for clarity
https://bugs.webkit.org/show_bug.cgi?id=190308
Reviewed by Darin Adler.
Renamed appendStartTag and appendEndTag to startAppendingNode and endAppendingNode since serialize any node,
not just elements which produce start and end tags.
Renamed appendElement and appendEndElement to appendStartTag and appendEndTag since that's what they do.
- editing/MarkupAccumulator.cpp:
(WebCore::elementCannotHaveEndTag): Made this a static local function.
(WebCore::shouldSelfClose): Ditto.
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
(WebCore::MarkupAccumulator::startAppendingNode): Renamed from appendStartTag.
(WebCore::MarkupAccumulator::endAppendingNode): Renamed from appendEndElement and merged appendEndMarkup here.
(WebCore::MarkupAccumulator::appendTextSubstring): Deleted. This was only used by StyledMarkupAccumulator.
(WebCore::MarkupAccumulator::appendStringView): Added.
(WebCore::MarkupAccumulator::appendStartTag): Renamed from appendElement.
(WebCore::MarkupAccumulator::appendCloseTag):
(WebCore::MarkupAccumulator::appendNonElementNode): Renamed from appendStartMarkup. No longer serializes
an element. StyledMarkupAccumulator had a check before calling this function already so this clarifies
the purpose of this function.
(WebCore::MarkupAccumulator::appendElement): Deleted.
(WebCore::MarkupAccumulator::appendEndMarkup): Deleted. Merged into appendEndTag.
- editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::appendNodeEnd): Renamed from appendEndTag.
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::wrapWithNode):
(WebCore::StyledMarkupAccumulator::appendStartTag): Renamed from appendElement.
(WebCore::StyledMarkupAccumulator::appendEndTag): Renamed from appendEndElement.
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
(WebCore::StyledMarkupAccumulator::appendNodeToPreserveMSOList): Use String::substring directly instead of
going through appendTextSubstring which has been deleted.
- page/PageSerializer.cpp:
(WebCore::PageSerializer::SerializerMarkupAccumulator::appendStartTag): Renamed from appendElement.
(WebCore::PageSerializer::SerializerMarkupAccumulator::appendEndTag): Renamed from appendEndElement.
- 6:39 PM Changeset in webkit [237024] by
-
- 2 edits in trunk/Source/JavaScriptCore
Increase executable memory pool from 64MB to 128MB for ARM64
https://bugs.webkit.org/show_bug.cgi?id=190453
Reviewed by Saam Barati.
- jit/ExecutableAllocator.cpp:
- 6:25 PM Changeset in webkit [237023] by
-
- 3 edits in trunk/Tools
Add WinCairo to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=188345
Reviewed by Lucas Forschler.
- TestResultServer/static-dashboards/builders.jsonp: Regenerated by generate_builders_json.py.
- TestResultServer/static-dashboards/flakiness_dashboard.js: Added a new platform 'WINCAIRO'.
- 6:09 PM Changeset in webkit [237022] by
-
- 3 edits in trunk/Tools
[WHSL -> MSL] Annotate semantics correctly in generated MSL
https://bugs.webkit.org/show_bug.cgi?id=190452
<rdar://problem/45178272>
Reviewed by Myles Maxfield.
Correctly label the appropriate semantics as position
and color(N).
- WebGPUShadingLanguageRI/Metal/MSLBackend.js: Identify position
and color attributes. Also use the semantic's index rather than
a counter.
- WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Use a <pre> for
output, and only include the actual shader code.
- 5:47 PM Changeset in webkit [237021] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, attempt to fix the build with current SDKs.
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::getPublicKeyComponents):
- 3:41 PM Changeset in webkit [237020] by
-
- 5 edits in trunk/Source/WebKit
REGRESSION (r236935): Layout test fast/events/ios/keyboard-scrolling-distance.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=190444
<rdar://problem/45110698>
Reviewed by Simon Fraser.
There's a race in WKKeyboardScrollingAnimator that's exacerbated by HIDEventGenerator
being much faster than a human finger. We get our "begin" events from interpretKeyEvent,
after the Web Content process has had its way with it, but currently the
back-channel "handle" events (e.g. for key up, which doesn't go to interpretKeyEvent)
are retrieved from handleKeyWebEvent in the UI process, which is *before*
the Web Content process has had a swing at it.
If you lose the race (an insanely short tap like you get from HIDEventGenerator,
or with a very busy Web Content process), we see handle(keyDown), handle(keyUp), begin(keyDown),
and get stuck scrolling!
Instead, retrieve the out-of-band "handle" events from _didHandleKeyEvent,
so that they're sensibly and strictly ordered with respect to the timing of interpretKeyEvent/"begin".
Also, hook up didFinishScrolling, so that UIScriptController's callbacks work correctly.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView handleKeyWebEvent:]):
(-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
(-[WKContentView keyboardScrollViewAnimatorDidFinishScrolling:]):
- UIProcess/ios/WKKeyboardScrollingAnimator.h:
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator handleKeyEvent:]):
(-[WKKeyboardScrollingAnimator displayLinkFired:]):
(-[WKKeyboardScrollViewAnimator setDelegate:]):
(-[WKKeyboardScrollViewAnimator handleKeyEvent:]):
(-[WKKeyboardScrollViewAnimator didFinishScrolling]):
- 3:41 PM Changeset in webkit [237019] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r236853): Uncaught Exception: undefined is not an object (evaluating 'entry.resource')
https://bugs.webkit.org/show_bug.cgi?id=190442
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.reset):
It's unnecessary to deselect rows in theWI.Tablewhen we're about to remove them.
- 3:25 PM Changeset in webkit [237018] by
-
- 6 edits in trunk
Only report the supported WebGL version
https://bugs.webkit.org/show_bug.cgi?id=190434
<rdar://problem/45024677>
Reviewed by Dean Jackson.
Source/WebCore:
Tested by fast/canvas/webgl/gl-getstring.html
Revise getParameter(gl.VERSION) to only return the WebGL version without the hardware and
driver-specific details available through the low-level OpenGL driver interface. These details
are not needed for WebGL use and expose information about the user's system that we do not
need to share.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getParameter):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
LayoutTests:
- fast/canvas/webgl/gl-getstring-expected.txt:
- fast/canvas/webgl/gl-getstring.html:
- 2:52 PM October 2018 Meeting edited by
- (diff)
- 2:50 PM October 2018 Meeting edited by
- (diff)
- 2:49 PM October 2018 Meeting edited by
- (diff)
- 2:23 PM Changeset in webkit [237017] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, add missing headers for inline functions
https://bugs.webkit.org/show_bug.cgi?id=190429
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
- 2:20 PM October 2018 Meeting edited by
- Added EWS Updates (diff)
- 2:18 PM October 2018 Meeting edited by
- (diff)
- 2:02 PM October 2018 Meeting edited by
- (diff)
- 1:52 PM Changeset in webkit [237016] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: selection in network table is lost when new entries are added
https://bugs.webkit.org/show_bug.cgi?id=190362
Reviewed by Matt Baker.
The
_selectedRowslist is cleared each timereloadDatais called, meaning that
WI.Tableexpects its "owner" to restore the selection (since it doesn't know how). As a
result,WI.NetworkTableContentViewneeds to callselectRow_after_reloadDatais
called, not before.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._updateSort): Added.
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._reloadTable): Added.
(WI.NetworkTableContentView.prototype._resetFilters):
(WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
(WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
(WI.NetworkTableContentView.prototype._urlFilterDidChange):
(WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries): Deleted.
- UserInterface/Views/Table.js:
(WI.Table.prototype.reloadData):
Ensure that the_selectedRowIndexis also reset.
- 1:29 PM Changeset in webkit [237015] by
-
- 2 edits in trunk/Tools
build-webkit --inspector-frontend shouldn't have a nonzero exit code
https://bugs.webkit.org/show_bug.cgi?id=190430
Reviewed by Brian Burg.
- Scripts/webkitdirs.pm:
(argumentsForConfiguration):
--inspector-frontend should only be popped off of argv by determineIsInspectorFrontend;
it shouldn't be re-inserted as a CLI option by argumentsForConfiguration.
- 1:06 PM Changeset in webkit [237014] by
-
- 7 edits in trunk/Source
Versioning.
- 1:00 PM Changeset in webkit [237013] by
-
- 4 edits in branches/safari-606.2.104.0-branch
Revert r236977. rdar://problem/45133492
- 12:05 PM Changeset in webkit [237012] by
-
- 25 edits2 copies2 moves1 add in trunk
Share more WKShareSheet code between macOS and iOS, and fix a few bugs
https://bugs.webkit.org/show_bug.cgi?id=190420
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/web-share/share-with-no-url.html
- page/Navigator.cpp:
(WebCore::Navigator::share):
- page/ShareData.h:
Make 'url' an optional field on ShareDataWithParsedURL, and don't
reject the share() promise if the URL is totally empty (as opposed to invalid).
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _resolutionForShareSheetImmediateCompletionForTesting]):
(-[WKWebView _setShareSheetCompletesImmediatelyWithResolutionForTesting:]):
(-[WKWebView _invokeShareSheetWithResolution:]): Deleted.
Add a new mechanism to tell the share sheet up-front that it should
immediately dismiss with a particular resolution, for testing.
See the Tools ChangeLog for justification.
We keep the bit on WKWebView instead of WKShareSheet so that it can be
called prior to invoking the share sheet.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/WKShareSheet.h:
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet initWithView:]):
(-[WKShareSheet presentWithParameters:completionHandler:]):
(-[WKShareSheet sharingServicePicker:didChooseSharingService:]):
(-[WKShareSheet _didCompleteWithSuccess:]):
(-[WKShareSheet dismiss]):
(-[WKShareSheet dispatchDidDismiss]):
(-[WKShareSheet initWithView:initWithView:]): Deleted.
(-[WKShareSheet _dispatchDidDismiss]): Deleted.
(-[WKShareSheet _cancel]): Deleted.
(-[WKShareSheet _dismissDisplayAnimated:]): Deleted.
(-[WKShareSheet _presentFullscreenViewController:animated:]): Deleted.
(-[WKShareSheet invokeShareSheetWithResolution:]): Deleted.
Reduce the number of extraneous members, methods, and #ifdefs.
Try to share as much of WKShareSheet between the platforms as makes sense.
The interface is now totally identical on the two platforms.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::showShareSheet):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showShareSheet:completionHandler:]):
(-[WKContentView invokeShareSheetWithResolution:]): Deleted.
Instead of silently failing (without even calling the completion handler!)
if we try to present one share sheet on top of another, dismiss the first
and present the new one. This is important because there are (separately
filed) bugs on both platforms where the completion handler is not called;
now, instead of a tab getting stuck forever, we'll reject the promise
when another share takes place.
Tools:
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
Change the testing mechanism for the share sheet such that we up-front
set that it should immediately return with a particular state, instead
of programmatically dismissing the sheet.
Otherwise, running the tests on macOS doesn't work, because we pop
a context menu, which spins the runloop and prevents dismissal from
going through.
LayoutTests:
- fast/events/ios/share-expected.txt: Removed.
- fast/events/ios/share.html: Removed.
- fast/web-share/share.html: Added.
- fast/web-share/share-expected.txt: Added.
- resources/ui-helper.js:
(window.UIHelper.setShareSheetCompletesImmediatelyWithResolution):
(window.UIHelper.invokeShareSheetWithResolution): Deleted.
Move the existing share sheet test to fast/web-share so it runs on both macOS and iOS.
- fast/web-share/share-with-no-url.html: Added.
- fast/web-share/share-with-no-url-expected.txt: Added.
Add a new test that the sheet is successfully invoked even when a URL is not provided.
- 11:43 AM Changeset in webkit [237011] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r236678): Keyboard scrolling with arrow keys doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=190433
<rdar://problem/45111986>
Reviewed by Simon Fraser.
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]):
(-[WKKeyboardScrollingAnimator beginWithEvent:]): Deleted.
(-[WKKeyboardScrollViewAnimator beginWithEvent:]): Deleted.
r236678 changes the characters in charactersIgnoringModifiers to match AppKit.
We similarly need to update WKKeyboardScrollingAnimator's comparison.
- 11:34 AM Changeset in webkit [237010] by
-
- 17 edits in trunk
Web Inspector: notify the frontend when a canvas has started recording via console.record
https://bugs.webkit.org/show_bug.cgi?id=190306
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Canvas.json:
Add
recordingStartedevent.
- inspector/protocol/Recording.json:
Add
Initiatorenum for determining who started the recording.
Source/WebCore:
Updated existing tests: LayoutTests/inspector/canvas/recording-2d.html
LayoutTests/inspector/canvas/recording-bitmaprenderer.html
LayoutTests/inspector/canvas/recording-webgl-snapshots.html
LayoutTests/inspector/canvas/recording-webgl.html
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas):
- inspector/InspectorCanvas.h:
Default
singleFrameto false to better match the default behaviour of otherconsole
functions (profiledoesn't stop untilprofileEndis called, so the same should be true
ofrecordandrecordEnd).
Source/WebInspectorUI:
- UserInterface/Protocol/CanvasObserver.js:
(WI.CanvasObserver.prototype.recordingStarted): Added.
- UserInterface/Protocol/CanvasManager.js:
(WI.CanvasManager.prototype.recordingStarted): Added.
- UserInterface/Models/Canvas.js:
(WI.Canvas.prototype.startRecording):
(WI.Canvas.prototype.recordingStarted): Added.
(WI.Canvas.prototype.recordingFinished):
LayoutTests:
- inspector/canvas/recording-2d.html:
- inspector/canvas/recording-bitmaprenderer.html:
- inspector/canvas/recording-webgl-snapshots.html:
- inspector/canvas/recording-webgl.html:
- inspector/canvas/resources/recording-utilities.js:
(TestPage.registerInitializer.window.startRecording):
Wait to complete the test until the "LastFrame" event is fired, ensuring that any running
commands don't affect the next test case.
- 11:29 AM Changeset in webkit [237009] by
-
- 90 edits in trunk
[JSC] Rename createXXX to tryCreateXXX if it can return RefPtr
https://bugs.webkit.org/show_bug.cgi?id=190429
Reviewed by Saam Barati.
Source/JavaScriptCore:
Some createXXX functions can fail. But sometimes the caller does not perform error checking.
To make it explicit that these functions can fail, we rename these functions from createXXX
to tryCreateXXX. In this patch, we focus on non-JS-managed factory functions. If the factory
function does not fail, it should return Ref<>. Otherwise, it should be named as tryCreateXXX
and it should return RefPtr<>.
This patch mainly focuses on TypedArray factory functions. Previously, these functions are
RefPtr<XXXArray> create(...). This patch changes them toRefPtr<XXXArray> tryCreate(...).
And we also introduceRef<XXXArray> create(...)function which internally performs
RELEASE_ASSERT on the result oftryCreate(...).
And we also convert OpaqueJSString::create to OpaqueJSString::tryCreate since it can fail.
This change actually finds one place which does not perform any null checkings while it uses
RefPtr<> create(...)function.
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::putByIndex):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::callbackGetter):
- API/JSClassRef.h:
(StaticValueEntry::StaticValueEntry):
- API/JSContext.mm:
(-[JSContext evaluateScript:withSourceURL:]):
(-[JSContext setName:]):
- API/JSContextRef.cpp:
(JSGlobalContextCopyName):
(JSContextCreateBacktrace):
- API/JSObjectRef.cpp:
(JSObjectCopyPropertyNames):
- API/JSScriptRef.cpp:
- API/JSStringRef.cpp:
(JSStringCreateWithCharactersNoCopy):
- API/JSValue.mm:
(+[JSValue valueWithNewRegularExpressionFromPattern:flags:inContext:]):
(+[JSValue valueWithNewErrorFromMessage:inContext:]):
(+[JSValue valueWithNewSymbolFromDescription:inContext:]):
(performPropertyOperation):
(-[JSValue invokeMethod:withArguments:]):
(containerValueToObject):
(objectToValueWithoutCopy):
(objectToValue):
- API/JSValueRef.cpp:
(JSValueCreateJSONString):
(JSValueToStringCopy):
- API/OpaqueJSString.cpp:
(OpaqueJSString::tryCreate):
(OpaqueJSString::create): Deleted.
- API/OpaqueJSString.h:
- API/glib/JSCContext.cpp:
(evaluateScriptInContext):
- API/glib/JSCValue.cpp:
(jsc_value_new_string_from_bytes):
- ftl/FTLLazySlowPath.h:
(JSC::FTL::LazySlowPath::createGenerator):
- ftl/FTLLazySlowPathCall.h:
(JSC::FTL::createLazyCallGenerator):
- ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::emitOSRExit):
(JSC::FTL::OSRExitDescriptor::emitOSRExitLater):
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
- ftl/FTLOSRExit.h:
- ftl/FTLPatchpointExceptionHandle.cpp:
(JSC::FTL::PatchpointExceptionHandle::create):
(JSC::FTL::PatchpointExceptionHandle::createHandle):
- ftl/FTLPatchpointExceptionHandle.h:
- heap/EdenGCActivityCallback.h:
(JSC::GCActivityCallback::tryCreateEdenTimer):
(JSC::GCActivityCallback::createEdenTimer): Deleted.
- heap/FullGCActivityCallback.h:
(JSC::GCActivityCallback::tryCreateFullTimer):
(JSC::GCActivityCallback::createFullTimer): Deleted.
- heap/GCActivityCallback.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
- inspector/AsyncStackTrace.cpp:
(Inspector::AsyncStackTrace::create):
- inspector/AsyncStackTrace.h:
- jsc.cpp:
(fillBufferWithContentsOfFile):
- runtime/ArrayBuffer.h:
- runtime/GenericTypedArrayView.h:
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::tryCreate):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::tryCreateUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::subarray const):
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::possiblySharedImpl):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::possiblySharedTypedImpl):
(JSC::JSGenericTypedArrayView<Adaptor>::unsharedTypedImpl):
- wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::create):
(JSC::Wasm::Memory::tryCreate):
- wasm/WasmMemory.h:
- wasm/WasmTable.cpp:
(JSC::Wasm::Table::tryCreate):
(JSC::Wasm::Table::create): Deleted.
- wasm/WasmTable.h:
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::create):
- wasm/js/JSWebAssemblyMemory.cpp:
(JSC::JSWebAssemblyMemory::JSWebAssemblyMemory):
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::constructJSWebAssemblyMemory):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::constructJSWebAssemblyTable):
Source/WebCore:
Use
tryCreateor newcreate. If we use newcreate, we can use Ref<> and remove null check.
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::cachedKeyForKeyID const):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::jsValueWithDictionaryInContext):
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::getChannelData):
- Modules/webvr/VREyeParameters.cpp:
(WebCore::VREyeParameters::offset const):
- Modules/webvr/VRFrameData.cpp:
(WebCore::matrixToArray):
- Modules/webvr/VRPose.cpp:
(WebCore::optionalFloat3ToJSCArray):
(WebCore::VRPose::position const):
(WebCore::VRPose::orientation const):
- Modules/webvr/VRStageParameters.cpp:
(WebCore::VRStageParameters::sittingToStandingTransform const):
- bindings/js/ReadableStreamDefaultController.h:
(WebCore::ReadableStreamDefaultController::enqueue):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readArrayBufferView):
- crypto/gcrypt/CryptoKeyRSAGCrypt.cpp:
(WebCore::CryptoKeyRSA::algorithm const):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::algorithm const):
- css/DOMMatrixReadOnly.cpp:
(WebCore::DOMMatrixReadOnly::toFloat32Array const):
(WebCore::DOMMatrixReadOnly::toFloat64Array const):
- css/FontFace.cpp:
(WebCore::FontFace::create):
- dom/TextEncoder.cpp:
(WebCore::TextEncoder::encode const):
- html/ImageData.cpp:
(WebCore::ImageData::ImageData):
- html/ImageData.h:
(WebCore::ImageData::data const):
(): Deleted.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::bufferData):
(WebCore::WebGL2RenderingContext::bufferSubData):
(WebCore::WebGL2RenderingContext::getInternalformatParameter):
(WebCore::WebGL2RenderingContext::getParameter):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::getWebGLFloatArrayParameter):
(WebCore::WebGLRenderingContextBase::getWebGLIntArrayParameter):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::extractKeyURIKeyIDAndCertificateFromInitData):
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::generateKeyRequest):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::releaseKeys):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::releaseKeys):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::getRGBAImageData const):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::getImageData):
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData const):
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplySoftware):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::unmultipliedResult):
(WebCore::FilterEffect::premultipliedResult):
(WebCore::FilterEffect::copyUnmultipliedResult):
(WebCore::FilterEffect::copyPremultipliedResult):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
- platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::getData const):
- platform/mac/SerializedPlatformRepresentationMac.mm:
(WebCore::jsValueWithDictionaryInContext):
- platform/mock/mediasource/MockBox.cpp:
(WebCore::MockBox::peekType):
(WebCore::MockBox::peekLength):
(WebCore::MockTrackBox::MockTrackBox):
(WebCore::MockInitializationBox::MockInitializationBox):
(WebCore::MockSampleBox::MockSampleBox):
- rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
- testing/LegacyMockCDM.cpp:
(WebCore::initDataPrefix):
(WebCore::keyPrefix):
(WebCore::keyRequest):
Source/WebKit:
Use
tryCreateor newcreate. If we use newcreate, we can use Ref<> and remove null check.
- Shared/API/c/WKString.cpp:
(WKStringCopyJSString):
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::toJSValue):
(WebKit::callPropertyFunction):
(WebKit::WebAutomationSessionProxy::scriptObjectForFrame):
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::runScriptsInPDFDocument):
Source/WebKitLegacy/ios:
Use
tryCreateor newcreate. If we use newcreate, we can use Ref<> and remove null check.
- WebView/WebPDFViewIOS.mm:
(-[WebPDFView finishedLoadingWithDataSource:]):
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder _evaluateJSForDocument:]):
Source/WebKitLegacy/mac:
Use
tryCreateor newcreate. If we use newcreate, we can use Ref<> and remove null check.
- WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation finishedLoadingWithDataSource:]):
Tools:
- TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
(TestWebKitAPI::TEST_F):
- 11:21 AM Changeset in webkit [237008] by
-
- 9 edits in trunk
Regression(PSON): Assertion hit under WebPageProxy::didNavigateWithNavigationData()
https://bugs.webkit.org/show_bug.cgi?id=190418
<rdar://problem/45059769>
Reviewed by Geoffrey Garen.
Source/WebKit:
When process swapping and "suspending" the previous WebProcess in a SuspendedPageProxy,
we need to keep around the main frame's ID that still exists on in this process. This
is needed so that we can re-create a UI-side WebFrameProxy for the WebFrame that exists
in the WebProcess, if we ever swap back to this suspended process (see login in
WebPageProxy::swapToWebProcess()).
The bug was that the main frame ID was stored on the WebPageProxy via m_mainFrameID instead of the
SuspendedPageProxy. This means that m_mainFrameID would get overriden when navigating in the new
WebProcess with the value 1 (because WebFrame identifiers start at 1 and are per-WebProcess).
This would lead to us constructing a WebFrameProxy with the wrong frame identifier in
WebPageProxy::swapToWebProcess(), which would override an existing unrelated WebFrame in the
WebProcessProxy's HashMap of frames. This would lead to crashes later on as the WebFrame
would not be associated to the WebPageProxy we expect.
- UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::SuspendedPageProxy):
- UIProcess/SuspendedPageProxy.h:
(WebKit::SuspendedPageProxy::mainFrameID const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeCreateSuspendedPage):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::didCreateMainFrame):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::suspendWebPageProxy):
- UIProcess/WebProcessProxy.h:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 11:20 AM Changeset in webkit [237007] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Compare input string to UIKeyInput constants using string comparison instead of pointer comparison
https://bugs.webkit.org/show_bug.cgi?id=190432
Reviewed by Tim Horton.
Pointer comparision is brittle. We should be more forgiving and perform string comparision
of an input string to a UIKeyInput constant.
- platform/ios/WebEvent.mm:
(normalizedStringWithAppKitCompatibilityMapping):
- 11:01 AM Changeset in webkit [237006] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: indent all network entries when "Group by Node" is checked
https://bugs.webkit.org/show_bug.cgi?id=190388
Reviewed by Timothy Hatcher.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
- UserInterface/Views/NetworkTableContentView.css:
(.network-table.grouped .data-container .cell.name): Added.
(.network-table.grouped .data-container .cell:not(.parent).name): Added.
(.network-table.grouped .data-container .cell.child.name): Added.
(.network-table .cell.grouped-by-node.name): Deleted.
(body[dir=ltr] .network-table .cell.grouped-by-node.name): Deleted.
(body[dir=rtl] .network-table .cell.grouped-by-node.name): Deleted.
Apply a padding to all nodes when theWI.Tableis grouped.
- 10:45 AM Changeset in webkit [237005] by
-
- 7 edits in tags/Safari-607.1.10.1/Source
Versioning.
- 10:41 AM Changeset in webkit [237004] by
-
- 6 edits in trunk/Source/WebKit
Do domain prewarming for processes for new tabs
https://bugs.webkit.org/show_bug.cgi?id=190425
Reviewed by Chris Dumez.
We currently only do domain prewarming for navigation process swaps.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
Do domain prewarming when using an existing but so far unused process.
(WebKit::WebProcessPool::tryPrewarmWithDomainInformation):
Factor into a function.
- UIProcess/WebProcessPool.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
This didn't usually get invoked.
(WebKit::WebPage::didReceivePolicyDecision):
(WebKit::WebPage::didFinishLoad):
Update prewarm information when a top level load finishes.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::sendPrewarmInformation):
- WebProcess/WebProcess.h:
- 10:16 AM Changeset in webkit [237003] by
-
- 1 copy in tags/Safari-607.1.10.1
New tag.
- 9:55 AM October 2018 Meeting edited by
- (diff)
- 9:53 AM October 2018 Meeting edited by
- (diff)
- 9:53 AM October 2018 Meeting edited by
- (diff)
- 9:30 AM Changeset in webkit [237002] by
-
- 4 edits in trunk
Unreviewed, rolling out r236802.
Working on getting the HTML spec updated instead
(https://github.com/whatwg/html/pull/4079)
Reverted changeset:
"Passing noopener=NOOPENER to window.open() should cause the
new window to not have an opener"
https://bugs.webkit.org/show_bug.cgi?id=190251
https://trac.webkit.org/changeset/236802
- 8:22 AM October 2018 Meeting edited by
- Schedule change (diff)
- 6:33 AM Changeset in webkit [237001] by
-
- 5 edits in trunk/Tools
[JSCOnly Add an armv7 JSCOnly EWS that runs tests
https://bugs.webkit.org/show_bug.cgi?id=190191
Reviewed by Michael Catanzaro.
- QueueStatusServer/config/queues.py:
- Scripts/webkitpy/common/config/ews.json:
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):
Add the possibility to pass arguments to run-javascriptcore-tests with
the JSCTESTS_OPTIONS environment variable
- Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):
- 4:39 AM Changeset in webkit [237000] by
-
- 2 edits in trunk/JSTests
Skip JSC test stress/sampling-profiler-richards.js on armv7/linux
https://bugs.webkit.org/show_bug.cgi?id=190426
Unreviewed gardening.
- stress/sampling-profiler-richards.js:
- 1:48 AM Changeset in webkit [236999] by
-
- 4 edits in trunk/Source/WebCore
XMLHttpRequest should use reportExtraMemoryAllocated/reportExtraMemoryVisited instead of deprecatedReportExtraMemory
https://bugs.webkit.org/show_bug.cgi?id=190279
Reviewed by Ryosuke Niwa.
This patch switches deprecatedReportExtraMemory to reportExtraMemoryAllocated/reportExtraMemoryVisited
in XMLHttpRequest. We report extra memory allocation when the readyState becomes DONE. And memoryCost
function returns the memory cost which is based on the readyState and m_responseBuilder.
We annotate XMLHttpRequest with ReportExtraMemoryCost to use reportExtraMemoryVisited automatically with
memoryCost() function.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::changeState):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::networkErrorTimerFired):
(WebCore::XMLHttpRequest::memoryCost const):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReachTimeout):
(WebCore::XMLHttpRequest::dropProtection): Deleted.
- xml/XMLHttpRequest.h:
- xml/XMLHttpRequest.idl:
Oct 9, 2018:
- 11:55 PM Changeset in webkit [236998] by
-
- 27 edits in trunk
Remove the frames() timing function
https://bugs.webkit.org/show_bug.cgi?id=190034
<rdar://problem/44827544>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt:
- web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt:
- web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt:
- web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
- web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:
Source/WebCore:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::createTimingFunctionValue):
- css/CSSTimingFunctionValue.cpp:
(WebCore::CSSFramesTimingFunctionValue::customCSSText const): Deleted.
(WebCore::CSSFramesTimingFunctionValue::equals const): Deleted.
- css/CSSTimingFunctionValue.h:
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
- css/CSSValue.cpp:
(WebCore::CSSValue::equals const):
(WebCore::CSSValue::cssText const):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isStepsTimingFunctionValue const):
(WebCore::CSSValue::isFramesTimingFunctionValue const): Deleted.
- css/CSSValueKeywords.in:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeAnimationTimingFunction):
(WebCore::consumeFrames): Deleted.
- platform/animation/TimingFunction.cpp:
(WebCore::operator<<):
(WebCore::TimingFunction::transformTime const):
(WebCore::TimingFunction::createFromCSSValue):
- platform/animation/TimingFunction.h:
(WebCore::TimingFunction::isStepsTimingFunction const):
(WebCore::TimingFunction::isFramesTimingFunction const): Deleted.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::animationCanBeAccelerated const):
(WebCore::animationHasFramesTimingFunction): Deleted.
Source/WebKit:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<FramesTimingFunction>::encode): Deleted.
(IPC::ArgumentCoder<FramesTimingFunction>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::Properties::encode const):
(WebKit::PlatformCAAnimationRemote::Properties::decode):
LayoutTests:
- legacy-animation-engine/transitions/frames-timing-function-expected.txt:
- legacy-animation-engine/transitions/transitions-parsing-expected.txt:
- transitions/frames-timing-function-expected.txt:
- transitions/transitions-parsing-expected.txt:
- 8:43 PM Changeset in webkit [236997] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Performance dashboard should show added iterations due failed build requests.
https://bugs.webkit.org/show_bug.cgi?id=190419
Reviewed by Ryosuke Niwa.
Added UI to show added build requests due to previous failed build requests.
Updated the retry/bisect button to default to initial repetition count when test group is created.
- public/v3/pages/analysis-task-page.js: Added a div to show added build requests.
Retry and bisect button should default to initial repetion count.
(AnalysisTaskTestGroupPane.prototype._renderCurrentTestGroup):
(AnalysisTaskTestGroupPane.cssTemplate):
- 8:15 PM Changeset in webkit [236996] by
-
- 2 edits in trunk/Websites/perf.webkit.org
ManifestGenerator shouldn't need more than 1GB of memory or run for 30 seconds
https://bugs.webkit.org/show_bug.cgi?id=190393
Reviewed by Antti Koivisto and unofficially reviewed by Dewei Zhu.
This patch reduces the runtime of /api/manifest from 13s to 7s and reduces the memory requirement from
1GB to 400MB for the internal dashboard in my local testing.
The biggest perf win comes from avoid running a complex query over test_configurations to compute
the latest modified date across different test configuration types ("current" vs. "baseline").
Instead, we now fetch the entire table row by row and compute the latest modified date in memory.
Also call intval in many more places to avoid generating double quotes, which is a pretty significant
proportion of the JSON file size at this point.
Finally, use references in more places to avoid deep copying of arrays.
- public/include/manifest-generator.php:
(ManifestGenerator::generate): Skip the generation of "dashboard" since it's only used by v1 UI.
(ManifestGenerator::tests): Don't copy each row.
(ManifestGenerator::metrics): Ditto.
(ManifestGenerator::platforms): Implement the aforementioned optimization. Instead of grouping
test configurations for a given metric and platform together, fetch them all and do in-memory
processing in PHP. Avoid more copying as well.
(ManifestGenerator::repositories): Avoid more copying.
(ManifestGenerator::bug_trackers): Ditto.
(ManifestGenerator::fetch_triggerables): Ditto.
- 7:49 PM Changeset in webkit [236995] by
-
- 21 edits3 adds in trunk
Web Inspector: show redirect requests in Network and Timelines tabs
https://bugs.webkit.org/show_bug.cgi?id=150005
<rdar://problem/5378164>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/Network.json:
Add missing fields to
ResourceTiming.
Source/WebCore:
Updated existing test http/tests/inspector/network/resource-timing.html.
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::buildObjectForTiming):
(WebCore::InspectorNetworkAgent::didFinishLoading):
Add missing fields forNetwork.types.ResourceTiming.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/Variables.css:
- UserInterface/Main.html:
- UserInterface/Test.html:
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype.resourceRequestWillBeSent):
- UserInterface/Models/Resource.js:
(WI.Resource):
(WI.Resource.prototype.get redirects): Added.
(WI.Resource.prototype.get lastRedirectReceivedTimestamp):
(WI.Resource.prototype.updateForRedirectResponse):
Save each redirect in an array instead of just remembering the last timestamp.
- UserInterface/Models/ResourceTimingData.js:
(WI.ResourceTimingData):
(WI.ResourceTimingData.fromPayload.offsetToTimestamp):
(WI.ResourceTimingData.fromPayload):
(WI.ResourceTimingData.prototype.get redirectStart): Added.
(WI.ResourceTimingData.prototype.get redirectEnd): Added.
(WI.ResourceTimingData.prototype.get fetchStart): Added.
Add missing fields forNetwork.types.ResourceTiming.
- UserInterface/Models/Redirect.js: Added.
(WI.Redirect):
(WI.Redirect.prototype.get url):
(WI.Redirect.prototype.get requestMethod):
(WI.Redirect.prototype.get requestHeaders):
(WI.Redirect.prototype.get responseStatusCode):
(WI.Redirect.prototype.get responseStatusText):
(WI.Redirect.prototype.get responseHeaders):
(WI.Redirect.prototype.get timestamp):
(WI.Redirect.prototype.get urlComponents):
- UserInterface/Views/ResourceHeadersContentView.js:
(WI.ResourceHeadersContentView):
(WI.ResourceHeadersContentView.prototype.initialLayout):
(WI.ResourceHeadersContentView.prototype.layout):
(WI.ResourceHeadersContentView.prototype._refreshRedirectHeadersSections): Added.
(WI.ResourceHeadersContentView.prototype._resourceRequestHeadersDidChange):
- UserInterface/Views/ResourceHeadersContentView.css:
(body[dir] .resource-headers > section.summary > .details): Added.
(body[dir] .resource-headers > section:matches(.redirect, .headers) > .details): Added.
(.resource-headers .details .key):
(.resource-headers .summary .key):
(body[dir] .resource-headers > section > .details): Deleted.
(body[dir] .resource-headers > section.headers > .details): Deleted.
(.resource-headers .value): Deleted.
Add a request/response header section for each redirect.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
(WI.NetworkTableContentView.prototype._checkURLFilterAgainstResource):
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
- UserInterface/Views/NetworkTableContentView.css:
(.waterfall .block.redirect): Added.
(.waterfall .block.queue):
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
- UserInterface/Views/ResourceTimingBreakdownView.js:
(WI.ResourceTimingBreakdownView.prototype.initialLayout):
Add timeline/waterfall entries for total redirect time.
LayoutTests:
- http/tests/inspector/network/resource-timing-expected.txt:
- http/tests/inspector/network/resource-timing.html:
- http/tests/inspector/network/resources/delay.php: Added.
- http/tests/inspector/network/resources/redirect.php: Added.
- 6:01 PM October 2018 Meeting edited by
- (diff)
- 6:00 PM October 2018 Meeting edited by
- (diff)
- 5:31 PM Changeset in webkit [236994] by
-
- 2 edits in trunk/Source/WebKit
ASSERTION FAILED: m_cachesLocks.contains(sessionID) in WebKit::CacheStorageEngineConnection::dereference(PAL::SessionID, unsigned long long)
https://bugs.webkit.org/show_bug.cgi?id=190373
<rdar://problem/45106402>
Reviewed by Alex Christensen.
This assertion can be hit if:
- WebProcess has a DOMCache
- NetworkProcess crashes
- WebProcess navigates and dereference DOMCache.
Remove this assertion as it is hit when a test is using testRunner.terminateNetworkProcess().
- NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::dereference):
- 5:28 PM Changeset in webkit [236993] by
-
- 4 edits in trunk/Tools
Allow run-javascriptcore-tests to distribute tests between devices
https://bugs.webkit.org/show_bug.cgi?id=190190
Reviewed by Michael Catanzaro.
- Scripts/run-jsc-stress-tests:
- Scripts/webkitruby/jsc-stress-test-writer-default.rb:
- Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
- 5:23 PM Changeset in webkit [236992] by
-
- 7 edits1 add in trunk/Tools
Update WHLSL to Metal tester with semantics
https://bugs.webkit.org/show_bug.cgi?id=190416
<rdar://problem/45145139>
Reviewed by Myles Maxfield.
A few small changes to the WHLSL to Metal tools:
- Make it compile by adding some missing JS files :)
- Add semantics to the default shader
- Add FIXMEs to the other shaders
- Create an in-browser test for the WHLSLToMetal codepath
- Fix typos in the semantics checker
- WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkSemantics.checkSemanticTypes):
(Checker.prototype._checkSemantics.checkSemanticForShaderType):
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m:
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl:
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl:
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl:
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
- WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Added.
- 5:22 PM WebKitGTK/2.22.x edited by
- Propose some more backports (diff)
- 4:59 PM Changeset in webkit [236991] by
-
- 5 edits2 adds in trunk
REGRESSION(r234620): SVGLangSpace::svgAttributeChanged() should invalidate the renderer of the SVGGeometryElement descendant only
https://bugs.webkit.org/show_bug.cgi?id=190411
Reviewed by Simon Fraser.
Source/WebCore:
Test: svg/dynamic-updates/SVGStopElement-dom-xml-lang-attrr.html
When changing the attributes of the SVGLangSpace, we should invalidate
the renderer of the SVGGeometryElement descendant only. Renderer of other
elements, like SVGStopElement, should not be invalidated because they do
not have geometry and they can be used as resources for drawing another
SVGGeometryElement.
- svg/SVGElement.h:
(WebCore::SVGElement::isSVGGeometryElement const):
- svg/SVGGeometryElement.h:
(isType):
- svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::svgAttributeChanged):
LayoutTests:
- svg/dynamic-updates/SVGStopElement-dom-xml-lang-attrr-expected.txt: Added.
- svg/dynamic-updates/SVGStopElement-dom-xml-lang-attrr.html: Added.
- 4:56 PM WebKitGTK/2.22.x edited by
- (diff)
- 4:46 PM Changeset in webkit [236990] by
-
- 4 edits1 add in trunk
Crash when closing WKWebView during enter fullscreen animation
https://bugs.webkit.org/show_bug.cgi?id=190412
Reviewed by Brian Burg.
Source/WebKit:
We need a valid _webView if, during -[NSWindow close], we catch a notification saying we failed to enter
fullscreen and try to replace the placeholder with the actual _webView.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController close]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm: Added.
(-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillEnterFullscreen:]):
(-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillExitFullscreen:]):
(TestWebKitAPI::TEST):
- 4:40 PM Changeset in webkit [236989] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r231663) loading in hidden WKWebViews stalls because WebProcess is suspended
https://bugs.webkit.org/show_bug.cgi?id=190417
<rdar://problem/43391014>
Reviewed by Chris Dumez.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didChangeIsLoading):
Revert r321663, but keep the change to TestWKWebView.mm because that made the tests more reliable.
- 4:25 PM Changeset in webkit [236988] by
-
- 8 edits in trunk/Source/WebKit
Allow behavior when the parent process IPC::Connection closes to be overridden by ChildProcess subclasses
https://bugs.webkit.org/show_bug.cgi?id=190294
Reviewed by Geoffrey Garen.
Allow behavior when the parent process IPC::Connection closes to be overridden by ChildProcess subclasses.
This will be useful to allow the NetworkProcess to not exit if it still has pending downloads.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::callExitSoon):
(WebKit::NetworkProcess::initializeConnection):
- NetworkProcess/NetworkProcess.h:
- PluginProcess/PluginProcess.cpp:
(WebKit::callExit):
(WebKit::PluginProcess::initializeConnection):
- PluginProcess/PluginProcess.h:
- Shared/ChildProcess.cpp:
(WebKit::ChildProcess::didClose):
(WebKit::ChildProcess::initialize):
(WebKit::callExitNow): Deleted.
(WebKit::callExitSoon): Deleted.
- Shared/ChildProcess.h:
(WebKit::ChildProcess::shouldCallExitWhenConnectionIsClosed const): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::callExit):
(WebKit::WebProcess::initializeConnection):
- 4:21 PM Changeset in webkit [236987] by
-
- 16 edits4 adds in trunk
Anchor target should be ignored on activation when the download attribute is set
https://bugs.webkit.org/show_bug.cgi?id=190408
Reviewed by Geoffrey Garen.
Source/WebCore:
Anchor target should be ignored on activation when the download attribute is set:
When the download attribute is set, we should use the "download the hyperlink" algorithm [1]
instead of the "follow the hyperlink" [2] algorithm.
Note that the "download the hyperlink" triggers a download and ignores the target attribute
entirely.
This is important as an anchor element with target=_blank and the download attribute set may
fail because of Safari's popup blocker if we do not disregard the anchor target.
[1] https://html.spec.whatwg.org/#downloading-hyperlinks
[2] https://html.spec.whatwg.org/#following-hyperlinks-2
Tests: fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-base-target-popup-not-allowed.html
fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-popup-not-allowed.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
Tools:
Update WebKitTestRunner to block popups by default and add support for testRunner.setCanOpenWindows()
for tests that need popups. This aligns WebKitTestRunner with DumpRenderTree and allows testing
popup blocking.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCanOpenWindows):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- WebKitTestRunner/TestInvocation.h:
LayoutTests:
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-base-target-popup-not-allowed-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-base-target-popup-not-allowed.html: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-popup-not-allowed-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-popup-not-allowed.html: Added.
Add layout test coverage.
- http/tests/download/anchor-load-after-download.html:
- http/tests/workers/service/resources/registration-task-queue-scheduling-1.js:
Update existing WK2-only layout tests to call testRunner.setCanOpenWindows() since they rely on
opening a new window. We failed to notice the issue because these tests are not run on WK1.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
Skip new tests on WebKit1 since the download attribute is only supported on WebKit2.
- 3:31 PM Changeset in webkit [236986] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas Tab: grayed out Record button in navigator is nearly invisible
https://bugs.webkit.org/show_bug.cgi?id=190365
<rdar://problem/45097739>
Reviewed by Brian Burg.
- UserInterface/Views/CanvasSidebarPanel.css:
(@media (prefers-dark-interface)): Added.
(.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Added.
- 3:19 PM WebKitGTK/2.22.x edited by
- (diff)
- 2:59 PM Changeset in webkit [236985] by
-
- 2 edits in trunk/Source/WebCore
[WPE][GTK] Complex text crashes with harfbuzz 1.8.8
https://bugs.webkit.org/show_bug.cgi?id=190409
Reviewed by Žan Doberšek.
We discovered that harfbuzz 1.8.8 breaks WebKit by changing the ownership semantics of
hb_icu_get_unicode_funcs() from (transfer full) to (transfer none). Our code was actually
expecting (transfer none), so it's not immediately clear to me why it's crashing now, but
doesn't matter as Behdad recommends removing this line of code because it hasn't been
been needed for many years.
This should be covered by all our complex text tests if the bots were upgraded to the newer
harfbuzz.
- platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- 2:45 PM Changeset in webkit [236984] by
-
- 4 edits1 add in trunk
WebDriver: thrown ObjC exception under -[WKFullScreenWindowController windowDidFailToEnterFullScreen:] when session is terminated
https://bugs.webkit.org/show_bug.cgi?id=190098
<rdar://problem/42822671>
Reviewed by Brian Burg.
Source/WebKit:
Forcibly exit fullscreen in resetState(), while the VideoFullscreenManagerProxy is still valid.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewAfterEnterFullscreen.mm: Added.
(-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidEnterFullscreen:]):
(-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidExitFullscreen:]):
(TestWebKitAPI::TEST):
- 2:36 PM WebKitGTK/2.22.x edited by
- (diff)
- 2:31 PM Changeset in webkit [236983] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Cleanup EventHandler::passSubframeEventToSubframe()
https://bugs.webkit.org/show_bug.cgi?id=190390
Reviewed by Wenson Hsieh.
Unindent case statements in switch block and use more auto.
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::passSubframeEventToSubframe):
- 2:30 PM Changeset in webkit [236982] by
-
- 2 edits in trunk/Source/WebCore
Cleanup WebEvent.mm
https://bugs.webkit.org/show_bug.cgi?id=190391
Reviewed by Wenson Hsieh.
Unindent case statements in switch blocks.
- platform/ios/WebEvent.mm:
(-[WebEvent _typeDescription]):
(-[WebEvent _modiferFlagsDescription]):
(-[WebEvent _touchPhaseDescription:]):
(-[WebEvent _eventDescription]):
- 2:29 PM Changeset in webkit [236981] by
-
- 6 edits in trunk/Source/WebKit
[iOS] Ignore some deprecated declarations
https://bugs.webkit.org/show_bug.cgi?id=190371
Reviewed by Dan Bernstein.
- UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet init]):
(-[WKActionSheet presentSheet:]):
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant presentSheet]):
- UIProcess/ios/WKContentViewInteraction.mm:
- UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKMultipleSelectPicker initWithView:]):
- UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectTableViewController initWithView:hasGroups:]):
- 2:12 PM Changeset in webkit [236980] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target.html on iOS.
The download attribute is not supported on iOS yet.
- platform/ios-wk2/TestExpectations:
- 1:11 PM Changeset in webkit [236979] by
-
- 5 edits13 adds in trunk
Resolve inset properties to computed style when there is overconstraintment
https://bugs.webkit.org/show_bug.cgi?id=188711
Patch by Oriol Brufau <Oriol Brufau> on 2018-10-09
Reviewed by Manuel Rego Casasnovas.
This patch makes WebKit behave closer to Blink. Specifically,
- In overconstrained relative or absolute positioning, inset properties resolve to the computed value (absolutizing percentages) instead of to the used value.
- In fixed positioning, the resolved value of non-'auto' values is no longer increased by the border of the containg block.
LayoutTests/imported/w3c:
Some tests still have failures due to
- https://bugs.webkit.org/show_bug.cgi?id=189513
- https://bugs.webkit.org/show_bug.cgi?id=189518
- https://bugs.webkit.org/show_bug.cgi?id=189549
This patch can slighlty alter the resolved value if it's a long decimal number,
that's why test expectations for the timing functions test changed.
- web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-insets-absolute-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-fixed-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-fixed.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-nobox-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-nobox.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-relative-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-relative.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-static-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-static.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-sticky-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-insets-sticky.html: Added.
- web-platform-tests/css/cssom/support/getComputedStyle-insets.js: Added.
(serialize):
(wmName):
(checkStyle):
(runTestsWithWM):
(export.runTests):
Source/WebCore:
This patch can slighlty alter the resolved value if it's a long decimal number.
Tests: imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-fixed.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-nobox.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-relative.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-static.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-sticky.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::positionOffsetValue):
- rendering/RenderBox.h:
- 1:04 PM Changeset in webkit [236978] by
-
- 7 edits in branches/safari-606.2.104.0-branch/Source
Versioning.
- 12:52 PM Changeset in webkit [236977] by
-
- 4 edits in branches/safari-606.2.104.0-branch
Cherry-pick r236945. rdar://problem/45133492
- CrashTracer: backboardd at Recursion
- QuartzCore: CA::Render::Updater::prepare_sublayer0 https://bugs.webkit.org/show_bug.cgi?id=190376 <rdar://problem/44986520>
Reviewed by Tim Horton.
Source/WebCore:
Very deep CoreAnimation layer trees can cause problems. Reduce our maximum
depth from 256 to 128.
Modified existing test: compositing/layer-creation/deep-tree.html
- platform/graphics/ca/GraphicsLayerCA.cpp: Cap the depth at 128.
LayoutTests:
- compositing/layer-creation/deep-tree.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:32 PM Changeset in webkit [236976] by
-
- 5 edits10 adds in trunk
[WebAuthN] Import CTAP HID message and packet structure from Chromium
https://bugs.webkit.org/show_bug.cgi?id=189289
<rdar://problem/44120310>
Reviewed by Brent Fulgham.
Source/WebCore:
This patch imports CTAP HID message and packet structure:
https://fidoalliance.org/specs/fido-v2.0-ps-20170927/fido-client-to-authenticator-protocol-v2.0-ps-20170927.html#message-and-packet-structure
from Chromium. With this library, WebKit can now turn binaries into messages that CTAP devices could understand.
This patch contains the following Chromium files and modifies them to fit into WebKit:
https://cs.chromium.org/chromium/src/device/fido/fido_constants.cc?l=1&rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75
https://cs.chromium.org/chromium/src/device/fido/fido_constants.h?l=1&rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75
https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_message.cc?l=1&rcl=387f3725de2842e0e6b7175a9b2ed472b0cf781a
https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_message.h?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75
https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_packet.cc?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75
https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_packet.h?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75
https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_message_unittest.cc?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75
Covered by API tests.
- Modules/webauthn/fido/FidoConstants.cpp: Added.
(fido::isFidoHidDeviceCommand):
- Modules/webauthn/fido/FidoConstants.h: Added.
- Modules/webauthn/fido/FidoHidMessage.cpp: Added.
(fido::FidoHidMessage::create):
(fido::FidoHidMessage::createFromSerializedData):
(fido::FidoHidMessage::messageComplete const):
(fido::FidoHidMessage::getMessagePayload const):
(fido::FidoHidMessage::popNextPacket):
(fido::FidoHidMessage::addContinuationPacket):
(fido::FidoHidMessage::numPackets const):
(fido::FidoHidMessage::FidoHidMessage):
- Modules/webauthn/fido/FidoHidMessage.h: Added.
- Modules/webauthn/fido/FidoHidPacket.cpp: Added.
(fido::FidoHidPacket::FidoHidPacket):
(fido::FidoHidInitPacket::createFromSerializedData):
(fido::FidoHidInitPacket::FidoHidInitPacket):
(fido::FidoHidInitPacket::getSerializedData const):
(fido::FidoHidContinuationPacket::createFromSerializedData):
(fido::FidoHidContinuationPacket::FidoHidContinuationPacket):
(fido::FidoHidContinuationPacket::getSerializedData const):
- Modules/webauthn/fido/FidoHidPacket.h: Added.
- Modules/webauthn/fido/FidoParsingUtils.cpp: Added.
(fido::getInitPacketData):
(fido::getContinuationPacketData):
- Modules/webauthn/fido/FidoParsingUtils.h: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: Added.
(TestWebKitAPI::TEST):
- 12:25 PM Changeset in webkit [236975] by
-
- 4 edits in trunk/Source
[WPE] Explicitly link against gmodule where used
https://bugs.webkit.org/show_bug.cgi?id=190398
Reviewed by Michael Catanzaro.
- PlatformWPE.cmake:
- 12:23 PM Changeset in webkit [236974] by
-
- 3 edits in trunk/Source/WebCore
[CoordGraphics] Remove the 'previous backing store' logic
https://bugs.webkit.org/show_bug.cgi?id=188838
Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-10-09
Reviewed by Žan Doberšek.
Remove previousBackingStore from LayerState, since it's not needed anymore.
When there is scale adjustment, we now simply discard mainBackingStore and
recreate a new one.
No new tests required.
- platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
- 12:09 PM WebKitGTK/2.22.x edited by
- (diff)
- 12:04 PM Changeset in webkit [236973] by
-
- 6 edits in trunk
PSON: Doing a cross-site navigation via the URL bar does not swap process on iOS
https://bugs.webkit.org/show_bug.cgi?id=190378
<rdar://problem/45059466>
Reviewed by Geoffrey Garen.
Source/WebKit:
Process swapping was sometimes not happening via URL bar navigation on iOS due to top-hit preloading,
which would use a new WKWebView for the speculative load and rely on the _relatedWebView SPI to use
the same WebContent process as the view currently on screen.
To address the issue, if the source URL is empty and the page has a related page, use the related
page's URL as source URL when doing the process-swap decision.
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::relatedPage const):
(API::PageConfiguration::relatedPage): Deleted.
- UIProcess/API/APIPageConfiguration.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 12:04 PM Changeset in webkit [236972] by
-
- 5 edits in trunk
Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
https://bugs.webkit.org/show_bug.cgi?id=190403
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype._removeCanvas):
Clear theshaderProgramCollectionwhen aWI.Canvasis removed so that a remove event is
fired for eachWI.ShaderProgram.
LayoutTests:
- inspector/canvas/create-context-webmetal.html:
Fix missing parenthesis.
- inspector/canvas/resources/shaderProgram-utilities.js:
(createProgram):
(TestPage.registerInitializer.awaitProgramAdded):
(TestPage.registerInitializer):
(TestPage.registerInitializer.window.initializeTestSuite):
Replace theWI.CanvasManagerevents (which were removed) with listeners for events on the
specificWI.Canvas.
- 11:38 AM Changeset in webkit [236971] by
-
- 2 edits in trunk/Source/WebCore
[PSON] Prewarm system UI font
https://bugs.webkit.org/show_bug.cgi?id=190397
Reviewed by Geoffrey Garen.
Cache system UI font fallbacks. Almost every web process needs these.
- page/ProcessWarming.cpp:
(WebCore::ProcessWarming::prewarmGlobally):
- 11:25 AM Changeset in webkit [236970] by
-
- 5 edits2 adds in trunk
REGRESSION (Safari 12): Download of Blob URL fails
https://bugs.webkit.org/show_bug.cgi?id=190351
<rdar://problem/45091181>
Reviewed by Geoffrey Garen.
Source/WebCore:
When using both the download attribute and target="_blank" on an anchor element, we would
mistakenly drop the download attribute after the "new window" policy decision has been made.
As a result, we would try to load the blob instead of downloading it.
Test: fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
LayoutTests:
Add layout test coverage.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target.html: Added.
- 11:15 AM Changeset in webkit [236969] by
-
- 2 edits in trunk/Source/WTF
StringTypeAdapter constructor is not properly enforcing String::MaxLength.
https://bugs.webkit.org/show_bug.cgi?id=190392
<rdar://problem/45116210>
Reviewed by Saam Barati.
Previously, the StringTypeAdapter constructor for a UChar* string was summing the
unsigned length of the source string without an overflow check. We now make that
length a size_t which removes this issue, and assert that it's within
String::MaxLength thereafter.
Also made the StringTypeAdapter constructor for a LChar* string behave in an
equivalent manner for consistency. In both cases, we'll crash in a RELEASE_ASSERT
if the source string length exceeds String::MaxLength.
- wtf/text/StringConcatenate.h:
- 10:56 AM Changeset in webkit [236968] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Replace @"UIPreviewDataAttachmentListIsContentManaged" with a UIKit constant
https://bugs.webkit.org/show_bug.cgi?id=190400
<rdar://problem/35442879>
Reviewed by Wenson Hsieh.
Also fixed the iOS version check in WKContentViewInteraction.mm.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
- 10:40 AM Changeset in webkit [236967] by
-
- 2 edits in trunk/Source/WebCore
[MSE][GStreamer] r236735 has some dead ASSERTs that need to be moved
https://bugs.webkit.org/show_bug.cgi?id=190394
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::createOptionalParserForFormat):
- 10:18 AM Changeset in webkit [236966] by
-
- 5 edits in trunk/Source/WebKit
REGRESSION (r232416): Can not scroll after swiping back on quoteunquoteapps.com
https://bugs.webkit.org/show_bug.cgi?id=190377
<rdar://problem/45108222>
Reviewed by Andy Estes.
Introduce the notion of 'pausing' to SnapshotRemovalTracker.
Reimplement r232416 in terms of this: the SnapshotRemovalTracker
starts out paused (not accepting events), and un-pauses when
we get a provisional load or same-document navigation.
This way, we don't lose the watchdog timer in cases where we get
no provisional load, same-document navigation, or main frame load
(which is the separate root cause for this bug -- this just papers
over it with a timeout).
- UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
Resume the snapshot removal tracker.
(WebKit::ViewGestureController::didReachMainFrameLoadTerminalState):
If we didn't see a provisional load or same document navigation,
but somehow got to the terminal load state, immediately remove the snapshot.
(WebKit::ViewGestureController::SnapshotRemovalTracker::resume):
(WebKit::ViewGestureController::SnapshotRemovalTracker::start):
Start the SnapshotRemovalTracker out in the paused state; it will be
resumed in the same places we previously would call the
provisionalOrSameDocumentLoadCallback.
(WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):
Ignore (but debug log) incoming events while paused.
- UIProcess/Cocoa/ViewGestureController.h:
(WebKit::ViewGestureController::SnapshotRemovalTracker::pause):
(WebKit::ViewGestureController::SnapshotRemovalTracker::isPaused const):
Add the pausing bit.
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::endSwipeGesture):
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::endSwipeGesture):
Remove m_provisionalOrSameDocumentLoadCallback.
- 10:15 AM Changeset in webkit [236965] by
-
- 5 edits in trunk/Source/WebCore
Have DOMWindow get its frame from its document
https://bugs.webkit.org/show_bug.cgi?id=190389
Reviewed by Geoff Garen.
Have DOMWindow get its frame from its document instead of having its own m_frame which can potentially
be out-of-sync.
- dom/Document.cpp:
(WebCore::Document::frameDestroyed):
(WebCore::Document::willDetachPage):
(WebCore::Document::attachToCachedFrame):
- dom/Document.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::allowPopUp):
(WebCore::ContextDestructionObserver):
(WebCore::DOMWindow::didSecureTransitionTo):
(WebCore::DOMWindow::frameDestroyed):
(WebCore::DOMWindow::willDetachDocumentFromFrame):
(WebCore::DOMWindow::reconnectDOMWindowProperties):
(WebCore::DOMWindow::isCurrentlyDisplayedInFrame const):
(WebCore::DOMWindow::collectMatchingElementsInFlatTree):
(WebCore::DOMWindow::matchingElementInFlatTree):
(WebCore::DOMWindow::orientation const):
(WebCore::DOMWindow::console const):
(WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld):
(WebCore::DOMWindow::webkitNamespace):
(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::postMessageTimerFired):
(WebCore::DOMWindow::frameElement const):
(WebCore::DOMWindow::focus):
(WebCore::DOMWindow::blur):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::print):
(WebCore::DOMWindow::stop):
(WebCore::DOMWindow::alert):
(WebCore::DOMWindow::confirm):
(WebCore::DOMWindow::prompt):
(WebCore::DOMWindow::find const):
(WebCore::DOMWindow::outerHeight const):
(WebCore::DOMWindow::outerWidth const):
(WebCore::DOMWindow::innerHeight const):
(WebCore::DOMWindow::innerWidth const):
(WebCore::DOMWindow::screenX const):
(WebCore::DOMWindow::screenY const):
(WebCore::DOMWindow::scrollX const):
(WebCore::DOMWindow::scrollY const):
(WebCore::DOMWindow::closed const):
(WebCore::DOMWindow::length const):
(WebCore::DOMWindow::name const):
(WebCore::DOMWindow::setName):
(WebCore::DOMWindow::setStatus):
(WebCore::DOMWindow::setDefaultStatus):
(WebCore::DOMWindow::self const):
(WebCore::DOMWindow::opener const):
(WebCore::DOMWindow::disownOpener):
(WebCore::DOMWindow::parent const):
(WebCore::DOMWindow::top const):
(WebCore::DOMWindow::getMatchedCSSRules const):
(WebCore::DOMWindow::devicePixelRatio const):
(WebCore::DOMWindow::scrollBy const):
(WebCore::DOMWindow::scrollTo const):
(WebCore::DOMWindow::allowedToChangeWindowGeometry const):
(WebCore::DOMWindow::moveBy const):
(WebCore::DOMWindow::moveTo const):
(WebCore::DOMWindow::resizeBy const):
(WebCore::DOMWindow::resizeTo const):
(WebCore::DOMWindow::clearTimeout):
(WebCore::DOMWindow::isSameSecurityOriginAsMainFrame const):
(WebCore::DOMWindow::finishedLoading):
(WebCore::DOMWindow::setLocation):
(WebCore::DOMWindow::open):
(WebCore::DOMWindow::showModalDialog):
(WebCore::DOMWindow::frame const):
(WebCore::FrameDestructionObserver): Deleted.
(WebCore::DOMWindow::willDetachPage): Deleted.
(WebCore::DOMWindow::detachFromFrame): Deleted.
(WebCore::DOMWindow::attachToFrame): Deleted.
- page/DOMWindow.h:
- 9:54 AM Changeset in webkit [236964] by
-
- 13 edits1 add in trunk
ISOTrackEncryptionBox returns incorrect defaultKeyID
https://bugs.webkit.org/show_bug.cgi?id=190368
Reviewed by Eric Carlson.
Source/WebCore:
Test: TestWebKitAPI.ISOBox.ISOProtectionSchemeInfoBox
ISOTrackEncryptionBox::parse() increments the data offset by an incorrect amount.
Drive-by fix: add EXPORT macros to all the ISO box classes so that tests can be written in TestWebKitAPI.
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/iso/ISOBox.h:
- platform/graphics/iso/ISOOriginalFormatBox.h:
- platform/graphics/iso/ISOProtectionSchemeInfoBox.h:
- platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h:
- platform/graphics/iso/ISOSchemeInformationBox.h:
- platform/graphics/iso/ISOSchemeTypeBox.h:
- platform/graphics/iso/ISOTrackEncryptionBox.cpp:
(WebCore::ISOTrackEncryptionBox::parse):
- platform/graphics/iso/ISOTrackEncryptionBox.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
(TestWebKitAPI::TEST):
- 9:01 AM WebKitGTK/2.22.x edited by
- (diff)
- 8:44 AM Changeset in webkit [236963] by
-
- 11 edits2 adds in trunk
Add support for IceCandidate stats
https://bugs.webkit.org/show_bug.cgi?id=190329
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Export new stats kType values.
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
Source/WebCore:
Convert IceCandidate stats gathered by libwebrtc.
Since networkType might be sensitive information, we currently do not expose it.
We do not expose address either if it is a host or prflx candidate.
Test: webrtc/candidate-stats.html
- Modules/mediastream/RTCStatsReport.h:
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::iceCandidateState):
(WebCore::fillRTCIceCandidateStats):
(WebCore::LibWebRTCStatsCollector::OnStatsDelivered):
LayoutTests:
- webrtc/candidate-stats-expected.txt: Added.
- webrtc/candidate-stats.html: Added.
- webrtc/routines.js:
- webrtc/video-stats.html:
- 8:31 AM Changeset in webkit [236962] by
-
- 3 edits in trunk/Source/WTF
Revert temporary asserts for debugging a mysterious ASAN bot crash.
https://bugs.webkit.org/show_bug.cgi?id=190396
Reviewed by Yusuke Suzuki.
- wtf/StackBounds.cpp:
(WTF::StackBounds::newThreadStackBounds):
- wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
- 8:10 AM Changeset in webkit [236961] by
-
- 7 edits in trunk
[GStreamer] Stealing cross-origin video pixel with HLS
https://bugs.webkit.org/show_bug.cgi?id=190003
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Report the SecurityOrigin of downloaded adaptivedemux (HLS, DASH,
SmoothStreaming) fragments as tainted if their origin differs from
the manifest SecurityOrigin. SecurityOrigins are stored in the
CachedResourceStreamingClient implemented in the internal
GStreamer HTTP(S) source element.
The implementation is not ideal yet because the fragments download
is performed by the WebProcess, until bug 189967 is fixed. When
this bug is fixed, the m_hasTaintedOrigin member variable should
be removed and all checks be done unconditionally to the
webkithttpsrc element which will manage the download of the
manifests and fragments.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::loadFull): Reset the m_hasTaintedOrigin value.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Get the
fragment URL from the adaptivedemux stats message and check if its
origin is tainted.
(WebCore::MediaPlayerPrivateGStreamer::wouldTaintOrigin const):
Initial implementation by checking the m_hasTaintedOrigin member
variable value.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::responseReceived): Store the
resource origin internally so it can be checked later on by
webKitSrtcWouldTaintOrigin().
(webKitSrcWouldTaintOrigin): Check given origin against cached
origins. This implementation is similar to Cocoa's
WebCoreNSURLSession implementation.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
LayoutTests:
- platform/gtk/TestExpectations: Unflag now-passing test.
- 6:54 AM Changeset in webkit [236960] by
-
- 2 edits4 deletes in trunk/Tools
[JHBuild] Update to GStreamer 1.14.4
https://bugs.webkit.org/show_bug.cgi?id=190395
Reviewed by Xabier Rodriguez-Calvar.
- gstreamer/jhbuild.modules: Remove patches merged in 1.14.4 and bump version of GStreamer modules.
- gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Removed.
- gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Removed.
- gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Removed.
- gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Removed.
- 2:14 AM Changeset in webkit [236959] by
-
- 18 edits1 copy in trunk/Source
Prewarm FontDatabase on process swap
https://bugs.webkit.org/show_bug.cgi?id=190312
Reviewed by Chris Dumez.
Source/WebCore:
Implement basic prewarming of FontDatabase. When the domain of the first page load on
a new process is known we pass the list of font families previous used by that domain to the
process. This is used to prewarm CoreText font database. Initialization (which involves lots of
blocking IPC) happens outside the main thread so the fonts are ready to use when needed.
- WebCore.xcodeproj/project.pbxproj:
- page/PrewarmInformation.h: Added.
(WebCore::PrewarmInformation::encode const):
(WebCore::PrewarmInformation::decode):
Add data structure for prewarm information with encode/decode support.
- page/ProcessWarming.cpp:
(WebCore::ProcessWarming::collectPrewarmInformation):
(WebCore::ProcessWarming::prewarmWithInformation):
Prewarming interface to be used from WebKit.
- page/ProcessWarming.h:
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::collectPrewarmInformation const):
(WebCore::FontCache::prewarm):
- platform/graphics/FontCache.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::collectionForFamily):
(WebCore::FontDatabase::fontForPostScriptName):
(WebCore::FontDatabase::clear):
Add mutex for thread safe access.
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::collectPrewarmInformation const):
Collect font families seen by this process.
(WebCore::FontCache::prewarm):
Prewarm FontDatabase in a dispatch queue.
Source/WebKit:
Add mechanism for caching prewarm information per domain on UI process side. This information
is then passed to newly initialized web processes that are being used for the same domain.
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
Pass prewarm information on process swap to the new process.
(WebKit::WebProcessPool::didCollectPrewarmInformation):
UI process side cache.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didCollectPrewarmInformation):
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
(WebKit::WebPage::didReceivePolicyDecision):
Collect and cache prewarm information for the previous process on process swap.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prewarmGlobally):
Renamed for clarity.
(WebKit::WebProcess::prewarmWithDomainInformation):
(WebKit::WebProcess::sendPrewarmInformation):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in: