| Index: content/browser/browser_plugin/browser_plugin_guest.cc
|
| diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
|
| index d1c6caa70571d17934a403df875256317881262a..c7fe9fa9f74edbfdbe806c7098ac83573be976fa 100644
|
| --- a/content/browser/browser_plugin/browser_plugin_guest.cc
|
| +++ b/content/browser/browser_plugin/browser_plugin_guest.cc
|
| @@ -275,7 +275,8 @@ BrowserPluginGuest::BrowserPluginGuest(
|
| pending_lock_request_(false),
|
| embedder_visible_(true),
|
| next_permission_request_id_(0),
|
| - has_render_view_(has_render_view) {
|
| + has_render_view_(has_render_view),
|
| + is_being_destroyed_(false) {
|
| DCHECK(web_contents);
|
| web_contents->SetDelegate(this);
|
| if (opener)
|
| @@ -320,6 +321,9 @@ void BrowserPluginGuest::DestroyUnattachedWindows() {
|
| }
|
|
|
| void BrowserPluginGuest::Destroy() {
|
| + if (is_being_destroyed_)
|
| + return;
|
| + is_being_destroyed_ = true;
|
| if (!attached() && opener())
|
| opener()->pending_new_windows_.erase(this);
|
| DestroyUnattachedWindows();
|
|
|