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

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: Fix "gn check" and compilation on Mac 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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 return NULL; 358 return NULL;
359 } 359 }
360 360
361 void BookmarkManagerPrivateDragEventRouter::ClearBookmarkNodeData() { 361 void BookmarkManagerPrivateDragEventRouter::ClearBookmarkNodeData() {
362 bookmark_drag_data_.Clear(); 362 bookmark_drag_data_.Clear();
363 } 363 }
364 364
365 bool ClipboardBookmarkManagerFunction::CopyOrCut(bool cut, 365 bool ClipboardBookmarkManagerFunction::CopyOrCut(bool cut,
366 const std::vector<std::string>& id_list) { 366 const std::vector<std::string>& id_list) {
367 BookmarkModel* model = GetBookmarkModel(); 367 BookmarkModel* model = GetBookmarkModel();
368 ChromeBookmarkClient* client = GetChromeBookmarkClient(); 368 bookmarks::ManagedBookmarkService* managed = GetManagedBookmarkService();
369 std::vector<const BookmarkNode*> nodes; 369 std::vector<const BookmarkNode*> nodes;
370 EXTENSION_FUNCTION_VALIDATE(GetNodesFromVector(model, id_list, &nodes)); 370 EXTENSION_FUNCTION_VALIDATE(GetNodesFromVector(model, id_list, &nodes));
371 if (cut && bookmarks::HasDescendantsOf(nodes, client->managed_node())) { 371 if (cut && bookmarks::HasDescendantsOf(nodes, managed->managed_node())) {
372 error_ = bookmark_keys::kModifyManagedError; 372 error_ = bookmark_keys::kModifyManagedError;
373 return false; 373 return false;
374 } 374 }
375 bookmarks::CopyToClipboard(model, nodes, cut); 375 bookmarks::CopyToClipboard(model, nodes, cut);
376 return true; 376 return true;
377 } 377 }
378 378
379 bool BookmarkManagerPrivateCopyFunction::RunOnReady() { 379 bool BookmarkManagerPrivateCopyFunction::RunOnReady() {
380 scoped_ptr<Copy::Params> params(Copy::Params::Create(*args_)); 380 scoped_ptr<Copy::Params> params(Copy::Params::Create(*args_));
381 EXTENSION_FUNCTION_VALIDATE(params); 381 EXTENSION_FUNCTION_VALIDATE(params);
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 if (params->id.empty()) { 626 if (params->id.empty()) {
627 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile()); 627 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile());
628 node = model->root_node(); 628 node = model->root_node();
629 } else { 629 } else {
630 node = GetBookmarkNodeFromId(params->id); 630 node = GetBookmarkNodeFromId(params->id);
631 if (!node) 631 if (!node)
632 return false; 632 return false;
633 } 633 }
634 634
635 std::vector<linked_ptr<api::bookmarks::BookmarkTreeNode> > nodes; 635 std::vector<linked_ptr<api::bookmarks::BookmarkTreeNode> > nodes;
636 ChromeBookmarkClient* client = GetChromeBookmarkClient(); 636 bookmarks::ManagedBookmarkService* managed = GetManagedBookmarkService();
637 if (params->folders_only) 637 if (params->folders_only)
638 bookmark_api_helpers::AddNodeFoldersOnly(client, node, &nodes, true); 638 bookmark_api_helpers::AddNodeFoldersOnly(managed, node, &nodes, true);
639 else 639 else
640 bookmark_api_helpers::AddNode(client, node, &nodes, true); 640 bookmark_api_helpers::AddNode(managed, node, &nodes, true);
641 results_ = GetSubtree::Results::Create(nodes); 641 results_ = GetSubtree::Results::Create(nodes);
642 return true; 642 return true;
643 } 643 }
644 644
645 bool BookmarkManagerPrivateCanEditFunction::RunOnReady() { 645 bool BookmarkManagerPrivateCanEditFunction::RunOnReady() {
646 PrefService* prefs = user_prefs::UserPrefs::Get(GetProfile()); 646 PrefService* prefs = user_prefs::UserPrefs::Get(GetProfile());
647 SetResult(new base::FundamentalValue( 647 SetResult(new base::FundamentalValue(
648 prefs->GetBoolean(bookmarks::prefs::kEditBookmarksEnabled))); 648 prefs->GetBoolean(bookmarks::prefs::kEditBookmarksEnabled)));
649 return true; 649 return true;
650 } 650 }
(...skipping 11 matching lines...) Expand all
662 CreateWithMetaInfo::Params::Create(*args_)); 662 CreateWithMetaInfo::Params::Create(*args_));
663 EXTENSION_FUNCTION_VALIDATE(params); 663 EXTENSION_FUNCTION_VALIDATE(params);
664 664
665 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile()); 665 BookmarkModel* model = BookmarkModelFactory::GetForProfile(GetProfile());
666 const BookmarkNode* node = CreateBookmarkNode( 666 const BookmarkNode* node = CreateBookmarkNode(
667 model, params->bookmark, &params->meta_info.additional_properties); 667 model, params->bookmark, &params->meta_info.additional_properties);
668 if (!node) 668 if (!node)
669 return false; 669 return false;
670 670
671 scoped_ptr<api::bookmarks::BookmarkTreeNode> result_node( 671 scoped_ptr<api::bookmarks::BookmarkTreeNode> result_node(
672 bookmark_api_helpers::GetBookmarkTreeNode( 672 bookmark_api_helpers::GetBookmarkTreeNode(GetManagedBookmarkService(),
673 GetChromeBookmarkClient(), node, false, false)); 673 node, false, false));
674 results_ = CreateWithMetaInfo::Results::Create(*result_node); 674 results_ = CreateWithMetaInfo::Results::Create(*result_node);
675 675
676 return true; 676 return true;
677 } 677 }
678 678
679 bool BookmarkManagerPrivateGetMetaInfoFunction::RunOnReady() { 679 bool BookmarkManagerPrivateGetMetaInfoFunction::RunOnReady() {
680 scoped_ptr<GetMetaInfo::Params> params(GetMetaInfo::Params::Create(*args_)); 680 scoped_ptr<GetMetaInfo::Params> params(GetMetaInfo::Params::Create(*args_));
681 EXTENSION_FUNCTION_VALIDATE(params); 681 EXTENSION_FUNCTION_VALIDATE(params);
682 682
683 if (params->id) { 683 if (params->id) {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 } 790 }
791 791
792 bool BookmarkManagerPrivateRemoveTreesFunction::RunOnReady() { 792 bool BookmarkManagerPrivateRemoveTreesFunction::RunOnReady() {
793 if (!EditBookmarksEnabled()) 793 if (!EditBookmarksEnabled())
794 return false; 794 return false;
795 795
796 scoped_ptr<RemoveTrees::Params> params(RemoveTrees::Params::Create(*args_)); 796 scoped_ptr<RemoveTrees::Params> params(RemoveTrees::Params::Create(*args_));
797 EXTENSION_FUNCTION_VALIDATE(params); 797 EXTENSION_FUNCTION_VALIDATE(params);
798 798
799 BookmarkModel* model = GetBookmarkModel(); 799 BookmarkModel* model = GetBookmarkModel();
800 ChromeBookmarkClient* client = GetChromeBookmarkClient(); 800 bookmarks::ManagedBookmarkService* managed = GetManagedBookmarkService();
801 bookmarks::ScopedGroupBookmarkActions group_deletes(model); 801 bookmarks::ScopedGroupBookmarkActions group_deletes(model);
802 int64 id; 802 int64 id;
803 for (size_t i = 0; i < params->id_list.size(); ++i) { 803 for (size_t i = 0; i < params->id_list.size(); ++i) {
804 if (!GetBookmarkIdAsInt64(params->id_list[i], &id)) 804 if (!GetBookmarkIdAsInt64(params->id_list[i], &id))
805 return false; 805 return false;
806 if (!bookmark_api_helpers::RemoveNode(model, client, id, true, &error_)) 806 if (!bookmark_api_helpers::RemoveNode(model, managed, id, true, &error_))
807 return false; 807 return false;
808 } 808 }
809 809
810 return true; 810 return true;
811 } 811 }
812 812
813 bool BookmarkManagerPrivateUndoFunction::RunOnReady() { 813 bool BookmarkManagerPrivateUndoFunction::RunOnReady() {
814 if (!EditBookmarksEnabled()) 814 if (!EditBookmarksEnabled())
815 return false; 815 return false;
816 816
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 857
858 enhanced_bookmarks::EnhancedBookmarkModel* model = 858 enhanced_bookmarks::EnhancedBookmarkModel* model =
859 enhanced_bookmarks::EnhancedBookmarkModelFactory::GetForBrowserContext( 859 enhanced_bookmarks::EnhancedBookmarkModelFactory::GetForBrowserContext(
860 browser_context()); 860 browser_context());
861 model->SetVersionSuffix(params->version); 861 model->SetVersionSuffix(params->version);
862 862
863 return true; 863 return true;
864 } 864 }
865 865
866 } // namespace extensions 866 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698