| OLD | NEW |
| 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/ui/views/bookmarks/bookmark_bubble_view.h" | 5 #include "chrome/browser/ui/views/bookmarks/bookmark_bubble_view.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 bookmark_bubble_->set_parent_window(parent_window); | 85 bookmark_bubble_->set_parent_window(parent_window); |
| 86 } | 86 } |
| 87 views::Widget* bubble_widget = | 87 views::Widget* bubble_widget = |
| 88 views::BubbleDialogDelegateView::CreateBubble(bookmark_bubble_); | 88 views::BubbleDialogDelegateView::CreateBubble(bookmark_bubble_); |
| 89 bubble_widget->Show(); | 89 bubble_widget->Show(); |
| 90 // Select the entire title textfield contents when the bubble is first shown. | 90 // Select the entire title textfield contents when the bubble is first shown. |
| 91 bookmark_bubble_->title_tf_->SelectAll(true); | 91 bookmark_bubble_->title_tf_->SelectAll(true); |
| 92 bookmark_bubble_->SetArrowPaintType(views::BubbleBorder::PAINT_TRANSPARENT); | 92 bookmark_bubble_->SetArrowPaintType(views::BubbleBorder::PAINT_TRANSPARENT); |
| 93 | 93 |
| 94 if (bookmark_bubble_->observer_) { | 94 if (bookmark_bubble_->observer_) { |
| 95 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile); | 95 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile); |
| 96 const BookmarkNode* node = model->GetMostRecentlyAddedUserNodeForURL(url); | 96 const BookmarkNode* node = model->GetMostRecentlyAddedUserNodeForURL(url); |
| 97 bookmark_bubble_->observer_->OnBookmarkBubbleShown(node); | 97 bookmark_bubble_->observer_->OnBookmarkBubbleShown(node); |
| 98 } | 98 } |
| 99 return bubble_widget; | 99 return bubble_widget; |
| 100 } | 100 } |
| 101 | 101 |
| 102 void BookmarkBubbleView::Hide() { | 102 void BookmarkBubbleView::Hide() { |
| 103 if (bookmark_bubble_) | 103 if (bookmark_bubble_) |
| 104 bookmark_bubble_->GetWidget()->Close(); | 104 bookmark_bubble_->GetWidget()->Close(); |
| 105 } | 105 } |
| 106 | 106 |
| 107 BookmarkBubbleView::~BookmarkBubbleView() { | 107 BookmarkBubbleView::~BookmarkBubbleView() { |
| 108 if (apply_edits_) { | 108 if (apply_edits_) { |
| 109 ApplyEdits(); | 109 ApplyEdits(); |
| 110 } else if (remove_bookmark_) { | 110 } else if (remove_bookmark_) { |
| 111 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile_); | 111 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_); |
| 112 const BookmarkNode* node = model->GetMostRecentlyAddedUserNodeForURL(url_); | 112 const BookmarkNode* node = model->GetMostRecentlyAddedUserNodeForURL(url_); |
| 113 if (node) | 113 if (node) |
| 114 model->Remove(node); | 114 model->Remove(node); |
| 115 } | 115 } |
| 116 // |parent_combobox_| needs to be destroyed before |parent_model_| as it | 116 // |parent_combobox_| needs to be destroyed before |parent_model_| as it |
| 117 // uses |parent_model_| in its destructor. | 117 // uses |parent_model_| in its destructor. |
| 118 delete parent_combobox_; | 118 delete parent_combobox_; |
| 119 } | 119 } |
| 120 | 120 |
| 121 void BookmarkBubbleView::WindowClosing() { | 121 void BookmarkBubbleView::WindowClosing() { |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 std::unique_ptr<BubbleSyncPromoDelegate> delegate, | 248 std::unique_ptr<BubbleSyncPromoDelegate> delegate, |
| 249 Profile* profile, | 249 Profile* profile, |
| 250 const GURL& url, | 250 const GURL& url, |
| 251 bool newly_bookmarked) | 251 bool newly_bookmarked) |
| 252 : LocationBarBubbleDelegateView(anchor_view, nullptr), | 252 : LocationBarBubbleDelegateView(anchor_view, nullptr), |
| 253 observer_(observer), | 253 observer_(observer), |
| 254 delegate_(std::move(delegate)), | 254 delegate_(std::move(delegate)), |
| 255 profile_(profile), | 255 profile_(profile), |
| 256 url_(url), | 256 url_(url), |
| 257 newly_bookmarked_(newly_bookmarked), | 257 newly_bookmarked_(newly_bookmarked), |
| 258 parent_model_(BookmarkModelFactory::GetForProfile(profile_), | 258 parent_model_(BookmarkModelFactory::GetForBrowserContext(profile_), |
| 259 BookmarkModelFactory::GetForProfile(profile_) | 259 BookmarkModelFactory::GetForBrowserContext(profile_) |
| 260 ->GetMostRecentlyAddedUserNodeForURL(url)), | 260 ->GetMostRecentlyAddedUserNodeForURL(url)), |
| 261 remove_button_(nullptr), | 261 remove_button_(nullptr), |
| 262 edit_button_(nullptr), | 262 edit_button_(nullptr), |
| 263 close_button_(nullptr), | 263 close_button_(nullptr), |
| 264 title_tf_(nullptr), | 264 title_tf_(nullptr), |
| 265 parent_combobox_(nullptr), | 265 parent_combobox_(nullptr), |
| 266 remove_bookmark_(false), | 266 remove_bookmark_(false), |
| 267 apply_edits_(true) {} | 267 apply_edits_(true) {} |
| 268 | 268 |
| 269 base::string16 BookmarkBubbleView::GetTitle() { | 269 base::string16 BookmarkBubbleView::GetTitle() { |
| 270 BookmarkModel* bookmark_model = | 270 BookmarkModel* bookmark_model = |
| 271 BookmarkModelFactory::GetForProfile(profile_); | 271 BookmarkModelFactory::GetForBrowserContext(profile_); |
| 272 const BookmarkNode* node = | 272 const BookmarkNode* node = |
| 273 bookmark_model->GetMostRecentlyAddedUserNodeForURL(url_); | 273 bookmark_model->GetMostRecentlyAddedUserNodeForURL(url_); |
| 274 if (node) | 274 if (node) |
| 275 return node->GetTitle(); | 275 return node->GetTitle(); |
| 276 else | 276 else |
| 277 NOTREACHED(); | 277 NOTREACHED(); |
| 278 return base::string16(); | 278 return base::string16(); |
| 279 } | 279 } |
| 280 | 280 |
| 281 void BookmarkBubbleView::GetAccessibleState(ui::AXViewState* state) { | 281 void BookmarkBubbleView::GetAccessibleState(ui::AXViewState* state) { |
| (...skipping 26 matching lines...) Expand all Loading... |
| 308 } else if (sender == edit_button_) { | 308 } else if (sender == edit_button_) { |
| 309 content::RecordAction(UserMetricsAction("BookmarkBubble_Edit")); | 309 content::RecordAction(UserMetricsAction("BookmarkBubble_Edit")); |
| 310 ShowEditor(); | 310 ShowEditor(); |
| 311 } else { | 311 } else { |
| 312 DCHECK_EQ(close_button_, sender); | 312 DCHECK_EQ(close_button_, sender); |
| 313 GetWidget()->Close(); | 313 GetWidget()->Close(); |
| 314 } | 314 } |
| 315 } | 315 } |
| 316 | 316 |
| 317 void BookmarkBubbleView::ShowEditor() { | 317 void BookmarkBubbleView::ShowEditor() { |
| 318 const BookmarkNode* node = BookmarkModelFactory::GetForProfile( | 318 const BookmarkNode* node = |
| 319 profile_)->GetMostRecentlyAddedUserNodeForURL(url_); | 319 BookmarkModelFactory::GetForBrowserContext(profile_) |
| 320 ->GetMostRecentlyAddedUserNodeForURL(url_); |
| 320 gfx::NativeWindow native_parent = | 321 gfx::NativeWindow native_parent = |
| 321 anchor_widget() ? anchor_widget()->GetNativeWindow() | 322 anchor_widget() ? anchor_widget()->GetNativeWindow() |
| 322 : platform_util::GetTopLevel(parent_window()); | 323 : platform_util::GetTopLevel(parent_window()); |
| 323 DCHECK(native_parent); | 324 DCHECK(native_parent); |
| 324 | 325 |
| 325 Profile* profile = profile_; | 326 Profile* profile = profile_; |
| 326 ApplyEdits(); | 327 ApplyEdits(); |
| 327 GetWidget()->Close(); | 328 GetWidget()->Close(); |
| 328 | 329 |
| 329 if (node && native_parent) | 330 if (node && native_parent) |
| 330 BookmarkEditor::Show(native_parent, profile, | 331 BookmarkEditor::Show(native_parent, profile, |
| 331 BookmarkEditor::EditDetails::EditNode(node), | 332 BookmarkEditor::EditDetails::EditNode(node), |
| 332 BookmarkEditor::SHOW_TREE); | 333 BookmarkEditor::SHOW_TREE); |
| 333 } | 334 } |
| 334 | 335 |
| 335 void BookmarkBubbleView::ApplyEdits() { | 336 void BookmarkBubbleView::ApplyEdits() { |
| 336 // Set this to make sure we don't attempt to apply edits again. | 337 // Set this to make sure we don't attempt to apply edits again. |
| 337 apply_edits_ = false; | 338 apply_edits_ = false; |
| 338 | 339 |
| 339 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile_); | 340 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_); |
| 340 const BookmarkNode* node = model->GetMostRecentlyAddedUserNodeForURL(url_); | 341 const BookmarkNode* node = model->GetMostRecentlyAddedUserNodeForURL(url_); |
| 341 if (node) { | 342 if (node) { |
| 342 const base::string16 new_title = title_tf_->text(); | 343 const base::string16 new_title = title_tf_->text(); |
| 343 if (new_title != node->GetTitle()) { | 344 if (new_title != node->GetTitle()) { |
| 344 model->SetTitle(node, new_title); | 345 model->SetTitle(node, new_title); |
| 345 content::RecordAction( | 346 content::RecordAction( |
| 346 UserMetricsAction("BookmarkBubble_ChangeTitleInBubble")); | 347 UserMetricsAction("BookmarkBubble_ChangeTitleInBubble")); |
| 347 } | 348 } |
| 348 parent_model_.MaybeChangeParent(node, parent_combobox_->selected_index()); | 349 parent_model_.MaybeChangeParent(node, parent_combobox_->selected_index()); |
| 349 } | 350 } |
| 350 } | 351 } |
| OLD | NEW |