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

Side by Side Diff: chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc

Issue 1233673002: Fix componentization of chrome/browser/bookmarks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/api/bookmark_manager_private/bookmark_manage r_private_api.h" 5 #include "chrome/browser/extensions/api/bookmark_manager_private/bookmark_manage r_private_api.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/linked_ptr.h" 10 #include "base/memory/linked_ptr.h"
11 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
12 #include "base/strings/string_number_conversions.h" 12 #include "base/strings/string_number_conversions.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 15 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
16 #include "chrome/browser/bookmarks/bookmark_stats.h" 16 #include "chrome/browser/bookmarks/bookmark_stats.h"
17 #include "chrome/browser/bookmarks/chrome_bookmark_client.h"
18 #include "chrome/browser/browser_process.h" 17 #include "chrome/browser/browser_process.h"
19 #include "chrome/browser/enhanced_bookmarks/enhanced_bookmark_model_factory.h" 18 #include "chrome/browser/enhanced_bookmarks/enhanced_bookmark_model_factory.h"
20 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h" 19 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h"
21 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.h" 20 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.h"
22 #include "chrome/browser/extensions/extension_web_ui.h" 21 #include "chrome/browser/extensions/extension_web_ui.h"
23 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/ui/bookmarks/bookmark_drag_drop.h" 23 #include "chrome/browser/ui/bookmarks/bookmark_drag_drop.h"
25 #include "chrome/browser/undo/bookmark_undo_service_factory.h" 24 #include "chrome/browser/undo/bookmark_undo_service_factory.h"
26 #include "chrome/common/extensions/api/bookmark_manager_private.h" 25 #include "chrome/common/extensions/api/bookmark_manager_private.h"
27 #include "chrome/common/pref_names.h" 26 #include "chrome/common/pref_names.h"
28 #include "chrome/grit/generated_resources.h" 27 #include "chrome/grit/generated_resources.h"
29 #include "components/bookmarks/browser/bookmark_model.h" 28 #include "components/bookmarks/browser/bookmark_model.h"
30 #include "components/bookmarks/browser/bookmark_node_data.h" 29 #include "components/bookmarks/browser/bookmark_node_data.h"
31 #include "components/bookmarks/browser/bookmark_utils.h" 30 #include "components/bookmarks/browser/bookmark_utils.h"
32 #include "components/bookmarks/browser/scoped_group_bookmark_actions.h" 31 #include "components/bookmarks/browser/scoped_group_bookmark_actions.h"
32 #include "components/bookmarks/managed/managed_bookmark_service.h"
33 #include "components/enhanced_bookmarks/enhanced_bookmark_model.h" 33 #include "components/enhanced_bookmarks/enhanced_bookmark_model.h"
34 #include "components/undo/bookmark_undo_service.h" 34 #include "components/undo/bookmark_undo_service.h"
35 #include "components/user_prefs/user_prefs.h" 35 #include "components/user_prefs/user_prefs.h"
36 #include "content/public/browser/render_view_host.h" 36 #include "content/public/browser/render_view_host.h"
37 #include "content/public/browser/web_contents.h" 37 #include "content/public/browser/web_contents.h"
38 #include "content/public/browser/web_ui.h" 38 #include "content/public/browser/web_ui.h"
39 #include "extensions/browser/extension_function_dispatcher.h" 39 #include "extensions/browser/extension_function_dispatcher.h"
40 #include "extensions/browser/view_type_utils.h" 40 #include "extensions/browser/view_type_utils.h"
41 #include "ui/base/dragdrop/drag_drop_types.h" 41 #include "ui/base/dragdrop/drag_drop_types.h"
42 #include "ui/base/l10n/l10n_util.h" 42 #include "ui/base/l10n/l10n_util.h"
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 return NULL; 352 return NULL;
353 } 353 }
354 354
355 void BookmarkManagerPrivateDragEventRouter::ClearBookmarkNodeData() { 355 void BookmarkManagerPrivateDragEventRouter::ClearBookmarkNodeData() {
356 bookmark_drag_data_.Clear(); 356 bookmark_drag_data_.Clear();
357 } 357 }
358 358
359 bool ClipboardBookmarkManagerFunction::CopyOrCut(bool cut, 359 bool ClipboardBookmarkManagerFunction::CopyOrCut(bool cut,
360 const std::vector<std::string>& id_list) { 360 const std::vector<std::string>& id_list) {
361 BookmarkModel* model = GetBookmarkModel(); 361 BookmarkModel* model = GetBookmarkModel();
362 ChromeBookmarkClient* client = GetChromeBookmarkClient(); 362 bookmarks::ManagedBookmarkService* managed = GetManagedBookmarkService();
363 std::vector<const BookmarkNode*> nodes; 363 std::vector<const BookmarkNode*> nodes;
364 EXTENSION_FUNCTION_VALIDATE(GetNodesFromVector(model, id_list, &nodes)); 364 EXTENSION_FUNCTION_VALIDATE(GetNodesFromVector(model, id_list, &nodes));
365 if (cut && bookmarks::HasDescendantsOf(nodes, client->managed_node())) { 365 if (cut && bookmarks::HasDescendantsOf(nodes, managed->managed_node())) {
366 error_ = bookmark_keys::kModifyManagedError; 366 error_ = bookmark_keys::kModifyManagedError;
367 return false; 367 return false;
368 } 368 }
369 bookmarks::CopyToClipboard(model, nodes, cut); 369 bookmarks::CopyToClipboard(model, nodes, cut);
370 return true; 370 return true;
371 } 371 }
372 372
373 bool BookmarkManagerPrivateCopyFunction::RunOnReady() { 373 bool BookmarkManagerPrivateCopyFunction::RunOnReady() {
374 scoped_ptr<Copy::Params> params(Copy::Params::Create(*args_)); 374 scoped_ptr<Copy::Params> params(Copy::Params::Create(*args_));
375 EXTENSION_FUNCTION_VALIDATE(params); 375 EXTENSION_FUNCTION_VALIDATE(params);
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 if (params->id.empty()) { 620 if (params->id.empty()) {
621 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile()); 621 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile());
622 node = model->root_node(); 622 node = model->root_node();
623 } else { 623 } else {
624 node = GetBookmarkNodeFromId(params->id); 624 node = GetBookmarkNodeFromId(params->id);
625 if (!node) 625 if (!node)
626 return false; 626 return false;
627 } 627 }
628 628
629 std::vector<linked_ptr<api::bookmarks::BookmarkTreeNode> > nodes; 629 std::vector<linked_ptr<api::bookmarks::BookmarkTreeNode> > nodes;
630 ChromeBookmarkClient* client = GetChromeBookmarkClient(); 630 bookmarks::ManagedBookmarkService* managed = GetManagedBookmarkService();
631 if (params->folders_only) 631 if (params->folders_only)
632 bookmark_api_helpers::AddNodeFoldersOnly(client, node, &nodes, true); 632 bookmark_api_helpers::AddNodeFoldersOnly(managed, node, &nodes, true);
633 else 633 else
634 bookmark_api_helpers::AddNode(client, node, &nodes, true); 634 bookmark_api_helpers::AddNode(managed, node, &nodes, true);
635 results_ = GetSubtree::Results::Create(nodes); 635 results_ = GetSubtree::Results::Create(nodes);
636 return true; 636 return true;
637 } 637 }
638 638
639 bool BookmarkManagerPrivateCanEditFunction::RunOnReady() { 639 bool BookmarkManagerPrivateCanEditFunction::RunOnReady() {
640 PrefService* prefs = user_prefs::UserPrefs::Get(GetProfile()); 640 PrefService* prefs = user_prefs::UserPrefs::Get(GetProfile());
641 SetResult(new base::FundamentalValue( 641 SetResult(new base::FundamentalValue(
642 prefs->GetBoolean(bookmarks::prefs::kEditBookmarksEnabled))); 642 prefs->GetBoolean(bookmarks::prefs::kEditBookmarksEnabled)));
643 return true; 643 return true;
644 } 644 }
(...skipping 11 matching lines...) Expand all
656 CreateWithMetaInfo::Params::Create(*args_)); 656 CreateWithMetaInfo::Params::Create(*args_));
657 EXTENSION_FUNCTION_VALIDATE(params); 657 EXTENSION_FUNCTION_VALIDATE(params);
658 658
659 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile()); 659 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile());
660 const BookmarkNode* node = CreateBookmarkNode( 660 const BookmarkNode* node = CreateBookmarkNode(
661 model, params->bookmark, &params->meta_info.additional_properties); 661 model, params->bookmark, &params->meta_info.additional_properties);
662 if (!node) 662 if (!node)
663 return false; 663 return false;
664 664
665 scoped_ptr<api::bookmarks::BookmarkTreeNode> result_node( 665 scoped_ptr<api::bookmarks::BookmarkTreeNode> result_node(
666 bookmark_api_helpers::GetBookmarkTreeNode( 666 bookmark_api_helpers::GetBookmarkTreeNode(GetManagedBookmarkService(),
667 GetChromeBookmarkClient(), node, false, false)); 667 node, false, false));
668 results_ = CreateWithMetaInfo::Results::Create(*result_node); 668 results_ = CreateWithMetaInfo::Results::Create(*result_node);
669 669
670 return true; 670 return true;
671 } 671 }
672 672
673 bool BookmarkManagerPrivateGetMetaInfoFunction::RunOnReady() { 673 bool BookmarkManagerPrivateGetMetaInfoFunction::RunOnReady() {
674 scoped_ptr<GetMetaInfo::Params> params(GetMetaInfo::Params::Create(*args_)); 674 scoped_ptr<GetMetaInfo::Params> params(GetMetaInfo::Params::Create(*args_));
675 EXTENSION_FUNCTION_VALIDATE(params); 675 EXTENSION_FUNCTION_VALIDATE(params);
676 676
677 if (params->id) { 677 if (params->id) {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 } 784 }
785 785
786 bool BookmarkManagerPrivateRemoveTreesFunction::RunOnReady() { 786 bool BookmarkManagerPrivateRemoveTreesFunction::RunOnReady() {
787 if (!EditBookmarksEnabled()) 787 if (!EditBookmarksEnabled())
788 return false; 788 return false;
789 789
790 scoped_ptr<RemoveTrees::Params> params(RemoveTrees::Params::Create(*args_)); 790 scoped_ptr<RemoveTrees::Params> params(RemoveTrees::Params::Create(*args_));
791 EXTENSION_FUNCTION_VALIDATE(params); 791 EXTENSION_FUNCTION_VALIDATE(params);
792 792
793 BookmarkModel* model = GetBookmarkModel(); 793 BookmarkModel* model = GetBookmarkModel();
794 ChromeBookmarkClient* client = GetChromeBookmarkClient(); 794 bookmarks::ManagedBookmarkService* managed = GetManagedBookmarkService();
795 bookmarks::ScopedGroupBookmarkActions group_deletes(model); 795 bookmarks::ScopedGroupBookmarkActions group_deletes(model);
796 int64 id; 796 int64 id;
797 for (size_t i = 0; i < params->id_list.size(); ++i) { 797 for (size_t i = 0; i < params->id_list.size(); ++i) {
798 if (!GetBookmarkIdAsInt64(params->id_list[i], &id)) 798 if (!GetBookmarkIdAsInt64(params->id_list[i], &id))
799 return false; 799 return false;
800 if (!bookmark_api_helpers::RemoveNode(model, client, id, true, &error_)) 800 if (!bookmark_api_helpers::RemoveNode(model, managed, id, true, &error_))
801 return false; 801 return false;
802 } 802 }
803 803
804 return true; 804 return true;
805 } 805 }
806 806
807 bool BookmarkManagerPrivateUndoFunction::RunOnReady() { 807 bool BookmarkManagerPrivateUndoFunction::RunOnReady() {
808 if (!EditBookmarksEnabled()) 808 if (!EditBookmarksEnabled())
809 return false; 809 return false;
810 810
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
851 851
852 enhanced_bookmarks::EnhancedBookmarkModel* model = 852 enhanced_bookmarks::EnhancedBookmarkModel* model =
853 enhanced_bookmarks::EnhancedBookmarkModelFactory::GetForBrowserContext( 853 enhanced_bookmarks::EnhancedBookmarkModelFactory::GetForBrowserContext(
854 browser_context()); 854 browser_context());
855 model->SetVersionSuffix(params->version); 855 model->SetVersionSuffix(params->version);
856 856
857 return true; 857 return true;
858 } 858 }
859 859
860 } // namespace extensions 860 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698