OLD | NEW |
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 <deque> | 8 #include <deque> |
9 #include <string> | |
10 #include <vector> | |
11 | 9 |
12 #include "app/surface/transport_dib.h" | 10 #include "app/surface/transport_dib.h" |
13 #include "base/gtest_prod_util.h" | 11 #include "base/gtest_prod_util.h" |
14 #include "base/process.h" | 12 #include "base/process.h" |
15 #include "base/scoped_ptr.h" | 13 #include "base/scoped_ptr.h" |
16 #include "base/string16.h" | 14 #include "base/string16.h" |
17 #include "base/timer.h" | 15 #include "base/timer.h" |
18 #include "chrome/common/edit_command.h" | 16 #include "chrome/common/edit_command.h" |
19 #include "chrome/common/native_web_keyboard_event.h" | 17 #include "chrome/common/native_web_keyboard_event.h" |
20 #include "chrome/common/property_bag.h" | 18 #include "chrome/common/property_bag.h" |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 // Makes an IPC call to tell webkit to replace the currently selected word | 363 // Makes an IPC call to tell webkit to replace the currently selected word |
366 // or a word around the cursor. | 364 // or a word around the cursor. |
367 void Replace(const string16& word); | 365 void Replace(const string16& word); |
368 | 366 |
369 // Makes an IPC call to tell webkit to advance to the next misspelling. | 367 // Makes an IPC call to tell webkit to advance to the next misspelling. |
370 void AdvanceToNextMisspelling(); | 368 void AdvanceToNextMisspelling(); |
371 | 369 |
372 // Requests a snapshot of an accessible DOM tree from the renderer. | 370 // Requests a snapshot of an accessible DOM tree from the renderer. |
373 void RequestAccessibilityTree(); | 371 void RequestAccessibilityTree(); |
374 | 372 |
375 // Aid for determining when an accessibility tree request can be made. Set by | |
376 // TabContents to true on document load and to false on page nativigation. | |
377 void SetDocumentLoaded(bool document_loaded); | |
378 | |
379 // Enable renderer accessibility. This should only be called when a | |
380 // screenreader is detected. | |
381 void EnableRendererAccessibility(); | |
382 | |
383 // Relays a request from assistive technology to set focus to the | 373 // Relays a request from assistive technology to set focus to the |
384 // node with this accessibility object id. | 374 // node with this accessibility object id. |
385 void SetAccessibilityFocus(int acc_obj_id); | 375 void SetAccessibilityFocus(int acc_obj_id); |
386 | 376 |
387 // Relays a request from assistive technology to perform the default action | 377 // Relays a request from assistive technology to perform the default action |
388 // on a node with this accessibility object id. | 378 // on a node with this accessibility object id. |
389 void AccessibilityDoDefaultAction(int acc_obj_id); | 379 void AccessibilityDoDefaultAction(int acc_obj_id); |
390 | 380 |
391 // Sets the active state (i.e., control tints). | 381 // Sets the active state (i.e., control tints). |
392 virtual void SetActive(bool active); | 382 virtual void SetActive(bool active); |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 const gfx::Rect& bitmap_rect); | 523 const gfx::Rect& bitmap_rect); |
534 | 524 |
535 // Called by OnMsgInputEventAck() to process a keyboard event ack message. | 525 // Called by OnMsgInputEventAck() to process a keyboard event ack message. |
536 void ProcessKeyboardEventAck(int type, bool processed); | 526 void ProcessKeyboardEventAck(int type, bool processed); |
537 | 527 |
538 // Called by OnMsgInputEventAck() to process a wheel event ack message. | 528 // Called by OnMsgInputEventAck() to process a wheel event ack message. |
539 // This could result in a task being posted to allow additional wheel | 529 // This could result in a task being posted to allow additional wheel |
540 // input messages to be coalesced. | 530 // input messages to be coalesced. |
541 void ProcessWheelAck(); | 531 void ProcessWheelAck(); |
542 | 532 |
543 // True if renderer accessibility is enabled. This should only be set when a | |
544 // screenreader is detected as it can potentially slow down Chrome. | |
545 static bool renderer_accessible_; | |
546 | |
547 // The View associated with the RenderViewHost. The lifetime of this object | 533 // The View associated with the RenderViewHost. The lifetime of this object |
548 // is associated with the lifetime of the Render process. If the Renderer | 534 // is associated with the lifetime of the Render process. If the Renderer |
549 // crashes, its View is destroyed and this pointer becomes NULL, even though | 535 // crashes, its View is destroyed and this pointer becomes NULL, even though |
550 // render_view_host_ lives on to load another URL (creating a new View while | 536 // render_view_host_ lives on to load another URL (creating a new View while |
551 // doing so). | 537 // doing so). |
552 RenderWidgetHostView* view_; | 538 RenderWidgetHostView* view_; |
553 | 539 |
554 // Created during construction but initialized during Init*(). Therefore, it | 540 // Created during construction but initialized during Init*(). Therefore, it |
555 // is guaranteed never to be NULL, but its channel may be NULL if the | 541 // is guaranteed never to be NULL, but its channel may be NULL if the |
556 // renderer crashed, so you must always check that. | 542 // renderer crashed, so you must always check that. |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 // shall not send the following sequence of Char events, which was generated | 660 // shall not send the following sequence of Char events, which was generated |
675 // by this RawKeyDown event, to the renderer. Otherwise the renderer may | 661 // by this RawKeyDown event, to the renderer. Otherwise the renderer may |
676 // handle the Char events and cause unexpected behavior. | 662 // handle the Char events and cause unexpected behavior. |
677 // For example, pressing alt-2 may let the browser switch to the second tab, | 663 // For example, pressing alt-2 may let the browser switch to the second tab, |
678 // but the Char event generated by alt-2 may also activate a HTML element | 664 // but the Char event generated by alt-2 may also activate a HTML element |
679 // if its accesskey happens to be "2", then the user may get confused when | 665 // if its accesskey happens to be "2", then the user may get confused when |
680 // switching back to the original tab, because the content may already be | 666 // switching back to the original tab, because the content may already be |
681 // changed. | 667 // changed. |
682 bool suppress_next_char_events_; | 668 bool suppress_next_char_events_; |
683 | 669 |
684 // Keep track of if we have a loaded document so that we can request an | |
685 // accessibility tree on demand when renderer accessibility is enabled. | |
686 bool document_loaded_; | |
687 | |
688 // Keep track of if we've already requested the accessibility tree so | |
689 // we don't do it more than once. | |
690 bool requested_accessibility_tree_; | |
691 | |
692 // Optional video YUV layer for used for out-of-process compositing. | 670 // Optional video YUV layer for used for out-of-process compositing. |
693 scoped_ptr<VideoLayer> video_layer_; | 671 scoped_ptr<VideoLayer> video_layer_; |
694 | 672 |
695 // Set to true if we want to wait until at least one more time through | 673 // Set to true if we want to wait until at least one more time through |
696 // the event loop to see if any additional wheel messages are coming in | 674 // the event loop to see if any additional wheel messages are coming in |
697 // before sending the coalesced ones. | 675 // before sending the coalesced ones. |
698 bool spin_runloop_before_sending_wheel_event_; | 676 bool spin_runloop_before_sending_wheel_event_; |
699 | 677 |
700 // The time the last wheel message was sent to the renderer. | 678 // The time the last wheel message was sent to the renderer. |
701 base::TimeTicks last_wheel_message_time_; | 679 base::TimeTicks last_wheel_message_time_; |
702 | 680 |
703 // For running tasks. | 681 // For running tasks. |
704 ScopedRunnableMethodFactory<RenderWidgetHost> method_runner_; | 682 ScopedRunnableMethodFactory<RenderWidgetHost> method_runner_; |
705 | 683 |
706 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); | 684 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); |
707 }; | 685 }; |
708 | 686 |
709 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 687 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
OLD | NEW |