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

Side by Side Diff: chrome/browser/android/data_usage/external_data_use_observer.cc

Issue 1443683002: Notify DataUseTabModel of navigations and tab closures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed sclittle comments Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/data_usage/external_data_use_observer.h" 5 #include "chrome/browser/android/data_usage/external_data_use_observer.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "base/containers/hash_tables.h" 10 #include "base/containers/hash_tables.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 base::Bind(&ExternalDataUseObserver::CreateJavaObjectOnUIThread, 98 base::Bind(&ExternalDataUseObserver::CreateJavaObjectOnUIThread,
99 GetUIWeakPtr())); 99 GetUIWeakPtr()));
100 100
101 ui_task_runner_->PostTask( 101 ui_task_runner_->PostTask(
102 FROM_HERE, 102 FROM_HERE,
103 base::Bind(&ExternalDataUseObserver::FetchMatchingRulesOnUIThread, 103 base::Bind(&ExternalDataUseObserver::FetchMatchingRulesOnUIThread,
104 GetUIWeakPtr())); 104 GetUIWeakPtr()));
105 105
106 // |this| owns and must outlive the |data_use_tab_model_|. 106 // |this| owns and must outlive the |data_use_tab_model_|.
107 data_use_tab_model_.reset(new DataUseTabModel(this, ui_task_runner_)); 107 data_use_tab_model_.reset(new DataUseTabModel(this, ui_task_runner_));
108 data_use_tab_model_weak_ptr_ = data_use_tab_model_->GetWeakPtr();
108 109
109 matching_rules_fetch_pending_ = true; 110 matching_rules_fetch_pending_ = true;
110 data_use_aggregator_->AddObserver(this); 111 data_use_aggregator_->AddObserver(this);
111 registered_as_observer_ = true; 112 registered_as_observer_ = true;
112 } 113 }
113 114
114 void ExternalDataUseObserver::CreateJavaObjectOnUIThread() { 115 void ExternalDataUseObserver::CreateJavaObjectOnUIThread() {
115 DCHECK(ui_task_runner_->BelongsToCurrentThread()); 116 DCHECK(ui_task_runner_->BelongsToCurrentThread());
116 JNIEnv* env = base::android::AttachCurrentThread(); 117 JNIEnv* env = base::android::AttachCurrentThread();
117 j_external_data_use_observer_.Reset(Java_ExternalDataUseObserver_create( 118 j_external_data_use_observer_.Reset(Java_ExternalDataUseObserver_create(
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 return label_; 478 return label_;
478 } 479 }
479 480
480 bool RegisterExternalDataUseObserver(JNIEnv* env) { 481 bool RegisterExternalDataUseObserver(JNIEnv* env) {
481 return RegisterNativesImpl(env); 482 return RegisterNativesImpl(env);
482 } 483 }
483 484
484 } // namespace android 485 } // namespace android
485 486
486 } // namespace chrome 487 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698