Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: chrome/browser/android/data_usage/data_use_tab_model.cc

Issue 1443683002: Notify DataUseTabModel of navigations and tab closures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments, Using two weak ptrs now. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/data_usage/data_use_tab_model.cc
diff --git a/chrome/browser/android/data_usage/data_use_tab_model.cc b/chrome/browser/android/data_usage/data_use_tab_model.cc
index c4d8e36e39e2716ec47af99ce4fe3453efac5227..10f57baa0e8537d36398367ee65bb32d78dcffa7 100644
--- a/chrome/browser/android/data_usage/data_use_tab_model.cc
+++ b/chrome/browser/android/data_usage/data_use_tab_model.cc
@@ -7,6 +7,7 @@
#include "base/time/time.h"
#include "chrome/browser/android/data_usage/external_data_use_observer.h"
#include "chrome/browser/android/data_usage/tab_data_use_entry.h"
+#include "content/public/browser/browser_thread.h"
namespace {
@@ -34,27 +35,33 @@ DataUseTabModel::DataUseTabModel(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
: data_use_observer_(data_use_observer),
observer_list_(new base::ObserverListThreadSafe<TabDataUseObserver>),
- weak_factory_(this) {}
+ io_weak_factory_(this),
+ ui_weak_factory_(this) {}
DataUseTabModel::~DataUseTabModel() {
DCHECK(thread_checker_.CalledOnValidThread());
}
-base::WeakPtr<DataUseTabModel> DataUseTabModel::GetWeakPtr() {
+base::WeakPtr<DataUseTabModel> DataUseTabModel::GetIOWeakPtr() {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
DCHECK(thread_checker_.CalledOnValidThread());
- return weak_factory_.GetWeakPtr();
+ return io_weak_factory_.GetWeakPtr();
+}
+
+base::WeakPtr<DataUseTabModel> DataUseTabModel::GetUIWeakPtr() {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ return ui_weak_factory_.GetWeakPtr();
}
void DataUseTabModel::OnNavigationEvent(int32_t tab_id,
TransitionType transition,
- const GURL& url,
- const std::string& package) {
+ const GURL& url) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(IsValidTabID(tab_id));
- // TODO(rajendrant): implementation to use package.
switch (transition) {
case TRANSITION_OMNIBOX_SEARCH:
+ case TRANSITION_OMNIBOX_NAVIGATION:
case TRANSITION_FROM_EXTERNAL_APP: {
// Enter events.
std::string label;
@@ -69,7 +76,6 @@ void DataUseTabModel::OnNavigationEvent(int32_t tab_id,
}
case TRANSITION_FROM_NAVSUGGEST:
- case TRANSITION_OMNIBOX_NAVIGATION:
case TRANSITION_BOOKMARK:
case TRANSITION_HISTORY_ITEM:
case TRANSITION_TO_EXTERNAL_APP:

Powered by Google App Engine
This is Rietveld 408576698