Index: chrome/browser/android/data_usage/data_use_tab_helper.cc |
diff --git a/chrome/browser/android/data_usage/data_use_tab_helper.cc b/chrome/browser/android/data_usage/data_use_tab_helper.cc |
index 4d1dabf543be59c124f0ca49ada74834c1113c7e..e6a71abf539fd5866bf42e78f8a6f144d0ea4d77 100644 |
--- a/chrome/browser/android/data_usage/data_use_tab_helper.cc |
+++ b/chrome/browser/android/data_usage/data_use_tab_helper.cc |
@@ -11,12 +11,9 @@ |
#include "chrome/browser/sessions/session_tab_helper.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/navigation_handle.h" |
+#include "content/public/browser/render_frame_host.h" |
#include "ui/base/page_transition_types.h" |
-namespace content { |
-class RenderFrameHost; |
-} |
- |
DEFINE_WEB_CONTENTS_USER_DATA_KEY(DataUseTabHelper); |
DataUseTabHelper::~DataUseTabHelper() {} |
@@ -26,9 +23,11 @@ DataUseTabHelper::DataUseTabHelper(content::WebContents* web_contents) |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
} |
-void DataUseTabHelper::ReadyToCommitNavigation( |
+void DataUseTabHelper::DidFinishNavigation( |
content::NavigationHandle* navigation_handle) { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
+ if (!navigation_handle->IsInMainFrame()) |
+ return; |
// Notify the DataUseUITabModel. |
chrome::android::DataUseUITabModel* data_use_ui_tab_model = |
@@ -42,10 +41,16 @@ void DataUseTabHelper::ReadyToCommitNavigation( |
} |
} |
-void DataUseTabHelper::FrameDeleted( |
+void DataUseTabHelper::RenderFrameDeleted( |
content::RenderFrameHost* render_frame_host) { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
+ // Check if it is a main frame. |
+ if (render_frame_host->GetParent() != nullptr || |
+ render_frame_host->IsRenderFrameLive()) { |
+ return; |
+ } |
+ |
// Notify the DataUseUITabModel. |
chrome::android::DataUseUITabModel* data_use_ui_tab_model = |
chrome::android::DataUseUITabModelFactory::GetForBrowserContext( |