summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webframe_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/webframe_impl.h')
-rw-r--r--webkit/glue/webframe_impl.h28
1 files changed, 9 insertions, 19 deletions
diff --git a/webkit/glue/webframe_impl.h b/webkit/glue/webframe_impl.h
index 57b6d39..14756f9 100644
--- a/webkit/glue/webframe_impl.h
+++ b/webkit/glue/webframe_impl.h
@@ -177,10 +177,9 @@ class WebFrameImpl : public WebFrame {
// child frame failed to load.
void SetPrinting(bool printing, float page_width_min, float page_width_max);
- void CreateChildFrame(const WebCore::FrameLoadRequest&,
- WebCore::HTMLFrameOwnerElement* owner_element,
- bool allows_scrolling, int margin_width,
- int margin_height, WebCore::Frame*& new_frame);
+ PassRefPtr<WebCore::Frame> CreateChildFrame(
+ const WebCore::FrameLoadRequest&,
+ WebCore::HTMLFrameOwnerElement* owner_element);
// WebFrameImpl
void Layout();
@@ -201,7 +200,7 @@ class WebFrameImpl : public WebFrame {
}
WebCore::Frame* frame() const {
- return frame_.get();
+ return frame_;
}
static WebFrameImpl* FromFrame(WebCore::Frame* frame);
@@ -304,16 +303,12 @@ class WebFrameImpl : public WebFrame {
// asynchronously in order to scope string matches during a find operation.
ScopedRunnableMethodFactory<WebFrameImpl> scope_matches_factory_;
- // Holding a reference back to the WebViewImpl is necessary to ensure that
- // its HWND is not destroyed before all of the WebCore::Widgets, which refer
- // to the WebViewImpl's HWND as their containingWindow. However, this ref
- // creates a cycle between the WebViewImpl and the top-most WebFrameImpl. We
- // break this cycle in our Closing method.
- scoped_refptr<WebViewImpl> webview_impl_;
+ // This is a weak pointer to our containing WebViewImpl.
+ WebViewImpl* webview_impl_;
- // The WebCore frame associated with this frame. MAY BE NULL if the frame
- // has been detached from the DOM.
- WTF::RefPtr<WebCore::Frame> frame_;
+ // This is a weak pointer to our corresponding WebCore frame. A reference to
+ // ourselves is held while frame_ is valid. See our Closing method.
+ WebCore::Frame* frame_;
// This holds the request passed to LoadRequest, for access by the
// WebFrameLoaderClient. Unfortunately we have no other way to pass this
@@ -328,11 +323,6 @@ class WebFrameImpl : public WebFrame {
// a pointer back to the appropriate plugin.
WebPluginDelegate* plugin_delegate_;
- // Frame construction parameters
- bool allows_scrolling_;
- int margin_width_;
- int margin_height_;
-
// Handling requests from TextInputController on this frame.
scoped_ptr<WebTextInputImpl> webtextinput_impl_;