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

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

Issue 1278593004: Introduce ThreadedInputConnection behind a switch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: prepare for factory unit test, propagate fallback to renderer Created 4 years, 10 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
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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 // This mechanism is not a drop-in replacement for IPC: messages sent this way 312 // This mechanism is not a drop-in replacement for IPC: messages sent this way
313 // will not be automatically available to BrowserMessageFilter, for example. 313 // will not be automatically available to BrowserMessageFilter, for example.
314 // FIFO ordering is preserved between messages enqueued with the same 314 // FIFO ordering is preserved between messages enqueued with the same
315 // |policy|, the ordering between messages enqueued for different policies is 315 // |policy|, the ordering between messages enqueued for different policies is
316 // undefined. 316 // undefined.
317 // 317 //
318 // |msg| message to send, ownership of |msg| is transferred. 318 // |msg| message to send, ownership of |msg| is transferred.
319 // |policy| see the comment on MessageDeliveryPolicy. 319 // |policy| see the comment on MessageDeliveryPolicy.
320 void QueueMessage(IPC::Message* msg, MessageDeliveryPolicy policy); 320 void QueueMessage(IPC::Message* msg, MessageDeliveryPolicy policy);
321 321
322 // Check whether IME thread is being used or not.
323 bool IsUsingImeThread();
324
322 // Handle start and finish of IME event guard. 325 // Handle start and finish of IME event guard.
323 void OnImeEventGuardStart(ImeEventGuard* guard); 326 void OnImeEventGuardStart(ImeEventGuard* guard);
324 void OnImeEventGuardFinish(ImeEventGuard* guard); 327 void OnImeEventGuardFinish(ImeEventGuard* guard);
325 328
326 // Returns whether we currently should handle an IME event. 329 // Returns whether we currently should handle an IME event.
327 bool ShouldHandleImeEvent(); 330 bool ShouldHandleImeEvent();
328 331
329 void SetPopupOriginAdjustmentsForEmulation( 332 void SetPopupOriginAdjustmentsForEmulation(
330 RenderWidgetScreenMetricsEmulator* emulator); 333 RenderWidgetScreenMetricsEmulator* emulator);
331 334
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 void OnShowImeIfNeeded(); 457 void OnShowImeIfNeeded();
455 void OnSetSurfaceIdNamespace(uint32_t surface_id_namespace); 458 void OnSetSurfaceIdNamespace(uint32_t surface_id_namespace);
456 void OnHandleCompositorProto(const std::vector<uint8_t>& proto); 459 void OnHandleCompositorProto(const std::vector<uint8_t>& proto);
457 460
458 #if defined(OS_ANDROID) 461 #if defined(OS_ANDROID)
459 // Called when we send IME event that expects an ACK. 462 // Called when we send IME event that expects an ACK.
460 void OnImeEventSentForAck(const blink::WebTextInputInfo& info); 463 void OnImeEventSentForAck(const blink::WebTextInputInfo& info);
461 464
462 // Called by the browser process for every required IME acknowledgement. 465 // Called by the browser process for every required IME acknowledgement.
463 void OnImeEventAck(); 466 void OnImeEventAck();
467
468 // Called by the browser process to update text input state.
469 void OnRequestTextInputStateUpdate();
470
471 // Called by the browser process to disable IME thread.
472 void OnDisableImeThread();
464 #endif 473 #endif
465 474
466 // Notify the compositor about a change in viewport size. This should be 475 // Notify the compositor about a change in viewport size. This should be
467 // used only with auto resize mode WebWidgets, as normal WebWidgets should 476 // used only with auto resize mode WebWidgets, as normal WebWidgets should
468 // go through OnResize. 477 // go through OnResize.
469 void AutoResizeCompositor(); 478 void AutoResizeCompositor();
470 479
471 virtual void SetDeviceScaleFactor(float device_scale_factor); 480 virtual void SetDeviceScaleFactor(float device_scale_factor);
472 virtual bool SetDeviceColorProfile(const std::vector<char>& color_profile); 481 virtual bool SetDeviceColorProfile(const std::vector<char>& color_profile);
473 virtual void ResetDeviceColorProfileForTesting(); 482 virtual void ResetDeviceColorProfileForTesting();
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 std::queue<SyntheticGestureCompletionCallback> 724 std::queue<SyntheticGestureCompletionCallback>
716 pending_synthetic_gesture_callbacks_; 725 pending_synthetic_gesture_callbacks_;
717 726
718 uint32_t next_output_surface_id_; 727 uint32_t next_output_surface_id_;
719 728
720 #if defined(OS_ANDROID) 729 #if defined(OS_ANDROID)
721 // Indicates value in the focused text field is in dirty state, i.e. modified 730 // Indicates value in the focused text field is in dirty state, i.e. modified
722 // by script etc., not by user input. 731 // by script etc., not by user input.
723 bool text_field_is_dirty_; 732 bool text_field_is_dirty_;
724 733
734 // True if we disabled IME thread due to an error.
735 bool ime_thread_disabled_due_to_error_;
736
725 // Stores the history of text input infos from the last ACK'ed one from the 737 // Stores the history of text input infos from the last ACK'ed one from the
726 // current one. The size is the number of pending ACKs plus one, since we 738 // current one. The size is the number of pending ACKs plus one, since we
727 // intentionally keep the last ack'd value to know what the browser is 739 // intentionally keep the last ack'd value to know what the browser is
728 // currently aware of. 740 // currently aware of.
729 std::deque<blink::WebTextInputInfo> text_input_info_history_; 741 std::deque<blink::WebTextInputInfo> text_input_info_history_;
730 #endif 742 #endif
731 743
732 scoped_ptr<RenderWidgetScreenMetricsEmulator> screen_metrics_emulator_; 744 scoped_ptr<RenderWidgetScreenMetricsEmulator> screen_metrics_emulator_;
733 745
734 // Popups may be displaced when screen metrics emulation is enabled. 746 // Popups may be displaced when screen metrics emulation is enabled.
(...skipping 22 matching lines...) Expand all
757 769
758 scoped_ptr<scheduler::RenderWidgetSchedulingState> 770 scoped_ptr<scheduler::RenderWidgetSchedulingState>
759 render_widget_scheduling_state_; 771 render_widget_scheduling_state_;
760 772
761 DISALLOW_COPY_AND_ASSIGN(RenderWidget); 773 DISALLOW_COPY_AND_ASSIGN(RenderWidget);
762 }; 774 };
763 775
764 } // namespace content 776 } // namespace content
765 777
766 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ 778 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698