Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Unified Diff: third_party/WebKit/Source/core/frame/Frame.cpp

Issue 2702273004: bindings: Simplifies WindowProxyManager and its relation to Frame. (Closed)
Patch Set: Fixed WindowProxyManager::createWindowProxy(ForFrame). Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/frame/Frame.cpp
diff --git a/third_party/WebKit/Source/core/frame/Frame.cpp b/third_party/WebKit/Source/core/frame/Frame.cpp
index c2858ebdb8b9ce1574c5ca7750ddb8f5b63ee9a2..134ddc6cb7a8113a7f35c7aea2e44feb86c1e370 100644
--- a/third_party/WebKit/Source/core/frame/Frame.cpp
+++ b/third_party/WebKit/Source/core/frame/Frame.cpp
@@ -30,6 +30,7 @@
#include "core/frame/Frame.h"
+#include "bindings/core/v8/WindowProxyManager.h"
#include "core/dom/DocumentType.h"
#include "core/events/Event.h"
#include "core/frame/FrameHost.h"
@@ -64,6 +65,7 @@ DEFINE_TRACE(Frame) {
visitor->trace(m_treeNode);
visitor->trace(m_host);
visitor->trace(m_owner);
+ visitor->trace(m_windowProxyManager);
visitor->trace(m_domWindow);
visitor->trace(m_client);
}
@@ -387,6 +389,10 @@ Settings* Frame::settings() const {
return nullptr;
}
+WindowProxy* Frame::windowProxy(DOMWrapperWorld& world) {
+ return m_windowProxyManager->windowProxy(world);
+}
+
void Frame::didChangeVisibilityState() {
HeapVector<Member<Frame>> childFrames;
for (Frame* child = tree().firstChild(); child;
@@ -412,11 +418,15 @@ bool Frame::isFeatureEnabled(WebFeaturePolicyFeature feature) const {
return featurePolicy->IsFeatureEnabled(feature);
}
-Frame::Frame(FrameClient* client, FrameHost* host, FrameOwner* owner)
+Frame::Frame(FrameClient* client,
+ FrameHost* host,
+ FrameOwner* owner,
+ WindowProxyManager* windowProxyManager)
: m_treeNode(this),
m_host(host),
m_owner(owner),
m_client(client),
+ m_windowProxyManager(windowProxyManager),
m_isLoading(false) {
InstanceCounters::incrementCounter(InstanceCounters::FrameCounter);

Powered by Google App Engine
This is Rietveld 408576698