summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrob <rob@robwu.nl>2016-01-15 15:52:48 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-15 23:54:58 +0000
commitc6c22b78728c7f2cb353bf28931b07cf5bb5dcb8 (patch)
tree49849b1932d914fad86e8db50d5e04ffea8b96a0
parent734cc3d830754f794d576db55f54f77c958315d7 (diff)
downloadchromium_src-c6c22b78728c7f2cb353bf28931b07cf5bb5dcb8.zip
chromium_src-c6c22b78728c7f2cb353bf28931b07cf5bb5dcb8.tar.gz
chromium_src-c6c22b78728c7f2cb353bf28931b07cf5bb5dcb8.tar.bz2
Speculative modifications for bug 575234
- FrameDeleted is called more often, should be good. - DCHECK -> CHECK in case there's an unexpected nullptr. BUG=575234 Review URL: https://codereview.chromium.org/1591083003 Cr-Commit-Position: refs/heads/master@{#369883}
-rw-r--r--chrome/browser/extensions/api/messaging/extension_message_port.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/extensions/api/messaging/extension_message_port.cc b/chrome/browser/extensions/api/messaging/extension_message_port.cc
index 72acfee..aba3048 100644
--- a/chrome/browser/extensions/api/messaging/extension_message_port.cc
+++ b/chrome/browser/extensions/api/messaging/extension_message_port.cc
@@ -45,6 +45,12 @@ class ExtensionMessagePort::FrameTracker : public content::WebContentsObserver,
port_->UnregisterFrame(render_frame_host);
}
+ // TODO(robwu): This should be superfluous with RenderFrameDeleted above, but
+ // we are not entirely sure.
+ void FrameDeleted(content::RenderFrameHost* render_frame_host) override {
+ port_->UnregisterFrame(render_frame_host);
+ }
+
void DidNavigateAnyFrame(content::RenderFrameHost* render_frame_host,
const content::LoadCommittedDetails& details,
const content::FrameNavigateParams&) override {
@@ -102,7 +108,7 @@ ExtensionMessagePort::ExtensionMessagePort(
background_host_ptr_(nullptr),
frame_tracker_(new FrameTracker(this)) {
content::WebContents* tab = content::WebContents::FromRenderFrameHost(rfh);
- DCHECK(tab);
+ CHECK(tab);
frame_tracker_->TrackTabFrames(tab);
if (include_child_frames) {
tab->ForEachFrame(base::Bind(&ExtensionMessagePort::RegisterFrame,