summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortom.cassiotis@gmail.com <tom.cassiotis@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-23 00:33:50 +0000
committertom.cassiotis@gmail.com <tom.cassiotis@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-23 00:33:50 +0000
commitc5fc8f83ea25eb33a8e3cdfd971c27196e6a4cb7 (patch)
treed43dfb772e346b3bfee4da3c394730a7a9f5024d
parent579594719276a865af677b5d9040d03961d7f723 (diff)
downloadchromium_src-c5fc8f83ea25eb33a8e3cdfd971c27196e6a4cb7.zip
chromium_src-c5fc8f83ea25eb33a8e3cdfd971c27196e6a4cb7.tar.gz
chromium_src-c5fc8f83ea25eb33a8e3cdfd971c27196e6a4cb7.tar.bz2
Eliminate Bookmarks dependence to bookmark_undo_utils.h.
Introduced a mechanism through BookmarkModelObserver to inform the bookmark undo service to group a set of bookmark changes instead of an explicit call. This removes the dependence to bookmark_undo_utils that was recently introduced in https://src.chromium.org/viewvc/chrome?view=rev&revision=241973 BUG=126092 TEST=Added a unit_tests test to ensure that the BookmarkModelObserver is notified. Review URL: https://codereview.chromium.org/155913004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252832 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/bookmarks/DEPS1
-rw-r--r--chrome/browser/bookmarks/bookmark_model.cc10
-rw-r--r--chrome/browser/bookmarks/bookmark_model.h7
-rw-r--r--chrome/browser/bookmarks/bookmark_model_observer.h9
-rw-r--r--chrome/browser/bookmarks/bookmark_utils.cc7
-rw-r--r--chrome/browser/bookmarks/bookmark_utils.h1
-rw-r--r--chrome/browser/bookmarks/bookmark_utils_unittest.cc52
-rw-r--r--chrome/browser/bookmarks/scoped_group_bookmark_actions.cc27
-rw-r--r--chrome/browser/bookmarks/scoped_group_bookmark_actions.h26
-rw-r--r--chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc2
-rw-r--r--chrome/browser/ui/bookmarks/bookmark_drag_drop.cc2
-rw-r--r--chrome/browser/undo/bookmark_undo_service.cc32
-rw-r--r--chrome/browser/undo/bookmark_undo_service.h2
-rw-r--r--chrome/browser/undo/bookmark_undo_utils.cc15
-rw-r--r--chrome/browser/undo/bookmark_undo_utils.h14
-rw-r--r--chrome/chrome_browser.gypi4
16 files changed, 163 insertions, 48 deletions
diff --git a/chrome/browser/bookmarks/DEPS b/chrome/browser/bookmarks/DEPS
index 7191e8f..a702b0e 100644
--- a/chrome/browser/bookmarks/DEPS
+++ b/chrome/browser/bookmarks/DEPS
@@ -9,7 +9,6 @@ include_rules = [
"+chrome/browser/chrome_notification_types.h",
"+chrome/browser/undo/bookmark_undo_service.h",
"+chrome/browser/undo/bookmark_undo_service_factory.h",
- "+chrome/browser/undo/bookmark_undo_utils.h",
# TODO(tfarina): Bring this list to zero. crbug.com/144783
# Do not add to the list of temporarily-allowed dependencies below,
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc
index 6611a04..ea4ddbf 100644
--- a/chrome/browser/bookmarks/bookmark_model.cc
+++ b/chrome/browser/bookmarks/bookmark_model.cc
@@ -284,6 +284,16 @@ void BookmarkModel::EndExtensiveChanges() {
}
}
+void BookmarkModel::BeginGroupedChanges() {
+ FOR_EACH_OBSERVER(BookmarkModelObserver, observers_,
+ GroupedBookmarkChangesBeginning(this));
+}
+
+void BookmarkModel::EndGroupedChanges() {
+ FOR_EACH_OBSERVER(BookmarkModelObserver, observers_,
+ GroupedBookmarkChangesEnded(this));
+}
+
void BookmarkModel::Remove(const BookmarkNode* parent, int index) {
if (!loaded_ || !IsValidIndex(parent, index, false) || is_root_node(parent)) {
NOTREACHED();
diff --git a/chrome/browser/bookmarks/bookmark_model.h b/chrome/browser/bookmarks/bookmark_model.h
index 5578bc1..a16f4ad1 100644
--- a/chrome/browser/bookmarks/bookmark_model.h
+++ b/chrome/browser/bookmarks/bookmark_model.h
@@ -34,6 +34,7 @@ class BookmarkModelObserver;
class BookmarkStorage;
struct BookmarkTitleMatch;
class Profile;
+class ScopedGroupBookmarkActions;
namespace base {
class SequencedTaskRunner;
@@ -439,6 +440,7 @@ class BookmarkModel : public content::NotificationObserver,
friend class BookmarkCodecTest;
friend class BookmarkModelTest;
friend class BookmarkStorage;
+ friend class ScopedGroupBookmarkActions;
// Used to order BookmarkNodes by URL.
class NodeURLComparator {
@@ -514,6 +516,11 @@ class BookmarkModel : public content::NotificationObserver,
// If we're waiting on a favicon for node, the load request is canceled.
void CancelPendingFaviconLoadRequests(BookmarkNode* node);
+ // Notifies the observers that a set of changes initiated by a single user
+ // action is about to happen and has completed.
+ void BeginGroupedChanges();
+ void EndGroupedChanges();
+
// content::NotificationObserver:
virtual void Observe(int type,
const content::NotificationSource& source,
diff --git a/chrome/browser/bookmarks/bookmark_model_observer.h b/chrome/browser/bookmarks/bookmark_model_observer.h
index d9116e8..e03e65d 100644
--- a/chrome/browser/bookmarks/bookmark_model_observer.h
+++ b/chrome/browser/bookmarks/bookmark_model_observer.h
@@ -99,6 +99,15 @@ class BookmarkModelObserver {
// Invoked when all non-permanent bookmark nodes have been removed.
virtual void BookmarkAllNodesRemoved(BookmarkModel* model) = 0;
+ // Invoked before a set of model changes that is initiated by a single user
+ // action. For example, this is called a single time when pasting from the
+ // clipboard before each pasted bookmark is added to the bookmark model.
+ virtual void GroupedBookmarkChangesBeginning(BookmarkModel* model) {}
+
+ // Invoked after a set of model changes triggered by a single user action has
+ // ended.
+ virtual void GroupedBookmarkChangesEnded(BookmarkModel* model) {}
+
protected:
virtual ~BookmarkModelObserver() {}
};
diff --git a/chrome/browser/bookmarks/bookmark_utils.cc b/chrome/browser/bookmarks/bookmark_utils.cc
index 6da548b..184c2aa 100644
--- a/chrome/browser/bookmarks/bookmark_utils.cc
+++ b/chrome/browser/bookmarks/bookmark_utils.cc
@@ -15,10 +15,11 @@
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "chrome/browser/bookmarks/bookmark_model_factory.h"
+#include "chrome/browser/bookmarks/scoped_group_bookmark_actions.h"
#include "chrome/browser/history/query_parser.h"
#include "chrome/browser/undo/bookmark_undo_service.h"
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
-#include "chrome/browser/undo/bookmark_undo_utils.h"
#include "chrome/common/pref_names.h"
#include "components/user_prefs/pref_registry_syncable.h"
#include "content/public/browser/user_metrics.h"
@@ -149,7 +150,7 @@ void CopyToClipboard(BookmarkModel* model,
if (remove_nodes) {
#if !defined(OS_ANDROID)
- ScopedGroupBookmarkActions group_cut(model->profile());
+ ScopedGroupBookmarkActions group_cut(model);
#endif
for (size_t i = 0; i < filtered_nodes.size(); ++i) {
int index = filtered_nodes[i]->parent()->GetIndexOf(filtered_nodes[i]);
@@ -172,7 +173,7 @@ void PasteFromClipboard(BookmarkModel* model,
if (index == -1)
index = parent->child_count();
#if !defined(OS_ANDROID)
- ScopedGroupBookmarkActions group_paste(model->profile());
+ ScopedGroupBookmarkActions group_paste(model);
#endif
CloneBookmarkNode(model, bookmark_data.elements, parent, index, true);
}
diff --git a/chrome/browser/bookmarks/bookmark_utils.h b/chrome/browser/bookmarks/bookmark_utils.h
index fa5086d..c8566e7 100644
--- a/chrome/browser/bookmarks/bookmark_utils.h
+++ b/chrome/browser/bookmarks/bookmark_utils.h
@@ -13,6 +13,7 @@
class BookmarkModel;
class BookmarkNode;
+class Profile;
namespace user_prefs {
class PrefRegistrySyncable;
diff --git a/chrome/browser/bookmarks/bookmark_utils_unittest.cc b/chrome/browser/bookmarks/bookmark_utils_unittest.cc
index 0bb86b7..d95928e 100644
--- a/chrome/browser/bookmarks/bookmark_utils_unittest.cc
+++ b/chrome/browser/bookmarks/bookmark_utils_unittest.cc
@@ -8,6 +8,7 @@
#include "base/message_loop/message_loop.h"
#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/bookmarks/base_bookmark_model_observer.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/bookmarks/bookmark_node_data.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -20,16 +21,38 @@ using std::string;
namespace bookmark_utils {
namespace {
-class BookmarkUtilsTest : public ::testing::Test {
+class BookmarkUtilsTest : public testing::Test,
+ public BaseBookmarkModelObserver {
public:
- BookmarkUtilsTest() {}
+ BookmarkUtilsTest()
+ : grouped_changes_beginning_count_(0), grouped_changes_ended_count_(0) {}
virtual ~BookmarkUtilsTest() {}
virtual void TearDown() OVERRIDE {
ui::Clipboard::DestroyClipboardForCurrentThread();
}
+ void ExpectGroupedChangeCount(int expected_beginning_count,
+ int expected_ended_count) {
+ EXPECT_EQ(grouped_changes_beginning_count_, expected_beginning_count);
+ EXPECT_EQ(grouped_changes_ended_count_, expected_ended_count);
+ }
+
+ // BaseBookmarkModelObserver:
+ virtual void BookmarkModelChanged() OVERRIDE {}
+
+ virtual void GroupedBookmarkChangesBeginning(BookmarkModel* model) OVERRIDE {
+ ++grouped_changes_beginning_count_;
+ }
+
+ virtual void GroupedBookmarkChangesEnded(BookmarkModel* model) OVERRIDE {
+ ++grouped_changes_ended_count_;
+ }
+
private:
+ int grouped_changes_beginning_count_;
+ int grouped_changes_ended_count_;
+
// Clipboard requires a message loop.
base::MessageLoopForUI loop_;
@@ -242,6 +265,31 @@ TEST_F(BookmarkUtilsTest, CopyPaste) {
EXPECT_FALSE(CanPasteFromClipboard(model.bookmark_bar_node()));
}
+TEST_F(BookmarkUtilsTest, CutToClipboard) {
+ BookmarkModel model(NULL);
+ model.AddObserver(this);
+
+ base::string16 title(ASCIIToUTF16("foo"));
+ GURL url("http://foo.com");
+ const BookmarkNode* n1 = model.AddURL(model.other_node(), 0, title, url);
+ const BookmarkNode* n2 = model.AddURL(model.other_node(), 1, title, url);
+
+ // Cut the nodes to the clipboard.
+ std::vector<const BookmarkNode*> nodes;
+ nodes.push_back(n1);
+ nodes.push_back(n2);
+ CopyToClipboard(&model, nodes, true);
+
+ // Make sure the nodes were removed.
+ EXPECT_EQ(0, model.other_node()->child_count());
+
+ // Make sure observers were notified the set of changes should be grouped.
+ ExpectGroupedChangeCount(1, 1);
+
+ // And make sure we can paste from the clipboard.
+ EXPECT_TRUE(CanPasteFromClipboard(model.other_node()));
+}
+
TEST_F(BookmarkUtilsTest, GetParentForNewNodes) {
BookmarkModel model(NULL);
// This tests the case where selection contains one item and that item is a
diff --git a/chrome/browser/bookmarks/scoped_group_bookmark_actions.cc b/chrome/browser/bookmarks/scoped_group_bookmark_actions.cc
new file mode 100644
index 0000000..2dd54ae
--- /dev/null
+++ b/chrome/browser/bookmarks/scoped_group_bookmark_actions.cc
@@ -0,0 +1,27 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/bookmarks/scoped_group_bookmark_actions.h"
+
+#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "chrome/browser/bookmarks/bookmark_model_factory.h"
+
+ScopedGroupBookmarkActions::ScopedGroupBookmarkActions(Profile* profile)
+ : model_(NULL) {
+ if (profile)
+ model_ = BookmarkModelFactory::GetForProfile(profile);
+ if (model_)
+ model_->BeginGroupedChanges();
+}
+
+ScopedGroupBookmarkActions::ScopedGroupBookmarkActions(BookmarkModel* model)
+ : model_(model) {
+ if (model_)
+ model_->BeginGroupedChanges();
+}
+
+ScopedGroupBookmarkActions::~ScopedGroupBookmarkActions() {
+ if (model_)
+ model_->EndGroupedChanges();
+}
diff --git a/chrome/browser/bookmarks/scoped_group_bookmark_actions.h b/chrome/browser/bookmarks/scoped_group_bookmark_actions.h
new file mode 100644
index 0000000..ca67161
--- /dev/null
+++ b/chrome/browser/bookmarks/scoped_group_bookmark_actions.h
@@ -0,0 +1,26 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_BOOKMARKS_SCOPED_GROUP_BOOKMARK_ACTIONS_H_
+#define CHROME_BROWSER_BOOKMARKS_SCOPED_GROUP_BOOKMARK_ACTIONS_H_
+
+#include "base/macros.h"
+
+class BookmarkModel;
+class Profile;
+
+// Scopes the grouping of a set of changes into one undoable action.
+class ScopedGroupBookmarkActions {
+ public:
+ explicit ScopedGroupBookmarkActions(Profile* profile);
+ explicit ScopedGroupBookmarkActions(BookmarkModel* model);
+ ~ScopedGroupBookmarkActions();
+
+ private:
+ BookmarkModel* model_;
+
+ DISALLOW_COPY_AND_ASSIGN(ScopedGroupBookmarkActions);
+};
+
+#endif // CHROME_BROWSER_BOOKMARKS_SCOPED_GROUP_BOOKMARK_ACTIONS_H_
diff --git a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
index 24a884d..b9ad8e1 100644
--- a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
+++ b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/bookmarks/bookmark_node_data.h"
#include "chrome/browser/bookmarks/bookmark_stats.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
+#include "chrome/browser/bookmarks/scoped_group_bookmark_actions.h"
#include "chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api_constants.h"
#include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h"
#include "chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.h"
@@ -25,7 +26,6 @@
#include "chrome/browser/ui/bookmarks/bookmark_drag_drop.h"
#include "chrome/browser/undo/bookmark_undo_service.h"
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
-#include "chrome/browser/undo/bookmark_undo_utils.h"
#include "chrome/common/extensions/api/bookmark_manager_private.h"
#include "chrome/common/pref_names.h"
#include "components/user_prefs/user_prefs.h"
diff --git a/chrome/browser/ui/bookmarks/bookmark_drag_drop.cc b/chrome/browser/ui/bookmarks/bookmark_drag_drop.cc
index 701ec32..af174f5 100644
--- a/chrome/browser/ui/bookmarks/bookmark_drag_drop.cc
+++ b/chrome/browser/ui/bookmarks/bookmark_drag_drop.cc
@@ -8,9 +8,9 @@
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/bookmarks/bookmark_node_data.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
+#include "chrome/browser/bookmarks/scoped_group_bookmark_actions.h"
#include "chrome/browser/undo/bookmark_undo_service.h"
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
-#include "chrome/browser/undo/bookmark_undo_utils.h"
#include "ui/base/dragdrop/drag_drop_types.h"
namespace chrome {
diff --git a/chrome/browser/undo/bookmark_undo_service.cc b/chrome/browser/undo/bookmark_undo_service.cc
index 63de7e7..cc3c959 100644
--- a/chrome/browser/undo/bookmark_undo_service.cc
+++ b/chrome/browser/undo/bookmark_undo_service.cc
@@ -8,10 +8,10 @@
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/bookmarks/bookmark_node_data.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
+#include "chrome/browser/bookmarks/scoped_group_bookmark_actions.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/undo/bookmark_renumber_observer.h"
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
-#include "chrome/browser/undo/bookmark_undo_utils.h"
#include "chrome/browser/undo/undo_operation.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -391,16 +391,6 @@ BookmarkUndoService::~BookmarkUndoService() {
BookmarkModelFactory::GetForProfile(profile_)->RemoveObserver(this);
}
-void BookmarkUndoService::OnBookmarkRenumbered(int64 old_id, int64 new_id) {
- std::vector<UndoOperation*> all_operations =
- undo_manager()->GetAllUndoOperations();
- for (std::vector<UndoOperation*>::iterator it = all_operations.begin();
- it != all_operations.end(); ++it) {
- static_cast<BookmarkUndoOperation*>(*it)->OnBookmarkRenumbered(old_id,
- new_id);
- }
-}
-
void BookmarkUndoService::BookmarkModelLoaded(BookmarkModel* model,
bool ids_reassigned) {
undo_manager_.RemoveAllOperations();
@@ -466,3 +456,23 @@ void BookmarkUndoService::OnWillReorderBookmarkNode(BookmarkModel* model,
scoped_ptr<UndoOperation> op(new BookmarkReorderOperation(profile_, node));
undo_manager()->AddUndoOperation(op.Pass());
}
+
+void BookmarkUndoService::GroupedBookmarkChangesBeginning(
+ BookmarkModel* model) {
+ undo_manager()->StartGroupingActions();
+}
+
+void BookmarkUndoService::GroupedBookmarkChangesEnded(BookmarkModel* model) {
+ undo_manager()->EndGroupingActions();
+}
+
+void BookmarkUndoService::OnBookmarkRenumbered(int64 old_id, int64 new_id) {
+ std::vector<UndoOperation*> all_operations =
+ undo_manager()->GetAllUndoOperations();
+ for (std::vector<UndoOperation*>::iterator it = all_operations.begin();
+ it != all_operations.end(); ++it) {
+ static_cast<BookmarkUndoOperation*>(*it)->OnBookmarkRenumbered(old_id,
+ new_id);
+ }
+}
+
diff --git a/chrome/browser/undo/bookmark_undo_service.h b/chrome/browser/undo/bookmark_undo_service.h
index 2404ece..6ea0ed4 100644
--- a/chrome/browser/undo/bookmark_undo_service.h
+++ b/chrome/browser/undo/bookmark_undo_service.h
@@ -54,6 +54,8 @@ class BookmarkUndoService : public BaseBookmarkModelObserver,
const BookmarkNode* node) OVERRIDE;
virtual void OnWillReorderBookmarkNode(BookmarkModel* model,
const BookmarkNode* node) OVERRIDE;
+ virtual void GroupedBookmarkChangesBeginning(BookmarkModel* model) OVERRIDE;
+ virtual void GroupedBookmarkChangesEnded(BookmarkModel* model) OVERRIDE;
// BookmarkRenumberObserver:
virtual void OnBookmarkRenumbered(int64 old_id, int64 new_id) OVERRIDE;
diff --git a/chrome/browser/undo/bookmark_undo_utils.cc b/chrome/browser/undo/bookmark_undo_utils.cc
index 1302b3e..cf78e5f 100644
--- a/chrome/browser/undo/bookmark_undo_utils.cc
+++ b/chrome/browser/undo/bookmark_undo_utils.cc
@@ -33,18 +33,3 @@ ScopedSuspendBookmarkUndo::~ScopedSuspendBookmarkUndo() {
if (undo_manager)
undo_manager->ResumeUndoTracking();
}
-
-// ScopedGroupBookmarkActions -------------------------------------------------
-
-ScopedGroupBookmarkActions::ScopedGroupBookmarkActions(Profile* profile)
- : profile_(profile) {
- UndoManager *undo_manager = GetUndoManager(profile_);
- if (undo_manager)
- undo_manager->StartGroupingActions();
-}
-
-ScopedGroupBookmarkActions::~ScopedGroupBookmarkActions() {
- UndoManager *undo_manager = GetUndoManager(profile_);
- if (undo_manager)
- undo_manager->EndGroupingActions();
-}
diff --git a/chrome/browser/undo/bookmark_undo_utils.h b/chrome/browser/undo/bookmark_undo_utils.h
index 3a9018a..af6ae9f 100644
--- a/chrome/browser/undo/bookmark_undo_utils.h
+++ b/chrome/browser/undo/bookmark_undo_utils.h
@@ -24,18 +24,4 @@ class ScopedSuspendBookmarkUndo {
DISALLOW_COPY_AND_ASSIGN(ScopedSuspendBookmarkUndo);
};
-// ScopedGroupBookmarkActions -------------------------------------------------
-
-// Scopes the grouping of a set of changes into one undoable action.
-class ScopedGroupBookmarkActions {
- public:
- explicit ScopedGroupBookmarkActions(Profile* profile);
- ~ScopedGroupBookmarkActions();
-
- private:
- Profile* profile_;
-
- DISALLOW_COPY_AND_ASSIGN(ScopedGroupBookmarkActions);
-};
-
#endif // CHROME_BROWSER_UNDO_BOOKMARK_UNDO_UTILS_H_
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index eaa776c..cee105f 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -333,6 +333,8 @@
'browser/bookmarks/bookmark_utils.h',
'browser/bookmarks/enhanced_bookmarks_features.cc',
'browser/bookmarks/enhanced_bookmarks_features.h',
+ 'browser/bookmarks/scoped_group_bookmark_actions.cc',
+ 'browser/bookmarks/scoped_group_bookmark_actions.h',
'browser/browser_about_handler.cc',
'browser/browser_about_handler.h',
'browser/browser_process.cc',
@@ -3264,6 +3266,8 @@
'browser/accessibility/accessibility_extension_api_constants.cc',
'browser/accessibility/invert_bubble_prefs.cc',
'browser/auto_launch_trial.cc',
+ 'browser/bookmarks/scoped_group_bookmark_actions.cc',
+ 'browser/bookmarks/scoped_group_bookmark_actions.h',
'browser/certificate_viewer.cc',
'browser/chrome_browser_main_posix.cc',
'browser/chrome_browser_main_posix.h',