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

Side by Side Diff: content/browser/renderer_host/gtk_im_context_wrapper.cc

Issue 7669040: content: Move render_widget_host_view_gtk to content/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: chromeos 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 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/renderer_host/gtk_im_context_wrapper.h" 5 #include "content/browser/renderer_host/gtk_im_context_wrapper.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 #include <gdk/gdkkeysyms.h> 8 #include <gdk/gdkkeysyms.h>
9 #include <gtk/gtk.h> 9 #include <gtk/gtk.h>
10 10
11 #include <algorithm> 11 #include <algorithm>
12 12
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/string_util.h" 14 #include "base/string_util.h"
15 #include "base/third_party/icu/icu_utf.h"
16 #include "base/utf_string_conversions.h" 15 #include "base/utf_string_conversions.h"
17 #include "chrome/app/chrome_command_ids.h"
18 #include "chrome/browser/ui/gtk/gtk_util.h"
19 #include "chrome/browser/renderer_host/render_widget_host_view_gtk.h"
20 #include "chrome/common/render_messages.h"
21 #include "content/browser/renderer_host/render_widget_host.h" 16 #include "content/browser/renderer_host/render_widget_host.h"
17 #include "content/browser/renderer_host/render_widget_host_view_gtk.h"
22 #include "content/common/native_web_keyboard_event.h" 18 #include "content/common/native_web_keyboard_event.h"
23 #include "grit/generated_resources.h"
24 #include "third_party/skia/include/core/SkColor.h"
25 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositionUnderli ne.h" 19 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositionUnderli ne.h"
26 #include "ui/base/gtk/gtk_im_context_util.h" 20 #include "ui/base/gtk/gtk_im_context_util.h"
27 #include "ui/base/l10n/l10n_util.h"
28 #include "ui/gfx/gtk_util.h" 21 #include "ui/gfx/gtk_util.h"
29 #include "ui/gfx/rect.h" 22 #include "ui/gfx/rect.h"
30 23
31 #if !defined(TOOLKIT_VIEWS)
32 #include "chrome/browser/ui/gtk/menu_gtk.h"
33 #endif
34
35 namespace { 24 namespace {
36 // Copied from third_party/WebKit/Source/WebCore/page/EventHandler.cpp 25 // Copied from third_party/WebKit/Source/WebCore/page/EventHandler.cpp
37 // 26 //
38 // Match key code of composition keydown event on windows. 27 // Match key code of composition keydown event on windows.
39 // IE sends VK_PROCESSKEY which has value 229; 28 // IE sends VK_PROCESSKEY which has value 229;
40 // 29 //
41 // Please refer to following documents for detals: 30 // Please refer to following documents for detals:
42 // - Virtual-Key Codes 31 // - Virtual-Key Codes
43 // http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx 32 // http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx
44 // - How the IME System Works 33 // - How the IME System Works
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 is_composing_text_ = false; 301 is_composing_text_ = false;
313 302
314 // Disable RenderWidget's IME related events to save bandwidth. 303 // Disable RenderWidget's IME related events to save bandwidth.
315 if (host_view_->GetRenderWidgetHost()) 304 if (host_view_->GetRenderWidgetHost())
316 host_view_->GetRenderWidgetHost()->SetInputMethodActive(false); 305 host_view_->GetRenderWidgetHost()->SetInputMethodActive(false);
317 } 306 }
318 307
319 #if !defined(TOOLKIT_VIEWS) 308 #if !defined(TOOLKIT_VIEWS)
320 // Not defined for views because the views context menu doesn't 309 // Not defined for views because the views context menu doesn't
321 // implement input methods yet. 310 // implement input methods yet.
322 void GtkIMContextWrapper::AppendInputMethodsContextMenu(MenuGtk* menu) { 311 GtkWidget* GtkIMContextWrapper::BuildInputMethodsGtkMenu() {
323 gboolean show_input_method_menu = TRUE;
324
325 g_object_get(gtk_widget_get_settings(GTK_WIDGET(host_view_->native_view())),
326 "gtk-show-input-method-menu", &show_input_method_menu, NULL);
327 if (!show_input_method_menu)
328 return;
329
330 std::string label = gfx::ConvertAcceleratorsFromWindowsStyle(
331 l10n_util::GetStringUTF8(IDS_CONTENT_CONTEXT_INPUT_METHODS_MENU));
332 GtkWidget* menuitem = gtk_menu_item_new_with_mnemonic(label.c_str());
333 GtkWidget* submenu = gtk_menu_new(); 312 GtkWidget* submenu = gtk_menu_new();
334 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
335 gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(context_), 313 gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(context_),
336 GTK_MENU_SHELL(submenu)); 314 GTK_MENU_SHELL(submenu));
337 menu->AppendSeparator(); 315 return submenu;
338 menu->AppendMenuItem(IDC_INPUT_METHODS_MENU, menuitem);
339 } 316 }
340 #endif 317 #endif
341 318
342 void GtkIMContextWrapper::CancelComposition() { 319 void GtkIMContextWrapper::CancelComposition() {
343 if (!is_enabled_) 320 if (!is_enabled_)
344 return; 321 return;
345 322
346 DCHECK(!is_in_key_event_handler_); 323 DCHECK(!is_in_key_event_handler_);
347 324
348 // To prevent any text from being committed when resetting the |context_|; 325 // To prevent any text from being committed when resetting the |context_|;
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 610
634 void GtkIMContextWrapper::HandleHostViewRealizeThunk( 611 void GtkIMContextWrapper::HandleHostViewRealizeThunk(
635 GtkWidget* widget, GtkIMContextWrapper* self) { 612 GtkWidget* widget, GtkIMContextWrapper* self) {
636 self->HandleHostViewRealize(widget); 613 self->HandleHostViewRealize(widget);
637 } 614 }
638 615
639 void GtkIMContextWrapper::HandleHostViewUnrealizeThunk( 616 void GtkIMContextWrapper::HandleHostViewUnrealizeThunk(
640 GtkWidget* widget, GtkIMContextWrapper* self) { 617 GtkWidget* widget, GtkIMContextWrapper* self) {
641 self->HandleHostViewUnrealize(); 618 self->HandleHostViewUnrealize();
642 } 619 }
OLDNEW
« no previous file with comments | « content/browser/renderer_host/gtk_im_context_wrapper.h ('k') | content/browser/renderer_host/gtk_key_bindings_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698