diff options
| author | rob <rob@robwu.nl> | 2016-01-15 15:52:48 -0800 |
|---|---|---|
| committer | Commit bot <commit-bot@chromium.org> | 2016-01-15 23:54:58 +0000 |
| commit | c6c22b78728c7f2cb353bf28931b07cf5bb5dcb8 (patch) | |
| tree | 49849b1932d914fad86e8db50d5e04ffea8b96a0 | |
| parent | 734cc3d830754f794d576db55f54f77c958315d7 (diff) | |
| download | chromium_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.cc | 8 |
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, |
