Timeline
Aug 21, 2018:
- 10:05 PM Changeset in webkit [235161] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] HeapUtil should care about pointer overflow
https://bugs.webkit.org/show_bug.cgi?id=188740
Reviewed by Saam Barati.
pointer - sizeof(IndexingHeader) - 1
causes an undefined behavior if a pointer overflows.
For example, ifpointer
is nullptr, it causes pointer overflow. Instead of calculating this
withchar*
pointer, we cast it touintptr_t
temporarily. This issue is found by UBSan.
- heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
- 10:02 PM Changeset in webkit [235160] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Should not rotate constant with 64
https://bugs.webkit.org/show_bug.cgi?id=188556
Reviewed by Saam Barati.
To defend against JIT splaying, we rotate a constant with a randomly generated seed.
But if a seed becomes 64 or 0, the following code performsvalue << 64
orvalue >> 64
where value's type is uint64_t, and they cause undefined behaviors (UBs). This patch limits
the seed in the range of [1, 63] not to generate code causing UBs. This is found by UBSan.
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::generateRotationSeed):
(JSC::MacroAssembler::rotationBlindConstant):
- 9:58 PM Changeset in webkit [235159] by
-
- 20 edits7 adds in trunk
Support "name" option for dedicated workers
https://bugs.webkit.org/show_bug.cgi?id=188779
Reviewed by Joseph Pecoraro.
LayoutTests/imported/w3c:
- web-platform-tests/workers/interfaces.worker-expected.txt:
- web-platform-tests/workers/name-property-expected.txt:
Source/WebCore:
This patch adds
new Worker(url, { name: "Worker Name" })
option support[1].
This name can be accessible fromself.name
of DedicatedWorkerGlobalScope.
It is useful for debugging dedicated workers if the inspector can show the
names of the workers. This enhancement is tracked by [2].
[1]: https://github.com/whatwg/html/issues/2477
[2]: https://bugs.webkit.org/show_bug.cgi?id=164678
Tests: http/wpt/workers/name-property-enhanced.html
http/wpt/workers/name-property-no-name.html
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
Holdname
member.
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerGlobalScope.idl:
Add
name
attribute.
- workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
- workers/DedicatedWorkerThread.h:
- workers/Worker.cpp:
(WebCore::Worker::Worker):
(WebCore::Worker::create):
(WebCore::Worker::notifyFinished):
- workers/Worker.h:
- workers/Worker.idl:
Add WorkerOptions for dedicated worker creation.
- workers/WorkerGlobalScopeProxy.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerMessagingProxy.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
Isolate copy the givenname
to pass the worker thread.
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
- workers/WorkerThread.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
- workers/service/context/ServiceWorkerThread.h:
LayoutTests:
- http/wpt/workers/name-property-enhanced-expected.txt: Added.
- http/wpt/workers/name-property-enhanced.html: Added.
- http/wpt/workers/name-property-no-name-expected.txt: Added.
- http/wpt/workers/name-property-no-name.html: Added.
- http/wpt/workers/support/name.js: Added.
(test):
- http/wpt/workers/support/no-name.js: Added.
(test):
- 9:41 PM Changeset in webkit [235158] by
-
- 23 edits in trunk/Source
Replace booleans for modifier keys in UIEventWithKeyState with OptionSet<Modifier>
https://bugs.webkit.org/show_bug.cgi?id=188777
Reviewed by Simon Fraser.
Source/WebCore:
Replaced boolean arguments and instance variables for modifier keys (ctrl, alt, shift, and meta keys) in
UIEventWithKeyState with OptionSet<Modifier> and isSimulated boolean in MouseRelatedEvent with IsSimulated
enum class.
Also made movementDelta always compiled instead of only when ENABLE(POINTER_LOCK) to simplify the code.
No new tests since there should be no observable behavioral change.
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::initKeyboardEvent): Call setModifierKeys.
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent): Ditto.
- dom/MouseEvent.h:
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent): Added a new variant which takes the minimum arguments
for gesture & touch events. In those events, detail is always set to 0, movementDelta is always set to 0,0,
and they are never simulated.
- dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::IsSimulated): Added.
- dom/SimulatedClick.cpp:
(WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Get OptionSet<Modifier> out of the underlying event
instead of manually setting each key state. This code now preserves the state of caps lock and alt-graph
keys but this is not observable because we have yet to implement getModifierState on MouseEvent.
(WebCore::SimulatedMouseEvent::modifiersFromUnderlyingEvent): Added.
- dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
- dom/TouchEvent.h:
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::Modifier): Alias to PlatformEvent::Modifier.
(WebCore::UIEventWithKeyState::ctrlKey const): Updated to use m_modifiers.
(WebCore::UIEventWithKeyState::shiftKey const): Ditto.
(WebCore::UIEventWithKeyState::altKey const): Ditto.
(WebCore::UIEventWithKeyState::metaKey const): Ditto.
(WebCore::UIEventWithKeyState::altGraphKey const): Ditto.
(WebCore::UIEventWithKeyState::capsLockKey const): Ditto.
(WebCore::UIEventWithKeyState::modifierKeys): Added.
(WebCore::UIEventWithKeyState::UIEventWithKeyState): Now takes OptionSet<Modifier>.
(WebCore::UIEventWithKeyState::setModifierKeys): Added. Used by init*Event functions in subclasses. Note that
these functions preseve the states of alt-graph and caps lock keys to match the existing behaviors in this
cleanup patch but they don't match behaviors of Chrome or Firefox.
(WebCore::UIEventWithKeyState::modifiersFromInitializer): Added.
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent): Simulated::No corresponds to the last boolean being false.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::handleTouchEvent):
- platform/PlatformEvent.h:
(WebCore::PlatformEvent::Modifier): Added AltGraphKey.
- platform/mac/PlatformEventFactoryMac.h:
(WebCore::modifiersForEvent): Exported to be used in [WebPDFView PDFViewWillClickOnLink:withURL:].
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::modifiersForEvent):
- testing/Internals.cpp:
(WebCore::Internals::accessKeyModifiers const):
Source/WebKit:
Added two FIXMEs.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
Source/WebKitLegacy/ios:
Create MouseEvent::create with IsSimulated set to Yes; correspoding to the last argument
being "true" before the code change.
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKitLegacy/mac:
Create MouseEvent::create with IsSimulated set to Yes; correspoding to the last argument
being "true" before the code change.
Use modifiersForEvent to convert [nsEvent modifierFlags] to OptionSet<Modifier>.
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- 8:51 PM Changeset in webkit [235157] by
-
- 8 edits1 copy in trunk
Roll out r235139 and r235146
https://bugs.webkit.org/show_bug.cgi?id=188805
Source/WebKit:
It turns out shouldKeepCurrentBackForwardListItemInList has one use left.
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::shouldKeepCurrentBackForwardListItemInList):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
- 8:21 PM Changeset in webkit [235156] by
-
- 20 edits in trunk
[Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
https://bugs.webkit.org/show_bug.cgi?id=188715
<rdar://problem/43541790>
Reviewed by Tim Horton.
Source/WebCore:
Rename didInsertAttachment to didInsertAttachmentWithIdentifier. See WebKit ChangeLog for more detail.
Tests: WKAttachmentTests.InvalidateAttachmentsAfterMainFrameNavigation
WKAttachmentTests.InvalidateAttachmentsAfterWebProcessTermination
- editing/Editor.cpp:
(WebCore::Editor::notifyClientOfAttachmentUpdates):
- page/EditorClient.h:
(WebCore::EditorClient::didInsertAttachmentWithIdentifier):
(WebCore::EditorClient::didRemoveAttachmentWithIdentifier):
(WebCore::EditorClient::didInsertAttachment): Deleted.
(WebCore::EditorClient::didRemoveAttachment): Deleted.
Source/WebKit:
Adds logic for invalidating Attachment objects upon mainframe navigation, or upon web content process
termination. An invalid Attachment's wrapper may still be retained by a UI client; however, calls to -info and
other SPI methods will either return nil or immediately invoke their completion handlers with a nil result and
an NSError. See changes below for more detail.
This patch also takes some extra measures to avoid sending redundant or unexpected removal updates to the UI
client upon invalidating all Attachments.
See Tools changes for new API tests.
- UIProcess/API/APIAttachment.cpp:
(API::Attachment::invalidate):
- UIProcess/API/APIAttachment.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInsertAttachment:withSource:]):
(-[WKWebView _didRemoveAttachment:]):
Refactor these methods to take references to the API::Attachment that is being inserted or removed, rather than
take attachment identifiers. This allows us to keep logic for setting the InsertionState of Attachment objects
in WebPageProxy, rather than in platform code.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/_WKAttachment.h:
- UIProcess/API/Cocoa/_WKAttachment.mm:
(-[_WKAttachment info]):
If the attachment object is invalid, return nil.
(-[_WKAttachment setDisplayOptions:completion:]):
(-[_WKAttachment setFileWrapper:contentType:completion:]):
If the attachment object is invalid, immediately invoke the completion block with an error.
(-[_WKAttachment isConnected]):
Add a new readonly property for a client to easily determine whether a _WKAttachment is connected to the
document, without having to maintain the current set of connected attachment objects by observing insertion and
removal callbacks.
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::didInsertAttachment):
(WebKit::PageClientImplCocoa::didRemoveAttachment):
Make these take API::Attachment&s rather than identifier strings.
- UIProcess/PageClient.h:
(WebKit::PageClient::didInsertAttachment):
(WebKit::PageClient::didRemoveAttachment):
Also make these take API::Attachment&s rather than identifier strings.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::invalidateAllAttachments):
Introduce a helper function that invalidates all Attachments and notifies the UI client if needed. This is
invoked upon mainframe navigation, and when the web content process terminates.
(WebKit::WebPageProxy::platformRegisterAttachment):
(WebKit::WebPageProxy::didInsertAttachmentWithIdentifier):
(WebKit::WebPageProxy::didRemoveAttachmentWithIdentifier):
(WebKit::WebPageProxy::didInsertAttachment):
(WebKit::WebPageProxy::didRemoveAttachment):
Keep track of whether we've notified the UI client that an Attachment has been inserted into the document. This
allows us to send removal updates to the UI client only for Attachments that are currently in the document, from
the perspective of the UI client, and allows us to avoid sending extra removal updates in
invalidateAllAttachments for Attachments that either have already been removed, or Attachments which we haven't
inserted yet.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didInsertAttachmentWithIdentifier):
(WebKit::WebEditorClient::didRemoveAttachmentWithIdentifier):
(WebKit::WebEditorClient::didInsertAttachment): Deleted.
(WebKit::WebEditorClient::didRemoveAttachment): Deleted.
- WebProcess/WebCoreSupport/WebEditorClient.h:
Rename did{Insert|Remove}Attachment to did{Insert|Remove}AttachmentWithIdentifier.
Tools:
Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
(TestWebKitAPI::TEST):
- 7:22 PM Changeset in webkit [235155] by
-
- 20 edits3 deletes in trunk
Unreviewed, rolling out r235128.
The test added with this change is frequently failing.
Reverted changeset:
"Support "name" option for dedicated workers"
https://bugs.webkit.org/show_bug.cgi?id=188779
https://trac.webkit.org/changeset/235128
- 7:04 PM Changeset in webkit [235154] by
-
- 2 edits in trunk/Source/WebCore/PAL
Unreviewed macOS Mojave build fix after r235125.
- pal/spi/cg/CoreGraphicsSPI.h:
- 6:41 PM Changeset in webkit [235153] by
-
- 5 edits in trunk
Change Selection modification to not snap the grabber when selecting above or below the selection anchor
https://bugs.webkit.org/show_bug.cgi?id=188826
Reviewed by Tim Horton.
Selecting single lines is sometimes difficult because we currently snap selections to single
characters if we move past the position of the other anchor in our selection. This patch changes
this behaviour to reflect the behaviour in the rest of this system, which snaps the selection
to the position on the line of the other anchor, rather than snapping it all the way a single
Source/WebKit:
character.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::rangeForPointInRootViewCoordinates):
LayoutTests:
character. This updates the tests to reflect this new behaviour.
- fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html:
- fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html:
- 6:24 PM Changeset in webkit [235152] by
-
- 22 edits in trunk/Source
Unreviewed, rolling out r235107.
https://bugs.webkit.org/show_bug.cgi?id=188832
"It revealed bugs in Blob code as well as regressed JS
performance tests" (Requested by saamyjoon on #webkit).
Reverted changeset:
"JSRunLoopTimer may run part of a member function after it's
destroyed"
https://bugs.webkit.org/show_bug.cgi?id=188426
https://trac.webkit.org/changeset/235107
- 6:08 PM Changeset in webkit [235151] by
-
- 7 edits1 delete in trunk/Source/WebInspectorUI
Web Inspector: Remove TreeOutlineDataGridSynchronizer
https://bugs.webkit.org/show_bug.cgi?id=188449
<rdar://problem/43107980>
Reviewed by Devin Rousso.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WI.HeapAllocationsTimelineView.prototype.layout):
- UserInterface/Views/LayoutTimelineView.js:
(WI.LayoutTimelineView.prototype._processPendingRecords):
- UserInterface/Views/NetworkTimelineView.js:
(WI.NetworkTimelineView.prototype._processPendingRecords):
- UserInterface/Views/RenderingFrameTimelineView.js:
(WI.RenderingFrameTimelineView.prototype._processPendingRecords):
(WI.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement): Deleted.
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WI.ScriptDetailsTimelineView.prototype._processPendingRecords):
- UserInterface/Views/TimelineDataGrid.js:
(WI.TimelineDataGrid):
(WI.TimelineDataGrid.prototype.reset):
(WI.TimelineDataGrid.prototype.shown):
(WI.TimelineDataGrid.prototype.addRowInSortOrder):
(WI.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
(WI.TimelineDataGrid.prototype._sort):
(WI.TimelineDataGrid.prototype.treeElementForDataGridNode): Deleted.
(WI.TimelineDataGrid.prototype.dataGridNodeForTreeElement): Deleted.
- UserInterface/Views/TreeOutlineDataGridSynchronizer.js: Removed.
- 5:49 PM Changeset in webkit [235150] by
-
- 2 edits in trunk/Source/WebKit
Cleanup: Remove unused file-local static variable from TextCheckerIOS.mm
https://bugs.webkit.org/show_bug.cgi?id=188818
Reviewed by Wenson Hsieh.
- UIProcess/ios/TextCheckerIOS.mm:
(WebKit::TextChecker::isSmartInsertDeleteEnabled):
- 5:45 PM Changeset in webkit [235149] by
-
- 3 edits in trunk/Source/WebKit
[iOS][WK2] Misspelled words are not underlined
https://bugs.webkit.org/show_bug.cgi?id=188800
<rdar://problem/34811332>
Reviewed by Wenson Hsieh.
Implement enough of TextChecker for iOS to compute the list of misspelled words in a
paragraph and advertise support for continuous spell checking. The WebCore editing
machinery queries TextChecker for the list of the misspelled words, creating document
markers that demarcate the misspelled words. When we paint a line of text we paint
the spelling correction dots under each misspelled word.
On iOS we make use of UITextChecker to perform spell checking of a string. We maintain
a side table that maps a "spell document tag" to a UITextChecker* to conform to the
shape of the TextChecker interface.
- Platform/spi/ios/UIKitSPI.h: Forward declare some SPI.
- UIProcess/ios/TextCheckerIOS.mm:
(WebKit::mutableState): Added.
(WebKit::TextChecker::state): Turns around and returns mutableState().
(WebKit::TextChecker::isContinuousSpellCheckingAllowed): Returns true if we are building
with USE(UNIFIED_TEXT_CHECKING). Otherwise, do what we do now.
(WebKit::TextChecker::setContinuousSpellCheckingEnabled): Update state.
(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged): Ditto.
(WebKit::spellDocumentTagMap): Returns HashMap that maps a "spell document tag" (int64_t) to
a RetainPtr<UITextChecker>>.
(WebKit::TextChecker::uniqueSpellDocumentTag): Generates a unique identifier for the page
this text checker is associated with.
(WebKit::TextChecker::closeSpellDocumentWithTag): Removes the entry for the specified identifier
from the HashMap.
(WebKit::textCheckerFor): Query the HashMap for the UITextChecker for the specified spell
document tag, if it exists. Otherwise, create a new UITextChecker and add a new map entry
that associates it with the specified spell document tag.
(WebKit::TextChecker::checkTextOfParagraph): Spell check the specified string and return a list
that represents the misspelled words.
(WebKit::TextChecker::checkSpellingOfString): Added a comment to explain that iOS does not implement
this function and instead implements checkTextOfParagraph().
(WebKit::TextChecker::checkGrammarOfString): Ditto.
- 4:59 PM Changeset in webkit [235148] by
-
- 5 edits in trunk
Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=188821
Reviewed by Simon Fraser.
Source/WebKit:
Add some more values to WKPageRenderingProgressEvents which were already supported by _WKRenderingProgressEvents and WKLayoutMilestones.
- UIProcess/API/C/WKPageRenderingProgressEvents.h:
- UIProcess/API/C/WKPageRenderingProgressEventsInternal.h:
(pageRenderingProgressEvents):
Tools:
- TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::TEST):
- 4:58 PM Changeset in webkit [235147] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: ⌘G does not while find banner is focused
https://bugs.webkit.org/show_bug.cgi?id=188815
<rdar://problem/43577158>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-21
Reviewed by Matt Baker.
- UserInterface/Base/Main.js:
Allow an <input> element to be the current focus element, which is what will
our global KeyboardShortcut handlers will interact with. Also make sure
that showing the find banner for the first time still focuses it.
- 4:56 PM WebKitGTK/2.22.x edited by
- (diff)
- 4:50 PM Changeset in webkit [235146] by
-
- 2 edits in trunk/Source/WebKit
Fix API tests after r235139
https://bugs.webkit.org/show_bug.cgi?id=188805
Apparently the call to didChangeBackForwardList with no changes was observable. We should rename, but I'm restoring existing behavior for now.
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::goToItem):
- 4:32 PM Changeset in webkit [235145] by
-
- 2 edits in trunk/Source/WebKit
Storage Access API: The call to ResourceLoadStatisticsMemoryStore::grantStorageAccessInternal() should send eTLD+1s, not full host names
https://bugs.webkit.org/show_bug.cgi?id=188783
<rdar://problem/43559215>
Reviewed by Alex Christensen.
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::grantStorageAccess):
Now sends the eTLD+1 for the top frame and sub frame.
- 4:28 PM Changeset in webkit [235144] by
-
- 7 edits in trunk/Tools
[WHLSL] Call expressions shouldn't have type arguments
https://bugs.webkit.org/show_bug.cgi?id=188770
Reviewed by Filip Pizlo.
Call expressions only had type arguments for casts, becuase native types can have type arguments.
However, instead of putting those type arguments on the CallExpression, we should parse the casted
type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
Test: casts
- WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression):
(CallExpression.prototype.get name):
(CallExpression.resolve):
(CallExpression.prototype.get typeArguments): Deleted.
(CallExpression.prototype.becomeCast): Deleted.
- WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitCallExpression):
- WebGPUShadingLanguageRI/Parse.js:
(parseConstexpr):
(parseTypeDef):
(parseLeftOperatorCall):
(parseCallExpression.let.parseArguments):
(parsePossiblePrefix):
(parsePossibleRelationalEquality):
(parseLeftLogicalExpression):
(parseIfStatement):
(parseWhile):
(parseFor):
(parseDo):
- WebGPUShadingLanguageRI/RemoveTypeArguments.js:
- WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitCallExpression):
- 3:41 PM Changeset in webkit [235143] by
-
- 4 edits in trunk/Source
Use VisiblePosition to calculate selection ranges
https://bugs.webkit.org/show_bug.cgi?id=188767
<rdar://problem/43577166>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Exposing comparePositions.
- editing/Editing.h:
Source/WebKit:
Switches to using VisiblePosition, instead of Position. This code used to use VisiblePosiiton,
but it has been changed a lot lately, and using Position causes issues with next and previous
when trying to snap a selection. VisiblePosition gives us the correct information, and does not
result in collapsed ranges.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::rangeForPointInRootViewCoordinates):
- 3:08 PM Changeset in webkit [235142] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r235095): duplicate actions existing in WI.CanvasSidebarPanel
https://bugs.webkit.org/show_bug.cgi?id=188808
Reviewed by Joseph Pecoraro.
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype._recordingChanged):
Check that theWI.RecordingAction
is not already represented in theWI.TreeOutline
before adding it.
- UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress):
Drive-by: vertically center the <progress> shown forWI.RecordingFrame
during processing.
- 2:22 PM Changeset in webkit [235141] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: provide default icon for all actions
https://bugs.webkit.org/show_bug.cgi?id=188807
Reviewed by Matt Baker.
- UserInterface/Views/RecordingActionTreeElement.css:
(.item.action > .icon):
(.item.action.initial-state > .icon): Deleted.
- 2:17 PM Changeset in webkit [235140] by
-
- 3 edits1 delete in trunk/Tools
Translate WebKit.LimitTitleSize API test into ObjC
https://bugs.webkit.org/show_bug.cgi?id=188810
Reviewed by Andy Estes.
It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
- TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
(TEST):
(-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::TEST): Deleted.
- 2:14 PM Changeset in webkit [235139] by
-
- 8 edits1 delete in trunk
Remove unused shouldKeepCurrentBackForwardListItemInList check
https://bugs.webkit.org/show_bug.cgi?id=188805
Reviewed by Andy Estes.
Source/WebKit:
The check was only done in WKPageLoaderClient, and nobody implements the check.
It was not needed to put in WKPageNavigationClient or WKNavigationDelegate, so let's remove it!
This removes the unused ability to go back and remove the current back/forward list item.
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didChangeBackForwardList):
(API::LoaderClient::shouldKeepCurrentBackForwardListItemInList): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList): Deleted.
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
- 2:11 PM Changeset in webkit [235138] by
-
- 4 edits in trunk/Tools
Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=188813
Reviewed by Andy Estes.
- TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
- TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
- 2:10 PM Changeset in webkit [235137] by
-
- 50 edits1 move in trunk
[Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
https://bugs.webkit.org/show_bug.cgi?id=188496
<rdar://problem/43216836>
Reviewed by Tim Horton.
Source/WebCore:
Refactors logic around HTMLAttachmentElement and pasteboard reading helpers, in support of moving the data
backing for attachment elements to the client layer, instead of keeping it in the attachment element's File.
Augmented existing API tests in WKAttachmentTests, and also added a new API test (see Tools for more detail).
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::didInsertAttachmentElement):
Notify the client layer when a newly inserted attachment element's identifier has been updated to avoid
colliding with the identifier of an existing attachment element. This can happen if, for instance, one or more
attachments are copied and pasted within the same document.
- editing/Editor.cpp:
(WebCore::Editor::registerAttachmentIdentifier):
(WebCore::Editor::cloneAttachmentData):
Add new helper functions to notify the client when the attachment identifier to data mapping needs to be
updated. This can happen in three ways: (1) an attachment is created with raw data, or (2) an attachment is
created with a file path, or (3) the unique identifier for an attachment element has been reassigned. These
correspond to the two versions ofregisterAttachmentIdentifier
, andcloneAttachmentData
, respectively.
(WebCore::EditorClient::supportsClientSideAttachmentData const):
Add a new EditorClient hook to determine whether client-side attachment data management is supported. Currently,
this only returns true for WebKit2. If this flag is set to true, we register attachment identifiers and don't
create a new File object for the attachment element; otherwise, fall back to creating and setting a File for the
new attachment element.
(WebCore::Editor::insertAttachment):
(WebCore::Editor::insertAttachmentFromFile): Deleted.
Adjust logic when inserting an attachment; we now only need to update the attributes of the attachment element
with metadata from the client layer.
- editing/Editor.h:
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::supportsClientSideAttachmentData):
(WebCore::createFragmentForImageAttachment):
Notify the client when creating an attachment element from image data on the pasteboard.
(WebCore::replaceRichContentWithAttachments):
Refactor this helper function to no longer connect attachment elements to File objects created from
subresources. Instead, just update each attachment element's attributes using information about the subresource,
and then notify the client about the new attachment data and attachment identifier.
(WebCore::createFragmentAndAddResources):
(WebCore::sanitizeMarkupWithArchive):
Plumb the current WebContentReader's Frame& to each of these helpers, so that it can call out to the client.
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentMarkupReader::readWebArchive):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readFilePaths):
Notify the client when creating an attachment from the path of a dropped file.
- html/AttachmentTypes.h:
Remove AttachmentInfo. This is no longer necessary because we don't need to request attachment data from the web
process anymore.
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::ensureUniqueIdentifier):
Add a helper function on the attachment element to create and return a unique identifier if needed.
(WebCore::HTMLAttachmentElement::updateAttributes):
Add a helper method to update the displayed element attributes (type, title and subtitle) or an attachment.
(WebCore::AttachmentDataReader::create): Deleted.
(WebCore::AttachmentDataReader::AttachmentDataReader): Deleted.
Remove AttachmentDataReader. This helper class was only used to load attachment data when requesting attachment
information in the client, but this is now obviated by moving attachment data to the client layer.
(WebCore::HTMLAttachmentElement::updateFileWithData): Deleted.
(WebCore::HTMLAttachmentElement::requestInfo): Deleted.
(WebCore::HTMLAttachmentElement::destroyReader): Deleted.
(WebCore::AttachmentDataReader::~AttachmentDataReader): Deleted.
(WebCore::AttachmentDataReader::didFinishLoading): Deleted.
(WebCore::AttachmentDataReader::didFail): Deleted.
(WebCore::AttachmentDataReader::invokeCallbackAndFinishReading): Deleted.
- html/HTMLAttachmentElement.h:
- page/DragClient.h:
- page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doSystemDrag):
(WebCore::DragController::promisedAttachmentInfo):
Allow dragging an attachment (even if it does not have a file) as long as it has a unique identifier and a
content type.
(WebCore::DragController::promisedBlobInfo): Deleted.
- page/DragController.h:
- page/EditorClient.h:
(WebCore::EditorClient::registerAttachmentIdentifier):
(WebCore::EditorClient::cloneAttachmentData):
- platform/DragItem.h:
(WebCore::DragItem::encode const):
(WebCore::DragItem::decode):
- platform/PromisedAttachmentInfo.h: Renamed from Source/WebCore/platform/PromisedBlobInfo.h.
Add an attachment identifier to PromisedBlobInfo. Additionally, rename PromisedBlobInfo to
PromisedAttachmentInfo, since it is currently exclusively used to attachment element data to the pasteboard.
In the future, this could be renamed to something more general (e.g. PromisedPasteboardData), should we use this
mechanism to write data from other sources to the pasteboard.
(WebCore::PromisedAttachmentInfo::operator bool const):
Source/WebKit:
Adjusts WebKit's attachment editing SPI with the following modifications:
- Deprecate
-_insertAttachmentWithFilename:contentType:data:options:completion:
in favor of
-_insertAttachmentWithFileWrapper:contentType:options:completion:
.
- Deprecate
-requestInfo:
and in favor of just-info
. - Add a
-fileWrapper
property to_WKAttachmentInfo
that returns anNSFileWrapper
. - Remove some SPI methods that would otherwise be deprecated, but are not even necessary, since they're no
longer even used by Mail.
To make this possible, we refactor where and how attachment data is tracked. Currently, the data is stored in
the network process, and made accessible to the web process via blob URLs stored in the File object in the
attachment element. As such, requests from the UI process for attachment data would first be routed through the
web process to network process and back.
Instead, we now keep the relevant attachment data (in the form of NSFileWrapper on Cocoa platforms) in the UI
process, on API::Attachment. We additionally keep a map of attachment identifiers to API::Attachments, which
allows us to propagate the same _WKAttachment wrapper object to the SPI client for each uniquely identified
attachment element. This also has the benefit of allowing us to remove the asynchronous version of-requestInfo:
and replace it with just aninfo
property.
Changes are covered by new and existing API tests.
- PlatformMac.cmake:
Remove APIAttachment.cpp, now that APIAttachment.cpp is listed in Sources.txt.
- Scripts/webkit/messages.py:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Guard _WKAttachment creation with ENABLE_ATTACHMENT_ELEMENT.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<PromisedAttachmentInfo>::encode):
(IPC::ArgumentCoder<PromisedAttachmentInfo>::decode):
(IPC::ArgumentCoder<PromisedBlobInfo>::encode): Deleted.
(IPC::ArgumentCoder<PromisedBlobInfo>::decode): Deleted.
(IPC::ArgumentCoder<AttachmentInfo>::encode): Deleted.
(IPC::ArgumentCoder<AttachmentInfo>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
Continue removing encoding support for WebCore::AttachmentInfo. Additionally, rename PromisedBlobInfo to
PromisedAttachmentInfo.
- Sources.txt:
- SourcesCocoa.txt:
Move APIAttachment.cpp from the SourcesCocoa.txt to the platform-agnostic Sources.txt.
- UIProcess/API/APIAttachment.cpp:
(API::Attachment::updateAttributes):
Rename setDataAndContentType to just updateAttributes; instead of sending data, only send the information needed
to update the presentational attributes of the attachment element.
(API::Attachment::requestInfo): Deleted.
Just call the completion handler with the result of
self.info
.
(API::Attachment::setDataAndContentType): Deleted.
- UIProcess/API/APIAttachment.h:
Add additional attributes: a content type, a file path, and (on Cocoa platforms) an NSFileWrapper.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
Remove -_webView:didInsertAttachment:, since this is unused by any client currently, and is superceded by
-_webView:didInsertAttachment:withSource:.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInsertAttachment:withSource:]):
(-[WKWebView _didRemoveAttachment:]):
Look up the API::Attachment corresponding to the identifier, and send its wrapper object to the client.
(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:options:completion:]):
Add a way to insert an attachment using NSFileWrapper, and reimplement _insertAttachmentWithFilename: using it.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/_WKAttachment.h:
- UIProcess/API/Cocoa/_WKAttachment.mm:
(-[_WKAttachmentInfo initWithFileWrapper:filePath:contentType:]):
(-[_WKAttachmentInfo data]):
(-[_WKAttachmentInfo name]):
(isDeclaredOrDynamicTypeIdentifier):
(-[_WKAttachmentInfo _typeIdentifierFromPathExtension]):
(-[_WKAttachmentInfo contentType]):
(-[_WKAttachmentInfo mimeType]):
(-[_WKAttachmentInfo utiType]):
(-[_WKAttachmentInfo fileWrapper]):
(-[_WKAttachment info]):
(-[_WKAttachment requestInfo:]):
Add a property on _WKAttachment to retrieve a _WKAttachmentInfo (a snapshot of the current state of the
attachment, along with the NSFileWrapper). Reimplement requestInfo using this property.
(-[_WKAttachment setFileWrapper:contentType:completion:]):
(-[_WKAttachment setData:newContentType:newFilename:completion:]):
Reimplemented by calling -setFileWrapper:contentType:completion: with an NSFileWrapper created using the given
data. Additionally, create and associate the unique identifier with an API::Attachment right away.
(-[_WKAttachment uniqueIdentifier]):
(-[_WKAttachment description]):
(-[_WKAttachmentInfo initWithInfo:]): Deleted.
(-[_WKAttachmentInfo fileLoadingError]): Deleted.
(-[_WKAttachment isEqual:]): Deleted.
(-[_WKAttachment hash]): Deleted.
There's no longer any point to implementing these methods, since the SPI client is now guaranteed a unique
mapping of _WKAttachments to attachment elements in the document.
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::didInsertAttachment):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::platformRegisterAttachment):
(WebKit::WebPageProxy::platformCloneAttachment):
Extend the behavior of registering new attachment data on Cocoa platforms by additionally creating and setting
NSFileWrappers on the API::Attachment.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Clear out the map of attachment identifiers to API::Attachments when the web content process is terminated.
(WebKit::WebPageProxy::attachmentForIdentifier const):
Helper function to look up an API::Attachment for the given attachment identifier. Returns null if the
attachment is not found, or the attachment identifier is invalid.
(WebKit::WebPageProxy::insertAttachment):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::registerAttachmentIdentifierFromData):
(WebKit::WebPageProxy::registerAttachmentIdentifierFromFilePath):
(WebKit::WebPageProxy::cloneAttachmentData):
(WebKit::WebPageProxy::platformRegisterAttachment):
(WebKit::WebPageProxy::platformCloneAttachment):
(WebKit::WebPageProxy::didInsertAttachment):
Create an entry in the attachment identifier to API::Attachment map when an attachment is inserted, if one does
not already exist. An attachment mapping would not exist only in the case where an attachment element was
created via bindings; in this case, the client wouldn't have access to an NSFileWrapper containing the contents
of the file; in the future, this can be improved by adding a mechanism to register an attachment element with
this data, but for now, this is unnecessary for Mail's purposes.
(WebKit::WebPageProxy::didRemoveAttachment):
(WebKit::WebPageProxy::ensureAttachment):
Ensures an attachment identifier to API::Attachment mapping.
(WebKit::WebPageProxy::attachmentInfoCallback): Deleted.
(WebKit::WebPageProxy::requestAttachmentInfo): Deleted.
(WebKit::WebPageProxy::setAttachmentDataAndContentType): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startDrag:item:]):
(-[WKContentView _prepareToDragPromisedAttachment:]):
(-[WKContentView _prepareToDragPromisedBlob:]): Deleted.
Reimplement the way promised attachment data is delivered to the destination when an attachment element is
dragged. Instead of relying on the blob URL of the File on the attachment element, first try to find an API
Attachment object corresponding to the unique identifier of the dragged attachment, and use its NSFileWrapper to
deliver promised data to the destination file URL. The blob URL codepath still exists in the case where script
specifies the dragged attachment's File.
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerAttachmentIdentifier):
(WebKit::WebEditorClient::cloneAttachmentData):
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::insertAttachment):
(WebKit::WebPage::updateAttachmentAttributes):
(WebKit::WebPage::requestAttachmentInfo): Deleted.
(WebKit::WebPage::setAttachmentDataAndContentType): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
More renaming and IPC message plumbing.
Source/WebKitLegacy/win:
Adjust for changing PromisedAttachmentInfo.h to forward declare WebCore::SharedBuffer rather than include the
header directly.
- WebCoreSupport/WebDragClient.cpp:
Tools:
Adjusts existing attachment API tests. See below for more detail.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
(-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
(-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
(-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
update an existing attachment with a file wrapper.
(-[_WKAttachment expectRequestedDataToBe:]):
(TestWebKitAPI::TEST):
Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
Also augment an existing test to check that an attachment element which has been copied and pasted within the
same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
backed by the same NSFileWrapper that was originally used to insert the attachment.
Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
editable area inserts attachment elements into the document and notifies the UI client with the inserted
attachment data.
(-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
(-[_WKAttachment synchronouslyRequestData:]): Deleted.
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
Move off of -_webView:didInsertAttachment:.
(-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
- 2:08 PM Changeset in webkit [235136] by
-
- 2 edits in trunk/Tools
sort-Xcode-project-file: top-level files and folders are sorted unintentionally when
mainGroup
has no name
<https://webkit.org/b/188755>
Reviewed by Andy Estes.
- Scripts/sort-Xcode-project-file: Fix regular expression to
make
mainGroup
name optional.
- 2:04 PM Changeset in webkit [235135] by
-
- 103 edits1045 adds in trunk/Source/ThirdParty/libwebrtc
Update some libwebrtc third party libraries as per libwebrtc 984f1a80c0c
https://bugs.webkit.org/show_bug.cgi?id=188751
Patch by Youenn Fablet <youenn@apple.com> on 2018-08-21
Reviewed by Eric Carlson.
Added rnnoise and abseil which will be used by latest libwebrtc.
Updated libyuv as it is also required by latest libwebrtc.
- Source/third_party/abseil-cpp: Added.
- Source/third_party/libyuv: Refreshed.
- Source/third_party/rnnoise: Added.
- 2:00 PM Changeset in webkit [235134] by
-
- 1 edit1 add in trunk/Source/WebInspectorUI
Web Inspector: Rulers.svg is missing
https://bugs.webkit.org/show_bug.cgi?id=188806
<rdar://problem/43574273>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-21
Reviewed by Devin Rousso.
- UserInterface/Images/Rulers.svg: Added.
- 1:38 PM Changeset in webkit [235133] by
-
- 2 edits in trunk/Source/WebKit
Increment NetworkCache::Storage::lastStableVersion after r233742
https://bugs.webkit.org/show_bug.cgi?id=188798
<rdar://43561761>
Reviewed by Geoffrey Garen.
- NetworkProcess/cache/NetworkCacheStorage.h:
- 1:37 PM Changeset in webkit [235132] by
-
- 8 edits in trunk/Source
Remove experimental affiliated domain code now that StorageAccess API is available
https://bugs.webkit.org/show_bug.cgi?id=188756
<rdar://problem/43527848>
Reviewed by Alex Christensen.
In Bug 174661 we added a compatibility quirk to support wsj.com authentication. This quirk is no longer needed,
since the StorageAccess API provides the necessary tools to do this type of interaction without needing global
cross-site access.
Source/WebCore:
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logSubresourceLoading):
(WebCore::ResourceLoadObserver::logWebSocketLoading):
(WebCore::areDomainsAssociated): Deleted.
(WebCore::shouldEnableSiteSpecificQuirks): Deleted.
- loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::areDomainsAssociated): Deleted.
- loader/ResourceLoadStatistics.h:
Source/WebKit:
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::logFrameNavigation):
- UIProcess/ResourceLoadStatisticsMemoryStore.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::logFrameNavigation):
(WebKit::areDomainsAssociated): Deleted.
- 12:39 PM Changeset in webkit [235131] by
-
- 2 edits in trunk/Tools
Unreviewed, add myself to committers list.
- Scripts/webkitpy/common/config/contributors.json:
- 12:10 PM Changeset in webkit [235130] by
-
- 1 copy in tags/Safari-606.1.36.2.3
Tag Safari-606.1.36.2.3.
- 12:09 PM Changeset in webkit [235129] by
-
- 9 edits in trunk
Allow creating WeakPtrs to const objects
https://bugs.webkit.org/show_bug.cgi?id=188785
Reviewed by Geoffrey Garen.
Source/WebCore:
Remove some unneeded const_casts.
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
(WebCore::MediaQueryEvaluator::evaluate const):
- css/MediaQueryEvaluator.h:
- rendering/FloatingObjects.cpp:
(WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
(WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
(WebCore::FloatingObjects::FloatingObjects):
- rendering/FloatingObjects.h:
(WebCore::FloatingObjects::renderer const):
Source/WTF:
const Foo foo;
WeakPtr<const Foo> weakConstFoo = makeWeakPtr(foo);
- wtf/WeakPtr.h:
(WTF::WeakPtrFactory::createWeakPtr const):
Add a separate factory function for const T.
The underlying WeakReference is kept non-const in all cases.
Tools:
- TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::weakPtrFactory const):
(TestWebKitAPI::TEST):
(TestWebKitAPI::Base::weakPtrFactory): Deleted.
- 11:40 AM Changeset in webkit [235128] by
-
- 20 edits5 adds in trunk
Support "name" option for dedicated workers
https://bugs.webkit.org/show_bug.cgi?id=188779
Reviewed by Joseph Pecoraro.
LayoutTests/imported/w3c:
- web-platform-tests/workers/interfaces.worker-expected.txt:
- web-platform-tests/workers/name-property-expected.txt:
Source/WebCore:
This patch adds
new Worker(url, { name: "Worker Name" })
option support[1].
This name can be accessible fromself.name
of DedicatedWorkerGlobalScope.
It is useful for debugging dedicated workers if the inspector can show the
names of the workers. This enhancement is tracked by [2].
[1]: https://github.com/whatwg/html/issues/2477
[2]: https://bugs.webkit.org/show_bug.cgi?id=164678
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
Holdname
member.
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerGlobalScope.idl:
Add
name
attribute.
- workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
- workers/DedicatedWorkerThread.h:
- workers/Worker.cpp:
(WebCore::Worker::Worker):
(WebCore::Worker::create):
(WebCore::Worker::notifyFinished):
- workers/Worker.h:
- workers/Worker.idl:
Add WorkerOptions for dedicated worker creation.
- workers/WorkerGlobalScopeProxy.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerMessagingProxy.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
Isolate copy the givenname
to pass the worker thread.
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
- workers/WorkerThread.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
- workers/service/context/ServiceWorkerThread.h:
LayoutTests:
- http/wpt/workers/name-property-enhanced-expected.txt: Added.
- http/wpt/workers/name-property-enhanced.html: Added.
- http/wpt/workers/support/name.js: Added.
(test):
- http/wpt/workers/support/no-name.js: Added.
(test):
- 11:12 AM Changeset in webkit [235127] by
-
- 11 edits in trunk/Source/WebKit
Add _WKWebsiteDataStoreConfiguration. sourceApplicationBundleIdentifier and sourceApplicationSecondaryIdentifier
https://bugs.webkit.org/show_bug.cgi?id=188748
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-21
Reviewed by Ryosuke Niwa.
- NetworkProcess/NetworkSessionCreationParameters.h:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::privateSessionParameters):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _initWithConfiguration:]):
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration setSourceApplicationBundleIdentifier:]):
(-[_WKWebsiteDataStoreConfiguration sourceApplicationBundleIdentifier]):
(-[_WKWebsiteDataStoreConfiguration sourceApplicationSecondaryIdentifier]):
(-[_WKWebsiteDataStoreConfiguration setSourceApplicationSecondaryIdentifier:]):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- 11:08 AM Changeset in webkit [235126] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r234993): Test results page ignores TestExpectations, shows 1800 failures
https://bugs.webkit.org/show_bug.cgi?id=188795
Reviewed by Tim Horton.
A MISSING result would trigger a code path that hit appendActualOnlyLinks() which had
a JS error, causing all expected results to be visible. Fix with a change to full_results.json
which tests the change.
- fast/harness/full_results.json:
- fast/harness/results.html:
- 11:04 AM Changeset in webkit [235125] by
-
- 22 edits4 adds in trunk
[WebGL] Contexts are not updated when display configuration changed.
https://bugs.webkit.org/show_bug.cgi?id=188750
Reviewed by Brent Fulgham.
Source/WebCore:
Calling CGDisplayRegisterReconfigurationCallback in GraphicsContext3DManager::addContext
returns kCGErrorSuccess when WindowServer access is blocked in the WebContent process,
but the callback function is never called. We should register the callback function in
the UI process, and send a message to the WebContent process when the display
configuration changed.
Test: fast/canvas/webgl/context-update-on-display-configuration.html
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/GraphicsContext3DManager.cpp:
(WebCore::GraphicsContext3DManager::displayWasReconfigured):
(WebCore::GraphicsContext3DManager::addContext):
(WebCore::GraphicsContext3DManager::removeContext):
(WebCore::displayWasReconfigured): Deleted.
- platform/graphics/GraphicsContext3DManager.h:
Source/WebKit:
Calling CGDisplayRegisterReconfigurationCallback in GraphicsContext3DManager::addContext
returns kCGErrorSuccess when WindowServer access is blocked in the WebContent process,
but the callback function is never called. We should register the callback function in
the UI process, and send a message to the WebContent process when the display
configuration changed.
- Sources.txt:
- UIProcess/API/C/WKMockDisplay.cpp: Added.
(WKSendDisplayConfigurationChangedMessageForTesting):
- UIProcess/API/C/WKMockDisplay.h: Added.
- UIProcess/WebProcessPool.cpp:
(WebKit::displayReconfigurationCallBack):
(WebKit::WebProcessPool::sendDisplayConfigurationChangedMessageForTesting):
- UIProcess/WebProcessPool.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::displayConfigurationChanged):
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- TestExpectations:
- fast/canvas/webgl/context-update-on-display-configuration-expected.txt: Added.
- fast/canvas/webgl/context-update-on-display-configuration.html: Added.
- platform/mac-wk2/TestExpectations:
- 11:02 AM Changeset in webkit [235124] by
-
- 21 edits3 adds in trunk
Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
https://bugs.webkit.org/show_bug.cgi?id=188757
<rdar://problem/38713390>
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/websocket/construct-in-detached-frame-resource-load-statistics.html
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
Now logs even when a frame doesn't exist.
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::shouldLog const):
Now takes boolean 'usesEphemeralSession' instead of a page to support logging when there is no page.
(WebCore::ResourceLoadObserver::logSubresourceLoading):
Changed to send a boolean to ResourceLoadObserver::shouldLog().
(WebCore::ResourceLoadObserver::logWebSocketLoading):
Changed to:
- receive the main frame's URL and a boolean for ephemeral sessions instead of the Frame.
- send a boolean to ResourceLoadObserver::shouldLog().
- No longer call areDomainsAssociated(). It is being removed in https://bugs.webkit.org/show_bug.cgi?id=188756.
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
Changed to send a boolean to ResourceLoadObserver::shouldLog().
- loader/ResourceLoadObserver.h:
Source/WebKit:
These changes are test infrastructure to support the new WebKitTestRunner
function isStatisticsRegisteredAsSubresourceUnder().
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::isRegisteredAsSubresourceUnder const):
- UIProcess/ResourceLoadStatisticsMemoryStore.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::isRegisteredAsSubresourceUnder):
- UIProcess/WebResourceLoadStatisticsStore.h:
Tools:
These changes add the new WebKitTestRunner function
isStatisticsRegisteredAsSubresourceUnder().
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
Skipped the new test case since it is only supported on WebKit2.
- http/tests/websocket/construct-in-detached-frame-resource-load-statistics-expected.txt: Added.
- http/tests/websocket/construct-in-detached-frame-resource-load-statistics.html: Added.
- http/tests/websocket/resources/construct-in-detached-frame-resource-load-statistics.html: Added.
- platform/wk2/TestExpectations:
Marked the new test case as [ Pass ].
- 10:31 AM Changeset in webkit [235123] by
-
- 15 edits in trunk/Tools
Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=188797
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::didSameDocumentNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
(TestWebKitAPI::didFailProvisionalNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
(TestWebKitAPI::didStartProvisionalNavigation):
(TestWebKitAPI::didCommitNavigation):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
(TestWebKitAPI::didStartProvisionalNavigation):
(TestWebKitAPI::didCommitNavigation):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
(TestWebKitAPI::renderingProgressDidChange):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didLayout): Deleted.
- TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::renderingProgressDidChange):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::didLayout): Deleted.
- TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
(TestWebKitAPI::State::State):
(TestWebKitAPI::didStartProvisionalNavigation):
(TestWebKitAPI::didCommitNavigation):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::decidePolicyForNavigationAction):
(TestWebKitAPI::decidePolicyForResponse):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
- TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
(TestWebKitAPI::didSameDocumentNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
(WebKit2_CommandBackForwardTestWKView::SetUp):
(WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
- 10:20 AM Changeset in webkit [235122] by
-
- 7 edits in branches/safari-606.1.36.2-branch/Source
Versioning.
- 9:50 AM Changeset in webkit [235121] by
-
- 3 edits2 adds in trunk
Disallow navigations when page cache updates the current document of the frame
https://bugs.webkit.org/show_bug.cgi?id=188422
Reviewed by Ryosuke Niwa.
Source/WebCore:
Make use of NavigationDisabler to disallow navigations when associating the cached
document back with its frame (i.e. calling Frame::setDocument()).
When we associate a cached document with its frame we will construct its render tree
and run post style resolution callbacks that can do anything, including performing
a frame load. Until page restoration is comnplete the frame tree is in a transient
state that makes reasoning about it difficult and error prone. We should not allow
navigations in this state.
Test: fast/history/go-back-to-object-subframe.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::open):
LayoutTests:
Add a test case that ensures that we do not hit the assertion ASSERT(ownerFrame m_frame.isMainFrame()) in FrameLoader::addExtraFieldsToRequest() when navigating back to a page that loads a nested
page, whose URL contains a fragment, via an HTML object element. This assertion fails if
navigations are allowed when restoring a page from the page cache.
This change does not prevent navigations initiated from a pageshow event handler.
- fast/history/go-back-to-object-subframe-expected.txt: Added.
- fast/history/go-back-to-object-subframe.html: Added.
- 9:47 AM Changeset in webkit [235120] by
-
- 35 edits1 add in trunk/Source
Replace TextCheckingTypeMask with OptionSet
https://bugs.webkit.org/show_bug.cgi?id=188678
Reviewed by Antti Koivisto.
Source/WebCore:
Replaces TextCheckingTypeMask with an OptionSet to improve type safety and code clarity. Additionally
change the values of TextCheckingType such that all the enumerators fit within an uint8_t.
- PlatformMac.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::hasMisspelling const):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetSpelling):
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::timerFired):
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
- editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::isAutomaticTextReplacementType):
(WebCore::Editor::markAndReplaceFor): For now, change a local variable from const to non-const to work
around the following MSVC compiler bug: <https://developercommunity.visualstudio.com/content/problem/316713/msvc-cant-compile-webkits-optionsetcontainsany.html>.
(WebCore::Editor::markMisspellingsAndBadGrammar):
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::editorUIUpdateTimerFired):
(WebCore::Editor::resolveTextCheckingTypeMask):
- editing/Editor.h:
- editing/SpellChecker.cpp:
(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellCheckRequest::create):
(WebCore::SpellChecker::didCheckSucceed):
- editing/SpellChecker.h:
- editing/TextCheckingHelper.cpp:
(WebCore::findGrammaticalErrors):
(WebCore::findMisspellings):
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange const):
(WebCore::checkTextOfParagraph):
- editing/TextCheckingHelper.h:
- loader/EmptyClients.cpp:
- platform/text/TextCheckerClient.h:
- platform/text/TextChecking.h: Remove TextCheckingTypeMask. Reorganized the fields of TextCheckingRequestData
to coallesce padding and move it to the end of class. Also used default initializer syntax and defaulted (= default)
the default constructor of TextCheckingRequestData, removing the need for a user-defined default constructor.
(WebCore::TextCheckingRequestData::TextCheckingRequestData):
(WebCore::TextCheckingRequestData::text const): Changed return type from String to const String&
to avoid unnecessary ref-count churn for callers that do not need to take a shared ownership in
this string.
(WebCore::TextCheckingRequestData::checkingTypes const): Renamed; formerly named mask.
(WebCore::TextCheckingRequestData::mask const): Deleted.
- platform/text/mac/TextCheckingMac.mm: Added.
(WebCore::nsTextCheckingTypes):
- testing/Internals.cpp:
(WebCore::Internals::handleAcceptedCandidate):
Source/WebKit:
- Scripts/webkit/messages.py: Add WebCore::TextCheckingType to the special case map so that
the generator knows what header has the definition for this type.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextCheckingRequestData>::encode):
(IPC::ArgumentCoder<TextCheckingRequestData>::decode):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::coreTextCheckingType):
(WebKit::textCheckingResultFromNSTextCheckingResult):
- UIProcess/TextChecker.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::checkTextOfParagraph):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::TextChecker::requestCheckingOfString):
(WebKit::TextChecker::checkTextOfParagraph): Also simplified return expressions.
- UIProcess/ios/TextCheckerIOS.mm:
(WebKit::TextChecker::checkTextOfParagraph):
- UIProcess/mac/TextCheckerMac.mm:
(WebKit::TextChecker::checkTextOfParagraph):
- UIProcess/win/TextCheckerWin.cpp:
(WebKit::TextChecker::checkTextOfParagraph):
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection const):
(WebKit::WebEditorClient::checkTextOfParagraph):
- WebProcess/WebCoreSupport/WebEditorClient.h:
Source/WebKitLegacy/mac:
Currently we have code in WebEditorClient::checkTextOfParagraph() that incorrectly assumes
that the enumerators of TextCheckingType have a one-to-one correspondence with NSTextCheckingType.
(This is not the case because there is not corresponding NSTextCheckingType for TextCheckingTypeShowCorrectionPanel).
We now explicitly convert from OptionSet<TextCheckingType> to NSTextCheckingTypes.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkTextOfParagraph):
(WebEditorClient::shouldEraseMarkersAfterChangeSelection const):
(core): Fix up code style nits; compare resultType on the right-hand side instead of the
left as this is more readable and unncessary now that modern compilers like Clang have
diagnostics to catch accidental assignments when equality was intended.
(WebEditorClient::didCheckSucceed):
- WebView/WebView.mm:
(coreTextCheckingType):
(textCheckingResultFromNSTextCheckingResult):
- 9:37 AM Changeset in webkit [235119] by
-
- 17 edits in trunk
[iOS][WK1] Support toggling continuous spell checking from tests
https://bugs.webkit.org/show_bug.cgi?id=188763
Reviewed by Simon Fraser.
Source/WebKitLegacy/mac:
Move some more code out from under a !PLATFORM(IOS)-guard so as to support toggling continuous
spell checking from tests in iOS WebKit Legacy.
- WebCoreSupport/WebEditorClient.h:
(WebEditorClient::toggleContinuousSpellChecking): Deleted.
- WebCoreSupport/WebEditorClient.mm:
- WebView/WebView.h:
- WebView/WebView.mm:
(-[WebView toggleContinuousSpellChecking:]):
(-[WebView toggleSmartInsertDelete:]):
LayoutTests:
Fix up some spelling tests so that they enable continuous spell checking and unskip them,
with the exception of fast/writing-mode/english-rl-text-with-spelling-marker.html, now
that they pass.
Mark the test fast/writing-mode/english-rl-text-with-spelling-marker.html as an image-only
failure. See <https://bugs.webkit.org/show_bug.cgi?id=188762> for more details.
- editing/spelling/spelling-marker-includes-hyphen-expected.html:
- editing/spelling/spelling-marker-includes-hyphen.html:
- editing/spelling/spelling-markers-in-overlapping-lines-expected.html:
- editing/spelling/spelling-markers-in-overlapping-lines-large-font-expected.html:
- editing/spelling/spelling-markers-in-overlapping-lines-large-font.html:
- editing/spelling/spelling-markers-in-overlapping-lines.html:
- fast/writing-mode/english-bt-text-with-spelling-marker-expected.html:
- fast/writing-mode/english-bt-text-with-spelling-marker.html:
- fast/writing-mode/english-rl-text-with-spelling-marker-expected.html:
- fast/writing-mode/english-rl-text-with-spelling-marker.html:
- platform/ios/TestExpectations:
- 9:33 AM Changeset in webkit [235118] by
-
- 4 edits in trunk
Unreviewed. Update OptionsWPE.cmake and NEWS for 2.21.91 release.
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for the 2.21.91 release.
- 9:16 AM Changeset in webkit [235117] by
-
- 48 edits in trunk/Tools
Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
https://bugs.webkit.org/show_bug.cgi?id=188771
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setClients):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/Find.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/FindMatches.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
(TestWebKitAPI::didFinishLoadForFrame):
- TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::loadAlternateHTMLString):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
(TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
(TestWebKitAPI::didFinishLoad):
- TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
(TestWebKitAPI::didFinishLoadForFrame):
- TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
(TestWebKitAPI::didFailProvisionalNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setUpClients):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(didFinishNavigation):
(TestWebKitAPI::TEST):
(didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
(didFinishNavigation):
(TestWebKitAPI::TEST):
(didFinishLoadForFrame): Deleted.
- TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- TestWebKitAPI/mac/WebKitAgnosticTest.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
- 7:25 AM Changeset in webkit [235116] by
-
- 5 edits1 move in trunk
[WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
https://bugs.webkit.org/show_bug.cgi?id=188782
Reviewed by Michael Catanzaro.
Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
.:
- Source/cmake/FindWPE.cmake: Renamed from Source/cmake/FindWPEBackend.cmake and changed
to check for libwpe-0.2.
- Source/cmake/OptionsWPE.cmake: Adapt to the rename to FindWPE.cmake.
Tools:
- flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
- wpe/jhbuild.modules: Ditto.
- 6:55 AM Changeset in webkit [235115] by
-
- 14 edits in trunk/Source/WebCore
Don't place "using namespace XXX;" in global space for unified source builds
https://bugs.webkit.org/show_bug.cgi?id=188739
Reviewed by Yusuke Suzuki.
No new tests (No behavior change).
- html/track/AudioTrackList.cpp:
- html/track/TextTrackList.cpp:
- html/track/VideoTrackList.cpp:
- page/SecurityOriginData.cpp:
- page/TextIndicator.cpp:
- platform/geoclue/GeolocationProviderGeoclue.cpp:
- platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
- platform/graphics/win/FullScreenController.cpp:
- platform/mediastream/CaptureDeviceManager.cpp:
- platform/mock/MediaPlaybackTargetPickerMock.cpp:
- svg/animation/SMILTime.cpp:
- testing/js/WebCoreTestSupport.cpp:
- xml/XPathParser.cpp:
- 6:53 AM Changeset in webkit [235114] by
-
- 4 edits3 deletes in trunk/Tools
[Flatpak] Update to GNOME master runtime
https://bugs.webkit.org/show_bug.cgi?id=188731
Reviewed by Philippe Normand.
The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
runtime, but I don't think there's any need to stick with the stable runtime when we have
the ability to pin to a particular version of the master runtime. There are also several
advantages to switching to the master runtime.
- flatpak/files/httpd-autogen.sh: Removed.
- flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
- flatpak/org.webkit.GTK.yaml:
- flatpak/org.webkit.WebKit.yaml:
- flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
- flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
- 6:27 AM Changeset in webkit [235113] by
-
- 2 edits in trunk/Source/WTF
[Linux] Cache the memory footprint and only update it after 1 second
https://bugs.webkit.org/show_bug.cgi?id=188791
Reviewed by Yusuke Suzuki.
Getting the memory footprint is an expensive operation in Linux. When called multiple times, the CPU usage is
too much (see bug #188787). We could cache the result for at least 1 second to ensure we don't call it more than
once per second.
- wtf/linux/MemoryFootprintLinux.cpp:
(WTF::forEachLine):
(WTF::computeMemoryFootprint):
(WTF::memoryFootprint):
- 6:20 AM Changeset in webkit [235112] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Warn early about incomplete MSE track switching support
https://bugs.webkit.org/show_bug.cgi?id=188653
Patch by Philippe Normand <philn@igalia.com> on 2018-08-21
Reviewed by Xabier Rodriguez-Calvar.
The proper track switching support shall be fixed at some point by:
https://bugs.webkit.org/show_bug.cgi?id=182531.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateTracks): Remove redundant test.
(WebCore::MediaPlayerPrivateGStreamer::enableTrack): Exit early if
this method is called by the MSE player.
- 6:10 AM Changeset in webkit [235111] by
-
- 9 edits in trunk/Source/WebKit
Unreviewed, rolling out r234981.
https://bugs.webkit.org/show_bug.cgi?id=188793
It was not the main cause of the high CPU usage in the end
(Requested by KaL on #webkit).
Reverted changeset:
"Unreviewed, rolling out r234259."
https://bugs.webkit.org/show_bug.cgi?id=188005
https://trac.webkit.org/changeset/234981
- 2:07 AM Changeset in webkit [235110] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer][MSE] Generic main thread notification support
https://bugs.webkit.org/show_bug.cgi?id=188647
Patch by Philippe Normand <philn@igalia.com> on 2018-08-21
Reviewed by Xabier Rodriguez-Calvar.
Using GstBus for main thread notifications has the side effect of "leaking" the
application messages to the media player, leading to CPU cycles wasting.
No new tests, existing MSE tests cover this change.
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webkit_media_src_init):
(webKitMediaSrcFinalize):
(webKitMediaSrcSetMediaPlayerPrivate):
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h:
- 1:49 AM Changeset in webkit [235109] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer][MSE] Remove parsers from playback pipeline
https://bugs.webkit.org/show_bug.cgi?id=188646
Patch by Philippe Normand <philn@igalia.com> on 2018-08-16
Reviewed by Xabier Rodriguez-Calvar.
Decodebin already includes parsers in front of the decoders.
No new tests, existing MSE tests cover this change.
- platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
(WebCore::PlaybackPipeline::addSourceBuffer):
(WebCore::PlaybackPipeline::attachTrack):
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcLinkSourcePad):
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h:
- 1:39 AM Changeset in webkit [235108] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r234979.
https://bugs.webkit.org/show_bug.cgi?id=188780
broke ubuntu LTS build (Requested by philn on #webkit).
Reverted changeset:
"[GTK] Never return an uninitialized ImageGStreamer object."
https://bugs.webkit.org/show_bug.cgi?id=188305
https://trac.webkit.org/changeset/234979
- 12:27 AM Changeset in webkit [235107] by
-
- 22 edits in trunk/Source
JSRunLoopTimer may run part of a member function after it's destroyed
https://bugs.webkit.org/show_bug.cgi?id=188426
Reviewed by Mark Lam.
Source/JavaScriptCore:
When I was reading the JSRunLoopTimer code, I noticed that it is possible
to end up running timer code after the class had been destroyed.
The issue I spotted was in this function:
`
void JSRunLoopTimer::timerDidFire()
{
JSLock* apiLock = m_apiLock.get();
if (!apiLock) {
Likely a buggy usage: the timer fired while JSRunLoopTimer was being destroyed.
return;
}
HERE
std::lock_guard<JSLock> lock(*apiLock);
RefPtr<VM> vm = apiLock->vm();
if (!vm) {
The VM has been destroyed, so we should just give up.
return;
}
doWork();
}
`
Look at the comment 'HERE'. Let's say that the timer callback thread gets context
switched before grabbing the API lock. Then, some other thread destroys the VM.
And let's say that the VM owns (perhaps transitively) this timer. Then, the
timer would run code and access member variables after it was destroyed.
This patch fixes this issue by introducing a new timer manager class.
This class manages timers on a per VM basis. When a timer is scheduled,
this class refs the timer. It also calls the timer callback while actively
maintaining a +1 ref to it. So, it's no longer possible to call the timer
callback after the timer has been destroyed. However, calling a timer callback
can still race with the VM being destroyed. We continue to detect this case and
bail out of the callback early.
This patch also removes a lot of duplicate code between GCActivityCallback
and JSRunLoopTimer.
- heap/EdenGCActivityCallback.cpp:
(JSC::EdenGCActivityCallback::doCollection):
(JSC::EdenGCActivityCallback::lastGCLength):
(JSC::EdenGCActivityCallback::deathRate):
- heap/EdenGCActivityCallback.h:
- heap/FullGCActivityCallback.cpp:
(JSC::FullGCActivityCallback::doCollection):
(JSC::FullGCActivityCallback::lastGCLength):
(JSC::FullGCActivityCallback::deathRate):
- heap/FullGCActivityCallback.h:
- heap/GCActivityCallback.cpp:
(JSC::GCActivityCallback::doWork):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::didAllocate):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::cancel):
(JSC::GCActivityCallback::cancelTimer): Deleted.
(JSC::GCActivityCallback::nextFireTime): Deleted.
- heap/GCActivityCallback.h:
- heap/Heap.cpp:
(JSC::Heap::reportAbandonedObjectGraph):
(JSC::Heap::notifyIncrementalSweeper):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didAllocate):
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::scheduleTimer):
(JSC::IncrementalSweeper::doWork):
(JSC::IncrementalSweeper::doSweep):
(JSC::IncrementalSweeper::sweepNextBlock):
(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::stopSweeping):
- heap/IncrementalSweeper.h:
- heap/StopIfNecessaryTimer.cpp:
(JSC::StopIfNecessaryTimer::doWork):
(JSC::StopIfNecessaryTimer::scheduleSoon):
- heap/StopIfNecessaryTimer.h:
- runtime/JSRunLoopTimer.cpp:
(JSC::epochTime):
(JSC::JSRunLoopTimer::Manager::timerDidFireCallback):
(JSC::JSRunLoopTimer::Manager::PerVMData::setRunLoop):
(JSC::JSRunLoopTimer::Manager::PerVMData::PerVMData):
(JSC::JSRunLoopTimer::Manager::PerVMData::~PerVMData):
(JSC::JSRunLoopTimer::Manager::timerDidFire):
(JSC::JSRunLoopTimer::Manager::shared):
(JSC::JSRunLoopTimer::Manager::registerVM):
(JSC::JSRunLoopTimer::Manager::unregisterVM):
(JSC::JSRunLoopTimer::Manager::scheduleTimer):
(JSC::JSRunLoopTimer::Manager::cancelTimer):
(JSC::JSRunLoopTimer::Manager::timeUntilFire):
(JSC::JSRunLoopTimer::Manager::didChangeRunLoop):
(JSC::JSRunLoopTimer::timerDidFire):
(JSC::JSRunLoopTimer::JSRunLoopTimer):
(JSC::JSRunLoopTimer::timeUntilFire):
(JSC::JSRunLoopTimer::setTimeUntilFire):
(JSC::JSRunLoopTimer::cancelTimer):
(JSC::JSRunLoopTimer::setRunLoop): Deleted.
(JSC::JSRunLoopTimer::timerDidFireCallback): Deleted.
(JSC::JSRunLoopTimer::scheduleTimer): Deleted.
- runtime/JSRunLoopTimer.h:
(JSC::JSRunLoopTimer::Manager::PerVMData::PerVMData):
- runtime/PromiseDeferredTimer.cpp:
(JSC::PromiseDeferredTimer::doWork):
(JSC::PromiseDeferredTimer::runRunLoop):
(JSC::PromiseDeferredTimer::addPendingPromise):
(JSC::PromiseDeferredTimer::hasPendingPromise):
(JSC::PromiseDeferredTimer::hasDependancyInPendingPromise):
(JSC::PromiseDeferredTimer::cancelPendingPromise):
(JSC::PromiseDeferredTimer::scheduleWorkSoon):
- runtime/PromiseDeferredTimer.h:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
(JSC::VM::setRunLoop):
(JSC::VM::registerRunLoopTimer): Deleted.
(JSC::VM::unregisterRunLoopTimer): Deleted.
- runtime/VM.h:
(JSC::VM::runLoop const):
- wasm/js/WebAssemblyPrototype.cpp:
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):
Source/WebCore:
- page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::ResourceUsageThread::platformThreadBody):
- page/linux/ResourceUsageThreadLinux.cpp:
(WebCore::ResourceUsageThread::platformThreadBody):
- 12:00 AM WebKitGTK/2.20.x edited by
- (diff)
Aug 20, 2018:
- 11:59 PM WebKitGTK/2.20.x edited by
- (diff)
- 11:05 PM Changeset in webkit [235106] by
-
- 31 edits7 adds in trunk
Inline DataView accesses into DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=188573
<rdar://problem/43286746>
Reviewed by Michael Saboff.
JSTests:
- microbenchmarks/data-view-accesses-2.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
(test):
- microbenchmarks/data-view-accesses.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
- stress/dataview-jit-bounds-checks.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
- stress/dataview-jit-get.js: Added.
(assert):
(test1.bigEndian):
(test1.littleEndian):
(test1.biEndian):
(test1):
(test2.bigEndian):
(test2.littleEndian):
(test2.biEndian):
(test2):
(test3.bigEndian):
(test3.littleEndian):
(test3.biEndian):
(test3):
(test4.bigEndian):
(test4.littleEndian):
(test4.biEndian):
(test4):
(test5.bigEndian):
(test5.littleEndian):
(test5.biEndian):
(test5):
(test6.bigEndian):
(test6.littleEndian):
(test6.biEndian):
(test6):
(test7.load):
(test7):
(test8.load):
(test8):
- stress/dataview-jit-neuter.js: Added.
(assert):
(test.load):
(test):
(test2.load):
(test2):
- stress/dataview-jit-set.js: Added.
(assert):
(isLittleEndian):
(readByte):
(readHex):
(test.storeLittleEndian):
(test.storeBigEndian):
(test.store):
(test):
(test2.storeLittleEndian):
(test2.storeBigEndian):
(test2.store):
(test2):
(test3.storeLittleEndian):
(test3.storeBigEndian):
(test3.store):
(test3):
(test4.storeLittleEndian):
(test4.storeBigEndian):
(test4.store):
(test4):
(test5.storeLittleEndian):
(test5.storeBigEndian):
(test5.store):
(test5):
(test6.storeLittleEndian):
(test6.storeBigEndian):
(test6.store):
(test6):
(test7.store):
(test7):
(test8.store):
(test8):
- stress/dataview-jit-unaligned-accesses.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
Source/JavaScriptCore:
This patch teaches the DFG/FTL to inline DataView accesses. The approach is
straight forward. We inline the various get*/set* operations as intrinsics.
This patch takes the most obvious approach for now. We OSR exit when:
- An isLittleEndian argument is provided, and is not a boolean.
- The index isn't an integer.
- The |this| isn't a DataView.
- We do an OOB access (or see a neutered array)
To implement this change in a performant way, this patch teaches the macro
assembler how to emit byte swap operations. The semantics of the added functions
are byteSwap + zero extend. This means for the 16bit byte swaps, we need
to actually emit zero extend instructions. For the 32/64bit byte swaps,
the instructions already have these semantics.
This patch is just a lightweight initial implementation. There are some easy
extensions we can do in future changes:
- Teach B3 how to byte swap: https://bugs.webkit.org/show_bug.cgi?id=188759
- CSE DataViewGet* nodes: https://bugs.webkit.org/show_bug.cgi?id=188768
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::byteSwap16):
(JSC::MacroAssemblerARM64::byteSwap32):
(JSC::MacroAssemblerARM64::byteSwap64):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::byteSwap32):
(JSC::MacroAssemblerX86Common::byteSwap16):
(JSC::MacroAssemblerX86Common::byteSwap64):
- assembler/X86Assembler.h:
(JSC::X86Assembler::bswapl_r):
(JSC::X86Assembler::bswapq_r):
(JSC::X86Assembler::shiftInstruction16):
(JSC::X86Assembler::rolw_i8r):
(JSC::X86Assembler::X86InstructionFormatter::SingleInstructionBufferWriter::memoryModRM):
- assembler/testmasm.cpp:
(JSC::testByteSwap):
(JSC::run):
- bytecode/DataFormat.h:
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::dataViewData):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateDataViewObject):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::byteSwap32):
(JSC::FTL::DFG::LowerDFGToB3::byteSwap64):
(JSC::FTL::DFG::LowerDFGToB3::emitCodeBasedOnEndiannessBranch):
(JSC::FTL::DFG::LowerDFGToB3::compileDataViewGet):
(JSC::FTL::DFG::LowerDFGToB3::compileDataViewSet):
(JSC::FTL::DFG::LowerDFGToB3::lowDataViewObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateDataViewObject):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/JSDataViewPrototype.cpp:
Source/WTF:
- wtf/TriState.h:
- 9:44 PM Changeset in webkit [235105] by
-
- 2 edits in trunk/LayoutTests
Unreviewed WinCairo port test gardening
- platform/wincairo/TestExpectations: Marked some http tests flaky.
- 9:28 PM Abandoned documents edited by
- (diff)
- 8:29 PM Changeset in webkit [235104] by
-
- 5 edits2 adds in trunk
[YARR] Extend size of fixed characters bulk matching in 64bit platform
https://bugs.webkit.org/show_bug.cgi?id=181989
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2018-08-20
Reviewed by Michael Saboff.
JSTests:
- stress/characters-regexp-ignore-case.js: Added.
(shouldBe):
(testH):
(testHe):
(testHel):
(testHell):
(testHello):
(testHelloW):
(testHelloWo):
(testHelloWor):
(testHelloWorl):
(testHelloWorld):
- stress/characters-regexp.js: Added.
(shouldBe):
(testH):
(testHe):
(testHel):
(testHell):
(testHello):
(testHelloW):
(testHelloWo):
(testHelloWor):
(testHelloWorl):
(testHelloWorld):
Source/JavaScriptCore:
This patch extends bulk matching style for fixed-sized characters.
In 64bit environment, the GPR can hold up to 8 characters. This change
reduces the code size since we can fuse multiplemov
operations into one.
- assembler/LinkBuffer.h:
- runtime/Options.h:
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
(JSC::Yarr::YarrGenerator::compile):
- 7:15 PM Changeset in webkit [235103] by
-
- 19 edits2 adds in trunk
Web Inspector: allow breakpoints to be set for specific event listeners
https://bugs.webkit.org/show_bug.cgi?id=183138
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add
setBreakpointForEventListener
andremoveBreakpointForEventListener
, each of which
takes aneventListenerId
and toggles whether that specific usage of that event listener
should have a breakpoint and pause before running.
Source/WebCore:
Test: inspector/dom/breakpoint-for-event-listener.html
- inspector/agents/InspectorDOMAgent.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::setEventListenerDisabled):
(WebCore::InspectorDOMAgent::setBreakpointForEventListener): Added.
(WebCore::InspectorDOMAgent::removeBreakpointForEventListener): Added.
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::willRemoveEventListener):
(WebCore::InspectorDOMAgent::isEventListenerDisabled):
(WebCore::InspectorDOMAgent::hasBreakpointForEventListener): Added.
(WebCore::InspectorDOMAgent::idForEventListener): Added.
Rework the event listener data structure to be based on ID instead ofEventListener
, since
it is possible to have the sameEventListener
be used for multiple events.
- inspector/agents/InspectorDOMDebuggerAgent.h:
- inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willHandleEvent): Added.
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
For DOM events, also check to see if there is a matching event listener specific breakpoint
set via the DOMAgent, and break on it if one is found.
- inspector/InspectorInstrumentation.h:
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
Split offpauseOnNativeEventIfNeeded
to only handle non-DOM events, since all DOM events
would already only go throughwillHandleEvent
.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/EventBreakpoint.js:
(WI.EventBreakpoint):
(WI.EventBreakpoint.fromPayload): Added.
(WI.EventBreakpoint.prototype.get eventListener): Added.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
- UserInterface/Controllers/DOMTreeManager.js:
(WI.DOMTreeManager):
(WI.DOMTreeManager.prototype.get eventBreakpoints): Added.
(WI.DOMTreeManager.prototype._setDocument):
(WI.DOMTreeManager.prototype.setEventListenerDisabled):
(WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added.
(WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added.
(WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added.
- UserInterface/Controllers/EventBreakpointTreeController.js:
(WI.EventBreakpointTreeController):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
- UserInterface/Views/EventListenerSectionGroup.js:
(WI.EventListenerSectionGroup):
(WI.EventListenerSectionGroup.prototype._createDisabledToggleRow):
(WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added.
- UserInterface/Views/EventBreakpointTreeElement.js:
(WI.EventBreakpointTreeElement):
(WI.EventBreakpointTreeElement.prototype.ondelete):
(WI.EventBreakpointTreeElement.prototype.populateContextMenu):
(WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
LayoutTests:
- inspector/dom/breakpoint-for-event-listener-expected.txt: Added.
- inspector/dom/breakpoint-for-event-listener.html: Added.
- 6:13 PM Changeset in webkit [235102] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the LLInt so that btjs shows vmEntryToJavaScript instead of llintPCRangeStart for the entry frame.
https://bugs.webkit.org/show_bug.cgi?id=188769
Reviewed by Michael Saboff.
- llint/LowLevelInterpreter.asm:
- Just put an unused instruction between llintPCRangeStart and vmEntryToJavaScript so that libunwind doesn't get confused by the 2 labels pointing to the same code address.
- 5:50 PM Changeset in webkit [235101] by
-
- 36 edits in trunk/Source/WebKit
Use unified build for NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=185011
Reviewed by Alex Christensen.
- NetworkProcess/Cookies/WebCookieManager.cpp:
- NetworkProcess/Downloads/Download.cpp:
- NetworkProcess/Downloads/DownloadManager.cpp:
- NetworkProcess/Downloads/PendingDownload.cpp:
- NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
- NetworkProcess/NetworkContentRuleListManager.cpp:
- NetworkProcess/NetworkDataTask.cpp:
- NetworkProcess/NetworkDataTaskBlob.cpp:
- NetworkProcess/NetworkLoadChecker.cpp:
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/NetworkProcessPlatformStrategies.cpp:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
- NetworkProcess/NetworkResourceLoader.cpp:
- NetworkProcess/NetworkSession.cpp:
- NetworkProcess/NetworkSocketStream.cpp:
- NetworkProcess/PingLoad.cpp:
- NetworkProcess/cache/CacheStorageEngine.cpp:
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
- NetworkProcess/cache/CacheStorageEngineConnection.cpp:
- NetworkProcess/cache/NetworkCache.cpp:
- NetworkProcess/capture/NetworkCaptureEvent.cpp:
- NetworkProcess/capture/NetworkCaptureManager.cpp:
- NetworkProcess/capture/NetworkCaptureRecorder.cpp:
- NetworkProcess/capture/NetworkCaptureReplayer.cpp:
- NetworkProcess/capture/NetworkDataTaskReplay.cpp:
- NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::platformCancelNetworkLoad):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:didBecomeInvalidWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
Fix the build with unified sources.
- Sources.txt: Un-@no-unify NetworkProcess/*.
- SourcesCocoa.txt: Un-@no-unify NetworkProcess/*.
- 4:29 PM Changeset in webkit [235100] by
-
- 1 copy in tags/Safari-606.1.36.10.3
Tag Safari-606.1.36.10.3.
- 4:10 PM Changeset in webkit [235099] by
-
- 3 edits1 add in trunk/Tools
WebKitTestRunner: Add watchOS entitlements
https://bugs.webkit.org/show_bug.cgi?id=188758
Reviewed by Tim Horton.
watchOS needs an additional entitlement to open up a socket for on-device testing.
- WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
- WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 3:59 PM Changeset in webkit [235098] by
-
- 11 edits in trunk/Source
[CMake] Sync unified build with Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=188732
Reviewed by Tim Horton.
Source/WebCore:
For iOS, disambiguate between ::WebEvent declared in PlatformKeyboardEvent.h and
WebCore::WebEvent declared in WebEvent.h. It's expected that we'll have to deal with random
issues like this when modifying unrelated source files in higher-level projects, since any
change to the sources list changes which files get bundled together, and headers from
lower-level projects that were not included before may now be included together.
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::event const):
Source/WebKit:
Sync unified build with Cocoa ports. This enables unified build for WebKit/Platform and
WebKit/Shared.
Lots of files need to be moved around since the existing Sources.txt was not copied from
CMakeLists.txt. This replaces the Sources.txt with the sources list from CMakeList.txt.
Files that are not built for Cocoa are moved to SourcesGTK.txt, SourcesWPE.txt, and
PlatformWin.cmake. Files that are built only on Cocoa are moved to SourcesCocoa.txt. There's
plenty of room to determine if many of these files really need to be platform-specific in
the future, but let's not change that now.
Unfortunately, several files under Shared and PluginProcess need to be un-unified to be
usable for GTK's WebKitPluginProcess2. I've never managed to understand why, but it won't
link otherwise. Fortunately, this only affects a few files (listed in
PluginProcessGTK2_SOURCES), only a couple dozen of which are cross-platform.
- CMakeLists.txt:
- PlatformWin.cmake:
- Sources.txt:
- SourcesCocoa.txt:
- SourcesGTK.txt:
- SourcesWPE.txt:
- 3:57 PM Changeset in webkit [235097] by
-
- 7 edits in branches/safari-606.1.36.10-branch/Source
Versioning.
- 3:52 PM Changeset in webkit [235096] by
-
- 51 edits3 copies6 moves6 adds10 deletes in trunk/Tools
[WHLSL] Remove generics from the interpreter
https://bugs.webkit.org/show_bug.cgi?id=187988
Patch by Thomas Denney <tdenney@apple.com> on 2018-08-20
Reviewed by Myles C. Maxfield.
This patch completely removes generic and protocol support from WHLSL
whilst adding back any features that were originally implemented with
generics.
Many of the changes in this patch just remove occurrences of type
arguments and type parameters --- although there are some cases where
they have been deliberately left in --- as well as removing tests only
relevant to those features. These changes are not listed below.
- WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
- WebGPUShadingLanguageRI/AutoWrapper.js:
(AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
- WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
vectors have many constructors for different scalar and vector types.
These were originally implemented with generics.
- WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
equality operator for built-in vectors, again this was removed with
generics.
- WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
Built-in vectors only support the getter and setter, and not the ander.
- WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
- WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
- WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
- WebGPUShadingLanguageRI/CallExpression.js: Adds support for
instantiating functions which cannot be discovered earlier in
preparation because their types are absent (specifically support for the
operator &[] for array references and the length operator for array
references). Previously support for these was implemented with generics.
(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype._resolveByInstantiation):
(CallExpression.prototype._resolveToOperatorAnderIndexer):
(CallExpression.prototype._resolveToOperatorLength):
(CallExpression.prototype.resolveToOverload):
(CallExpression.prototype.becomeCast):
(CallExpression.prototype.toString):
(CallExpression):
- WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
We support syntax like vector<int, 2>(a, b) for constructing vectors;
this new preparation step resolves them to specific constructors.
- WebGPUShadingLanguageRI/CallFunction.js:
- WebGPUShadingLanguageRI/Checker.js:
- WebGPUShadingLanguageRI/ConstexprFolder.js:
- WebGPUShadingLanguageRI/CreateLiteralType.js:
- WebGPUShadingLanguageRI/ExpressionFinder.js:
- WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
- WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
- WebGPUShadingLanguageRI/Func.js:
- WebGPUShadingLanguageRI/FuncDef.js:
- WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
- WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
- WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
- WebGPUShadingLanguageRI/Inliner.js: Ditto.
- WebGPUShadingLanguageRI/Intrinsics.js:
- WebGPUShadingLanguageRI/Lexer.js:
- WebGPUShadingLanguageRI/LiteralTypeChecker.js:
- WebGPUShadingLanguageRI/NameContext.js:
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.underlyingThings.prototype.else):
(NameContext.prototype.resolveFuncOverload):
- WebGPUShadingLanguageRI/NameFinder.js:
- WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitFunc):
(NameResolver.prototype.visitFuncDef):
(NameResolver.prototype.visitTypeDef):
(NameResolver.prototype.visitStructType):
(NameResolver.prototype.visitTypeRef):
(NameResolver.prototype.visitCallExpression):
(NameResolver.prototype.visitVectorType):
(NameResolver):
(NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
(NameResolver.prototype.visitProtocolDecl): Deleted.
- WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
- WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
- WebGPUShadingLanguageRI/NativeType.js:
(NativeType):
(NativeType.prototype.get name):
(NativeType.prototype.toString):
(NativeType.prototype.get typeParameters): Deleted.
(NativeType.prototype.instantiate): Deleted.
- WebGPUShadingLanguageRI/Node.js:
(Node.prototype.commit):
(Node):
(Node.prototype.substitute): Deleted.
(Node.prototype.substituteToUnification): Deleted.
- WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
implemented with generics.
- WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
- WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
- WebGPUShadingLanguageRI/Parse.js: Removed everything related to
generics and protocols.
- WebGPUShadingLanguageRI/Prepare.js: Added new stages.
- WebGPUShadingLanguageRI/Program.js:
(Program):
(Program.prototype.get types):
(Program.prototype.add):
(Program.prototype.get protocols): Deleted.
- WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
- WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
- WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
- WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
- WebGPUShadingLanguageRI/ResolveNames.js:
- WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
- WebGPUShadingLanguageRI/ResolveTypeDefs.js:
(resolveTypeDefsInProtocols): Deleted.
- WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
- WebGPUShadingLanguageRI/SPIRV.html:
- WebGPUShadingLanguageRI/SPIRVCodegen.js:
- WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
- WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
(StructLayoutBuilder):
- WebGPUShadingLanguageRI/StructType.js:
- WebGPUShadingLanguageRI/SwizzleOp.js:
(SwizzleOp):
(SwizzleOp.prototype.get baseTypeName):
(SwizzleOp.prototype.toString):
(SwizzleOp.functions.):
(SwizzleOp.functions):
(SwizzleOp.prototype.instantiateImplementation):
(SwizzleOp.allSwizzleOperators.): Deleted.
(SwizzleOp.allSwizzleOperators): Deleted.
- WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
previously implemented with generics.
- WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
(synthesizeStructAccessors.setupImplementationData):
(synthesizeStructAccessors.createFieldType):
(synthesizeStructAccessors.createTypeRef):
(synthesizeStructAccessors.setupAnder):
(synthesizeStructAccessors):
(synthesizeStructAccessors.createTypeParameters): Deleted.
(synthesizeStructAccessors.): Deleted.
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
tests for changed language features.
- WebGPUShadingLanguageRI/Type.js:
- WebGPUShadingLanguageRI/TypeDef.js:
- WebGPUShadingLanguageRI/TypeDefResolver.js:
- WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
- WebGPUShadingLanguageRI/TypeRef.js:
- WebGPUShadingLanguageRI/TypeVariable.js: Removed.
- WebGPUShadingLanguageRI/UnificationContext.js:
- WebGPUShadingLanguageRI/VectorType.js: Added.
- WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
- WebGPUShadingLanguageRI/WSL.md: Removed description of
generics/protocols.
- WebGPUShadingLanguageRI/WrapChecker.js:
(WrapChecker):
(WrapChecker.visitConstexprTypeParameter): Deleted.
(WrapChecker.prototype.visitFuncParameter): Deleted.
(WrapChecker.prototype.visitTypeVariable): Deleted.
- WebGPUShadingLanguageRI/index.html:
- 2:31 PM Changeset in webkit [235095] by
-
- 13 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: Canvas tab: allow recording processing to be stopped midway
https://bugs.webkit.org/show_bug.cgi?id=185152
Reviewed by Joseph Pecoraro.
Previously,
WI.Recording
used aWI.YieldableTask
to process every action in such a way
as to not block the UI. The downside to this approach was that it used a message view to
indicate the progress of this process, and prevented the user from viewing theWI.Recording
until that process was completed.
This patch changes
WI.Recording
to instead useasync/await
and fire events whenever a
WI.RecordingAction
(andWI.RecordingFrame
) finished processing, allowing it to be added
to the recordingWI.TreeOutline
and selected by the user. Additionally, a pause/resume
button is added to theWI.CanvasSidebarPanel
so the user has greater control over what
how much of theWI.Recording
they want to process.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Utilities.js:
(Promise.delay)
Utility function for promisifyingsetTimeout
.
- UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.prototype.get processing): Added.
(WI.Recording.prototype.get ready): Added.
(WI.Recording.prototype.startProcessing): Added.
(WI.Recording.prototype.stopProcessing): Added.
(WI.Recording.prototype.async._process): Added.
(WI.Recording.prototype.process): Deleted.
(WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted.
(WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted.
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
(WI.RecordingAction.prototype.get ready): Added.
(WI.RecordingAction.prototype.async.swizzle):
(WI.RecordingAction.prototype.apply):
- UserInterface/Models/RecordingInitialStateAction.js:
(WI.RecordingInitialStateAction):
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel):
(WI.CanvasSidebarPanel.prototype.set recording):
(WI.CanvasSidebarPanel.prototype.set action):
(WI.CanvasSidebarPanel.prototype._recordingAdded):
(WI.CanvasSidebarPanel.prototype._recordingRemoved):
(WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
(WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
(WI.CanvasSidebarPanel.prototype._recordingChanged):
(WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added.
(WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added.
(WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added.
(WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added.
(WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added.
(WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added.
- UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted.
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView):
(WI.RecordingContentView.prototype.updateActionIndex):
(WI.RecordingContentView.prototype.initialLayout):
(WI.RecordingContentView.prototype._updateCanvasPath):
(WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added.
(WI.RecordingContentView.prototype._updateProcessProgress): Deleted.
(WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted.
(WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted.
- UserInterface/Views/RecordingContentView.css:
(.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added.
- UserInterface/Views/FolderTreeElement.js:
(WI.FolderTreeElement):
- UserInterface/Views/GeneralTreeElement.js:
(WI.GeneralTreeElement.prototype.get statusElement): Added.
(WI.GeneralTreeElement.prototype._updateTitleElements):
- UserInterface/Views/RecordingContentView.js:
(WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
(WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
Drive-by:WI.Collection
doesn't have avalues()
accessor for the underlyingSet
.
- UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed.
- UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed.
These files are no longer used since they were "merged" into
WI.CanvasSidebarPanel
.
- 2:09 PM Changeset in webkit [235094] by
-
- 2 edits in trunk/LayoutTests
Enable ios media tests that were blocked on user gesture.
https://bugs.webkit.org/show_bug.cgi?id=188753
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-08-20
Reviewed by Jer Noble.
Enable tests that now work on ios because there is now a way to simulate user gesture.
- platform/ios/TestExpectations:
- 1:30 PM Changeset in webkit [235093] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
https://bugs.webkit.org/show_bug.cgi?id=183650
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView):
(WI.CanvasContentView.prototype.initialLayout):
(WI.CanvasContentView.prototype.attached):
(WI.CanvasContentView.prototype._recordingStopped):
(WI.CanvasContentView.prototype._shaderProgramAdded):
(WI.CanvasContentView.prototype._shaderProgramRemoved):
(WI.CanvasContentView.prototype._updateViewRelatedItems):
(WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
(WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
(WI.CanvasContentView.prototype._addRecording): Deleted.
(WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted.
- UserInterface/Views/CanvasOverviewContentView.css:
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording):
(.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted.
(.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
(.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted.
(.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted.
Create two image buttons in the bottom left corner of each canvas tile that appear when the
canvas has associated shaders and/or recordings. Clicking each image button will function
similar to path components, in that if there is only one shader/recording, it is immediately
selected, whereas if there are multiple a dropdown is shown.
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
(WI.CanvasSidebarPanel.prototype._recordingChanged):
Drive-by: ensure that the selected recording action is properly updated when first loading a
recording and when scrubbing through one.
- 1:04 PM Changeset in webkit [235092] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r223192): Remove invalid
path
for Modules/geolocation/ios folder
- WebCore.xcodeproj/project.pbxproj: Remove invalid
path
setting for WebCore/Modules/geolocation/ios folder. This was
found while working on a script for Bug 188754: Tool to fix
folders that should map to directories in Xcode project files.
- 12:51 PM Changeset in webkit [235091] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r235015): Xcode changes
mainGroup
name when updating WebCore project file
- WebCore.xcodeproj/project.pbxproj:
- Change
name
to "WebCore" within the group used bymainGroup
so Xcode won't keep changing its value back to "WebKit".
- 12:29 PM Changeset in webkit [235090] by
-
- 11 edits in trunk/LayoutTests
Update webkit-webgl-test-harness.js to provide more info on failing and partially passing tests
https://bugs.webkit.org/show_bug.cgi?id=188628
Patch by Justin Fan <Justin Fan> on 2018-08-20
Reviewed by Alexey Proskuryakov.
Slightly augment the test-harness for the WebGL 2 conformance suite; failing test results now report
failure messagees and the number of individual reported failures and passes from the wrapped Khronos test.
Allow us to track when incremental conformance improvements or regressions occur within the breadth of a
single conformance test.
- webgl/2.0.0/conformance2/glsl3/attrib-location-length-limits-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-linking-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-1024-character-define-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-1024-character-identifier.frag-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-invalid-characters-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block-expected.txt:
- webgl/2.0.0/conformance2/glsl3/unary-minus-operator-in-dynamic-loop-expected.txt:
- webgl/2.0.0/conformance2/glsl3/uniform-location-length-limits-expected.txt:
- webgl/2.0.0/conformance2/glsl3/valid-invariant-expected.txt:
- webgl/2.0.0/resources/webkit-webgl-test-harness.js:
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):
- 12:22 PM Changeset in webkit [235089] by
-
- 2 edits in trunk/Tools
Added Thomas Denney to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=188525
Patch by Thomas Denney <tdenney@apple.com> on 2018-08-20
Reviewed by Myles C. Maxfield.
- Scripts/webkitpy/common/config/contributors.json:
- 12:15 PM Changeset in webkit [235088] by
-
- 4 edits in trunk/Source/WebKit
Fix the iOSMac build with unified sources
- Shared/mac/ArgumentCodersMac.mm:
- Shared/mac/ChildProcessMac.mm:
- Shared/mac/NativeWebKeyboardEventMac.mm:
- 11:38 AM Changeset in webkit [235087] by
-
- 2 edits in trunk/Source/WebCore
UIWebView crashes while attempting to play youtube video on phone
https://bugs.webkit.org/show_bug.cgi?id=188351
rdar://problem/42489664
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-08-20
Reviewed by David Kilzer.
Test will be incorporated with fix for 188749, which will test both fixes.
VideoFullscreenControllerContext must remove unretained reference to it from m_playbackModel during cleanup.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::didCleanupFullscreen):
- 11:10 AM Changeset in webkit [235086] by
-
- 40 edits in trunk
[MediaStream] Move capture device monitoring to WebKit
https://bugs.webkit.org/show_bug.cgi?id=188521
<rdar://problem/43251787>
Reviewed by Youenn Fablet.
Source/WebCore:
No new tests, updated fast/mediastream/device-change-event-2.html for the changes.
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices): Device change listener is added in addEventListener.
(WebCore::MediaDevices::stop): Device change listener is on the user media controller.
(WebCore::MediaDevices::addEventListener): Add the device change listener only once the first
event handler is added.
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/UserMediaClient.h:
- Modules/mediastream/UserMediaController.h:
(WebCore::UserMediaController::addDeviceChangeObserver): Pass through to the client.
(WebCore::UserMediaController::removeDeviceChangeObserver): Ditto.
- platform/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::deviceChanged): Notify RealtimeMediaSourceCenter.
(nextObserverToken): Deleted.
(CaptureDeviceManager::addCaptureDeviceChangedObserver): Deleted.
(CaptureDeviceManager::removeCaptureDeviceChangedObserver): Deleted.
- platform/mediastream/CaptureDeviceManager.h:
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::setDevicesChangedObserver):
(WebCore::RealtimeMediaSourceCenter::captureDevicesChanged):
(WebCore::observerMap): Deleted.
(WebCore::RealtimeMediaSourceCenter::addDevicesChangedObserver): Deleted.
(WebCore::RealtimeMediaSourceCenter::removeDevicesChangedObserver): Deleted.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
(WebCore::AVAudioSessionCaptureDeviceManager::refreshAudioCaptureDevices): Call base class.
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::deviceConnected): Ditto.
(WebCore::AVCaptureDeviceManager::deviceDisconnected): Ditto.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::deviceHasInputStreams): Drive-by fix, check the number of buffers to see if the
device has input streams.
(WebCore::CoreAudioCaptureDeviceManager::coreAudioCaptureDevices): Use new bool parameter
added to refreshAudioCaptureDevices so we won't trigger a device change event on the first scan.
(WebCore::CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices): Add param.
(WebCore::CoreAudioCaptureDeviceManager::devicesChanged): Use new param.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::setDevices): Don't need to call captureDevicesChanged,
it is done in the UI process.
(WebCore::MockRealtimeMediaSourceCenter::addDevice): Ditto.
(WebCore::MockRealtimeMediaSourceCenter::removeDevice): Ditto.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setPageIsFocusedAndActive): New, used by updated test.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged): Notify as appropriate.
(WebKit::UserMediaPermissionRequestManagerProxy::viewIsBecomingVisible): Change name from
viewIsBecomingVisible. Call captureDevicesChanged if a change happened when not visible.
(WebKit::UserMediaPermissionRequestManagerProxy::watchdogTimerFired): Clear m_pendingDeviceChangeEvent.
(WebKit::UserMediaPermissionRequestManagerProxy::processPregrantedRequests): Deleted.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::UserMediaProcessManager): Initialize timer.
(WebKit::UserMediaProcessManager::captureDevicesChanged): New, notify each manager.
(WebKit::UserMediaProcessManager::beginMonitoringCaptureDevices): Cache the device list and
register device change listener the first time it is called.
- UIProcess/UserMediaProcessManager.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewIsBecomingVisible):
(WebKit::WebPageProxy::beginMonitoringCaptureDevices):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::addDeviceChangeObserver): Add listener, tell page
to start monitoring device changes.
(WebKit::UserMediaPermissionRequestManager::removeDeviceChangeObserver): Remove listener.
(WebKit::UserMediaPermissionRequestManager::captureDevicesChanged): Call listeners.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
(WebKit::WebUserMediaClient::addDeviceChangeObserver):
(WebKit::WebUserMediaClient::removeDeviceChangeObserver):
- WebProcess/WebCoreSupport/WebUserMediaClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::captureDevicesChanged):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::addMockMediaDevice):
(WebKit::WebProcess::clearMockMediaDevices):
(WebKit::WebProcess::removeMockMediaDevice):
(WebKit::WebProcess::resetMockMediaDevices):
(WebKit::WebProcess::captureDevicesChanged):
- WebProcess/WebProcess.h:
LayoutTests:
- fast/mediastream/device-change-event-2-expected.txt: Updated.
- fast/mediastream/device-change-event-2.html: Updated.
- 10:41 AM Changeset in webkit [235085] by
-
- 1 copy in tags/Safari-606.1.36.10.2
Tag Safari-606.1.36.10.2.
- 10:39 AM Changeset in webkit [235084] by
-
- 7 edits in branches/safari-606.1.36.10-branch/Source
Versioning.
- 10:39 AM Changeset in webkit [235083] by
-
- 1 delete in tags/Safari-606.1.36.10.2
Delete tag
- 10:30 AM Changeset in webkit [235082] by
-
- 1 copy in tags/Safari-606.1.36.10.2
Tag Safari-606.1.36.10.2.
- 10:25 AM Changeset in webkit [235081] by
-
- 3 edits1 add in branches/safari-606.1.36.10-branch
Cherry-pick r235007. rdar://problem/43445973
intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point
https://bugs.webkit.org/show_bug.cgi?id=188707
<rdar://problem/43015442>
Reviewed by Mark Lam.
JSTests:
- stress/cfa-expected-values-must-set-clobbered-to-false.js: Added. (foo): (let.comp.valueOf): (result):
Source/JavaScriptCore:
We use the values in intersectionOfPastValuesAtHead to verify that it is safe to
OSR enter at the head of a block. We verify it's safe to OSR enter by checking
that each incoming value is compatible with its corresponding AbstractValue.
The bug is that we were sometimes filtering the intersectionOfPastValuesAtHead
with abstract values that were clobbererd. This meant that the value we're
verifying with at OSR entry effectively has an infinite structure set because
it's clobbered. So, imagine we have code like this:
`
---> We OSR enter here, and we're clobbered here
InvalidationPoint
GetByOffset(@base)
`
The abstract value for @base inside intersectionOfPastValuesAtHead has a
clobberred structure set, so we'd allow an incoming object with any
structure. However, this is wrong because the invalidation point is no
longer fulfilling its promise that it filters the structure that @base has.
We fix this by filtering the AbstractValues in intersectionOfPastValuesAtHead
as if the incoming value may be live past an InvalidationPoint.
This places a stricter requirement that to safely OSR enter at any basic
block, all incoming values must be compatible as if they lived past
the execution of an invalidation point.
- dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:49 AM Changeset in webkit [235080] by
-
- 2 edits in trunk/Tools
[GTK] Sort inspector GResource manifest to ensure reproducible builds
https://bugs.webkit.org/show_bug.cgi?id=188738
Patch by Bernhard M. Wiedemann <bwiedemann@suse.de> on 2018-08-20
Reviewed by Michael Catanzaro.
- glib/generate-inspector-gresource-manifest.py:
(get_filenames): sort list of input files
- 9:43 AM Changeset in webkit [235079] by
-
- 2 edits in trunk/Tools
[iOS] Paste is missing from callout bar when pasteboard only contains custom data
https://bugs.webkit.org/show_bug.cgi?id=184271
<rdar://problem/39256708>
Reviewed by Andy Estes.
This API test is failing when run against older macOS builds, where custom pasteboard
data is not enabled by default.
- TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST):
- 7:08 AM Changeset in webkit [235078] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r235036 - Unreviewed. Fix GTK/WPE cookie API tests after r234396.
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Bring back the check to handle localhost as an
special case for non cocoa ports.
- 7:08 AM Changeset in webkit [235077] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22
Merge r235026 - [SOUP] Check length before calling soup_message_body_append_buffer.
https://bugs.webkit.org/show_bug.cgi?id=176803
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The function has a precondition that the buffer is non-empty.
Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
(WebCore::ResourceRequest::updateSoupMessageBody const):
LayoutTests:
- platform/gtk/TestExpectations: Enable test.
- 7:08 AM Changeset in webkit [235076] by
-
- 9 edits in releases/WebKitGTK/webkit-2.22
Merge r235025 - Relax Request constructor around referrers
https://bugs.webkit.org/show_bug.cgi?id=168649
Patch by Rob Buis <rbuis@igalia.com> on 2018-08-20
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
- web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
Source/WebCore:
Implement remaining part of fetch change
https://github.com/whatwg/fetch/pull/377, i.e.
if "parsedReferrer’s origin is not same origin with origin",
then set request’s referrer to "client", instead of
throwing an exception [1].
WebKit's new behavior matches that of Chrome and Firefox.
Testing is covered by existing wpt tests.
[1] Step 15.3.3 of https://fetch.spec.whatwg.org/#main-fetch
- Modules/fetch/FetchRequest.cpp:
(WebCore::computeReferrer):
LayoutTests:
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
- 7:08 AM Changeset in webkit [235075] by
-
- 8 edits in releases/WebKitGTK/webkit-2.22
Merge r235024 - [GLIB] Add API to throw exceptions using printf formatted strings
https://bugs.webkit.org/show_bug.cgi?id=188698
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add jsc_context_throw_printf() and jsc_context_throw_with_name_printf(). Also add new public constructors of
JSCException using printf formatted string.
- API/glib/JSCContext.cpp:
(jsc_context_throw_printf):
(jsc_context_throw_with_name_printf):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jsc_exception_new_printf):
(jsc_exception_new_vprintf):
(jsc_exception_new_with_name_printf):
(jsc_exception_new_with_name_vprintf):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(createFormattedError):
(createCustomFormattedError):
(testJSCExceptions):
- 7:08 AM Changeset in webkit [235074] by
-
- 8 edits in releases/WebKitGTK/webkit-2.22
Merge r235023 - [GLIB] Complete the JSCException API
https://bugs.webkit.org/show_bug.cgi?id=188695
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add more API to JSCException:
- New function to get the column number
- New function get exception as string (toString())
- Add the possibility to create exceptions with a custom error name.
- New function to get the exception error name
- New function to get the exception backtrace.
- New convenience function to report a exception by returning a formatted string with all the exception details, to be shown as a user error message.
- API/glib/JSCContext.cpp:
(jsc_context_throw_with_name):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jscExceptionEnsureProperties):
(jsc_exception_new):
(jsc_exception_new_with_name):
(jsc_exception_get_name):
(jsc_exception_get_column_number):
(jsc_exception_get_back_trace_string):
(jsc_exception_to_string):
(jsc_exception_report):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCCheckSyntax):
(createCustomError):
(testJSCExceptions):
- 7:08 AM Changeset in webkit [235073] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore
Merge r235021 - Unreviewed, rolling out r234852.
https://bugs.webkit.org/show_bug.cgi?id=188736
Workaround is not correct (Requested by yusukesuzuki on
Reverted changeset:
"[JSC] Should not rotate constant with 64"
https://bugs.webkit.org/show_bug.cgi?id=188556
https://trac.webkit.org/changeset/234852
- 7:07 AM Changeset in webkit [235072] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235020 - Shrink size of WebCore::Event further by reordering members
https://bugs.webkit.org/show_bug.cgi?id=188734
Reviewed by Daniel Bates.
Since WebCore::Event is ref-counted class, it has 4bytes m_refCount at the head of the class.
So placing 4bytes just after that before placing 8bytes aligned member (like pointers in 64bit
platforms) can save the size of WebCore::Event further.
This patch reorders members of WebCore::Event to shrink the size from 80bytes to 72bytes.
No behavior change.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
- 7:07 AM Changeset in webkit [235071] by
-
- 9 edits1 add in releases/WebKitGTK/webkit-2.22/Source
Merge r235018 - [WTF] Add WTF::unalignedLoad and WTF::unalignedStore
https://bugs.webkit.org/show_bug.cgi?id=188716
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use WTF::unalignedLoad and WTF::unalignedStore to avoid undefined behavior.
The compiler can emit appropriate mov operations in x86 even if we use these
helper functions.
- assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::LocalWriter::putIntegralUnchecked):
(JSC::AssemblerBuffer::putIntegral):
(JSC::AssemblerBuffer::putIntegralUnchecked):
- assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::readCallTarget):
- assembler/X86Assembler.h:
(JSC::X86Assembler::linkJump):
(JSC::X86Assembler::readPointer):
(JSC::X86Assembler::replaceWithHlt):
(JSC::X86Assembler::replaceWithJump):
(JSC::X86Assembler::setPointer):
(JSC::X86Assembler::setInt32):
(JSC::X86Assembler::setInt8):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::getOpcodeID): Embedded opcode may be misaligned. Actually UBSan detects misaligned accesses here.
Source/WTF:
While some CPUs allow unaligned accesses to memory, doing it in C++ with
reinterpret_cast<>
is
undefined behavior. This patch adds WTF::{unalignedLoad,unalignedStore} helper functions, which
can load from and store to the pointer in an unaligned manner.
Actual implementation usesmemcpy
. This can be optimized to direct unaligned access operations
in supported CPUs like x86. Even though a CPU does not support unaligned accesses, memcpy is still
safe and the compiler emits appropriate code.
We name these functions
unalignedLoad
andunalignedStore
instead ofloadUnaligned
andstoreUnaligned
in order to align them toatomicLoad
andatomicStore
.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/UnalignedAccess.h: Added.
(WTF::unalignedLoad):
(WTF::unalignedStore):
- wtf/text/StringCommon.h:
(WTF::equal):
(WTF::loadUnaligned): Deleted.
- 7:07 AM Changeset in webkit [235070] by
-
- 37 edits2 adds in releases/WebKitGTK/webkit-2.22
Merge r235014 - [IntersectionObserver] Fire an initial dummy notification
https://bugs.webkit.org/show_bug.cgi?id=188670
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Rebaseline tests now that an initial notification is fired.
- web-platform-tests/intersection-observer/bounding-box-expected.txt:
- web-platform-tests/intersection-observer/client-rect-expected.txt:
- web-platform-tests/intersection-observer/containing-block-expected.txt:
- web-platform-tests/intersection-observer/cross-origin-iframe-expected.txt:
- web-platform-tests/intersection-observer/disconnect-expected.txt:
- web-platform-tests/intersection-observer/display-none-expected.txt:
- web-platform-tests/intersection-observer/edge-inclusive-intersection-expected.txt:
- web-platform-tests/intersection-observer/iframe-no-root-expected.txt:
- web-platform-tests/intersection-observer/inline-client-rect-expected.txt:
- web-platform-tests/intersection-observer/isIntersecting-change-events-expected.txt:
- web-platform-tests/intersection-observer/multiple-targets-expected.txt:
- web-platform-tests/intersection-observer/multiple-thresholds-expected.txt:
- web-platform-tests/intersection-observer/observer-without-js-reference-expected.txt:
- web-platform-tests/intersection-observer/remove-element-expected.txt:
- web-platform-tests/intersection-observer/root-margin-expected.txt:
- web-platform-tests/intersection-observer/same-document-no-root-expected.txt:
- web-platform-tests/intersection-observer/same-document-root-expected.txt:
- web-platform-tests/intersection-observer/same-document-zero-size-target-expected.txt:
- web-platform-tests/intersection-observer/shadow-content-expected.txt:
- web-platform-tests/intersection-observer/text-target-expected.txt:
- web-platform-tests/intersection-observer/timestamp-expected.txt:
- web-platform-tests/intersection-observer/unclipped-root-expected.txt:
- web-platform-tests/intersection-observer/zero-area-element-hidden-expected.txt:
- web-platform-tests/intersection-observer/zero-area-element-visible-expected.txt:
Source/WebCore:
Add logic to track ongoing intersection observations. Create an IntersectionObserverRegistration
and fire a single dummy notification for each one.
Test: intersection-observer/root-element-moved.html
Also tested by existing tests in imported/w3c/web-platform-tests/intersection-observer.
- dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::addIntersectionObserver):
(WebCore::Document::removeIntersectionObserver):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::notifyIntersectionObserversTimerFired):
- dom/Document.h:
(WebCore::Document::numberOfIntersectionObservers const):
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument):
(WebCore::Element::disconnectFromIntersectionObservers):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create):
(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::~IntersectionObserver):
(WebCore::IntersectionObserver::observe):
(WebCore::IntersectionObserver::unobserve):
(WebCore::IntersectionObserver::disconnect):
(WebCore::IntersectionObserver::takeRecords):
(WebCore::IntersectionObserver::targetDestroyed):
(WebCore::IntersectionObserver::removeTargetRegistration):
(WebCore::IntersectionObserver::removeAllTargets):
(WebCore::IntersectionObserver::rootDestroyed):
(WebCore::IntersectionObserver::appendQueuedEntry):
(WebCore::IntersectionObserver::notify):
- page/IntersectionObserver.h:
(WebCore::IntersectionObserver::trackingDocument):
(WebCore::IntersectionObserver:: const):
(WebCore::IntersectionObserver::hasObservationTargets const):
- page/IntersectionObserver.idl:
- testing/Internals.cpp:
(WebCore::Internals::numberOfIntersectionObservers const):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- intersection-observer/root-element-deleted.html: Add additional assertions.
- intersection-observer/root-element-moved-expected.txt: Added.
- intersection-observer/root-element-moved.html: Added.
- 7:07 AM Changeset in webkit [235069] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22
Merge r235010 - Adjust CMAKE_MODULE_LINKER_FLAGS for asan
https://bugs.webkit.org/show_bug.cgi?id=188699
Reviewed by Konstantin Tokarev.
- Source/cmake/WebKitCompilerFlags.cmake:
- 7:07 AM Changeset in webkit [235068] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235009 - Pack booleans in Event into a bitfield
https://bugs.webkit.org/show_bug.cgi?id=188713
Reviewed by Daniel Bates.
Use bitfields for booleans in Event class.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
(WebCore::Event::IsComposed): Added.
(WebCore::Event): Packed booleans into a bitfield.
- 7:07 AM Changeset in webkit [235067] by
-
- 3 edits1 add in releases/WebKitGTK/webkit-2.22
Merge r235007 - intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point
https://bugs.webkit.org/show_bug.cgi?id=188707
<rdar://problem/43015442>
Reviewed by Mark Lam.
JSTests:
- stress/cfa-expected-values-must-set-clobbered-to-false.js: Added.
(foo):
(let.comp.valueOf):
(result):
Source/JavaScriptCore:
We use the values in intersectionOfPastValuesAtHead to verify that it is safe to
OSR enter at the head of a block. We verify it's safe to OSR enter by checking
that each incoming value is compatible with its corresponding AbstractValue.
The bug is that we were sometimes filtering the intersectionOfPastValuesAtHead
with abstract values that were clobbererd. This meant that the value we're
verifying with at OSR entry effectively has an infinite structure set because
it's clobbered. So, imagine we have code like this:
`
---> We OSR enter here, and we're clobbered here
InvalidationPoint
GetByOffset(@base)
`
The abstract value for @base inside intersectionOfPastValuesAtHead has a
clobberred structure set, so we'd allow an incoming object with any
structure. However, this is wrong because the invalidation point is no
longer fulfilling its promise that it filters the structure that @base has.
We fix this by filtering the AbstractValues in intersectionOfPastValuesAtHead
as if the incoming value may be live past an InvalidationPoint.
This places a stricter requirement that to safely OSR enter at any basic
block, all incoming values must be compatible as if they lived past
the execution of an invalidation point.
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
- 7:06 AM Changeset in webkit [235066] by
-
- 17 edits2 adds in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r235006 - Start bringing up Unified Sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=188703
Reviewed by Simon Fraser.
- Configurations/BaseTarget.xcconfig:
Add SRCROOT to the include path, so unified sources can find the source files.
- Shared/APIWebArchive.mm:
(API::releaseWebArchiveData):
(API::WebArchive::data):
(API::releaseCFData): Deleted.
- Shared/APIWebArchiveResource.mm:
(API::releaseWebArchiveResourceData):
(API::WebArchiveResource::data):
(API::releaseCFData): Deleted.
Disambiguate two static methods by renaming them.
- Shared/cf/ArgumentCodersCF.cpp:
Leave a comment about the bizarreness of this file.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::decode):
- Shared/WebPlatformTouchPoint.cpp:
- Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::WebPopupItem):
(WebKit::WebPopupItem::decode):
- Shared/WebPreferencesStore.cpp:
- Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::createArrayFromLayerList):
(WebKit::WebRenderLayer::WebRenderLayer):
- Shared/gtk/WebEventFactory.cpp:
- Shared/mac/WebCoreArgumentCodersMac.mm:
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
- Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit const):
- UIProcess/API/APIAutomationSessionClient.h:
(API::AutomationSessionClient::sessionIdentifier const):
(API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::setNeedsDisplay):
(WebKit::RemoteLayerBackingStore::backingStoreSize const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setRootLayerID):
(WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
(WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description const):
- Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
Get rid of lots ofusing namespace
.
- Sources.txt: Added.
- SourcesCocoa.txt: Added.
- WebKit.xcodeproj/project.pbxproj:
Set up unified sources.
Right now, we only unify Platform/ and Shared/[API].
- 6:31 AM Changeset in webkit [235065] by
-
- 3 edits in trunk/Tools
Add WPE Debug configuration to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=188743
Reviewed by Michael Catanzaro.
- TestResultServer/static-dashboards/builders.jsonp:
- TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
- 5:54 AM Changeset in webkit [235064] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235002 - Clean up CSSSelectorList after r234825
https://bugs.webkit.org/show_bug.cgi?id=188566
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-17
Reviewed by Megan Gardner.
This is responding to Darin's feedback in https://bugs.webkit.org/show_bug.cgi?id=188539
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::operator=): Deleted.
- css/CSSSelectorList.h:
(WebCore::CSSSelectorList::CSSSelectorList):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parsePageSelector):
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeComplexSelectorList):
(WebCore::CSSSelectorParser::consumeCompoundSelectorList):
- 5:54 AM Changeset in webkit [235063] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235000 - Remove Adobe SSO exception now that StorageAccess API is available
https://bugs.webkit.org/show_bug.cgi?id=188710
<rdar://problem/35056707>
Reviewed by Alex Christensen.
Remove custom quirk now that proper API exists to allow the same functions.
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logSubresourceLoading): Remove unneeded quirk.
(WebCore::resourceNeedsSSOQuirk): Deleted.
- 5:54 AM Changeset in webkit [235062] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234999 - Replace canBubble and cancelable booleans in Event by enum classes
https://bugs.webkit.org/show_bug.cgi?id=188692
<rdar://problem/43411944>
Rubber-stamped by Alex Christensen.
Make these enum classes uint8_t.
- dom/Event.h:
- 5:54 AM Changeset in webkit [235061] by
-
- 165 edits in releases/WebKitGTK/webkit-2.22/Source
Merge r234995 - Replace canBubble and cancelable booleans in Event by enum classes
https://bugs.webkit.org/show_bug.cgi?id=188692
Reviewed by Alex Christensen.
Source/WebCore:
Replaced booleans indicating whether an event can bubble and an event is cancelable
by two enum classes: CanBubble and IsCancelable.
No new tests since there should be no behavioral changes.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
(WebCore::WebKitPlaybackTargetAvailabilityEvent::WebKitPlaybackTargetAvailabilityEvent):
- Modules/applepay/ApplePayPaymentAuthorizedEvent.cpp:
(WebCore::ApplePayPaymentAuthorizedEvent::ApplePayPaymentAuthorizedEvent):
- Modules/applepay/ApplePayPaymentMethodSelectedEvent.cpp:
(WebCore::ApplePayPaymentMethodSelectedEvent::ApplePayPaymentMethodSelectedEvent):
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::didCancelPaymentSession):
- Modules/applepay/ApplePayShippingContactSelectedEvent.cpp:
(WebCore::ApplePayShippingContactSelectedEvent::ApplePayShippingContactSelectedEvent):
- Modules/applepay/ApplePayShippingMethodSelectedEvent.cpp:
(WebCore::ApplePayShippingMethodSelectedEvent::ApplePayShippingMethodSelectedEvent):
- Modules/applepay/ApplePayValidateMerchantEvent.cpp:
(WebCore::ApplePayValidateMerchantEvent::ApplePayValidateMerchantEvent):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.cpp:
(WebCore::WebKitMediaKeyMessageEvent::WebKitMediaKeyMessageEvent):
- Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.cpp:
(WebCore::WebKitMediaKeyNeededEvent::WebKitMediaKeyNeededEvent):
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::addKeyTimerFired):
(WebCore::WebKitMediaKeySession::sendError):
- Modules/gamepad/GamepadEvent.cpp:
(WebCore::GamepadEvent::GamepadEvent):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::connectionToServerLost):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBOpenDBRequest::onSuccess):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
- Modules/indexeddb/IDBRequestCompletionEvent.cpp:
(WebCore::IDBRequestCompletionEvent::IDBRequestCompletionEvent):
- Modules/indexeddb/IDBRequestCompletionEvent.h:
(WebCore::IDBRequestCompletionEvent::create):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::fireOnComplete):
(WebCore::IDBTransaction::fireOnAbort):
- Modules/indexeddb/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::skipToNextTrack):
(WebCore::MediaSession::skipToPreviousTrack):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::scheduleEvent):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::scheduleEvent):
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::scheduleEvent):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::scheduledEventTimerFired):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):
- Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
- Modules/mediastream/MediaStreamEvent.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::trackMutedChanged):
- Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
- Modules/mediastream/MediaStreamTrackEvent.h:
- Modules/mediastream/OverconstrainedErrorEvent.h:
(WebCore::OverconstrainedErrorEvent::create):
(WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::fireICECandidateEvent):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::updateSignalingState):
- Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::didChangeReadyState):
(WebCore::RTCDataChannel::didDetectError):
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):
- Modules/mediastream/RTCDataChannelEvent.cpp:
(WebCore::RTCDataChannelEvent::create):
(WebCore::RTCDataChannelEvent::RTCDataChannelEvent):
- Modules/mediastream/RTCDataChannelEvent.h:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::scheduleNegotiationNeededEvent):
- Modules/mediastream/RTCPeerConnectionIceEvent.cpp:
(WebCore::RTCPeerConnectionIceEvent::create):
(WebCore::RTCPeerConnectionIceEvent::RTCPeerConnectionIceEvent):
- Modules/mediastream/RTCPeerConnectionIceEvent.h:
- Modules/mediastream/RTCTrackEvent.cpp:
(WebCore::RTCTrackEvent::create):
(WebCore::RTCTrackEvent::RTCTrackEvent):
- Modules/mediastream/RTCTrackEvent.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addRemoteStream):
(WebCore::LibWebRTCMediaEndpoint::addRemoteTrack):
(WebCore::LibWebRTCMediaEndpoint::addDataChannel):
- Modules/notifications/Notification.cpp:
(WebCore::Notification::dispatchShowEvent):
(WebCore::Notification::dispatchClickEvent):
(WebCore::Notification::dispatchCloseEvent):
(WebCore::Notification::dispatchErrorEvent):
- Modules/paymentrequest/MerchantValidationEvent.cpp:
(WebCore::MerchantValidationEvent::MerchantValidationEvent):
- Modules/paymentrequest/PaymentRequestUpdateEvent.cpp:
(WebCore::PaymentRequestUpdateEvent::PaymentRequestUpdateEvent):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::postEvent):
- Modules/speech/SpeechSynthesisEvent.cpp:
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::setState):
- Modules/webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::AudioProcessingEvent):
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::finish):
- Modules/webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
- Modules/websockets/CloseEvent.h:
(WebCore::CloseEvent::CloseEvent):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
(WebCore::WebSocket::dispatchOrQueueErrorEvent):
- Modules/webvr/VRDisplayEvent.cpp:
(WebCore::VRDisplayEvent::VRDisplayEvent):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::dispatchAccessibilityEventWithType const):
- accessibility/AccessibleSetValueEvent.cpp:
(WebCore::AccessibleSetValueEvent::AccessibleSetValueEvent):
- animation/AnimationPlaybackEvent.cpp:
(WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent):
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::abort):
- dom/AnimationEvent.cpp:
(WebCore::AnimationEvent::AnimationEvent):
- dom/BeforeLoadEvent.h:
- dom/BeforeTextInsertedEvent.cpp:
(WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
- dom/BeforeUnloadEvent.cpp:
(WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
- dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
- dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
- dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/DeviceMotionEvent.cpp:
(WebCore::DeviceMotionEvent::DeviceMotionEvent):
- dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
- dom/Document.cpp:
(WebCore::Document::setReadyState):
(WebCore::Document::visibilityStateChanged):
(WebCore::Document::finishedParsing):
(WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
(WebCore::Document::orientationChanged):
- dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::enqueueScrollEvent):
(WebCore::DocumentEventQueue::enqueueResizeEvent):
- dom/DocumentEventQueue.h:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):
(WebCore::Element::dispatchWebKitImageReadyEventForTesting):
- dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::ErrorEvent):
- dom/Event.cpp:
(WebCore::Event::Event):
(WebCore::Event::create):
- dom/Event.h:
- dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
- dom/FocusEvent.h:
- dom/HashChangeEvent.h:
- dom/InputEvent.cpp:
(WebCore::InputEvent::create):
(WebCore::InputEvent::InputEvent):
- dom/InputEvent.h:
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
- dom/MouseEvent.h:
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
- dom/MouseRelatedEvent.h:
- dom/MutationEvent.cpp:
(WebCore::MutationEvent::MutationEvent):
- dom/MutationEvent.h:
- dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):
(WebCore::Node::dispatchInputEvent):
- dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::OverflowEvent):
- dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEvent::PageTransitionEvent):
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::PopStateEvent):
- dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::ProgressEvent):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::dispatchErrorEvent):
- dom/SecurityPolicyViolationEvent.h:
- dom/SimulatedClick.cpp:
- dom/TextEvent.cpp:
(WebCore::TextEvent::TextEvent):
- dom/TransitionEvent.cpp:
(WebCore::TransitionEvent::TransitionEvent):
- dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
- dom/UIEvent.h:
(WebCore::UIEvent::create):
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
- dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
- dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchBeforeInputEvents):
(WebCore::Editor::willApplyEditing const):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::dispatchSelectStart):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::dispatchPendingEvent):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchChangeEvent):
(WebCore::HTMLFormControlElement::checkValidity):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::reset):
- html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::onSearch):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::dispatchPendingEvent):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::scheduleEvent):
(WebCore::HTMLMediaElement::notifyAboutPlaying):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::layoutSizeChanged):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::dispatchLoadEvent):
- html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::dispatchSlotChangeEvent):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::errorEventTimerFired):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::dispatchPendingEvent):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selectionChanged):
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::didCompleteLoad):
- html/MediaController.cpp:
(WebCore::MediaController::scheduleEvent):
- html/canvas/WebGLContextEvent.cpp:
(WebCore::WebGLContextEvent::WebGLContextEvent):
- html/canvas/WebGLContextEvent.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::dispatchContextChangedEvent):
- html/parser/HTMLScriptRunner.cpp:
(WebCore::createScriptLoadEvent):
- html/track/TrackEvent.cpp:
(WebCore::TrackEvent::TrackEvent):
- html/track/TrackEvent.h:
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase::scheduleTrackEvent):
(WebCore::TrackListBase::scheduleChangeEvent):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchUnloadEvents):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingErrorEvent):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::createApplicationCacheEvent):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::languagesChanged):
(WebCore::DOMWindow::dispatchLoadEvent):
- page/EventHandler.cpp:
(WebCore::dispatchSelectStart):
(WebCore::EventHandler::dispatchDragEvent):
- page/EventSource.cpp:
(WebCore::EventSource::scheduleReconnect):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::abortConnectionAttempt):
- page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedElement):
(WebCore::FocusController::setFocusedFrame):
- page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
- page/Page.cpp:
(WebCore::networkStateChanged):
- page/Performance.cpp:
(WebCore::Performance::resourceTimingBufferFullTimerFired):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::enqueueEvent):
- page/VisualViewport.cpp:
(WebCore::VisualViewport::enqueueResizeEvent):
(WebCore::VisualViewport::enqueueScrollEvent):
- storage/StorageEvent.cpp:
(WebCore::StorageEvent::StorageEvent):
- svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossible):
- svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::notifyFinished):
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::dispatchPendingEvent):
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
- workers/service/ExtendableEvent.cpp:
(WebCore::ExtendableEvent::ExtendableEvent):
- workers/service/ExtendableEvent.h:
- workers/service/ExtendableMessageEvent.cpp:
(WebCore::ExtendableMessageEvent::ExtendableMessageEvent):
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::scheduleTaskToUpdateState):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleTaskToFireControllerChangeEvent):
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::scheduleTaskToFireUpdateFoundEvent):
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
Source/WebKitLegacy/ios:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKitLegacy/mac:
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- WebView/WebView.mm:
(-[WebView _dispatchUnloadEvent]):
- 5:53 AM Changeset in webkit [235060] by
-
- 5 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234990 - Simplify server trust authentication flow
https://bugs.webkit.org/show_bug.cgi?id=188684
Reviewed by Youenn Fablet.
We unnecessarily had the allowsSpecificHTTPSCertificateForHost check at two different abstraction levels.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveChallenge):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::allowsSpecificHTTPSCertificateForHost): Deleted.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
- 5:53 AM Changeset in webkit [235059] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234989 - Fix API tests after r234985
https://bugs.webkit.org/show_bug.cgi?id=188679
- UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
The encoding of null strings had changed, which is no big deal because there's no data in that encoding,
but switching it back fixes the tests.
- 5:53 AM Changeset in webkit [235058] by
-
- 12 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234985 - Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML
https://bugs.webkit.org/show_bug.cgi?id=188679
Reviewed by Carlos Garcia Campos.
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
(loadString):
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadAlternateHTMLString): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString):
- 5:52 AM Changeset in webkit [235057] by
-
- 14 edits in releases/WebKitGTK/webkit-2.22/Source
Merge r234984 - [JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg
https://bugs.webkit.org/show_bug.cgi?id=188589
Patch by Yusuke Suzuki <yusukesuzuki@slowstart.org> and Fujii Hironori <Fujii Hironori> on 2018-08-17
Reviewed by Mark Lam.
And reviewed by Yusuke Suzuki for Hironori's change.
Source/JavaScriptCore:
Since GPRReg(RegisterID) and FPRReg(FPRegisterID) do not include -1 in their enum values,
UBSan dumps bunch of warnings "runtime error: load of value 4294967295, which is not a valid value for type 'RegisterID'".
- We add InvalidGPRReg and InvalidFPRReg to enum values of GPRReg and FPRReg to suppress the above warnings.
- We make GPRReg and FPRReg int8_t enums.
- We replace
#define InvalidGPRReg ((JSC::GPRReg)-1)
tostatic constexpr GPRReg InvalidGPRReg { GPRReg::InvalidGPRReg };
. - We add operator+/- definition for RegisterIDs as a MSVC workaround. MSVC fails to resolve operator+ and operator-
if
enum : int8_t
is used instead ofenum
.
- assembler/ARM64Assembler.h:
- assembler/ARMAssembler.h:
- assembler/ARMv7Assembler.h:
- assembler/MIPSAssembler.h:
- assembler/MacroAssembler.h:
- assembler/X86Assembler.h:
- jit/CCallHelpers.h:
(JSC::CCallHelpers::clampArrayToSize):
- jit/FPRInfo.h:
- jit/GPRInfo.h:
(JSC::JSValueRegs::JSValueRegs):
(JSC::JSValueRegs::tagGPR const):
(JSC::JSValueRegs::payloadGPR const):
(JSC::JSValueSource::JSValueSource):
(JSC::JSValueSource::unboxedCell):
(JSC::JSValueSource::operator bool const):
(JSC::JSValueSource::base const):
(JSC::JSValueSource::tagGPR const):
(JSC::JSValueSource::payloadGPR const):
(JSC::JSValueSource::hasKnownTag const):
Source/WebCore:
- cssjit/FunctionCall.h:
(WebCore::FunctionCall::FunctionCall):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
- html/HTMLKeygenElement.cpp:
Remove
using namespace WebCore
not to introduceoperator+/-
which makes the resolution ofoperator+/-
for RegisterID ambiguous.
- 5:52 AM Changeset in webkit [235056] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234983 - [GStreamer] reduce position queries frequency
https://bugs.webkit.org/show_bug.cgi?id=188645
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
There is no need to perform dozens of position queries per second.
One every 300ms is enough.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 5:52 AM Changeset in webkit [235055] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234982 - [SOUP] Handle OAuth authentication after r234912
https://bugs.webkit.org/show_bug.cgi?id=188651
Reviewed by Carlos Garcia Campos.
Update this switch to consider the new OAuth enum value added in r234912. I suppose OAuth is
used for HTTP Auth now. It will be a one-time compatibility break as passwords previously
stored with type "Unknown" will no longer be accessible.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::authTypeFromProtectionSpaceAuthenticationScheme):
- 5:52 AM Changeset in webkit [235054] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WTF
Merge r234980 - WTF's internal std::optional implementation should release assert on all bad accesses
<https://webkit.org/b/187669>
Reviewed by Ryosuke Niwa.
- wtf/Assertions.h:
(RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT): Add macro definitions.
- wtf/Optional.h:
(std::optional::operator -> const):
(std::optional::operator ->):
(std::optional::operator * const):
(std::optional::operator *):
(std::optional::value const):
(std::optional::value):
(std::optional<T::operator-> const):
(std::optional<T::operator* const):
(std::optional<T::value const):
- Change ASSERT_UNDER_CONSTEXPR_CONTEXT() macros to RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT() macros.
- 5:52 AM Changeset in webkit [235053] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234979 - [GTK] Never return an uninitialized ImageGStreamer object.
https://bugs.webkit.org/show_bug.cgi?id=188305
Reviewed by Philippe Normand.
The single caller was already checking for a null return value, so
make that check actually do something. Also remove the null-check on
the return value of image(), which asserted that it would never return
null.
Test: fast/canvas/canvas-createPattern-video-loading.html
- platform/graphics/gstreamer/ImageGStreamer.h:
(WebCore::ImageGStreamer::createImage): Return null if m_image wasn't created.
(WebCore::ImageGStreamer::image): Return a reference.
(WebCore::ImageGStreamer::rect): Always assert that m_image is present.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Update for new signature.
- 5:52 AM Changeset in webkit [235052] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234978 - [GStreamer] Enable fpsdisplaysink only when MEDIA_STATISTICS is enabled
https://bugs.webkit.org/show_bug.cgi?id=188648
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
The fpsdisplaysink is useful only when MEDIA_STATISTICS is turned on.
The text overlay is now enabled when GST_DEBUG tracing is enabled for the player.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
- 5:52 AM Changeset in webkit [235051] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234977 - [GStreamer][MSE] Disable last-sample support in AppendPipeline
https://bugs.webkit.org/show_bug.cgi?id=188649
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline): This property isn't
used by the append pipeline. So as a micro-optimization, it is now
disabled.
- 4:47 AM Changeset in webkit [235050] by
-
- 10 edits in trunk
Throw an exception if window.open() gets passed a URL that cannot be parsed
https://bugs.webkit.org/show_bug.cgi?id=171656
Patch by Rob Buis <rbuis@igalia.com> on 2018-08-20
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/url/failure-expected.txt:
Source/WebCore:
Throw a SyntaxError exception when an invalid url gets passed into window.open().
Tests: imported/w3c/web-platform-tests/url/failure.html
fast/dom/Window/open-invalid-url.html
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):
(WebCore::DOMWindow::showModalDialog):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
LayoutTests:
- fast/dom/Window/open-invalid-url-expected.txt:
- fast/dom/Window/open-invalid-url.html:
- 4:12 AM Changeset in webkit [235049] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore
Merge r234975 - [JSC] alignas for RegisterState should respect alignof(RegisterState) too
https://bugs.webkit.org/show_bug.cgi?id=188686
Reviewed by Saam Barati.
RegisterState would have larger alignment than
alignof(void*)
. We use the larger alignment value
foralignof
for RegisterState.
- heap/RegisterState.h:
- 4:12 AM Changeset in webkit [235048] by
-
- 11 edits11 adds in releases/WebKitGTK/webkit-2.22
Merge r234974 - Web Inspector: support breakpoints for arbitrary event names
https://bugs.webkit.org/show_bug.cgi?id=183118
Reviewed by Joseph Pecoraro.
Source/WebCore:
Tests: inspector/dom-debugger/event-breakpoints.html
inspector/dom-debugger/event-breakpoints-with-navigation.html
- inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
Source/WebInspectorUI:
Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands,
specificallysetEventBreakpoint
andremoveEventBreakpoint
, that will pause execution if
any DOM event is fired that matches any previously registered breakpoints.
Event breakpoints are distinguished by name, and they currently apply globally, meaning
that only one breakpoint per event name can be registered.
Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in
the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right
now all it contains is a basic text input for the event name. Similarly, a new TreeElement
subclass, EventBreakpointTreeElement, is used when showing the list of event listener
breakpoints, but all it shows now is the event name.
The majority of the logic in this patch was derived from XHR breakpoints.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Test.html:
- UserInterface/Images/EventBreakpoint.svg: Added.
- UserInterface/Models/EventBreakpoint.js: Added.
(WI.EventBreakpoint):
(WI.EventBreakpoint.prototype.get eventName):
(WI.EventBreakpoint.prototype.get disabled):
(WI.EventBreakpoint.prototype.set disabled):
(WI.EventBreakpoint.prototype.get serializableInfo):
(WI.EventBreakpoint.prototype.saveIdentityToCookie):
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
(WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added.
(WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added.
(WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added.
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added.
(WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added.
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype._pauseReasonFromPayload):
- UserInterface/Controllers/EventBreakpointTreeController.js: Added.
(WI.EventBreakpointTreeController):
(WI.EventBreakpointTreeController.prototype.revealAndSelect):
(WI.EventBreakpointTreeController.prototype._eventBreakpointAdded):
(WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved):
(WI.EventBreakpointTreeController.prototype._addTreeElement):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel):
(WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
(WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added.
(WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added.
(WI.DebuggerSidebarPanel.prototype.willDismissPopover):
- UserInterface/Views/EventBreakpointTreeElement.js: Added.
(WI.EventBreakpointTreeElement):
(WI.EventBreakpointTreeElement.prototype.onattach):
(WI.EventBreakpointTreeElement.prototype.ondetach):
(WI.EventBreakpointTreeElement.prototype.ondelete):
(WI.EventBreakpointTreeElement.prototype.onenter):
(WI.EventBreakpointTreeElement.prototype.onspace):
(WI.EventBreakpointTreeElement.prototype.populateContextMenu):
(WI.EventBreakpointTreeElement.prototype._statusImageElementClicked):
(WI.EventBreakpointTreeElement.prototype._statusImageElementFocused):
(WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown):
(WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
(WI.EventBreakpointTreeElement.prototype._updateStatus):
- UserInterface/Views/EventBreakpointTreeElement.css: Added.
(.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon):
- UserInterface/Views/EventBreakpointPopover.js: Added.
(WI.EventBreakpointPopover):
(WI.EventBreakpointPopover.prototype.get result):
(WI.EventBreakpointPopover.prototype.get value):
(WI.EventBreakpointPopover.prototype.show):
(WI.EventBreakpointPopover.prototype._presentOverTargetElement):
- UserInterface/Views/EventBreakpointPopover.css: Added.
(.popover .event-listener-breakpoint-content):
(.popover .event-listener-breakpoint-content > input):
- UserInterface/Views/NavigationSidebarPanel.js:
(WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
LayoutTests:
- inspector/dom-debugger/event-breakpoints-expected.txt: Added.
- inspector/dom-debugger/event-breakpoints.html: Added.
- inspector/dom-debugger/event-breakpoints-with-navigation-expected.txt: Added.
- inspector/dom-debugger/event-breakpoints-with-navigation.html: Added.
- 4:12 AM Changeset in webkit [235047] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234970 - Remove unused parentProcessName from NetworkProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=188618
Reviewed by Alex Christensen.
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- 4:11 AM Changeset in webkit [235046] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234967 - Remove unused allowScriptsToCloseWindows setting
https://bugs.webkit.org/show_bug.cgi?id=188602
Reviewed by Simon Fraser.
No change in behaviour. It was always false.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::close):
- page/Settings.yaml:
- 4:11 AM Changeset in webkit [235045] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebInspectorUI
Merge r234963 - Web Inspector: Show Initiator information in Network Table
https://bugs.webkit.org/show_bug.cgi?id=188590
<rdar://problem/43305488>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-16
Reviewed by Matt Baker.
- UserInterface/Views/NetworkResourceDetailView.js:
(WI.NetworkResourceDetailView):
(WI.NetworkResourceDetailView.prototype.shown):
(WI.NetworkResourceDetailView.prototype.willShowWithCookie):
(WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
When a ResourceDetailView gets shown, it may also want to show its initial content view
with a cookie as the cookie may contain position highlight information.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype._showResourceDetailView):
(WI.NetworkTableContentView.prototype.showRepresentedObject):
When showing a represented object, pass the cookie information on to the detail
view's so that it may include the cookie when showing the final content view.
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateInitiatorCell):
(WI.NetworkTableContentView.prototype.initialLayout):
New initiator column contains a source code link to the call site.
(WI.NetworkTableContentView.prototype._generateSortComparator):
(WI.NetworkTableContentView.prototype._entryForResource):
Entry data for the initiator is a display string that can be sorted easily.
- 4:11 AM Changeset in webkit [235044] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22
Merge r234957 - Custom element constructor doesn't use HTMLElement in new.target's realm
https://bugs.webkit.org/show_bug.cgi?id=188634
Reviewed by Keith Miller.
LayoutTests/imported/w3c:
Rebaselined the test now that all relevant test cases pass. All remaining test failures are
for customized builtin, which we do not and shall not implement.
- web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt:
Source/WebCore:
Fixed the bug that HTMLElement's constructor was constructing an element of its own realm
instead of the realm of new.target. This results in the JS wrapper created for the element
belonging to the global object of the HTMLElement constructor which was invoked instead of
the global object of new.target as specified in:
https://html.spec.whatwg.org/multipage/dom.html#html-element-constructors
In particular, step 9.2. specifies that we "perform element.SetPrototypeOf(prototype)."
where prototype is the result of Get(NewTarget, "prototype") in step 7.
WebKit's new behavior matches that of Chrome and Firefox.
Test: imported/w3c/web-platform-tests/custom-elements/htmlconstructor/newtarget.html
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- 4:11 AM Changeset in webkit [235043] by
-
- 10 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234954 - Consolidate data/string API loading paths
https://bugs.webkit.org/show_bug.cgi?id=188417
Reviewed by Michael Catanzaro.
loadHTMLString and loadData are basically duplicate code.
loadPlainTextString was also basically the same except it didn't set up a navigation, which
was almost certainly a bug, but nobody uses it in all of Apple and Debian. We should probably deprecate
and remove it, but for now I make it use the same data loading path.
- UIProcess/API/C/WKPage.cpp:
(WKPageLoadData):
(WKPageLoadDataWithUserData):
(loadString):
(WKPageLoadHTMLString):
(WKPageLoadHTMLStringWithUserData):
(WKPageLoadPlainTextString):
(WKPageLoadPlainTextStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_load_html):
(webkit_web_view_load_plain_text):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadHTMLString): Deleted.
(WebKit::WebPageProxy::loadPlainTextString): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadString): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:11 AM Changeset in webkit [235042] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.22
Merge r234953 - Custom element doesn't invalidate its style when :defined rule starts to apply
https://bugs.webkit.org/show_bug.cgi?id=188637
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Rebaselined the test now that all relevant test cases pass. The only remaining test failures
are for customized builtins which we do not and shall not implement.
- web-platform-tests/custom-elements/pseudo-class-defined-expected.txt:
Source/WebCore:
Fixed the bug by invalidating the subtree when a custom element gets defined.
Test: fast/custom-elements/defined-update-style.html
- dom/Element.cpp:
(WebCore::Element::setIsDefinedCustomElement):
LayoutTests:
Added a regression test.
- fast/custom-elements/defined-update-style-expected.html: Added.
- fast/custom-elements/defined-update-style.html: Added.
- 4:11 AM Changeset in webkit [235041] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.22
Merge r234945 - LayoutTest inspector/worker/debugger-pause.html sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=188580
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-16
Reviewed by Matt Baker.
Source/WebInspectorUI:
- UserInterface/Protocol/Target.js:
(WI.Target.prototype.get mainResource):
(WI.Target.prototype.set mainResource):
Dispatch an event when the Main Resource is set.
LayoutTests:
- inspector/worker/debugger-pause.html:
- inspector/worker/resources/worker-utilities.js: Added.
(TestPage.registerInitializer.window.awaitTargetMainResource):
(TestPage.registerInitializer):
Use a more deterministic wait for the main resource.
- 4:11 AM Changeset in webkit [235040] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.22
Merge r234944 - Perform a microtask checkpoint before creating a custom element
https://bugs.webkit.org/show_bug.cgi?id=188189
<rdar://problem/42843022>
Reviewed by Geoffrey Garen.
Source/WebCore:
Fixed the bug that the HTML parser was not performing a microtask checkpoint prior to synchronously constructing
a custom element in the concept to create an element for a token:
https://html.spec.whatwg.org/multipage/parsing.html#creating-and-inserting-nodes:perform-a-microtask-checkpoint
Also added a microtask checkpoint before dispatching DOMContentLoaded to work around webkit.org/b/82931 since
scheduling a task to fire a DOMContentLoaded event in Document::finishedParsing as the HTML5 spec mandates
is a long standing bug with a lot of implications, which is completely outside the scope of this bug fix:
https://html.spec.whatwg.org/multipage/parsing.html#stop-parsing
Test: fast/custom-elements/perform-microtask-checkpoint-before-construction.html
- dom/Document.cpp:
(WebCore::Document::finishedParsing): Perform a microtask checkpoint before dispatching DOMContentLoaded here as
a workaround for webkit.org/b/82931.
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Perform a microtask checkpoint here to fix the bug.
LayoutTests:
Added a W3C style testharness.js test for perfoming microtask checkpoint before constructing
a custom element synchronously.
- fast/custom-elements/perform-microtask-checkpoint-before-construction-expected.txt: Added.
- fast/custom-elements/perform-microtask-checkpoint-before-construction.html: Added.
- fast/dom/MutationObserver/parser-mutations.html: Fixed the test per new behavior in Document::finishParsing.
Because iframe loads synchronously and fires DOMContentLoaded, mutation records are now delivered twice after
iframe element is encountered in this test and before script element executes. Concatenate the mutation records
arrays to account for this behavioral change. New WebKit behavior matches that of Chrome; namely this test
fails both on Chrome Canary 70 and trunk WebKit with this patch without this fix.
- 4:10 AM Changeset in webkit [235039] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22
Merge r234943 - Re-introduce assertion removed in r234890
https://bugs.webkit.org/show_bug.cgi?id=188611
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-16
Reviewed by Geoffrey Garen.
Source/WebCore:
The assertion was failing because Vector<String>::operator== was using memcmp,
which failed to consider different instances of equal Strings equal. Added an
API test and this assertion, which now succeeds.
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
Source/WTF:
- wtf/text/WTFString.h:
Tools:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- 4:10 AM Changeset in webkit [235038] by
-
- 28 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234941 - Stop using canAuthenticateAgainstProtectionSpace in modern WebKit
https://bugs.webkit.org/show_bug.cgi?id=188639
Reviewed by Youenn Fablet.
canAuthenticateAgainstProtectionSpace is an unnecessary step in the authentication process.
It is leftover from when it was necessary when we used NSURLConnection, which is only used in WebKitLegacy now.
Now it's just an extra IPC roundtrip asking if we should use NSURLSessionAuthChallengeRejectProtectionSpace
or if we are going to ask the API client. We can move this step into the C API for compatibility
with the 1 client that still uses it (not for long, see rdar://problem/43358403) and simplify and optimize
authentication.
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didReceiveChallenge):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::didReceiveChallenge):
(WebKit::NetworkLoad::completeAuthenticationChallenge): Deleted.
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): Deleted.
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::cancelDownload):
(WebKit::NetworkProcess::canAuthenticateAgainstProtectionSpace): Deleted.
(WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PreconnectTask.cpp:
(WebKit::PreconnectTask::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/PreconnectTask.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Authentication/AuthenticationManager.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient):
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):
(WebKit::NavigationState::NavigationClient::canAuthenticateAgainstProtectionSpace): Deleted.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::canAuthenticateAgainstProtectionSpace): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpace): Deleted.
- UIProcess/WebPageProxy.h:
- 4:10 AM Changeset in webkit [235037] by
-
- 2 edits2 adds in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234932 - [Nicosia] Add Nicosia::ImageBackingTextureMapperImpl
https://bugs.webkit.org/show_bug.cgi?id=188550
Reviewed by Carlos Garcia Campos.
Add the Nicosia::ImageBackingTextureMapperImpl class, the
TextureMapper-specific implementation that will extend the ImageBacking
class.
This class will be used to contain and manage updates for layers that
are backed by image objects. The CoordinatedGraphicsLayer instance will
use the LayerState object to track the currently-presented image objects
and to store the latest update of these objects. The Update struct
contains information about the current visibility of the image in the
layer tree as well as the Nicosia::Buffer object containing the painted
image data that's to be presented on the screen.
During the layer flush the flushUpdate() method will move the current
update data into the pending position, from which this data will be
gathered by the composition component through the takeUpdate() method
and used to update the CoordinatedBackingStore object that's kept in
the CompositionState object on this impl class.
This will be deployed for use in the CoordinatedGraphicsLayer at a later
stage as it requires a larger rework in both CoordinatedGraphicsLayer as
well as the CoordinatedGraphicsScene classes.
The implementation itself differs from the current image backing support
in CoordinatedGraphicsLayer and CompositingCoordinator by abandoning the
idea of sharing single image backings between layers that might be
backed by identical Image objects. We thus end up trading any memory
consumption benefit in these scenarios for a much simplified
implementation. Overall this area needs more research both in figuring
out whether there's worthy improvements in grouping image backings, as
well as investigating whether it's possible to avoid additional image
rasterization by just leveraging direct pixel data via the
NativeImagePtr object.
- platform/TextureMapper.cmake:
- platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp: Added.
(Nicosia::ImageBackingTextureMapperImpl::createFactory):
(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):
(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):
- platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.h: Added.
- 3:37 AM Changeset in webkit [235036] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Fix GTK/WPE cookie API tests after r234396.
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Bring back the check to handle localhost as an
special case for non cocoa ports.
- 2:33 AM Changeset in webkit [235035] by
-
- 2 edits368 adds in releases/WebKitGTK/webkit-2.22/LayoutTests
Merge r234931 - Unreviewed WPE gardening. Enable a few subdirectories under fast/ and
provide platform-specific baselines as well as failure expectations
where required.
- platform/wpe/TestExpectations:
- platform/wpe/fast/box-shadow: Added 10 baselines.
- platform/wpe/fast/box-sizing: Added 4 baselines.
- platform/wpe/fast/clip: Added 23 baselines.
- platform/wpe/fast/compact: Added 3 baselines.
- platform/wpe/fast/css-generated-content: Added 43 baselines.
- platform/wpe/fast/doctypes: Added 4 baselines.
- platform/wpe/fast/flexbox: Added 26 baselines.
- platform/wpe/fast/inline: Added 32 baselines.
- platform/wpe/fast/inline-block: Added 9 baselines.
- platform/wpe/fast/invalid: Added 29 baselines.
- platform/wpe/fast/line-grid: Added 8 baselines.
- platform/wpe/fast/lists: Added 27 baselines.
- platform/wpe/fast/loader: Added 1 baseline.
- platform/wpe/fast/preloader: Added 2 baselines.
- platform/wpe/fast/replaced: Added 57 baselines.
- platform/wpe/fast/ruby: Added 26 baselines.
- platform/wpe/fast/writing-mode: Added 37 baselines.
- 2:31 AM Changeset in webkit [235034] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234927 - [lFC][Floating] Add estimated margin top computation.
https://bugs.webkit.org/show_bug.cgi?id=188619
Reviewed by Antti Koivisto.
In order to figure out whether a box should avoid a float, we need to know the final positions of both (ignore relative positioning for now).
In block formatting context the final position for a normal flow box includes
- the static position and
- the corresponding (non)collapsed margins.
Now the vertical margins are computed when all the descendants are finalized, because the margin values might be depending on the height of the box
(and the height might be based on the content).
So when we get to the point where we intersect the box with the float to decide if the box needs to move, we don't yet have the final vertical position.
The idea here is that as long as we don't cross the block formatting context boundary, we should be able to pre-compute the final top margin.
(if this holds true for all the cases, the estimated prefix could be removed and just use marginTop() instead.)
Covered by existing block-only tests.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeEstimatedMarginTop const):
(WebCore::Layout::BlockFormattingContext::computeEstimatedMarginTopForAncestors const):
(WebCore::Layout::BlockFormattingContext::computeFloatingPosition const):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionForFloatClear const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::estimatedMarginTop):
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Box):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::setHasValidTop):
(WebCore::Display::Box::setHasValidLeft):
(WebCore::Display::Box::top const):
(WebCore::Display::Box::left const):
(WebCore::Display::Box::topLeft const):
(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setEstimatedMarginTop):
(WebCore::Display::Box::estimatedMarginTop const):
- 2:31 AM Changeset in webkit [235033] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/gtk/po
Merge r234926 - [l10n] Updated Polish translation of WebKitGTK+ for 2.22
https://bugs.webkit.org/show_bug.cgi?id=188652
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2018-08-16
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 2:31 AM Changeset in webkit [235032] by
-
- 5 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234925 - [LFC][BFC] Display::Box interface should reflect that padding is optional.
https://bugs.webkit.org/show_bug.cgi?id=188630
Reviewed by Antti Koivisto.
Certain type of boxes can't have paddings (see Layout::Box::isPaddingApplicable).
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeBorderAndPadding const):
(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::width const):
(WebCore::Display::Box::height const):
(WebCore::Display::Box::contentBoxTop const):
(WebCore::Display::Box::contentBoxLeft const):
(WebCore::Display::Box::setPadding):
(WebCore::Display::Box::paddingTop const):
(WebCore::Display::Box::paddingLeft const):
(WebCore::Display::Box::paddingBottom const):
(WebCore::Display::Box::paddingRight const):
- 2:30 AM Changeset in webkit [235031] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234924 - [LFC] Add showLayoutTree() that does not require LayoutContext.
https://bugs.webkit.org/show_bug.cgi?id=188631
Reviewed by Antti Koivisto.
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::formattingContextRoot const):
(WebCore::Layout::Box::initialContainingBlock const):
- layout/layouttree/LayoutBox.h:
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputLayoutTree):
(WebCore::Layout::showLayoutTree):
(WebCore::Layout::TreeBuilder::showLayoutTree): Deleted.
- layout/layouttree/LayoutTreeBuilder.h:
- 2:30 AM Changeset in webkit [235030] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234923 - [LFC] Tree builder should construct block and inline containers based on the display type.
https://bugs.webkit.org/show_bug.cgi?id=188632
Reviewed by Antti Koivisto.
Inline elements can also construct RenderBlock renderers (inline-bloc etc), so use the display type instead when deciding what type of container to construct.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):
- 2:30 AM Changeset in webkit [235029] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234922 - [LFC] Bail out of subtree verification when trees are out of sync.
https://bugs.webkit.org/show_bug.cgi?id=188633
Reviewed by Antti Koivisto.
There's no point of trying to match geometry when subtrees are out of sync.
They get out of sync when the render tree has unsupported boxes (see LayoutTreeBuilder).
- layout/Verification.cpp:
(WebCore::Layout::verifyAndOutputSubtree):
- 2:30 AM Changeset in webkit [235028] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234921 - Unreviewed, WPE build fix after r234920.
- UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewInWindow):
- UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::setViewState):
- UIProcess/API/wpe/WPEView.h:
- 2:30 AM Changeset in webkit [235027] by
-
- 44 edits in releases/WebKitGTK/webkit-2.22
Merge r234920 - Use OptionSet for ActivityState::Flags
https://bugs.webkit.org/show_bug.cgi?id=188554
Reviewed by Brent Fulgham.
Source/WebCore:
More typesafe flags.
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::activityStateDidChange):
- Modules/geolocation/GeolocationController.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::activityStateDidChange):
- html/canvas/WebGLRenderingContextBase.h:
- page/ActivityState.cpp:
(WebCore::operator<<):
(WebCore::activityStateFlagsToString): Deleted.
- page/ActivityState.h:
(WebCore::ActivityState::allFlags):
- page/ActivityStateChangeObserver.h:
- page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActivityState):
(WebCore::FocusController::setActive):
- page/FocusController.h:
(WebCore::FocusController::isActive const):
(WebCore::FocusController::isFocused const):
(WebCore::FocusController::contentIsVisible const):
- page/Page.cpp:
(WebCore::pageInitialActivityState):
(WebCore::Page::Page):
(WebCore::Page::setIsInWindow):
(WebCore::Page::updateTimerThrottlingState):
(WebCore::Page::setActivityState):
(WebCore::Page::isVisibleAndActive const):
(WebCore::Page::isWindowActive const):
(WebCore::Page::setIsVisible):
- page/Page.h:
(WebCore::Page::activityState const):
(WebCore::Page::isVisible const):
(WebCore::Page::isInWindow const):
- page/PerformanceMonitor.cpp:
(WebCore::activityStateForCPUSampling):
(WebCore::PerformanceMonitor::activityStateChanged):
- page/PerformanceMonitor.h:
- platform/text/cocoa: Added.
Source/WebKit:
- Shared/WebPageCreationParameters.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::viewDidMoveToWindow):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::setMuted):
(WebKit::WebPageProxy::isPlayingMediaDidChange):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isInWindow const):
(WebKit::WebPageProxy::isViewVisible const):
(WebKit::WebPageProxy::isViewFocused const):
(WebKit::WebPageProxy::isViewWindowActive const):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::activityStateDidChange):
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::activityStateDidChange):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::activityStateDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateThrottleState):
(WebKit::WebPage::updateIsInWindow):
(WebKit::WebPage::visibilityDidChange):
(WebKit::WebPage::setActivityState):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isVisible const):
(WebKit::WebPage::isVisibleOrOccluded const):
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::pageActivityStateDidChange):
- WebProcess/WebProcess.h:
Source/WTF:
- wtf/OptionSet.h:
(WTF::OptionSet::operator):
Add xor operator, useful for finding changes between sets.
Tools:
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
- 2:29 AM Changeset in webkit [235026] by
-
- 4 edits in trunk
[SOUP] Check length before calling soup_message_body_append_buffer.
https://bugs.webkit.org/show_bug.cgi?id=176803
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The function has a precondition that the buffer is non-empty.
Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
(WebCore::ResourceRequest::updateSoupMessageBody const):
LayoutTests:
- platform/gtk/TestExpectations: Enable test.
- 1:42 AM Changeset in webkit [235025] by
-
- 9 edits in trunk
Relax Request constructor around referrers
https://bugs.webkit.org/show_bug.cgi?id=168649
Patch by Rob Buis <rbuis@igalia.com> on 2018-08-20
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
- web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
Source/WebCore:
Implement remaining part of fetch change
https://github.com/whatwg/fetch/pull/377, i.e.
if "parsedReferrer’s origin is not same origin with origin",
then set request’s referrer to "client", instead of
throwing an exception [1].
WebKit's new behavior matches that of Chrome and Firefox.
Testing is covered by existing wpt tests.
[1] Step 15.3.3 of https://fetch.spec.whatwg.org/#main-fetch
- Modules/fetch/FetchRequest.cpp:
(WebCore::computeReferrer):
LayoutTests:
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
- 12:00 AM Changeset in webkit [235024] by
-
- 8 edits in trunk
[GLIB] Add API to throw exceptions using printf formatted strings
https://bugs.webkit.org/show_bug.cgi?id=188698
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add jsc_context_throw_printf() and jsc_context_throw_with_name_printf(). Also add new public constructors of
JSCException using printf formatted string.
- API/glib/JSCContext.cpp:
(jsc_context_throw_printf):
(jsc_context_throw_with_name_printf):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jsc_exception_new_printf):
(jsc_exception_new_vprintf):
(jsc_exception_new_with_name_printf):
(jsc_exception_new_with_name_vprintf):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(createFormattedError):
(createCustomFormattedError):
(testJSCExceptions):
Aug 19, 2018:
- 11:57 PM Changeset in webkit [235023] by
-
- 8 edits in trunk
[GLIB] Complete the JSCException API
https://bugs.webkit.org/show_bug.cgi?id=188695
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add more API to JSCException:
- New function to get the column number
- New function get exception as string (toString())
- Add the possibility to create exceptions with a custom error name.
- New function to get the exception error name
- New function to get the exception backtrace.
- New convenience function to report a exception by returning a formatted string with all the exception details, to be shown as a user error message.
- API/glib/JSCContext.cpp:
(jsc_context_throw_with_name):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jscExceptionEnsureProperties):
(jsc_exception_new):
(jsc_exception_new_with_name):
(jsc_exception_get_name):
(jsc_exception_get_column_number):
(jsc_exception_get_back_trace_string):
(jsc_exception_to_string):
(jsc_exception_report):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCCheckSyntax):
(createCustomError):
(testJSCExceptions):
- 5:53 PM Changeset in webkit [235022] by
-
- 29 edits in trunk/Source/WebKit
[Cocoa] Update uses of wrapper template functions in WebKit for clarity, simplicity, better ARC readiness
https://bugs.webkit.org/show_bug.cgi?id=188735
Reviewed by Dan Bernstein.
Because of argument-dependent lookup, there should never be a reason to call
the wrapper function as WebKit::wrapper or API::wrapper unless there is a need
to resolve a name conflict, so removed the explicit namespacing.
- UIProcess/API/C/mac/WKPagePrivateMac.mm:
(WKPageLoadURLRequestReturningNavigation): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
- UIProcess/API/Cocoa/WKBackForwardList.mm:
(toWKBackForwardListItem): Deleted.
(-[WKBackForwardList currentItem]): Use wrapper instead of toWKBackForwardListItem.
(-[WKBackForwardList backItem]): Ditto.
(-[WKBackForwardList forwardItem]): Ditto.
(-[WKBackForwardList itemAtIndex:]): Ditto.
(-[WKBackForwardList backList]): Removed leakRef/autorelease pair.
(-[WKBackForwardList forwardList]): Ditto.
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore defaultStore]): Removed explicit WebKit namespace.
(+[WKContentRuleListStore storeWithURL:]): Fixed a storage leak by removing leakRef,
which was not balanced. This is not a copy or create function, so it should not
return an object that requires a release to balance it.
(-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:releasesArgument:]):
Removed explicit WebKit namespace and unneeded get().
(-[WKContentRuleListStore lookUpContentRuleListForIdentifier:completionHandler:]):
Removed explicit WebKit namespace.
(+[WKContentRuleListStore defaultStoreWithLegacyFilename]): Ditto.
(+[WKContentRuleListStore storeWithURLAndLegacyFilename:]): Fixed storage leak,
as above in storeWithURL.
- UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo _handle]): Removed explicit WebKit namespace.
- UIProcess/API/Cocoa/WKHTTPCookieStore.mm:
(WKHTTPCookieStoreObserver::cookiesDidChange): Ditto.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction sourceFrame]): Removed explicit null check, now done by
the wrapper template function.
(-[WKNavigationAction targetFrame]): Ditto.
(-[WKNavigationAction _userInitiatedAction]): Ditto.
(-[WKNavigationAction _mainFrameNavigation]): Ditto.
- UIProcess/API/Cocoa/WKOpenPanelParameters.mm:
(-[WKOpenPanelParameters _acceptedMIMETypes]): Removed leakRef/autorelease pair,
now done by the wrapper template function.
(-[WKOpenPanelParameters _acceptedFileExtensions]): Ditto.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences copyWithZone:]): Use retain instead of leakRef; slightly clearer
for when we convert to ARC.
(+[WKPreferences _experimentalFeatures]): Removed leakRef/autorelease pair,
now done by the wrapper template function.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _configuration]): Fixed a storage leak by removing leakRef,
which was not balanced. This is not a copy or create function, so it should not
return an object that requires a release to balance it.
- UIProcess/API/Cocoa/WKURLSchemeTaskInternal.h:
Replaced inline wrapper function with WrapperTraits structure template specialization.
- UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript _userContentWorld]): Removed explicit API namespace.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
(-[WKWebView loadFileURL:allowingReadAccessToURL:]): Ditto.
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): Ditto.
(-[WKWebView goToBackForwardListItem:]): Ditto.
(-[WKWebView goBack]): Ditto.
(-[WKWebView goForward]): Ditto.
(-[WKWebView reload]): Ditto.
(-[WKWebView reloadFromOrigin]): Ditto.
(-[WKWebView _didInsertAttachment:withSource:]): Removed leakRef/autorelease pairs,
now done by the wrapper template function.
(-[WKWebView _didRemoveAttachment:]): Ditto.
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]): Removed
explicit null check and leakRef/autorelease pair, both done by the wrapper template
function now.
(-[WKWebView _loadRequest:shouldOpenExternalURLs:]): Ditto.
(-[WKWebView _reloadWithoutContentBlockers]): Ditto.
(-[WKWebView _reloadExpiredOnly]): Ditto.
(-[WKWebView _sessionStateData]): Removed explicit leakRef/autorelease pair, done
by the wrapper template function now. Also, the old version explicitly dereferenced
and would not work when the result of encodeLegacySessionState was null. Decided
not to add a call to releaseNonNull to preserve that possibly-incorrect optimization,
instead allowing the wrapper function to generate code to handle the null case.
(-[WKWebView _sessionState]): Use the Objective-C autorelease instead of adoptNS
and RetainPtr's autorelease.
(-[WKWebView _sessionStateWithFilter:]): Ditto.
(-[WKWebView _restoreSessionState:andNavigate:]): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):
Removed explicit leakRef/autorelease pair, done by the wrapper template function now.
(-[WKWebView _diagnosticLoggingDelegate]): Replaced a leakRef/autorelease pair with
use of RetainPtr's autorelease.
(-[WKWebView _findDelegate]): Ditto.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _applicationManifest]): Removed explicit null check,
done by the wrapper template function now.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore defaultDataStore]): Removed explicit WebKit namespace
and unneeded call to get().
(+[WKWebsiteDataStore nonPersistentDataStore]): Removed explicit WebKit namespace
and leakRef/autorelease pair, done by the wrapper template function now.
(-[WKWebsiteDataStore httpCookieStore]): Removed explicit WebKit namespace.
- UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(+[_WKApplicationManifest applicationManifestFromJSON:manifestURL:documentURL:]):
Removed explicit leakRef/autorelease pair, done by the wrapper template function now.
- UIProcess/API/Cocoa/_WKGeolocationPosition.mm:
(WebKit::wrapper): Ditto.
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration copyWithZone:]): Use retain instead of leakRef;
slightly clearer for when we convert to ARC.
- UIProcess/API/Cocoa/_WKUserContentWorld.mm:
(+[_WKUserContentWorld worldWithName:]): Removed explicit leakRef/autorelease pair,
done by the wrapper template function now.
- UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
(-[_WKWebsitePolicies websiteDataStore]): Removed explicit null check, done by
the wrapper template function now.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didChangeBackForwardList): Removed
explicit null check, done by the wrapper template function now.
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): Ditto.
(WebKit::NavigationState::NavigationClient::didStartProvisionalNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didReceiveServerRedirectForProvisionalNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didFailProvisionalNavigationWithError): Ditto.
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError): Ditto.
(WebKit::NavigationState::NavigationClient::didCommitNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didFinishDocumentLoad): Ditto.
(WebKit::NavigationState::NavigationClient::didFinishNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didFailNavigationWithError): Ditto.
(WebKit::NavigationState::NavigationClient::didSameDocumentNavigation): Ditto.
- UIProcess/Cocoa/SessionStateCoding.mm:
(WebKit::encodeSessionState): Removed explicit leakRef/autorelease pair, done
by the wrapper template function now. Also, the old version explicitly dereferenced
and would not work when the result of encodeLegacySessionState was null. Decided
not to add a call to releaseNonNull to preserve that possibly-incorrect optimization,
instead allowing the wrapper function to generate code to handle the null case.
- UIProcess/mac/WKInspectorViewController.mm:
(-[WKInspectorViewController configuration]): Removed explicit WebKit namespace.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]): Removed explicit null check,
done by the wrapper template function now.
(-[WKWebProcessPlugInFrame hitTest:]): Removed explicit leakRef/autorelease pair, done
by the wrapper template function now. Also, the old version explicitly dereferenced
and would not work when the result of hitTest was null. Decided not to add a call to
releaseNonNull to preserve that possibly-incorrect optimization, instead allowing the
wrapper function to generate code to handle the null case.
(-[WKWebProcessPlugInFrame childFrames]): Removed explicit leakRef/autorelease pair,
done by the wrapper template function now.
(-[WKWebProcessPlugInFrame handle]): Ditto.
(-[WKWebProcessPlugInFrame _parentFrame]): Removed explicit null check, done by the
wrapper template function now.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm:
(-[WKWebProcessPlugInHitTestResult nodeHandle]): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): Ditto.
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): Ditto.
(-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Ditto.
(-[WKWebProcessPlugInNodeHandle frame]): Ditto.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm:
(+[WKWebProcessPlugInRangeHandle rangeHandleWithJSValue:inContext:]): Ditto.
(-[WKWebProcessPlugInRangeHandle frame]): Ditto.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
(+[WKWebProcessPlugInScriptWorld world]): Ditto.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController mainFrame]): Ditto.
(+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]): Ditto.
- 5:24 PM Changeset in webkit [235021] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r234852.
https://bugs.webkit.org/show_bug.cgi?id=188736
Workaround is not correct (Requested by yusukesuzuki on
#webkit).
Reverted changeset:
"[JSC] Should not rotate constant with 64"
https://bugs.webkit.org/show_bug.cgi?id=188556
https://trac.webkit.org/changeset/234852
- 4:59 PM Changeset in webkit [235020] by
-
- 3 edits in trunk/Source/WebCore
Shrink size of WebCore::Event further by reordering members
https://bugs.webkit.org/show_bug.cgi?id=188734
Reviewed by Daniel Bates.
Since WebCore::Event is ref-counted class, it has 4bytes m_refCount at the head of the class.
So placing 4bytes just after that before placing 8bytes aligned member (like pointers in 64bit
platforms) can save the size of WebCore::Event further.
This patch reorders members of WebCore::Event to shrink the size from 80bytes to 72bytes.
No behavior change.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
- 3:54 PM Changeset in webkit [235019] by
-
- 54 edits in trunk/Source/WebKit
[Cocoa] Consolidate inline "wrapper" functions in WebKit API into function templates and WrapperTraits
https://bugs.webkit.org/show_bug.cgi?id=188733
Reviewed by Sam Weinig.
Replaced all the different functions named "wrapper" that were all boilerplate doing Objective-C
casts with WrapperTraits specializations. The only thing about this that was at all tricky was
the loose mixing of the WebKit namespace, the API namespace, and the global namespace. My choice
for this first step was to put WrapperTraits into the WebKit namespace and to put the wrapper
function into both the WebKit and API namespaces with "using". This turned out pretty clean: did
not have to touch any of the code calling wrapper just to make things work, although we can now
clean up by changing call sites to get rid of unnecessary explicit use of leakRef and autorelease.
Doing this will make ARC conversion practical and easy, which is the motivation behind pursuing
this set of changes.
- Shared/Cocoa/WKObject.h: Tweaked style of the ObjectStorage structure template,
using a class name instead of "T". Added WrapperTraits structure template, checkedObjCCast
function template, and multiple wrapper functions templates that take a variety of pointer,
reference, smart pointer, and smart reference types, and return the wrapper for each one,
handling object lifetime appropriately.
- Shared/API/Cocoa/_WKFrameHandleInternal.h:
- Shared/API/Cocoa/_WKHitTestResultInternal.h:
- Shared/Cocoa/WKNSArray.h:
- Shared/Cocoa/WKNSData.h:
- Shared/Cocoa/WKNSDictionary.h:
- Shared/Cocoa/WKNSError.h:
- Shared/Cocoa/WKNSNumber.h:
- Shared/Cocoa/WKNSString.h:
- Shared/Cocoa/WKNSURL.h:
- Shared/Cocoa/WKNSURLRequest.h:
- UIProcess/API/Cocoa/WKBackForwardListInternal.h:
- UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
- UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h:
- UIProcess/API/Cocoa/WKConnectionInternal.h:
- UIProcess/API/Cocoa/WKContentRuleListInternal.h:
- UIProcess/API/Cocoa/WKContentRuleListStoreInternal.h:
- UIProcess/API/Cocoa/WKFrameInfoInternal.h:
- UIProcess/API/Cocoa/WKHTTPCookieStoreInternal.h:
- UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.h:
- UIProcess/API/Cocoa/WKNavigationActionInternal.h:
- UIProcess/API/Cocoa/WKNavigationDataInternal.h:
- UIProcess/API/Cocoa/WKNavigationInternal.h:
- UIProcess/API/Cocoa/WKNavigationResponseInternal.h:
- UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h:
- UIProcess/API/Cocoa/WKPreferencesInternal.h:
- UIProcess/API/Cocoa/WKProcessPoolInternal.h:
- UIProcess/API/Cocoa/WKSecurityOriginInternal.h:
- UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
- UIProcess/API/Cocoa/WKUserScriptInternal.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
- UIProcess/API/Cocoa/WKWebsiteDataStoreInternal.h:
- UIProcess/API/Cocoa/WKWindowFeaturesInternal.h:
- UIProcess/API/Cocoa/_WKApplicationManifestInternal.h:
- UIProcess/API/Cocoa/_WKAttachmentInternal.h:
- UIProcess/API/Cocoa/_WKAutomationSessionInternal.h:
- UIProcess/API/Cocoa/_WKExperimentalFeatureInternal.h:
- UIProcess/API/Cocoa/_WKGeolocationPositionInternal.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h:
- UIProcess/API/Cocoa/_WKUserContentWorldInternal.h:
- UIProcess/API/Cocoa/_WKUserInitiatedActionInternal.h:
- UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h:
- UIProcess/API/Cocoa/_WKVisitedLinkStoreInternal.h:
- UIProcess/API/Cocoa/_WKWebsitePoliciesInternal.h:
- UIProcess/Cocoa/DownloadClient.mm:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandleInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
Replaced inline wrapper functions with WrapperTraits structure template
specializations. This is always in the WebKit namespace, unlike the functions,
which were in a mix of namespaces. Also deleted some unneeded "#pragma once".
- 3:50 PM Changeset in webkit [235018] by
-
- 9 edits1 add in trunk/Source
[WTF] Add WTF::unalignedLoad and WTF::unalignedStore
https://bugs.webkit.org/show_bug.cgi?id=188716
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use WTF::unalignedLoad and WTF::unalignedStore to avoid undefined behavior.
The compiler can emit appropriate mov operations in x86 even if we use these
helper functions.
- assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::LocalWriter::putIntegralUnchecked):
(JSC::AssemblerBuffer::putIntegral):
(JSC::AssemblerBuffer::putIntegralUnchecked):
- assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::readCallTarget):
- assembler/X86Assembler.h:
(JSC::X86Assembler::linkJump):
(JSC::X86Assembler::readPointer):
(JSC::X86Assembler::replaceWithHlt):
(JSC::X86Assembler::replaceWithJump):
(JSC::X86Assembler::setPointer):
(JSC::X86Assembler::setInt32):
(JSC::X86Assembler::setInt8):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::getOpcodeID): Embedded opcode may be misaligned. Actually UBSan detects misaligned accesses here.
Source/WTF:
While some CPUs allow unaligned accesses to memory, doing it in C++ with
reinterpret_cast<>
is
undefined behavior. This patch adds WTF::{unalignedLoad,unalignedStore} helper functions, which
can load from and store to the pointer in an unaligned manner.
Actual implementation usesmemcpy
. This can be optimized to direct unaligned access operations
in supported CPUs like x86. Even though a CPU does not support unaligned accesses, memcpy is still
safe and the compiler emits appropriate code.
We name these functions
unalignedLoad
andunalignedStore
instead ofloadUnaligned
andstoreUnaligned
in order to align them toatomicLoad
andatomicStore
.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/UnalignedAccess.h: Added.
(WTF::unalignedLoad):
(WTF::unalignedStore):
- wtf/text/StringCommon.h:
(WTF::equal):
(WTF::loadUnaligned): Deleted.
- 3:46 PM Changeset in webkit [235017] by
-
- 1 copy in tags/Safari-606.1.36.1.7
Tag Safari-606.1.36.1.7.
- 8:16 AM Changeset in webkit [235016] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r234396): Leak of CFURLRef in WebKit::NetworkProcess::deleteHSTSCacheForHostNames()
<https://webkit.org/b/188725>
Reviewed by Dan Bernstein.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames): Use
adoptCF() to prevent a leak.
Aug 18, 2018:
- 8:28 PM Changeset in webkit [235015] by
-
- 2 edits in trunk/Source/WebCore
Let Xcode have its way with the WebCore project
- WebCore.xcodeproj/project.pbxproj:
- Let Xcode sort recently added resources by unique ID.
- Manually change the
mainGroup
name from "WebKit" to "WebCore". There's no need to do this other than to make the inside of the proverbial cabinet match the outside. It's been this way since the project file was committed in r9857.
- 4:45 PM Changeset in webkit [235014] by
-
- 37 edits2 adds in trunk
[IntersectionObserver] Fire an initial dummy notification
https://bugs.webkit.org/show_bug.cgi?id=188670
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Rebaseline tests now that an initial notification is fired.
- web-platform-tests/intersection-observer/bounding-box-expected.txt:
- web-platform-tests/intersection-observer/client-rect-expected.txt:
- web-platform-tests/intersection-observer/containing-block-expected.txt:
- web-platform-tests/intersection-observer/cross-origin-iframe-expected.txt:
- web-platform-tests/intersection-observer/disconnect-expected.txt:
- web-platform-tests/intersection-observer/display-none-expected.txt:
- web-platform-tests/intersection-observer/edge-inclusive-intersection-expected.txt:
- web-platform-tests/intersection-observer/iframe-no-root-expected.txt:
- web-platform-tests/intersection-observer/inline-client-rect-expected.txt:
- web-platform-tests/intersection-observer/isIntersecting-change-events-expected.txt:
- web-platform-tests/intersection-observer/multiple-targets-expected.txt:
- web-platform-tests/intersection-observer/multiple-thresholds-expected.txt:
- web-platform-tests/intersection-observer/observer-without-js-reference-expected.txt:
- web-platform-tests/intersection-observer/remove-element-expected.txt:
- web-platform-tests/intersection-observer/root-margin-expected.txt:
- web-platform-tests/intersection-observer/same-document-no-root-expected.txt:
- web-platform-tests/intersection-observer/same-document-root-expected.txt:
- web-platform-tests/intersection-observer/same-document-zero-size-target-expected.txt:
- web-platform-tests/intersection-observer/shadow-content-expected.txt:
- web-platform-tests/intersection-observer/text-target-expected.txt:
- web-platform-tests/intersection-observer/timestamp-expected.txt:
- web-platform-tests/intersection-observer/unclipped-root-expected.txt:
- web-platform-tests/intersection-observer/zero-area-element-hidden-expected.txt:
- web-platform-tests/intersection-observer/zero-area-element-visible-expected.txt:
Source/WebCore:
Add logic to track ongoing intersection observations. Create an IntersectionObserverRegistration
and fire a single dummy notification for each one.
Test: intersection-observer/root-element-moved.html
Also tested by existing tests in imported/w3c/web-platform-tests/intersection-observer.
- dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::addIntersectionObserver):
(WebCore::Document::removeIntersectionObserver):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::notifyIntersectionObserversTimerFired):
- dom/Document.h:
(WebCore::Document::numberOfIntersectionObservers const):
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument):
(WebCore::Element::disconnectFromIntersectionObservers):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create):
(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::~IntersectionObserver):
(WebCore::IntersectionObserver::observe):
(WebCore::IntersectionObserver::unobserve):
(WebCore::IntersectionObserver::disconnect):
(WebCore::IntersectionObserver::takeRecords):
(WebCore::IntersectionObserver::targetDestroyed):
(WebCore::IntersectionObserver::removeTargetRegistration):
(WebCore::IntersectionObserver::removeAllTargets):
(WebCore::IntersectionObserver::rootDestroyed):
(WebCore::IntersectionObserver::appendQueuedEntry):
(WebCore::IntersectionObserver::notify):
- page/IntersectionObserver.h:
(WebCore::IntersectionObserver::trackingDocument):
(WebCore::IntersectionObserver:: const):
(WebCore::IntersectionObserver::hasObservationTargets const):
- page/IntersectionObserver.idl:
- testing/Internals.cpp:
(WebCore::Internals::numberOfIntersectionObservers const):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- intersection-observer/root-element-deleted.html: Add additional assertions.
- intersection-observer/root-element-moved-expected.txt: Added.
- intersection-observer/root-element-moved.html: Added.
- 4:32 PM Changeset in webkit [235013] by
-
- 2 edits in trunk/Source/WebKit
[watchOS] NetworkProximityManager should use WTF_MAKE_FAST_ALLOCATED
https://bugs.webkit.org/show_bug.cgi?id=188723
Reviewed by Sam Weinig.
- NetworkProcess/watchos/NetworkProximityManager.h:
- 4:20 PM Changeset in webkit [235012] by
-
- 2 edits in trunk/Source/WebKit
[watchOS] Add more assertions to NetworkProximityAssertion
https://bugs.webkit.org/show_bug.cgi?id=188721
Reviewed by Wenson Hsieh.
- NetworkProcess/watchos/NetworkProximityAssertion.mm:
(WebKit::NetworkProximityAssertion::hold):
(WebKit::NetworkProximityAssertion::release):
(WebKit::NetworkProximityAssertion::releaseTimerFired):
- 3:59 PM Changeset in webkit [235011] by
-
- 12 edits in trunk
[iOS] Paste is missing from callout bar when pasteboard only contains custom data
https://bugs.webkit.org/show_bug.cgi?id=184271
<rdar://problem/39256708>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Export a couple of WebCore functions for use in WebKit.
- dom/Document.h:
- platform/Pasteboard.h:
Source/WebKit:
Currently, the "paste:" selector action cannot be performed during editing if the pasteboard only contains
custom pasteboard data. This is because logic in -[WKContentView canPerformActionForWebView:withSender:] only
checks against a list of pasteboard types which does not include the type identifier for custom pasteboard data.
To fix this, we allow pasting only in the case where none of the other type identifiers exist in the pasteboard,
as long as the custom pasteboard data type identifier is present, and the custom pasteboard data's origin
matches the origin of the focused frame's document.
Test: PasteMixedContent.CopyAndPasteWithCustomPasteboardDataOnly
- Shared/EditorState.cpp:
(WebKit::EditorState::encode const):
(WebKit::EditorState::decode):
- Shared/EditorState.h:
Add a originIdentifierForPasteboard field, and add support for encoding it when propagating EditorState via IPC.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canPerformActionForWebView:withSender:]):
If none of the conventional pasteboard type identifiers for rich or plain text editing are present, check to see
if we have custom pasteboard data; if so, only allow pasting if the custom pasteboard data's origin matches that
of the focused frame's document origin.
Additionally refactor a bit of logic by pulling out
_page->editorState()
into a separate local variable, used
throughout the rest of the method.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState const):
Send the focused frame's document origin to the UI process via EditorState.
Tools:
Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
- TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST):
(imagePath): Deleted.
(writeTypesAndDataToPasteboard): Deleted.
(setUpWebView): Deleted.
(markupString): Deleted.
Make this test file no longer exclusive to macOS.
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
Tweak this helper to also take in a
baseURL
. Defaults to using the TestWebKitAPI bundle resource URL.
(-[TestWKWebView synchronouslyLoadHTMLString:]):
- 1:09 PM Abandoned documents edited by
- (diff)
- 1:07 PM Abandoned documents edited by
- (diff)
- 1:04 PM Abandoned documents edited by
- (diff)
- 8:00 AM Changeset in webkit [235010] by
-
- 2 edits in trunk
Adjust CMAKE_MODULE_LINKER_FLAGS for asan
https://bugs.webkit.org/show_bug.cgi?id=188699
Reviewed by Konstantin Tokarev.
- Source/cmake/WebKitCompilerFlags.cmake:
Aug 17, 2018:
- 11:47 PM Changeset in webkit [235009] by
-
- 3 edits in trunk/Source/WebCore
Pack booleans in Event into a bitfield
https://bugs.webkit.org/show_bug.cgi?id=188713
Reviewed by Daniel Bates.
Use bitfields for booleans in Event class.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
(WebCore::Event::IsComposed): Added.
(WebCore::Event): Packed booleans into a bitfield.
- 9:03 PM Changeset in webkit [235008] by
-
- 3 edits1 add in branches/safari-606.1.36.1-branch
Cherry-pick r235007. rdar://problem/43445973
intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point
https://bugs.webkit.org/show_bug.cgi?id=188707
<rdar://problem/43015442>
Reviewed by Mark Lam.
JSTests:
- stress/cfa-expected-values-must-set-clobbered-to-false.js: Added. (foo): (let.comp.valueOf): (result):
Source/JavaScriptCore:
We use the values in intersectionOfPastValuesAtHead to verify that it is safe to
OSR enter at the head of a block. We verify it's safe to OSR enter by checking
that each incoming value is compatible with its corresponding AbstractValue.
The bug is that we were sometimes filtering the intersectionOfPastValuesAtHead
with abstract values that were clobbererd. This meant that the value we're
verifying with at OSR entry effectively has an infinite structure set because
it's clobbered. So, imagine we have code like this:
`
---> We OSR enter here, and we're clobbered here
InvalidationPoint
GetByOffset(@base)
`
The abstract value for @base inside intersectionOfPastValuesAtHead has a
clobberred structure set, so we'd allow an incoming object with any
structure. However, this is wrong because the invalidation point is no
longer fulfilling its promise that it filters the structure that @base has.
We fix this by filtering the AbstractValues in intersectionOfPastValuesAtHead
as if the incoming value may be live past an InvalidationPoint.
This places a stricter requirement that to safely OSR enter at any basic
block, all incoming values must be compatible as if they lived past
the execution of an invalidation point.
- dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:05 PM Changeset in webkit [235007] by
-
- 3 edits1 add in trunk
intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point
https://bugs.webkit.org/show_bug.cgi?id=188707
<rdar://problem/43015442>
Reviewed by Mark Lam.
JSTests:
- stress/cfa-expected-values-must-set-clobbered-to-false.js: Added.
(foo):
(let.comp.valueOf):
(result):
Source/JavaScriptCore:
We use the values in intersectionOfPastValuesAtHead to verify that it is safe to
OSR enter at the head of a block. We verify it's safe to OSR enter by checking
that each incoming value is compatible with its corresponding AbstractValue.
The bug is that we were sometimes filtering the intersectionOfPastValuesAtHead
with abstract values that were clobbererd. This meant that the value we're
verifying with at OSR entry effectively has an infinite structure set because
it's clobbered. So, imagine we have code like this:
`
---> We OSR enter here, and we're clobbered here
InvalidationPoint
GetByOffset(@base)
`
The abstract value for @base inside intersectionOfPastValuesAtHead has a
clobberred structure set, so we'd allow an incoming object with any
structure. However, this is wrong because the invalidation point is no
longer fulfilling its promise that it filters the structure that @base has.
We fix this by filtering the AbstractValues in intersectionOfPastValuesAtHead
as if the incoming value may be live past an InvalidationPoint.
This places a stricter requirement that to safely OSR enter at any basic
block, all incoming values must be compatible as if they lived past
the execution of an invalidation point.
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
- 6:31 PM Changeset in webkit [235006] by
-
- 18 edits2 adds in trunk/Source/WebKit
Start bringing up Unified Sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=188703
Reviewed by Simon Fraser.
- Configurations/BaseTarget.xcconfig:
Add SRCROOT to the include path, so unified sources can find the source files.
- Shared/APIWebArchive.mm:
(API::releaseWebArchiveData):
(API::WebArchive::data):
(API::releaseCFData): Deleted.
- Shared/APIWebArchiveResource.mm:
(API::releaseWebArchiveResourceData):
(API::WebArchiveResource::data):
(API::releaseCFData): Deleted.
Disambiguate two static methods by renaming them.
- Shared/cf/ArgumentCodersCF.cpp:
Leave a comment about the bizarreness of this file.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::decode):
- Shared/WebPlatformTouchPoint.cpp:
- Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::WebPopupItem):
(WebKit::WebPopupItem::decode):
- Shared/WebPreferencesStore.cpp:
- Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::createArrayFromLayerList):
(WebKit::WebRenderLayer::WebRenderLayer):
- Shared/gtk/WebEventFactory.cpp:
- Shared/mac/WebCoreArgumentCodersMac.mm:
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
- Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit const):
- UIProcess/API/APIAutomationSessionClient.h:
(API::AutomationSessionClient::sessionIdentifier const):
(API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::setNeedsDisplay):
(WebKit::RemoteLayerBackingStore::backingStoreSize const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setRootLayerID):
(WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
(WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description const):
- Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
Get rid of lots ofusing namespace
.
- Sources.txt: Added.
- SourcesCocoa.txt: Added.
- WebKit.xcodeproj/project.pbxproj:
Set up unified sources.
Right now, we only unify Platform/ and Shared/[API].
- 6:06 PM Changeset in webkit [235005] by
-
- 7 edits in branches/safari-606.1.36.1-branch/Source
Versioning.
- 5:43 PM Changeset in webkit [235004] by
-
- 14 edits in trunk/Source
[Datalist][iOS] Display suggestions for input[type=color]
https://bugs.webkit.org/show_bug.cgi?id=188669
Reviewed by Tim Horton.
Source/WebCore:
Expose suggestedColors() in HTMLInputElement in order to allow the UIProcess to
access the list of suggested colors from a <datalist> element.
- html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestedColors const):
- html/ColorInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::suggestedColors const):
- html/HTMLInputElement.h:
- html/InputType.cpp:
(WebCore::InputType::suggestedColors const):
- html/InputType.h:
- platform/ColorChooserClient.h:
Source/WebKit:
An input[type=color] element that has an associated datalist element should
display the color values provided on iOS. Similar to macOS, we now support 1-12
suggested colors, that will be displayed at the top of the color picker.
Also ensured that we get rounded corners on both sides of a color swatch if it is
the only one in its row.
- Shared/AssistedNodeInformation.cpp: Added suggestedColors field.
(WebKit::AssistedNodeInformation::encode const):
(WebKit::AssistedNodeInformation::decode):
- Shared/AssistedNodeInformation.h:
- UIProcess/ios/forms/WKFormColorPicker.mm:
(+[WKColorPicker defaultTopColorMatrix]):
(-[WKColorPicker initWithView:]): Use the list of suggestedColors if it exists.
(-[WKColorPicker drawSelectionIndicatorForColorButton:]):
- WebProcess/WebCoreSupport/WebColorChooser.cpp:
(WebKit::WebColorChooser::WebColorChooser):
(WebKit::WebColorChooser::reattachColorChooser):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):
- 5:25 PM Changeset in webkit [235003] by
-
- 2 edits4 adds in trunk/LayoutTests
Resource Load Statistics: Add layout test for web workers importing cross-site scripts
https://bugs.webkit.org/show_bug.cgi?id=188706
<rdar://problem/43437050>
Reviewed by Alex Christensen.
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-expected.txt: Added.
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import.html: Added.
- http/tests/resourceLoadStatistics/resources/iframe-report-back-loaded.html:
Fixed typo in URL.
- http/tests/resourceLoadStatistics/resources/script-revealing-cookies.php: Added.
- http/tests/resourceLoadStatistics/resources/worker-importing-localhost-script.js: Added.
- 5:20 PM Changeset in webkit [235002] by
-
- 6 edits in trunk/Source/WebCore
Clean up CSSSelectorList after r234825
https://bugs.webkit.org/show_bug.cgi?id=188566
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-17
Reviewed by Megan Gardner.
This is responding to Darin's feedback in https://bugs.webkit.org/show_bug.cgi?id=188539
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::operator=): Deleted.
- css/CSSSelectorList.h:
(WebCore::CSSSelectorList::CSSSelectorList):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parsePageSelector):
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeComplexSelectorList):
(WebCore::CSSSelectorParser::consumeCompoundSelectorList):
- 5:11 PM Changeset in webkit [235001] by
-
- 4 edits in trunk/Source/WebKit
Unreviewed, rolling out r234991.
Caused an assertion failure on the bots.
Reverted changeset:
"Pass webPageID and webFrameID to NetworkLoad for speculative
loads"
https://bugs.webkit.org/show_bug.cgi?id=188682
https://trac.webkit.org/changeset/234991
- 5:09 PM Changeset in webkit [235000] by
-
- 2 edits in trunk/Source/WebCore
Remove Adobe SSO exception now that StorageAccess API is available
https://bugs.webkit.org/show_bug.cgi?id=188710
<rdar://problem/35056707>
Reviewed by Alex Christensen.
Remove custom quirk now that proper API exists to allow the same functions.
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logSubresourceLoading): Remove unneeded quirk.
(WebCore::resourceNeedsSSOQuirk): Deleted.
- 5:00 PM Changeset in webkit [234999] by
-
- 2 edits in trunk/Source/WebCore
Replace canBubble and cancelable booleans in Event by enum classes
https://bugs.webkit.org/show_bug.cgi?id=188692
<rdar://problem/43411944>
Rubber-stamped by Alex Christensen.
Make these enum classes uint8_t.
- dom/Event.h:
- 4:24 PM Changeset in webkit [234998] by
-
- 27 edits1 add in trunk/Source
Add some plumbing for safe browsing
https://bugs.webkit.org/show_bug.cgi?id=188709
Reviewed by Tim Horton.
Source/WebCore:
No change in behavior. Just passing around unused booleans.
We will need this for a way to load a page even though safe browsing says it's unsafe.
- WebCore.xcodeproj/project.pbxproj:
- loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setShouldSkipSafeBrowsingCheck):
(WebCore::FrameLoadRequest::shouldSkipSafeBrowsingCheck):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoader.h:
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::loadWithNavigationAction):
- loader/FrameLoaderClient.h:
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/PolicyChecker.h:
- loader/ShouldSkipSafeBrowsingCheck.h: Added.
Source/WebKit:
Also adding a URL to SafeBrowsingResult because we'll need it.
Also adding a bool to LoadParameters because we will need to do special things
when loading the safe browsing warning, like adding a way to skip the safe browsing check.
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/Cocoa/SafeBrowsingResultCocoa.mm:
(WebKit::SafeBrowsingResult::SafeBrowsingResult):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::beginSafeBrowsingCheck):
- UIProcess/SafeBrowsingResult.h:
(WebKit::SafeBrowsingResult::url const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsync):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebCoreSupport/WebFrameLoaderClient.h:
- 2:59 PM Abandoned documents edited by
- (diff)
- 2:52 PM Abandoned documents created by
- 2:43 PM Changeset in webkit [234997] by
-
- 5 edits in trunk/Tools
Add back --wtf-only to run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=187893
<rdar://problem/42483983>
Reviewed by Aakash Jain.
When doing WTF development, it is not necessary to build or run all of the API
tests. Generally, if a user has specified a specific binary (or binaries) that
they are interested in testing, it is not necessary to check all API test binaries.
- Scripts/webkitpy/api_tests/manager.py:
(Manager._collect_tests): Only use the binaries matching the program arguments
when collecting tests.
(Manager._binaries_for_arguments): Generate a list of binaries which match the
program arguments.
(Manager.run): Pass a list binaries to check.
- Scripts/webkitpy/api_tests/run_api_tests.py:
(parse_args):
- Scripts/webkitpy/port/base.py:
(Port.check_api_test_build): If the caller specifies which API test binaries it
requires, only check the ones specified.
(Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
(Port._build_api_tests): Allow the caller to only build the WTF API tests.
- Scripts/webkitpy/port/win.py:
(WinPort.path_to_api_test_binaries):
- 2:43 PM WikiStart edited by
- (diff)
- 2:28 PM Changeset in webkit [234996] by
-
- 2 edits in trunk/LayoutTests
Marked inspector/dom-debugger/event-breakpoint-with-navigation.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=188708
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:24 PM Changeset in webkit [234995] by
-
- 165 edits in trunk/Source
Replace canBubble and cancelable booleans in Event by enum classes
https://bugs.webkit.org/show_bug.cgi?id=188692
Reviewed by Alex Christensen.
Source/WebCore:
Replaced booleans indicating whether an event can bubble and an event is cancelable
by two enum classes: CanBubble and IsCancelable.
No new tests since there should be no behavioral changes.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
(WebCore::WebKitPlaybackTargetAvailabilityEvent::WebKitPlaybackTargetAvailabilityEvent):
- Modules/applepay/ApplePayPaymentAuthorizedEvent.cpp:
(WebCore::ApplePayPaymentAuthorizedEvent::ApplePayPaymentAuthorizedEvent):
- Modules/applepay/ApplePayPaymentMethodSelectedEvent.cpp:
(WebCore::ApplePayPaymentMethodSelectedEvent::ApplePayPaymentMethodSelectedEvent):
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::didCancelPaymentSession):
- Modules/applepay/ApplePayShippingContactSelectedEvent.cpp:
(WebCore::ApplePayShippingContactSelectedEvent::ApplePayShippingContactSelectedEvent):
- Modules/applepay/ApplePayShippingMethodSelectedEvent.cpp:
(WebCore::ApplePayShippingMethodSelectedEvent::ApplePayShippingMethodSelectedEvent):
- Modules/applepay/ApplePayValidateMerchantEvent.cpp:
(WebCore::ApplePayValidateMerchantEvent::ApplePayValidateMerchantEvent):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.cpp:
(WebCore::WebKitMediaKeyMessageEvent::WebKitMediaKeyMessageEvent):
- Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.cpp:
(WebCore::WebKitMediaKeyNeededEvent::WebKitMediaKeyNeededEvent):
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::addKeyTimerFired):
(WebCore::WebKitMediaKeySession::sendError):
- Modules/gamepad/GamepadEvent.cpp:
(WebCore::GamepadEvent::GamepadEvent):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::connectionToServerLost):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBOpenDBRequest::onSuccess):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
- Modules/indexeddb/IDBRequestCompletionEvent.cpp:
(WebCore::IDBRequestCompletionEvent::IDBRequestCompletionEvent):
- Modules/indexeddb/IDBRequestCompletionEvent.h:
(WebCore::IDBRequestCompletionEvent::create):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::fireOnComplete):
(WebCore::IDBTransaction::fireOnAbort):
- Modules/indexeddb/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::skipToNextTrack):
(WebCore::MediaSession::skipToPreviousTrack):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::scheduleEvent):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::scheduleEvent):
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::scheduleEvent):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::scheduledEventTimerFired):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):
- Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
- Modules/mediastream/MediaStreamEvent.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::trackMutedChanged):
- Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
- Modules/mediastream/MediaStreamTrackEvent.h:
- Modules/mediastream/OverconstrainedErrorEvent.h:
(WebCore::OverconstrainedErrorEvent::create):
(WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::fireICECandidateEvent):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::updateSignalingState):
- Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::didChangeReadyState):
(WebCore::RTCDataChannel::didDetectError):
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):
- Modules/mediastream/RTCDataChannelEvent.cpp:
(WebCore::RTCDataChannelEvent::create):
(WebCore::RTCDataChannelEvent::RTCDataChannelEvent):
- Modules/mediastream/RTCDataChannelEvent.h:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::scheduleNegotiationNeededEvent):
- Modules/mediastream/RTCPeerConnectionIceEvent.cpp:
(WebCore::RTCPeerConnectionIceEvent::create):
(WebCore::RTCPeerConnectionIceEvent::RTCPeerConnectionIceEvent):
- Modules/mediastream/RTCPeerConnectionIceEvent.h:
- Modules/mediastream/RTCTrackEvent.cpp:
(WebCore::RTCTrackEvent::create):
(WebCore::RTCTrackEvent::RTCTrackEvent):
- Modules/mediastream/RTCTrackEvent.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addRemoteStream):
(WebCore::LibWebRTCMediaEndpoint::addRemoteTrack):
(WebCore::LibWebRTCMediaEndpoint::addDataChannel):
- Modules/notifications/Notification.cpp:
(WebCore::Notification::dispatchShowEvent):
(WebCore::Notification::dispatchClickEvent):
(WebCore::Notification::dispatchCloseEvent):
(WebCore::Notification::dispatchErrorEvent):
- Modules/paymentrequest/MerchantValidationEvent.cpp:
(WebCore::MerchantValidationEvent::MerchantValidationEvent):
- Modules/paymentrequest/PaymentRequestUpdateEvent.cpp:
(WebCore::PaymentRequestUpdateEvent::PaymentRequestUpdateEvent):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::postEvent):
- Modules/speech/SpeechSynthesisEvent.cpp:
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::setState):
- Modules/webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::AudioProcessingEvent):
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::finish):
- Modules/webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
- Modules/websockets/CloseEvent.h:
(WebCore::CloseEvent::CloseEvent):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
(WebCore::WebSocket::dispatchOrQueueErrorEvent):
- Modules/webvr/VRDisplayEvent.cpp:
(WebCore::VRDisplayEvent::VRDisplayEvent):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::dispatchAccessibilityEventWithType const):
- accessibility/AccessibleSetValueEvent.cpp:
(WebCore::AccessibleSetValueEvent::AccessibleSetValueEvent):
- animation/AnimationPlaybackEvent.cpp:
(WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent):
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::abort):
- dom/AnimationEvent.cpp:
(WebCore::AnimationEvent::AnimationEvent):
- dom/BeforeLoadEvent.h:
- dom/BeforeTextInsertedEvent.cpp:
(WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
- dom/BeforeUnloadEvent.cpp:
(WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
- dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
- dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
- dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/DeviceMotionEvent.cpp:
(WebCore::DeviceMotionEvent::DeviceMotionEvent):
- dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
- dom/Document.cpp:
(WebCore::Document::setReadyState):
(WebCore::Document::visibilityStateChanged):
(WebCore::Document::finishedParsing):
(WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
(WebCore::Document::orientationChanged):
- dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::enqueueScrollEvent):
(WebCore::DocumentEventQueue::enqueueResizeEvent):
- dom/DocumentEventQueue.h:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):
(WebCore::Element::dispatchWebKitImageReadyEventForTesting):
- dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::ErrorEvent):
- dom/Event.cpp:
(WebCore::Event::Event):
(WebCore::Event::create):
- dom/Event.h:
- dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
- dom/FocusEvent.h:
- dom/HashChangeEvent.h:
- dom/InputEvent.cpp:
(WebCore::InputEvent::create):
(WebCore::InputEvent::InputEvent):
- dom/InputEvent.h:
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
- dom/MouseEvent.h:
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
- dom/MouseRelatedEvent.h:
- dom/MutationEvent.cpp:
(WebCore::MutationEvent::MutationEvent):
- dom/MutationEvent.h:
- dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):
(WebCore::Node::dispatchInputEvent):
- dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::OverflowEvent):
- dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEvent::PageTransitionEvent):
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::PopStateEvent):
- dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::ProgressEvent):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::dispatchErrorEvent):
- dom/SecurityPolicyViolationEvent.h:
- dom/SimulatedClick.cpp:
- dom/TextEvent.cpp:
(WebCore::TextEvent::TextEvent):
- dom/TransitionEvent.cpp:
(WebCore::TransitionEvent::TransitionEvent):
- dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
- dom/UIEvent.h:
(WebCore::UIEvent::create):
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
- dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
- dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchBeforeInputEvents):
(WebCore::Editor::willApplyEditing const):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::dispatchSelectStart):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::dispatchPendingEvent):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchChangeEvent):
(WebCore::HTMLFormControlElement::checkValidity):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::reset):
- html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::onSearch):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::dispatchPendingEvent):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::scheduleEvent):
(WebCore::HTMLMediaElement::notifyAboutPlaying):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::layoutSizeChanged):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::dispatchLoadEvent):
- html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::dispatchSlotChangeEvent):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::errorEventTimerFired):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::dispatchPendingEvent):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selectionChanged):
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::didCompleteLoad):
- html/MediaController.cpp:
(WebCore::MediaController::scheduleEvent):
- html/canvas/WebGLContextEvent.cpp:
(WebCore::WebGLContextEvent::WebGLContextEvent):
- html/canvas/WebGLContextEvent.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::dispatchContextChangedEvent):
- html/parser/HTMLScriptRunner.cpp:
(WebCore::createScriptLoadEvent):
- html/track/TrackEvent.cpp:
(WebCore::TrackEvent::TrackEvent):
- html/track/TrackEvent.h:
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase::scheduleTrackEvent):
(WebCore::TrackListBase::scheduleChangeEvent):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchUnloadEvents):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingErrorEvent):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::createApplicationCacheEvent):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::languagesChanged):
(WebCore::DOMWindow::dispatchLoadEvent):
- page/EventHandler.cpp:
(WebCore::dispatchSelectStart):
(WebCore::EventHandler::dispatchDragEvent):
- page/EventSource.cpp:
(WebCore::EventSource::scheduleReconnect):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::abortConnectionAttempt):
- page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedElement):
(WebCore::FocusController::setFocusedFrame):
- page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
- page/Page.cpp:
(WebCore::networkStateChanged):
- page/Performance.cpp:
(WebCore::Performance::resourceTimingBufferFullTimerFired):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::enqueueEvent):
- page/VisualViewport.cpp:
(WebCore::VisualViewport::enqueueResizeEvent):
(WebCore::VisualViewport::enqueueScrollEvent):
- storage/StorageEvent.cpp:
(WebCore::StorageEvent::StorageEvent):
- svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossible):
- svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::notifyFinished):
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::dispatchPendingEvent):
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
- workers/service/ExtendableEvent.cpp:
(WebCore::ExtendableEvent::ExtendableEvent):
- workers/service/ExtendableEvent.h:
- workers/service/ExtendableMessageEvent.cpp:
(WebCore::ExtendableMessageEvent::ExtendableMessageEvent):
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::scheduleTaskToUpdateState):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleTaskToFireControllerChangeEvent):
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::scheduleTaskToFireUpdateFoundEvent):
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
Source/WebKitLegacy/ios:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKitLegacy/mac:
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- WebView/WebView.mm:
(-[WebView _dispatchUnloadEvent]):
- 1:27 PM Changeset in webkit [234994] by
-
- 2 edits in trunk/Source/WebKit
[Xcode] Fix up file reference paths in Source/WebKit/NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=188700
Rubber-stamped by Dan Bernstein.
- WebKit.xcodeproj/project.pbxproj:
- 11:56 AM Changeset in webkit [234993] by
-
- 3 edits in trunk/LayoutTests
Modernize results.html
https://bugs.webkit.org/show_bug.cgi?id=188690
Reviewed by Alexey Proskuryakov.
results.html, which is used to show layout test results, had some very old-school
HTML string building to create the tables of test results, making it hard to hack on.
Modernize it, using ES6 classes for the major actors, and using DOM API to build most
of the content.
The page is functionally the same (other than the addition of a missing 'History" column header).
- fast/harness/results-expected.txt:
- fast/harness/results.html:
- 11:55 AM Changeset in webkit [234992] by
-
- 1 copy in tags/Safari-606.1.36.10.1
Tag Safari-606.1.36.10.1.
- 11:11 AM Changeset in webkit [234991] by
-
- 4 edits in trunk/Source/WebKit
Pass webPageID and webFrameID to NetworkLoad for speculative loads
https://bugs.webkit.org/show_bug.cgi?id=188682
Reviewed by Youenn Fablet.
This also removes an authentication shortcut I introduced in r234941
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- 11:10 AM Changeset in webkit [234990] by
-
- 5 edits in trunk/Source/WebKit
Simplify server trust authentication flow
https://bugs.webkit.org/show_bug.cgi?id=188684
Reviewed by Youenn Fablet.
We unnecessarily had the allowsSpecificHTTPSCertificateForHost check at two different abstraction levels.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveChallenge):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::allowsSpecificHTTPSCertificateForHost): Deleted.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
- 11:09 AM Changeset in webkit [234989] by
-
- 2 edits in trunk/Source/WebKit
Fix API tests after r234985
https://bugs.webkit.org/show_bug.cgi?id=188679
- UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
The encoding of null strings had changed, which is no big deal because there's no data in that encoding,
but switching it back fixes the tests.
- 10:56 AM Changeset in webkit [234988] by
-
- 7 edits in branches/safari-606.1.36.10-branch/Source
Versioning.
- 10:46 AM Changeset in webkit [234987] by
-
- 1 copy in branches/safari-606.1.36.10-branch
New branch.
- 10:27 AM Changeset in webkit [234986] by
-
- 2 edits in trunk/Tools
REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
https://bugs.webkit.org/show_bug.cgi?id=188470
<rdar://problem/43144969>
Reviewed by Alex Christensen.
On a loaded server, the WebContent process may send the "playing" message before the
UIProcess has a chance to register a listener for that message. Restructure the tests
so that the listener is registered before the page is loaded.
- TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
(PreferredAudioBufferSize::runPlayingTestWithPageNamed):
(TEST_F):
- 9:41 AM Changeset in webkit [234985] by
-
- 12 edits in trunk/Source/WebKit
Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML
https://bugs.webkit.org/show_bug.cgi?id=188679
Reviewed by Carlos Garcia Campos.
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
(loadString):
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadAlternateHTMLString): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString):
- 8:26 AM Changeset in webkit [234984] by
-
- 14 edits in trunk/Source
[JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg
https://bugs.webkit.org/show_bug.cgi?id=188589
Patch by Yusuke Suzuki <yusukesuzuki@slowstart.org> and Fujii Hironori <Fujii Hironori> on 2018-08-17
Reviewed by Mark Lam.
And reviewed by Yusuke Suzuki for Hironori's change.
Source/JavaScriptCore:
Since GPRReg(RegisterID) and FPRReg(FPRegisterID) do not include -1 in their enum values,
UBSan dumps bunch of warnings "runtime error: load of value 4294967295, which is not a valid value for type 'RegisterID'".
- We add InvalidGPRReg and InvalidFPRReg to enum values of GPRReg and FPRReg to suppress the above warnings.
- We make GPRReg and FPRReg int8_t enums.
- We replace
#define InvalidGPRReg ((JSC::GPRReg)-1)
tostatic constexpr GPRReg InvalidGPRReg { GPRReg::InvalidGPRReg };
. - We add operator+/- definition for RegisterIDs as a MSVC workaround. MSVC fails to resolve operator+ and operator-
if
enum : int8_t
is used instead ofenum
.
- assembler/ARM64Assembler.h:
- assembler/ARMAssembler.h:
- assembler/ARMv7Assembler.h:
- assembler/MIPSAssembler.h:
- assembler/MacroAssembler.h:
- assembler/X86Assembler.h:
- jit/CCallHelpers.h:
(JSC::CCallHelpers::clampArrayToSize):
- jit/FPRInfo.h:
- jit/GPRInfo.h:
(JSC::JSValueRegs::JSValueRegs):
(JSC::JSValueRegs::tagGPR const):
(JSC::JSValueRegs::payloadGPR const):
(JSC::JSValueSource::JSValueSource):
(JSC::JSValueSource::unboxedCell):
(JSC::JSValueSource::operator bool const):
(JSC::JSValueSource::base const):
(JSC::JSValueSource::tagGPR const):
(JSC::JSValueSource::payloadGPR const):
(JSC::JSValueSource::hasKnownTag const):
Source/WebCore:
- cssjit/FunctionCall.h:
(WebCore::FunctionCall::FunctionCall):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
- html/HTMLKeygenElement.cpp:
Remove
using namespace WebCore
not to introduceoperator+/-
which makes the resolution ofoperator+/-
for RegisterID ambiguous.
- 7:07 AM Changeset in webkit [234983] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] reduce position queries frequency
https://bugs.webkit.org/show_bug.cgi?id=188645
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
There is no need to perform dozens of position queries per second.
One every 300ms is enough.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 6:19 AM Changeset in webkit [234982] by
-
- 2 edits in trunk/Source/WebCore
[SOUP] Handle OAuth authentication after r234912
https://bugs.webkit.org/show_bug.cgi?id=188651
Reviewed by Carlos Garcia Campos.
Update this switch to consider the new OAuth enum value added in r234912. I suppose OAuth is
used for HTTP Auth now. It will be a one-time compatibility break as passwords previously
stored with type "Unknown" will no longer be accessible.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::authTypeFromProtectionSpaceAuthenticationScheme):
- 6:15 AM Changeset in webkit [234981] by
-
- 9 edits in trunk/Source/WebKit
Unreviewed, rolling out r234259.
Caused excessive CPU usage
Reverted changeset:
"[GTK][WPE] Improve the way request displayRefresh
notifications"
https://bugs.webkit.org/show_bug.cgi?id=188005
https://trac.webkit.org/changeset/234259
- 6:04 AM Changeset in webkit [234980] by
-
- 3 edits in trunk/Source/WTF
WTF's internal std::optional implementation should release assert on all bad accesses
<https://webkit.org/b/187669>
Reviewed by Ryosuke Niwa.
- wtf/Assertions.h:
(RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT): Add macro definitions.
- wtf/Optional.h:
(std::optional::operator -> const):
(std::optional::operator ->):
(std::optional::operator * const):
(std::optional::operator *):
(std::optional::value const):
(std::optional::value):
(std::optional<T::operator-> const):
(std::optional<T::operator* const):
(std::optional<T::value const):
- Change ASSERT_UNDER_CONSTEXPR_CONTEXT() macros to RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT() macros.
- 2:59 AM Changeset in webkit [234979] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Never return an uninitialized ImageGStreamer object.
https://bugs.webkit.org/show_bug.cgi?id=188305
Reviewed by Philippe Normand.
The single caller was already checking for a null return value, so
make that check actually do something. Also remove the null-check on
the return value of image(), which asserted that it would never return
null.
Test: fast/canvas/canvas-createPattern-video-loading.html
- platform/graphics/gstreamer/ImageGStreamer.h:
(WebCore::ImageGStreamer::createImage): Return null if m_image wasn't created.
(WebCore::ImageGStreamer::image): Return a reference.
(WebCore::ImageGStreamer::rect): Always assert that m_image is present.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Update for new signature.
- 1:54 AM Changeset in webkit [234978] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Enable fpsdisplaysink only when MEDIA_STATISTICS is enabled
https://bugs.webkit.org/show_bug.cgi?id=188648
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
The fpsdisplaysink is useful only when MEDIA_STATISTICS is turned on.
The text overlay is now enabled when GST_DEBUG tracing is enabled for the player.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
- 1:52 AM Changeset in webkit [234977] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][MSE] Disable last-sample support in AppendPipeline
https://bugs.webkit.org/show_bug.cgi?id=188649
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline): This property isn't
used by the append pipeline. So as a micro-optimization, it is now
disabled.