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

Side by Side Diff: chrome/browser/ui/gtk/gtk_util.cc

Issue 9015022: Replace most of Browser::GetSelectedTabContents calls into Browser::GetSelectedWebContents. I've ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 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 unified diff | Download patch | Annotate | Revision Log
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/gtk_util.h" 5 #include "chrome/browser/ui/gtk/gtk_util.h"
6 6
7 #include <cairo/cairo.h> 7 #include <cairo/cairo.h>
8 8
9 #include <cstdarg> 9 #include <cstdarg>
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "chrome/browser/chromeos/frame/browser_view.h" 49 #include "chrome/browser/chromeos/frame/browser_view.h"
50 #include "chrome/browser/chromeos/native_dialog_window.h" 50 #include "chrome/browser/chromeos/native_dialog_window.h"
51 #else 51 #else
52 #include "chrome/browser/ui/gtk/browser_window_gtk.h" 52 #include "chrome/browser/ui/gtk/browser_window_gtk.h"
53 #endif 53 #endif
54 54
55 // These conflict with base/tracked_objects.h, so need to come last. 55 // These conflict with base/tracked_objects.h, so need to come last.
56 #include <gdk/gdkx.h> 56 #include <gdk/gdkx.h>
57 #include <gtk/gtk.h> 57 #include <gtk/gtk.h>
58 58
59 using content::WebContents;
60
59 namespace { 61 namespace {
60 62
61 #if defined(GOOGLE_CHROME_BUILD) 63 #if defined(GOOGLE_CHROME_BUILD)
62 static const char* kIconName = "google-chrome"; 64 static const char* kIconName = "google-chrome";
63 #else 65 #else
64 static const char* kIconName = "chromium-browser"; 66 static const char* kIconName = "chromium-browser";
65 #endif 67 #endif
66 68
67 const char kBoldLabelMarkup[] = "<span weight='bold'>%s</span>"; 69 const char kBoldLabelMarkup[] = "<span weight='bold'>%s</span>";
68 70
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 GTK_WIDGET(item->data), 154 GTK_WIDGET(item->data),
153 event); 155 event);
154 } 156 }
155 g_list_free(children); 157 g_list_free(children);
156 158
157 return TRUE; 159 return TRUE;
158 } 160 }
159 161
160 #if defined(OS_CHROMEOS) 162 #if defined(OS_CHROMEOS)
161 163
162 TabContents* GetBrowserWindowSelectedTabContents(BrowserWindow* window) { 164 WebContents* GetBrowserWindowSelectedWebContents(BrowserWindow* window) {
163 chromeos::BrowserView* browser_view = static_cast<chromeos::BrowserView*>( 165 chromeos::BrowserView* browser_view = static_cast<chromeos::BrowserView*>(
164 window); 166 window);
165 return browser_view->GetSelectedTabContents(); 167 return browser_view->GetSelectedWebContents();
166 } 168 }
167 169
168 GtkWidget* GetBrowserWindowFocusedWidget(BrowserWindow* window) { 170 GtkWidget* GetBrowserWindowFocusedWidget(BrowserWindow* window) {
169 gfx::NativeView widget = gtk_window_get_focus(window->GetNativeHandle()); 171 gfx::NativeView widget = gtk_window_get_focus(window->GetNativeHandle());
170 172
171 if (widget == NULL) { 173 if (widget == NULL) {
172 chromeos::BrowserView* browser_view = static_cast<chromeos::BrowserView*>( 174 chromeos::BrowserView* browser_view = static_cast<chromeos::BrowserView*>(
173 window); 175 window);
174 widget = browser_view->saved_focused_widget(); 176 widget = browser_view->saved_focused_widget();
175 } 177 }
176 178
177 return widget; 179 return widget;
178 } 180 }
179 181
180 #else 182 #else
181 183
182 TabContents* GetBrowserWindowSelectedTabContents(BrowserWindow* window) { 184 WebContents* GetBrowserWindowSelectedWebContents(BrowserWindow* window) {
183 BrowserWindowGtk* browser_window = static_cast<BrowserWindowGtk*>( 185 BrowserWindowGtk* browser_window = static_cast<BrowserWindowGtk*>(
184 window); 186 window);
185 return browser_window->browser()->GetSelectedTabContents(); 187 return browser_window->browser()->GetSelectedWebContents();
186 } 188 }
187 189
188 GtkWidget* GetBrowserWindowFocusedWidget(BrowserWindow* window) { 190 GtkWidget* GetBrowserWindowFocusedWidget(BrowserWindow* window) {
189 return gtk_window_get_focus(window->GetNativeHandle()); 191 return gtk_window_get_focus(window->GetNativeHandle());
190 } 192 }
191 193
192 #endif 194 #endif
193 195
194 } // namespace 196 } // namespace
195 197
(...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 // against the current render view host, otherwise emit the specified |signal| 1167 // against the current render view host, otherwise emit the specified |signal|
1166 // against the focused widget. 1168 // against the focused widget.
1167 // TODO(suzhe): This approach does not work for plugins. 1169 // TODO(suzhe): This approach does not work for plugins.
1168 void DoCutCopyPaste(BrowserWindow* window, 1170 void DoCutCopyPaste(BrowserWindow* window,
1169 void (RenderViewHost::*method)(), 1171 void (RenderViewHost::*method)(),
1170 const char* signal) { 1172 const char* signal) {
1171 GtkWidget* widget = GetBrowserWindowFocusedWidget(window); 1173 GtkWidget* widget = GetBrowserWindowFocusedWidget(window);
1172 if (widget == NULL) 1174 if (widget == NULL)
1173 return; // Do nothing if no focused widget. 1175 return; // Do nothing if no focused widget.
1174 1176
1175 TabContents* current_tab = GetBrowserWindowSelectedTabContents(window); 1177 WebContents* current_tab = GetBrowserWindowSelectedWebContents(window);
1176 if (current_tab && widget == current_tab->GetContentNativeView()) { 1178 if (current_tab && widget == current_tab->GetContentNativeView()) {
1177 (current_tab->GetRenderViewHost()->*method)(); 1179 (current_tab->GetRenderViewHost()->*method)();
1178 } else { 1180 } else {
1179 guint id; 1181 guint id;
1180 if ((id = g_signal_lookup(signal, G_OBJECT_TYPE(widget))) != 0) 1182 if ((id = g_signal_lookup(signal, G_OBJECT_TYPE(widget))) != 0)
1181 g_signal_emit(widget, id, 0); 1183 g_signal_emit(widget, id, 0);
1182 } 1184 }
1183 } 1185 }
1184 1186
1185 void DoCut(BrowserWindow* window) { 1187 void DoCut(BrowserWindow* window) {
1186 DoCutCopyPaste(window, &RenderViewHost::Cut, "cut-clipboard"); 1188 DoCutCopyPaste(window, &RenderViewHost::Cut, "cut-clipboard");
1187 } 1189 }
1188 1190
1189 void DoCopy(BrowserWindow* window) { 1191 void DoCopy(BrowserWindow* window) {
1190 DoCutCopyPaste(window, &RenderViewHost::Copy, "copy-clipboard"); 1192 DoCutCopyPaste(window, &RenderViewHost::Copy, "copy-clipboard");
1191 } 1193 }
1192 1194
1193 void DoPaste(BrowserWindow* window) { 1195 void DoPaste(BrowserWindow* window) {
1194 DoCutCopyPaste(window, &RenderViewHost::Paste, "paste-clipboard"); 1196 DoCutCopyPaste(window, &RenderViewHost::Paste, "paste-clipboard");
1195 } 1197 }
1196 1198
1197 } // namespace gtk_util 1199 } // namespace gtk_util
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/browser_window_gtk.cc ('k') | chrome/browser/ui/gtk/omnibox/omnibox_view_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698