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

Unified Diff: chrome/browser/ui/views/toolbar/browser_actions_container.cc

Issue 413323002: Resubmit: Open the WrenchMenu on mouseover when dragging a browser action (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/toolbar/browser_actions_container.cc
diff --git a/chrome/browser/ui/views/toolbar/browser_actions_container.cc b/chrome/browser/ui/views/toolbar/browser_actions_container.cc
index df22b9b3287323a545827a4cc5ff7cdd3e768826..faae39a6e02f785a54441e2e9e704e569ff4fdee 100644
--- a/chrome/browser/ui/views/toolbar/browser_actions_container.cc
+++ b/chrome/browser/ui/views/toolbar/browser_actions_container.cc
@@ -265,6 +265,15 @@ bool BrowserActionsContainer::ShownInsideMenu() const {
return in_overflow_mode();
}
+void BrowserActionsContainer::OnBrowserActionViewDragDone() {
+ // We notify here as well as in OnPerformDrop because the dragged view is
+ // removed in OnPerformDrop, so it will never get its OnDragDone() call.
+ // TODO(devlin): we should see about fixing that.
+ FOR_EACH_OBSERVER(BrowserActionsContainerObserver,
+ observers_,
+ OnBrowserActionDragDone());
+}
+
void BrowserActionsContainer::AddObserver(
BrowserActionsContainerObserver* observer) {
observers_.AddObserver(observer);
@@ -373,18 +382,15 @@ void BrowserActionsContainer::Layout() {
bool BrowserActionsContainer::GetDropFormats(
int* formats,
std::set<OSExchangeData::CustomFormat>* custom_formats) {
- custom_formats->insert(BrowserActionDragData::GetBrowserActionCustomFormat());
-
- return true;
+ return BrowserActionDragData::GetDropFormats(custom_formats);
}
bool BrowserActionsContainer::AreDropTypesRequired() {
- return true;
+ return BrowserActionDragData::AreDropTypesRequired();
}
bool BrowserActionsContainer::CanDrop(const OSExchangeData& data) {
- BrowserActionDragData drop_data;
- return drop_data.Read(data) ? drop_data.IsFromProfile(profile_) : false;
+ return BrowserActionDragData::CanDrop(data, profile_);
}
void BrowserActionsContainer::OnDragEntered(
@@ -499,6 +505,9 @@ int BrowserActionsContainer::OnPerformDrop(
browser_action_views_[data.index()]->button()->extension(), i);
OnDragExited(); // Perform clean up after dragging.
+ FOR_EACH_OBSERVER(BrowserActionsContainerObserver,
+ observers_,
+ OnBrowserActionDragDone());
return ui::DragDropTypes::DRAG_MOVE;
}

Powered by Google App Engine
This is Rietveld 408576698