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

Side by Side Diff: chrome/browser/renderer_host/render_widget_host.h

Issue 147011: Integrating GtkIMContext into the RenderWidgetHostViewGtk class (Take 2).... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/renderer_host/render_widget_host.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_
6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_
7 7
8 #include <queue> 8 #include <queue>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 // } 274 // }
275 // Once we cancel updating the text direction, we have to ignore all 275 // Once we cancel updating the text direction, we have to ignore all
276 // succeeding UpdateTextDirection() requests until calling 276 // succeeding UpdateTextDirection() requests until calling
277 // NotifyTextDirection(). (We may receive keydown events even after we 277 // NotifyTextDirection(). (We may receive keydown events even after we
278 // canceled updating the text direction because of auto-repeat.) 278 // canceled updating the text direction because of auto-repeat.)
279 // Note: we cannot undo this change for compatibility with Firefox and IE. 279 // Note: we cannot undo this change for compatibility with Firefox and IE.
280 void UpdateTextDirection(WebTextDirection direction); 280 void UpdateTextDirection(WebTextDirection direction);
281 void CancelUpdateTextDirection(); 281 void CancelUpdateTextDirection();
282 void NotifyTextDirection(); 282 void NotifyTextDirection();
283 283
284 // Notifies the renderer whether or not the IME attached to this process is
285 // activated.
286 // When the IME is activated, a renderer process sends IPC messages to notify
287 // the status of its composition node. (This message is mainly used for
288 // notifying the position of the input cursor so that the browser can
289 // display IME windows under the cursor.)
290 void ImeSetInputMode(bool activate);
291
292 // Update the composition node of the renderer (or WebKit).
293 // WebKit has a special node (a composition node) for IMEs to change its text
294 // without affecting any other DOM nodes. When the IME (attached to the
295 // browser) updates its text, the browser sends IPC messages to update the
296 // composition node of the renderer.
297 // (Read the comments of each function for its detail.)
298
299 // Sets the text of the composition node.
300 // This function can also update the cursor position and mark the specified
301 // range in the composition node.
302 // A browser should call this function:
303 // * when it receives a WM_IME_COMPOSITION message with a GCS_COMPSTR flag
304 // (on Windows);
305 // * when it receives a "preedit_changed" signal of GtkIMContext (on Linux);
306 // * when markedText of NSTextInput is called (on Mac).
307 void ImeSetComposition(const std::wstring& ime_string,
308 int cursor_position,
309 int target_start,
310 int target_end);
311
312 // Finishes an ongoing composition with the specified text.
313 // A browser should call this function:
314 // * when it receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR flag
315 // (on Windows);
316 // * when it receives a "commit" signal of GtkIMContext (on Linux);
317 // * when insertText of NSTextInput is called (on Mac).
318 void ImeConfirmComposition(const std::wstring& ime_string);
319
320 // Cancels an ongoing composition.
321 void ImeCancelComposition();
322
284 // This is for derived classes to give us access to the resizer rect. 323 // This is for derived classes to give us access to the resizer rect.
285 // And to also expose it to the RenderWidgetHostView. 324 // And to also expose it to the RenderWidgetHostView.
286 virtual gfx::Rect GetRootWindowResizerRect() const; 325 virtual gfx::Rect GetRootWindowResizerRect() const;
287 326
288 protected: 327 protected:
289 // Internal implementation of the public Forward*Event() methods. 328 // Internal implementation of the public Forward*Event() methods.
290 void ForwardInputEvent( 329 void ForwardInputEvent(
291 const WebKit::WebInputEvent& input_event, int event_size); 330 const WebKit::WebInputEvent& input_event, int event_size);
292 331
293 // Called when we receive a notification indicating that the renderer 332 // Called when we receive a notification indicating that the renderer
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 498
460 // Set when we cancel updating the text direction. 499 // Set when we cancel updating the text direction.
461 // This flag also ignores succeeding update requests until we call 500 // This flag also ignores succeeding update requests until we call
462 // NotifyTextDirection(). 501 // NotifyTextDirection().
463 bool text_direction_canceled_; 502 bool text_direction_canceled_;
464 503
465 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); 504 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost);
466 }; 505 };
467 506
468 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ 507 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/renderer_host/render_widget_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698