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

Side by Side Diff: chrome/browser/ui/gtk/tabs/tab_gtk.cc

Issue 8921022: GTK: Even more cleanup to access allocation through the accessor. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 9 years 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/gtk/tabs/tab_gtk.h" 5 #include "chrome/browser/ui/gtk/tabs/tab_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 delegate_->ActivateTab(this); 150 delegate_->ActivateTab(this);
151 } 151 }
152 observer_.reset(); 152 observer_.reset();
153 153
154 if (last_mouse_down_) { 154 if (last_mouse_down_) {
155 gdk_event_free(last_mouse_down_); 155 gdk_event_free(last_mouse_down_);
156 last_mouse_down_ = NULL; 156 last_mouse_down_ = NULL;
157 } 157 }
158 } 158 }
159 159
160 GtkAllocation allocation;
161 gtk_widget_get_allocation(widget, &allocation);
162
160 // Middle mouse up means close the tab, but only if the mouse is over it 163 // Middle mouse up means close the tab, but only if the mouse is over it
161 // (like a button). 164 // (like a button).
162 if (event->button == 2 && 165 if (event->button == 2 &&
163 event->x >= 0 && event->y >= 0 && 166 event->x >= 0 && event->y >= 0 &&
164 event->x < widget->allocation.width && 167 event->x < allocation.width &&
165 event->y < widget->allocation.height) { 168 event->y < allocation.height) {
166 // If the user is currently holding the left mouse button down but hasn't 169 // If the user is currently holding the left mouse button down but hasn't
167 // moved the mouse yet, a drag hasn't started yet. In that case, clean up 170 // moved the mouse yet, a drag hasn't started yet. In that case, clean up
168 // some state before closing the tab to avoid a crash. Once the drag has 171 // some state before closing the tab to avoid a crash. Once the drag has
169 // started, we don't get the middle mouse click here. 172 // started, we don't get the middle mouse click here.
170 if (last_mouse_down_) { 173 if (last_mouse_down_) {
171 DCHECK(!drag_widget_); 174 DCHECK(!drag_widget_);
172 observer_.reset(); 175 observer_.reset();
173 gdk_event_free(last_mouse_down_); 176 gdk_event_free(last_mouse_down_);
174 last_mouse_down_ = NULL; 177 last_mouse_down_ = NULL;
175 } 178 }
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 gdk_event_free(last_mouse_down_); 351 gdk_event_free(last_mouse_down_);
349 last_mouse_down_ = NULL; 352 last_mouse_down_ = NULL;
350 } 353 }
351 354
352 // Notify the drag helper that we're done with any potential drag operations. 355 // Notify the drag helper that we're done with any potential drag operations.
353 // Clean up the drag helper, which is re-created on the next mouse press. 356 // Clean up the drag helper, which is re-created on the next mouse press.
354 delegate_->EndDrag(canceled); 357 delegate_->EndDrag(canceled);
355 358
356 observer_.reset(); 359 observer_.reset();
357 } 360 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/tabs/dragged_view_gtk.cc ('k') | chrome/browser/ui/gtk/tabs/tab_renderer_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698