Fix double freeing WebContents

This commit is contained in:
Cheng Zhao 2014-11-03 19:45:09 +08:00
parent cf9f249f07
commit 1731d609b7
2 changed files with 8 additions and 24 deletions

View file

@ -12,8 +12,6 @@
#include "content/public/browser/web_contents_delegate.h"
#include "content/public/browser/web_contents_observer.h"
#include "brightray/browser/default_web_contents_delegate.h"
#include "brightray/browser/inspectable_web_contents_delegate.h"
#include "brightray/browser/inspectable_web_contents_impl.h"
#include "native_mate/handle.h"
namespace mate {
@ -21,8 +19,7 @@ class Dictionary;
}
namespace brightray {
class InspectableWebContents;
class InspectableWebContentsImpl;
class InspectableWebContents;
}
namespace atom {
@ -92,11 +89,6 @@ class WebContents : public mate::EventEmitter,
explicit WebContents(const mate::Dictionary& options);
~WebContents();
brightray::InspectableWebContentsImpl* inspectable_web_contents() const {
return static_cast<brightray::InspectableWebContentsImpl*>(
inspectable_web_contents_.get());
}
// mate::Wrappable:
virtual mate::ObjectTemplateBuilder GetObjectTemplateBuilder(
v8::Isolate* isolate) override;
@ -189,16 +181,11 @@ class WebContents : public mate::EventEmitter,
scoped_ptr<base::DictionaryValue> extra_params_;
// Stores the WebContents that managed by this class.
scoped_ptr<content::WebContents> storage_;
scoped_ptr<brightray::InspectableWebContents> storage_;
// The WebContents that attaches this guest view.
content::WebContents* embedder_web_contents_;
// Notice that inspectable_web_contents_ must be placed after dialog_manager_,
// so we can make sure inspectable_web_contents_ is destroyed before
// dialog_manager_, otherwise a crash would happen.
scoped_ptr<brightray::InspectableWebContents> inspectable_web_contents_;
// The size of the container element.
gfx::Size element_size_;