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

Unified Diff: chrome/browser/ui/gtk/gtk_util.cc

Issue 7712001: WindowOpenDisposition should not be exposed in base and ui modules. (1) Gdk refactoring (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: minor fix. 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
« no previous file with comments | « chrome/browser/ui/gtk/gtk_util.h ('k') | chrome/browser/ui/gtk/gtk_util_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gtk/gtk_util.cc
diff --git a/chrome/browser/ui/gtk/gtk_util.cc b/chrome/browser/ui/gtk/gtk_util.cc
index 2a8160d957b2aa6503a83edaf584a3e6deb0fee8..f6d3851afbab874f001c4962da3c3cdbfed7403b 100644
--- a/chrome/browser/ui/gtk/gtk_util.cc
+++ b/chrome/browser/ui/gtk/gtk_util.cc
@@ -21,6 +21,7 @@
#include "chrome/browser/autocomplete/autocomplete.h"
#include "chrome/browser/autocomplete/autocomplete_classifier.h"
#include "chrome/browser/autocomplete/autocomplete_match.h"
+#include "chrome/browser/event_disposition.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
@@ -35,6 +36,7 @@
#include "grit/theme_resources_standard.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h"
+#include "ui/base/events.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/text/text_elider.h"
@@ -195,13 +197,22 @@ GtkWidget* GetBrowserWindowFocusedWidget(BrowserWindow* window) {
namespace event_utils {
-WindowOpenDisposition DispositionFromEventFlags(guint event_flags) {
- return disposition_utils::DispositionFromClick(
- event_flags & GDK_BUTTON2_MASK,
- event_flags & GDK_MOD1_MASK,
- event_flags & GDK_CONTROL_MASK,
- event_flags & GDK_META_MASK,
- event_flags & GDK_SHIFT_MASK);
+// TODO(shinyak) This function will be removed after refactoring.
+WindowOpenDisposition DispositionFromGdkState(guint state) {
+ int event_flags = EventFlagsFromGdkState(state);
+ return browser::DispositionFromEventFlags(event_flags);
+}
+
+int EventFlagsFromGdkState(guint state) {
+ int flags = 0;
+ flags |= (state & GDK_LOCK_MASK) ? ui::EF_CAPS_LOCK_DOWN : 0;
+ flags |= (state & GDK_CONTROL_MASK) ? ui::EF_CONTROL_DOWN : 0;
+ flags |= (state & GDK_SHIFT_MASK) ? ui::EF_SHIFT_DOWN : 0;
+ flags |= (state & GDK_MOD1_MASK) ? ui::EF_ALT_DOWN : 0;
+ flags |= (state & GDK_BUTTON1_MASK) ? ui::EF_LEFT_BUTTON_DOWN : 0;
+ flags |= (state & GDK_BUTTON2_MASK) ? ui::EF_MIDDLE_BUTTON_DOWN : 0;
+ flags |= (state & GDK_BUTTON3_MASK) ? ui::EF_RIGHT_BUTTON_DOWN : 0;
+ return flags;
}
} // namespace event_utils
@@ -928,7 +939,7 @@ WindowOpenDisposition DispositionForCurrentButtonPressEvent() {
guint state = event->button.state;
gdk_event_free(event);
- return event_utils::DispositionFromEventFlags(state);
+ return event_utils::DispositionFromGdkState(state);
}
bool GrabAllInput(GtkWidget* widget) {
« no previous file with comments | « chrome/browser/ui/gtk/gtk_util.h ('k') | chrome/browser/ui/gtk/gtk_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698