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

Side by Side Diff: chrome/browser/android/offline_pages/evaluation/offline_page_evaluation_bridge.cc

Issue 2529603004: [Offline Pages] Expanding event logger to be used by harness. (Closed)
Patch Set: comments. Created 4 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/offline_pages/evaluation/offline_page_evaluatio n_bridge.h" 5 #include "chrome/browser/android/offline_pages/evaluation/offline_page_evaluatio n_bridge.h"
6 6
7 #include "base/android/callback_android.h" 7 #include "base/android/callback_android.h"
8 #include "base/android/jni_android.h" 8 #include "base/android/jni_android.h"
9 #include "base/android/jni_array.h" 9 #include "base/android/jni_array.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 29 matching lines...) Expand all
40 using base::android::ConvertJavaStringToUTF8; 40 using base::android::ConvertJavaStringToUTF8;
41 using base::android::ConvertUTF8ToJavaString; 41 using base::android::ConvertUTF8ToJavaString;
42 using base::android::JavaParamRef; 42 using base::android::JavaParamRef;
43 using base::android::ScopedJavaGlobalRef; 43 using base::android::ScopedJavaGlobalRef;
44 using base::android::ScopedJavaLocalRef; 44 using base::android::ScopedJavaLocalRef;
45 45
46 namespace offline_pages { 46 namespace offline_pages {
47 namespace android { 47 namespace android {
48 48
49 namespace { 49 namespace {
50 const char kNativeTag[] = "OPNative";
50 51
51 void ToJavaOfflinePageList(JNIEnv* env, 52 void ToJavaOfflinePageList(JNIEnv* env,
52 jobject j_result_obj, 53 jobject j_result_obj,
53 const std::vector<OfflinePageItem>& offline_pages) { 54 const std::vector<OfflinePageItem>& offline_pages) {
54 for (const OfflinePageItem& offline_page : offline_pages) { 55 for (const OfflinePageItem& offline_page : offline_pages) {
55 Java_OfflinePageEvaluationBridge_createOfflinePageAndAddToList( 56 Java_OfflinePageEvaluationBridge_createOfflinePageAndAddToList(
56 env, j_result_obj, 57 env, j_result_obj,
57 ConvertUTF8ToJavaString(env, offline_page.url.spec()), 58 ConvertUTF8ToJavaString(env, offline_page.url.spec()),
58 offline_page.offline_id, 59 offline_page.offline_id,
59 ConvertUTF8ToJavaString(env, offline_page.client_id.name_space), 60 ConvertUTF8ToJavaString(env, offline_page.client_id.name_space),
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 RequestCoordinator* request_coordinator) 208 RequestCoordinator* request_coordinator)
208 : browser_context_(browser_context), 209 : browser_context_(browser_context),
209 offline_page_model_(offline_page_model), 210 offline_page_model_(offline_page_model),
210 request_coordinator_(request_coordinator) { 211 request_coordinator_(request_coordinator) {
211 java_ref_.Reset(Java_OfflinePageEvaluationBridge_create( 212 java_ref_.Reset(Java_OfflinePageEvaluationBridge_create(
212 env, reinterpret_cast<jlong>(this))); 213 env, reinterpret_cast<jlong>(this)));
213 214
214 NotifyIfDoneLoading(); 215 NotifyIfDoneLoading();
215 offline_page_model_->AddObserver(this); 216 offline_page_model_->AddObserver(this);
216 request_coordinator_->AddObserver(this); 217 request_coordinator_->AddObserver(this);
218 offline_page_model->GetLogger()->SetClient(this);
fgorski 2016/11/30 17:30:47 be consistent with filed vs. parameter usage. (see
romax 2016/12/01 01:47:52 Done. Not sure what you meant but my guess is that
219 request_coordinator->GetLogger()->SetClient(this);
fgorski 2016/11/30 17:30:47 chili@: I think what we are missing is the ability
romax 2016/12/01 01:47:52 I think a broader vision should be when OfflinePag
fgorski 2016/12/01 21:42:52 It's still doesn't solve the problem of having to
217 } 220 }
218 221
219 OfflinePageEvaluationBridge::~OfflinePageEvaluationBridge() { 222 OfflinePageEvaluationBridge::~OfflinePageEvaluationBridge() {
220 JNIEnv* env = base::android::AttachCurrentThread(); 223 JNIEnv* env = base::android::AttachCurrentThread();
221 Java_OfflinePageEvaluationBridge_offlinePageEvaluationBridgeDestroyed( 224 Java_OfflinePageEvaluationBridge_offlinePageEvaluationBridgeDestroyed(
222 env, java_ref_); 225 env, java_ref_);
223 } 226 }
224 227
225 // Implement OfflinePageModel::Observer 228 // Implement OfflinePageModel::Observer
226 void OfflinePageEvaluationBridge::OfflinePageModelLoaded( 229 void OfflinePageEvaluationBridge::OfflinePageModelLoaded(
(...skipping 24 matching lines...) Expand all
251 env, java_ref_, ToJavaSavePageRequest(env, request), 254 env, java_ref_, ToJavaSavePageRequest(env, request),
252 static_cast<int>(status)); 255 static_cast<int>(status));
253 } 256 }
254 257
255 void OfflinePageEvaluationBridge::OnChanged(const SavePageRequest& request) { 258 void OfflinePageEvaluationBridge::OnChanged(const SavePageRequest& request) {
256 JNIEnv* env = base::android::AttachCurrentThread(); 259 JNIEnv* env = base::android::AttachCurrentThread();
257 Java_OfflinePageEvaluationBridge_savePageRequestChanged( 260 Java_OfflinePageEvaluationBridge_savePageRequestChanged(
258 env, java_ref_, ToJavaSavePageRequest(env, request)); 261 env, java_ref_, ToJavaSavePageRequest(env, request));
259 } 262 }
260 263
264 void OfflinePageEvaluationBridge::CustomLog(const std::string& message) {
265 JNIEnv* env = base::android::AttachCurrentThread();
266 Java_OfflinePageEvaluationBridge_log(env, java_ref_,
267 ConvertUTF8ToJavaString(env, kNativeTag),
268 ConvertUTF8ToJavaString(env, message));
269 }
270
261 void OfflinePageEvaluationBridge::GetAllPages( 271 void OfflinePageEvaluationBridge::GetAllPages(
262 JNIEnv* env, 272 JNIEnv* env,
263 const JavaParamRef<jobject>& obj, 273 const JavaParamRef<jobject>& obj,
264 const JavaParamRef<jobject>& j_result_obj, 274 const JavaParamRef<jobject>& j_result_obj,
265 const JavaParamRef<jobject>& j_callback_obj) { 275 const JavaParamRef<jobject>& j_callback_obj) {
266 DCHECK(j_result_obj); 276 DCHECK(j_result_obj);
267 DCHECK(j_callback_obj); 277 DCHECK(j_callback_obj);
268 278
269 ScopedJavaGlobalRef<jobject> j_result_ref(j_result_obj); 279 ScopedJavaGlobalRef<jobject> j_result_ref(j_result_obj);
270 ScopedJavaGlobalRef<jobject> j_callback_ref(j_callback_obj); 280 ScopedJavaGlobalRef<jobject> j_callback_ref(j_callback_obj);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 338
329 void OfflinePageEvaluationBridge::NotifyIfDoneLoading() const { 339 void OfflinePageEvaluationBridge::NotifyIfDoneLoading() const {
330 if (!offline_page_model_->is_loaded()) 340 if (!offline_page_model_->is_loaded())
331 return; 341 return;
332 JNIEnv* env = base::android::AttachCurrentThread(); 342 JNIEnv* env = base::android::AttachCurrentThread();
333 Java_OfflinePageEvaluationBridge_offlinePageModelLoaded(env, java_ref_); 343 Java_OfflinePageEvaluationBridge_offlinePageModelLoaded(env, java_ref_);
334 } 344 }
335 345
336 } // namespace android 346 } // namespace android
337 } // namespace offline_pages 347 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698