Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inline FrameDestructionObserver::frame() #662

Merged
merged 0 commits into from May 18, 2022
Merged

Inline FrameDestructionObserver::frame() #662

merged 0 commits into from May 18, 2022

Conversation

cdumez
Copy link
Contributor

@cdumez cdumez commented May 17, 2022

169f75d

Inline FrameDestructionObserver::frame()
https://bugs.webkit.org/show_bug.cgi?id=240506

Reviewed by Ryosuke Niwa.

Inline FrameDestructionObserver::frame() and it is a trivial getter and it shows on Speedometer
profiles.

* Source/WebKit/Shared/WebsitePoliciesData.cpp:
* Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
* Source/WebKitLegacy/mac/DOM/DOMInternal.mm:
* Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm:
* Source/WebCore/Modules/applepay/PaymentSession.cpp:
* Source/WebCore/Modules/beacon/NavigatorBeacon.cpp:
* Source/WebCore/Modules/indexeddb/IDBFactory.cpp:
* Source/WebCore/Modules/mediastream/MediaDevices.cpp:
* Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
* Source/WebCore/Modules/notifications/Notification.cpp:
* Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:
* Source/WebCore/Modules/permissions/PermissionStatus.cpp:
* Source/WebCore/Modules/speech/SpeechRecognition.cpp:
* Source/WebCore/Modules/speech/SpeechSynthesis.cpp:
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
* Source/WebCore/Modules/websockets/WebSocket.cpp:
* Source/WebCore/Modules/websockets/WebSocketChannel.cpp:
* Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/FontFaceSet.cpp:
* Source/WebCore/dom/DataTransfer.cpp:
* Source/WebCore/dom/DataTransferMac.mm:
* Source/WebCore/dom/Document.h:
(WebCore::Document::hasBrowsingContext const): Deleted.
* Source/WebCore/dom/DocumentInlines.h:
(WebCore::Document::hasBrowsingContext const):
* Source/WebCore/dom/FullscreenManager.h:
* Source/WebCore/dom/ViewportArguments.cpp:
* Source/WebCore/html/HTMLMediaElement.cpp:
* Source/WebCore/html/parser/HTMLConstructionSite.cpp:
* Source/WebCore/inspector/InspectorAuditResourcesObject.cpp:
* Source/WebCore/inspector/agents/page/PageNetworkAgent.cpp:
* Source/WebCore/loader/ApplicationManifestLoader.cpp:
* Source/WebCore/loader/ResourceLoader.cpp:
* Source/WebCore/page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::frame const): Deleted.
* Source/WebCore/page/FrameDestructionObserver.h:
* Source/WebCore/page/FrameDestructionObserverInlines.h: Copied from Source/WebCore/page/FrameDestructionObserver.h.
(WebCore::FrameDestructionObserver::frame const):
* Source/WebCore/page/UserMessageHandlersNamespace.cpp:
* Source/WebCore/rendering/RenderObject.h:
* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/testing/js/WebCoreTestSupport.cpp:
* Source/WebCore/workers/service/ServiceWorkerClientData.cpp:
* Source/WebCore/xml/XMLTreeViewer.cpp:
* Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:

Canonical link: https://commits.webkit.org/250693@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

@cdumez cdumez self-assigned this May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 17, 2022
@cdumez cdumez removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). labels May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 17, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 17, 2022

#pragma once

#include "Frame.h"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need Frame.h here??

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will double check but I believe that's necessary and that's the reason why the inline function is inside FrameDestructionObserverInlines.h and not FrameDestructionObserver.h.

The issue is that m_frame is a WeakPtr<Frame> and you cannot call WeakPtr<Frame>::get() unless Frame is defined.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, didn't realize it's a WeakPtr. That makes sense.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have also just double-checked locally that it doesn't build with a simple Frame forward-declaration.

Copy link
Member

@rniwa rniwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me

@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 18, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 18, 2022
@webkit-early-warning-system webkit-early-warning-system added the merging-blocked Applied to prevent a change from being merged label May 18, 2022
@cdumez cdumez added DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build merge-queue Applied to send a pull request to merge-queue and removed merging-blocked Applied to prevent a change from being merged DOM For bugs specific to XML/HTML DOM elements (including parsing). WebKit Nightly Build labels May 18, 2022
@webkit-early-warning-system webkit-early-warning-system merged commit 169f75d into WebKit:main May 18, 2022
@webkit-early-warning-system
Copy link
Collaborator

Committed r294399 (250693@main): https://commits.webkit.org/250693@main

Reviewed commits have been landed. Closing PR #662 and removing active labels.

@webkit-early-warning-system webkit-early-warning-system removed the merge-queue Applied to send a pull request to merge-queue label May 18, 2022
@cdumez cdumez deleted the 240506_FrameDestructionObserver_frame branch May 18, 2022 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DOM For bugs specific to XML/HTML DOM elements (including parsing).
Projects
None yet
3 participants