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

Unified Diff: chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc

Issue 7574021: Remove frontend code that allows for dynamic profile setting, and read the profile off the browse... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
===================================================================
--- chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc (revision 95527)
+++ chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc (working copy)
@@ -362,16 +362,15 @@
return *kFolderIcon;
}
-BookmarkBarView::BookmarkBarView(Profile* profile, Browser* browser)
- : profile_(NULL),
- page_navigator_(NULL),
+BookmarkBarView::BookmarkBarView(Browser* browser)
+ : page_navigator_(NULL),
model_(NULL),
bookmark_menu_(NULL),
bookmark_drop_menu_(NULL),
other_bookmarked_button_(NULL),
ALLOW_THIS_IN_INITIALIZER_LIST(show_folder_method_factory_(this)),
sync_error_button_(NULL),
- sync_service_(NULL),
+ sync_service_(browser->profile()->GetProfileSyncService()),
overflow_button_(NULL),
instructions_(NULL),
bookmarks_separator_view_(NULL),
@@ -380,16 +379,11 @@
throbbing_view_(NULL),
bookmark_bar_state_(BookmarkBar::SHOW),
animating_detached_(false) {
- if (profile->GetProfileSyncService()) {
- // Obtain a pointer to the profile sync service and add our instance as an
- // observer.
- sync_service_ = profile->GetProfileSyncService();
+ if (sync_service_)
sync_service_->AddObserver(this);
- }
set_id(VIEW_ID_BOOKMARK_BAR);
Init();
- SetProfile(profile);
size_animation_->Reset(1);
}
@@ -409,43 +403,6 @@
sync_service_->RemoveObserver(this);
}
-void BookmarkBarView::SetProfile(Profile* profile) {
- DCHECK(profile);
- if (profile_ == profile)
- return;
-
- StopThrobbing(true);
-
- // Cancels the current cancelable.
- registrar_.RemoveAll();
-
- profile_ = profile;
-
- if (model_)
- model_->RemoveObserver(this);
-
- // Disable the other bookmarked button, we'll re-enable when the model is
- // loaded.
- other_bookmarked_button_->SetEnabled(false);
-
- Source<Profile> ns_source(profile_->GetOriginalProfile());
- registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_BUBBLE_SHOWN, ns_source);
- registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_BUBBLE_HIDDEN, ns_source);
-
- // Remove any existing bookmark buttons.
- while (GetBookmarkButtonCount())
- delete child_at(0);
-
- model_ = profile_->GetBookmarkModel();
- if (model_) {
- model_->AddObserver(this);
- if (model_->IsLoaded())
- Loaded(model_, false);
- // else case: we'll receive notification back from the BookmarkModel when
- // done loading, then we'll populate the bar.
- }
-}
-
void BookmarkBarView::SetPageNavigator(PageNavigator* navigator) {
page_navigator_ = navigator;
}
@@ -725,7 +682,8 @@
bool BookmarkBarView::CanDrop(const ui::OSExchangeData& data) {
if (!model_ || !model_->IsLoaded() ||
- !profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled))
+ !browser_->profile()->GetPrefs()->GetBoolean(
+ prefs::kEditBookmarksEnabled))
return false;
if (!drop_info_.get())
@@ -837,8 +795,8 @@
const BookmarkNodeData data = drop_info_->data;
DCHECK(data.is_valid());
drop_info_.reset();
- return bookmark_utils::PerformBookmarkDrop(profile_, data, parent_node,
- index);
+ return bookmark_utils::PerformBookmarkDrop(browser_->profile(), data,
+ parent_node, index);
}
void BookmarkBarView::ShowContextMenu(const gfx::Point& p,
@@ -1019,7 +977,7 @@
for (int i = 0; i < GetBookmarkButtonCount(); ++i) {
if (sender == GetBookmarkButton(i)) {
return bookmark_utils::BookmarkDragOperation(
- profile_, model_->bookmark_bar_node()->GetChild(i));
+ browser_->profile(), model_->bookmark_bar_node()->GetChild(i));
}
}
NOTREACHED();
@@ -1065,8 +1023,8 @@
node = model_->bookmark_bar_node()->GetChild(button_index);
}
- bookmark_menu_ = new BookmarkMenuController(
- profile_, page_navigator_, GetWidget(), node, start_index);
+ bookmark_menu_ = new BookmarkMenuController(browser_->profile(),
+ page_navigator_, GetWidget(), node, start_index);
bookmark_menu_->set_observer(this);
bookmark_menu_->RunMenuAt(this, false);
}
@@ -1094,12 +1052,13 @@
WindowOpenDisposition disposition_from_event_flags =
event_utils::DispositionFromEventFlags(sender->mouse_event_flags());
+ Profile* profile = browser_->profile();
if (node->is_url()) {
- RecordAppLaunch(profile_, node->url());
+ RecordAppLaunch(profile, node->url());
page_navigator_->OpenURL(node->url(), GURL(),
disposition_from_event_flags, PageTransition::AUTO_BOOKMARK);
} else {
- bookmark_utils::OpenAll(GetWidget()->GetNativeWindow(), profile_,
+ bookmark_utils::OpenAll(GetWidget()->GetNativeWindow(), profile,
page_navigator_, node, disposition_from_event_flags);
}
UserMetrics::RecordAction(UserMetricsAction("ClickedBookmarkBarURLButton"));
@@ -1134,21 +1093,19 @@
parent = model_->bookmark_bar_node();
nodes.push_back(parent);
}
- // Browser may be null during testing.
- PageNavigator* navigator =
- browser() ? browser()->GetSelectedTabContents() : NULL;
+ Profile* profile = browser_->profile();
bool close_on_remove =
- (parent == profile_->GetBookmarkModel()->other_node() &&
- parent->child_count() == 1);
- BookmarkContextMenu controller(GetWidget(), profile_,
- navigator, parent, nodes, close_on_remove);
+ (parent == profile->GetBookmarkModel()->other_node()) &&
+ (parent->child_count() == 1);
+ BookmarkContextMenu controller(GetWidget(), profile,
+ browser_->GetSelectedTabContents(), parent, nodes, close_on_remove);
controller.RunMenuAt(p);
}
void BookmarkBarView::Observe(int type,
const NotificationSource& source,
const NotificationDetails& details) {
- DCHECK(profile_);
+ DCHECK(browser_->profile());
switch (type) {
case chrome::NOTIFICATION_BOOKMARK_BUBBLE_SHOWN: {
StopThrobbing(true);
@@ -1189,6 +1146,8 @@
AddChildView(overflow_button_);
other_bookmarked_button_ = CreateOtherBookmarkedButton();
+ // We'll re-enable when the model is loaded.
+ other_bookmarked_button_->SetEnabled(false);
AddChildView(other_bookmarked_button_);
bookmarks_separator_view_ = new ButtonSeparatorView();
@@ -1200,6 +1159,20 @@
set_context_menu_controller(this);
size_animation_.reset(new ui::SlideAnimation(this));
+
+ Profile* profile = browser_->profile();
+ Source<Profile> ns_source(profile->GetOriginalProfile());
+ registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_BUBBLE_SHOWN, ns_source);
+ registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_BUBBLE_HIDDEN, ns_source);
+
+ model_ = profile->GetBookmarkModel();
+ if (model_) {
+ model_->AddObserver(this);
+ if (model_->IsLoaded())
+ Loaded(model_, false);
+ // else case: we'll receive notification back from the BookmarkModel when
+ // done loading, then we'll populate the bar.
+ }
}
int BookmarkBarView::GetBookmarkButtonCount() {
@@ -1280,7 +1253,7 @@
views::View* BookmarkBarView::CreateBookmarkButton(const BookmarkNode* node) {
if (node->is_url()) {
BookmarkButton* button = new BookmarkButton(this, node->url(),
- UTF16ToWide(node->GetTitle()), profile_);
+ UTF16ToWide(node->GetTitle()), browser_->profile());
ConfigureButton(node, button);
return button;
} else {
@@ -1393,8 +1366,8 @@
start_index = GetFirstHiddenNodeIndex();
drop_info_->is_menu_showing = true;
- bookmark_drop_menu_ = new BookmarkMenuController(
- profile_, page_navigator_, GetWidget(), node, start_index);
+ bookmark_drop_menu_ = new BookmarkMenuController(browser_->profile(),
+ page_navigator_, GetWidget(), node, start_index);
bookmark_drop_menu_->set_observer(this);
bookmark_drop_menu_->RunMenuAt(this, true);
}
@@ -1436,6 +1409,7 @@
bool found = false;
const int other_delta_x = mirrored_x - other_bookmarked_button_->x();
+ Profile* profile = browser_->profile();
if (other_bookmarked_button_->IsVisible() && other_delta_x >= 0 &&
other_delta_x < other_bookmarked_button_->width()) {
// Mouse is over 'other' folder.
@@ -1445,9 +1419,8 @@
} else if (!GetBookmarkButtonCount()) {
// No bookmarks, accept the drop.
location->index = 0;
- int ops = data.GetFirstNode(profile_)
- ? ui::DragDropTypes::DRAG_MOVE
- : ui::DragDropTypes::DRAG_COPY | ui::DragDropTypes::DRAG_LINK;
+ int ops = data.GetFirstNode(profile) ? ui::DragDropTypes::DRAG_MOVE :
+ ui::DragDropTypes::DRAG_COPY | ui::DragDropTypes::DRAG_LINK;
location->operation =
bookmark_utils::PreferredDropOperation(event.source_operations(), ops);
return;
@@ -1510,18 +1483,16 @@
model_->other_node() :
model_->bookmark_bar_node()->GetChild(location->index);
location->operation =
- bookmark_utils::BookmarkDropOperation(profile_, event, data, parent,
+ bookmark_utils::BookmarkDropOperation(profile, event, data, parent,
parent->child_count());
if (!location->operation && !data.has_single_url() &&
- data.GetFirstNode(profile_) == parent) {
+ data.GetFirstNode(profile) == parent) {
// Don't open a menu if the node being dragged is the menu to open.
location->on = false;
}
} else {
- location->operation =
- bookmark_utils::BookmarkDropOperation(profile_, event, data,
- model_->bookmark_bar_node(),
- location->index);
+ location->operation = bookmark_utils::BookmarkDropOperation(profile, event,
+ data, model_->bookmark_bar_node(), location->index);
}
}
@@ -1529,7 +1500,7 @@
ui::OSExchangeData* data) {
DCHECK(node && data);
BookmarkNodeData drag_data(node);
- drag_data.Write(profile_, data);
+ drag_data.Write(browser_->profile(), data);
}
void BookmarkBarView::StartThrobbing(const BookmarkNode* node,
« no previous file with comments | « chrome/browser/ui/views/bookmarks/bookmark_bar_view.h ('k') | chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698