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

Side by Side Diff: chrome/browser/android/bookmarks/bookmarks_bridge.cc

Issue 550543003: Add Instrumental Test for BookmarksBridge (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update DEPS Created 6 years, 3 months 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
« no previous file with comments | « chrome/browser/android/bookmarks/bookmarks_bridge.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/bookmarks/bookmarks_bridge.h" 5 #include "chrome/browser/android/bookmarks/bookmarks_bridge.h"
6 6
7 #include "base/android/jni_string.h" 7 #include "base/android/jni_string.h"
8 #include "base/containers/stack_container.h" 8 #include "base/containers/stack_container.h"
9 #include "base/i18n/string_compare.h" 9 #include "base/i18n/string_compare.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 static bool IsEditBookmarksEnabled() { 140 static bool IsEditBookmarksEnabled() {
141 return ProfileManager::GetLastUsedProfile()->GetPrefs()->GetBoolean( 141 return ProfileManager::GetLastUsedProfile()->GetPrefs()->GetBoolean(
142 bookmarks::prefs::kEditBookmarksEnabled); 142 bookmarks::prefs::kEditBookmarksEnabled);
143 } 143 }
144 144
145 static jboolean IsEditBookmarksEnabled(JNIEnv* env, jclass clazz) { 145 static jboolean IsEditBookmarksEnabled(JNIEnv* env, jclass clazz) {
146 return IsEditBookmarksEnabled(); 146 return IsEditBookmarksEnabled();
147 } 147 }
148 148
149 void BookmarksBridge::LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env,
150 jobject obj) {
151 if (partner_bookmarks_shim_->IsLoaded())
152 return;
153 partner_bookmarks_shim_->SetPartnerBookmarksRoot(
154 new BookmarkPermanentNode(0));
155 DCHECK(partner_bookmarks_shim_->IsLoaded());
156 }
157
149 ScopedJavaLocalRef<jobject> BookmarksBridge::GetBookmarkByID(JNIEnv* env, 158 ScopedJavaLocalRef<jobject> BookmarksBridge::GetBookmarkByID(JNIEnv* env,
150 jobject obj, 159 jobject obj,
151 jlong id, 160 jlong id,
152 jint type) { 161 jint type) {
153 DCHECK(IsLoaded()); 162 DCHECK(IsLoaded());
154 return CreateJavaBookmark(GetNodeByID(id, type)); 163 return CreateJavaBookmark(GetNodeByID(id, type));
155 } 164 }
156 165
157 bool BookmarksBridge::IsDoingExtensiveChanges(JNIEnv* env, jobject obj) { 166 bool BookmarksBridge::IsDoingExtensiveChanges(JNIEnv* env, jobject obj) {
158 return bookmark_model_->IsDoingExtensiveChanges(); 167 return bookmark_model_->IsDoingExtensiveChanges();
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 bookmarkList.rbegin(); 358 bookmarkList.rbegin();
350 it != bookmarkList.rend(); 359 it != bookmarkList.rend();
351 ++it) { 360 ++it) {
352 stk.push(std::make_pair(*it, depth + 1)); 361 stk.push(std::make_pair(*it, depth + 1));
353 } 362 }
354 } 363 }
355 } 364 }
356 365
357 ScopedJavaLocalRef<jobject> BookmarksBridge::GetMobileFolderId(JNIEnv* env, 366 ScopedJavaLocalRef<jobject> BookmarksBridge::GetMobileFolderId(JNIEnv* env,
358 jobject obj) { 367 jobject obj) {
359 const BookmarkNode* mobileNode = bookmark_model_->mobile_node(); 368 const BookmarkNode* mobile_node = bookmark_model_->mobile_node();
360 ScopedJavaLocalRef<jobject> folder_id_obj = 369 ScopedJavaLocalRef<jobject> folder_id_obj =
361 Java_BookmarksBridge_createBookmarkId( 370 Java_BookmarksBridge_createBookmarkId(
362 env, mobileNode->id(), GetBookmarkType(mobileNode)); 371 env, mobile_node->id(), GetBookmarkType(mobile_node));
363 return folder_id_obj; 372 return folder_id_obj;
364 } 373 }
365 374
375 ScopedJavaLocalRef<jobject> BookmarksBridge::GetOtherFolderId(JNIEnv* env,
376 jobject obj) {
377 const BookmarkNode* other_node = bookmark_model_->other_node();
378 ScopedJavaLocalRef<jobject> folder_id_obj =
379 Java_BookmarksBridge_createBookmarkId(
380 env, other_node->id(), GetBookmarkType(other_node));
381 return folder_id_obj;
382 }
383
384 ScopedJavaLocalRef<jobject> BookmarksBridge::GetDesktopFolderId(JNIEnv* env,
385 jobject obj) {
386 const BookmarkNode* desktop_node = bookmark_model_->bookmark_bar_node();
387 ScopedJavaLocalRef<jobject> folder_id_obj =
388 Java_BookmarksBridge_createBookmarkId(
389 env, desktop_node->id(), GetBookmarkType(desktop_node));
390 return folder_id_obj;
391 }
392
366 void BookmarksBridge::GetChildIDs(JNIEnv* env, 393 void BookmarksBridge::GetChildIDs(JNIEnv* env,
367 jobject obj, 394 jobject obj,
368 jlong id, 395 jlong id,
369 jint type, 396 jint type,
370 jboolean get_folders, 397 jboolean get_folders,
371 jboolean get_bookmarks, 398 jboolean get_bookmarks,
372 jobject j_result_obj) { 399 jobject j_result_obj) {
373 DCHECK(IsLoaded()); 400 DCHECK(IsLoaded());
374 401
375 const BookmarkNode* parent = GetNodeByID(id, type); 402 const BookmarkNode* parent = GetNodeByID(id, type);
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 const BookmarkNode* node = folder; 570 const BookmarkNode* node = folder;
544 while (node) { 571 while (node) {
545 ExtractBookmarkNodeInformation(node, j_result_obj); 572 ExtractBookmarkNodeInformation(node, j_result_obj);
546 node = GetParentNode(node); 573 node = GetParentNode(node);
547 } 574 }
548 575
549 Java_BookmarksCallback_onBookmarksFolderHierarchyAvailable( 576 Java_BookmarksCallback_onBookmarksFolderHierarchyAvailable(
550 env, j_callback_obj, j_folder_id_obj, j_result_obj); 577 env, j_callback_obj, j_folder_id_obj, j_result_obj);
551 } 578 }
552 579
580 ScopedJavaLocalRef<jobject> BookmarksBridge::AddFolder(JNIEnv* env,
581 jobject obj,
582 jobject j_parent_id_obj,
583 jint index,
584 jstring j_title) {
585 DCHECK(IsLoaded());
586 long bookmark_id = JavaBookmarkIdGetId(env, j_parent_id_obj);
587 int type = JavaBookmarkIdGetType(env, j_parent_id_obj);
588 const BookmarkNode* parent = GetNodeByID(bookmark_id, type);
589
590 const BookmarkNode* new_node = bookmark_model_->AddFolder(
591 parent, index, base::android::ConvertJavaStringToUTF16(env, j_title));
592 if (!new_node) {
593 NOTREACHED();
594 return ScopedJavaLocalRef<jobject>();
595 }
596 ScopedJavaLocalRef<jobject> new_java_obj =
597 Java_BookmarksBridge_createBookmarkId(
598 env, new_node->id(), GetBookmarkType(new_node));
599 return new_java_obj;
600 }
601
553 void BookmarksBridge::DeleteBookmark(JNIEnv* env, 602 void BookmarksBridge::DeleteBookmark(JNIEnv* env,
554 jobject obj, 603 jobject obj,
555 jobject j_bookmark_id_obj) { 604 jobject j_bookmark_id_obj) {
556 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 605 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
557 DCHECK(IsLoaded()); 606 DCHECK(IsLoaded());
558 607
559 long bookmark_id = JavaBookmarkIdGetId(env, j_bookmark_id_obj); 608 long bookmark_id = JavaBookmarkIdGetId(env, j_bookmark_id_obj);
560 int type = JavaBookmarkIdGetType(env, j_bookmark_id_obj); 609 int type = JavaBookmarkIdGetType(env, j_bookmark_id_obj);
561 const BookmarkNode* node = GetNodeByID(bookmark_id, type); 610 const BookmarkNode* node = GetNodeByID(bookmark_id, type);
562 if (!IsEditable(node)) { 611 if (!IsEditable(node)) {
(...skipping 23 matching lines...) Expand all
586 if (!IsEditable(node)) { 635 if (!IsEditable(node)) {
587 NOTREACHED(); 636 NOTREACHED();
588 return; 637 return;
589 } 638 }
590 bookmark_id = JavaBookmarkIdGetId(env, j_parent_id_obj); 639 bookmark_id = JavaBookmarkIdGetId(env, j_parent_id_obj);
591 type = JavaBookmarkIdGetType(env, j_parent_id_obj); 640 type = JavaBookmarkIdGetType(env, j_parent_id_obj);
592 const BookmarkNode* new_parent_node = GetNodeByID(bookmark_id, type); 641 const BookmarkNode* new_parent_node = GetNodeByID(bookmark_id, type);
593 bookmark_model_->Move(node, new_parent_node, index); 642 bookmark_model_->Move(node, new_parent_node, index);
594 } 643 }
595 644
645 ScopedJavaLocalRef<jobject> BookmarksBridge::AddBookmark(
646 JNIEnv* env,
647 jobject obj,
648 jobject j_parent_id_obj,
649 jint index,
650 jstring j_title,
651 jstring j_url) {
652 DCHECK(IsLoaded());
653 long bookmark_id = JavaBookmarkIdGetId(env, j_parent_id_obj);
654 int type = JavaBookmarkIdGetType(env, j_parent_id_obj);
655 const BookmarkNode* parent = GetNodeByID(bookmark_id, type);
656
657 const BookmarkNode* new_node = bookmark_model_->AddURL(
658 parent,
659 index,
660 base::android::ConvertJavaStringToUTF16(env, j_title),
661 GURL(base::android::ConvertJavaStringToUTF16(env, j_url)));
662 if (!new_node) {
663 NOTREACHED();
664 return ScopedJavaLocalRef<jobject>();
665 }
666 ScopedJavaLocalRef<jobject> new_java_obj =
667 Java_BookmarksBridge_createBookmarkId(
668 env, new_node->id(), GetBookmarkType(new_node));
669 return new_java_obj;
670 }
671
596 ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark( 672 ScopedJavaLocalRef<jobject> BookmarksBridge::CreateJavaBookmark(
597 const BookmarkNode* node) { 673 const BookmarkNode* node) {
598 JNIEnv* env = AttachCurrentThread(); 674 JNIEnv* env = AttachCurrentThread();
599 675
600 const BookmarkNode* parent = GetParentNode(node); 676 const BookmarkNode* parent = GetParentNode(node);
601 int64 parent_id = parent ? parent->id() : -1; 677 int64 parent_id = parent ? parent->id() : -1;
602 678
603 std::string url; 679 std::string url;
604 if (node->is_url()) 680 if (node->is_url())
605 url = node->url().spec(); 681 url = node->url().spec();
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 BookmarkModelChanged(); 947 BookmarkModelChanged();
872 } 948 }
873 949
874 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) { 950 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) {
875 NotifyIfDoneLoading(); 951 NotifyIfDoneLoading();
876 } 952 }
877 953
878 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) { 954 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) {
879 partner_bookmarks_shim_ = NULL; 955 partner_bookmarks_shim_ = NULL;
880 } 956 }
OLDNEW
« no previous file with comments | « chrome/browser/android/bookmarks/bookmarks_bridge.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698