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

Side by Side Diff: content/renderer/render_widget.h

Issue 2121953002: Do not calculate composition bounds until IME requests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test failures Created 4 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
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | content/renderer/render_widget.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CONTENT_RENDERER_RENDER_WIDGET_H_ 5 #ifndef CONTENT_RENDERER_RENDER_WIDGET_H_
6 #define CONTENT_RENDERER_RENDER_WIDGET_H_ 6 #define CONTENT_RENDERER_RENDER_WIDGET_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 void UpdateSelectionBounds(); 345 void UpdateSelectionBounds();
346 346
347 virtual void GetSelectionBounds(gfx::Rect* start, gfx::Rect* end); 347 virtual void GetSelectionBounds(gfx::Rect* start, gfx::Rect* end);
348 348
349 void OnShowHostContextMenu(ContextMenuParams* params); 349 void OnShowHostContextMenu(ContextMenuParams* params);
350 350
351 // Checks if the composition range or composition character bounds have been 351 // Checks if the composition range or composition character bounds have been
352 // changed. If they are changed, the new value will be sent to the browser 352 // changed. If they are changed, the new value will be sent to the browser
353 // process. This method does nothing when the browser process is not able to 353 // process. This method does nothing when the browser process is not able to
354 // handle composition range and composition character bounds. 354 // handle composition range and composition character bounds.
355 void UpdateCompositionInfo(bool should_update_range); 355 // If immediate_request is true, render sends the latest composition info to
356 // the browser even if the composition info is not changed.
357 void UpdateCompositionInfo(bool immediate_request);
356 358
357 // Change the device ICC color profile while running a layout test. 359 // Change the device ICC color profile while running a layout test.
358 void SetDeviceColorProfileForTesting(const std::vector<char>& color_profile); 360 void SetDeviceColorProfileForTesting(const std::vector<char>& color_profile);
359 void ResetDeviceColorProfileForTesting(); 361 void ResetDeviceColorProfileForTesting();
360 362
361 // Called when the Widget has changed size as a result of an auto-resize. 363 // Called when the Widget has changed size as a result of an auto-resize.
362 void DidAutoResize(const gfx::Size& new_size); 364 void DidAutoResize(const gfx::Size& new_size);
363 365
364 // Called to get the position of the root window containing the widget in 366 // Called to get the position of the root window containing the widget in
365 // screen coordinates. 367 // screen coordinates.
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 // Called when we send IME event that expects an ACK. 489 // Called when we send IME event that expects an ACK.
488 void OnImeEventSentForAck(const blink::WebTextInputInfo& info); 490 void OnImeEventSentForAck(const blink::WebTextInputInfo& info);
489 491
490 // Called by the browser process for every required IME acknowledgement. 492 // Called by the browser process for every required IME acknowledgement.
491 void OnImeEventAck(); 493 void OnImeEventAck();
492 494
493 // Called by the browser process to update text input state. 495 // Called by the browser process to update text input state.
494 void OnRequestTextInputStateUpdate(); 496 void OnRequestTextInputStateUpdate();
495 #endif 497 #endif
496 498
499 // Called by the browser process to update the cursor and composition
500 // information.
501 void OnRequestCompositionUpdate(bool immediate_request, bool monitor_request);
502
497 // Notify the compositor about a change in viewport size. This should be 503 // Notify the compositor about a change in viewport size. This should be
498 // used only with auto resize mode WebWidgets, as normal WebWidgets should 504 // used only with auto resize mode WebWidgets, as normal WebWidgets should
499 // go through OnResize. 505 // go through OnResize.
500 void AutoResizeCompositor(); 506 void AutoResizeCompositor();
501 507
502 virtual void SetDeviceScaleFactor(float device_scale_factor); 508 virtual void SetDeviceScaleFactor(float device_scale_factor);
503 bool SetDeviceColorProfile(const std::vector<char>& color_profile); 509 bool SetDeviceColorProfile(const std::vector<char>& color_profile);
504 510
505 virtual void OnOrientationChange(); 511 virtual void OnOrientationChange();
506 512
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 // by script etc., not by user input. 737 // by script etc., not by user input.
732 bool text_field_is_dirty_; 738 bool text_field_is_dirty_;
733 739
734 // Stores the history of text input infos from the last ACK'ed one from the 740 // Stores the history of text input infos from the last ACK'ed one from the
735 // current one. The size is the number of pending ACKs plus one, since we 741 // current one. The size is the number of pending ACKs plus one, since we
736 // intentionally keep the last ack'd value to know what the browser is 742 // intentionally keep the last ack'd value to know what the browser is
737 // currently aware of. 743 // currently aware of.
738 std::deque<blink::WebTextInputInfo> text_input_info_history_; 744 std::deque<blink::WebTextInputInfo> text_input_info_history_;
739 #endif 745 #endif
740 746
747 // True if the IME requests updated composition info.
748 bool monitor_composition_info_;
749
741 std::unique_ptr<RenderWidgetScreenMetricsEmulator> screen_metrics_emulator_; 750 std::unique_ptr<RenderWidgetScreenMetricsEmulator> screen_metrics_emulator_;
742 751
743 // Popups may be displaced when screen metrics emulation is enabled. 752 // Popups may be displaced when screen metrics emulation is enabled.
744 // These values are used to properly adjust popup position. 753 // These values are used to properly adjust popup position.
745 gfx::Point popup_view_origin_for_emulation_; 754 gfx::Point popup_view_origin_for_emulation_;
746 gfx::Point popup_screen_origin_for_emulation_; 755 gfx::Point popup_screen_origin_for_emulation_;
747 float popup_origin_scale_for_emulation_; 756 float popup_origin_scale_for_emulation_;
748 757
749 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; 758 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
750 std::unique_ptr<ResizingModeSelector> resizing_mode_selector_; 759 std::unique_ptr<ResizingModeSelector> resizing_mode_selector_;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 // This reference is set by the RenderFrame and is used to query the IME- 792 // This reference is set by the RenderFrame and is used to query the IME-
784 // related state from the plugin to later send to the browser. 793 // related state from the plugin to later send to the browser.
785 PepperPluginInstanceImpl* focused_pepper_plugin_; 794 PepperPluginInstanceImpl* focused_pepper_plugin_;
786 795
787 DISALLOW_COPY_AND_ASSIGN(RenderWidget); 796 DISALLOW_COPY_AND_ASSIGN(RenderWidget);
788 }; 797 };
789 798
790 } // namespace content 799 } // namespace content
791 800
792 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ 801 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698