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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 138333006: Now that RenderFrame is 1:1 with WebFrame, add the associated getters and start cleaning up assumpt… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 11 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: content/renderer/render_frame_impl.cc
===================================================================
--- content/renderer/render_frame_impl.cc (revision 244810)
+++ content/renderer/render_frame_impl.cc (working copy)
@@ -115,13 +115,15 @@
return new RenderFrameImpl(render_view, routing_id);
}
-RenderFrameImpl* RenderFrameImpl::FindByWebFrame(blink::WebFrame* web_frame) {
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess)) {
- FrameMap::iterator iter = g_frame_map.Get().find(web_frame);
- if (iter != g_frame_map.Get().end())
- return iter->second;
- }
+// static
+RenderFrame* RenderFrame::FromWebFrame(blink::WebFrame* web_frame) {
+ return RenderFrameImpl::FromWebFrame(web_frame);
+}
+RenderFrameImpl* RenderFrameImpl::FromWebFrame(blink::WebFrame* web_frame) {
+ FrameMap::iterator iter = g_frame_map.Get().find(web_frame);
+ if (iter != g_frame_map.Get().end())
+ return iter->second;
return NULL;
}
@@ -141,12 +143,6 @@
is_detaching_(false),
cookie_jar_(this) {
RenderThread::Get()->AddRoute(routing_id_, this);
-#if defined(ENABLE_PLUGINS)
- new PepperBrowserConnection(this);
-#endif
- new SharedWorkerRepository(this);
-
- GetContentClient()->renderer()->RenderFrameCreated(this);
}
RenderFrameImpl::~RenderFrameImpl() {
@@ -162,19 +158,23 @@
memset(ptr, 0xAF, sizeof(RenderFrameImpl));
}
-void RenderFrameImpl::MainWebFrameCreated(blink::WebFrame* frame) {
+void RenderFrameImpl::SetWebFrame(blink::WebFrame* web_frame) {
+ DCHECK(!frame_);
+
std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert(
- std::make_pair(frame, this));
+ std::make_pair(web_frame, this));
CHECK(result.second) << "Inserting a duplicate item.";
- FOR_EACH_OBSERVER(RenderFrameObserver, observers_,
- WebFrameCreated(frame));
-}
+ frame_ = web_frame;
+
+#if defined(ENABLE_PLUGINS)
+ new PepperBrowserConnection(this);
+#endif
+ new SharedWorkerRepository(this);
-void RenderFrameImpl::SetWebFrame(blink::WebFrame* web_frame) {
- DCHECK(!frame_);
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess))
- frame_ = web_frame;
+ // We delay calling this until we have the WebFrame so that any observer or
+ // embedder can call GetWebFrame on any RenderFrame.
+ GetContentClient()->renderer()->RenderFrameCreated(this);
}
RenderWidget* RenderFrameImpl::GetRenderWidget() {
@@ -440,6 +440,11 @@
return routing_id_;
}
+blink::WebFrame* RenderFrameImpl::GetWebFrame() {
+ DCHECK(frame_);
+ return frame_;
+}
+
WebPreferences& RenderFrameImpl::GetWebkitPreferences() {
return render_view_->GetWebkitPreferences();
}
@@ -587,12 +592,6 @@
CHECK(web_frame);
child_render_frame->SetWebFrame(web_frame);
- std::pair<FrameMap::iterator, bool> result = g_frame_map.Get().insert(
- std::make_pair(web_frame, child_render_frame));
- CHECK(result.second) << "Inserting a duplicate item.";
-
- FOR_EACH_OBSERVER(RenderFrameObserver, observers_,
- WebFrameCreated(web_frame));
return web_frame;
}

Powered by Google App Engine
This is Rietveld 408576698