OLD | NEW |
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_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_BASE_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_BASE_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_BASE_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_BASE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/callback_forward.h" | 14 #include "base/callback_forward.h" |
15 #include "base/macros.h" | 15 #include "base/macros.h" |
16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
17 #include "base/process/kill.h" | 17 #include "base/process/kill.h" |
18 #include "base/timer/timer.h" | 18 #include "base/timer/timer.h" |
19 #include "build/build_config.h" | 19 #include "build/build_config.h" |
20 #include "cc/output/compositor_frame.h" | 20 #include "cc/output/compositor_frame.h" |
| 21 #include "cc/surfaces/surface_id.h" |
21 #include "content/browser/renderer_host/event_with_latency_info.h" | 22 #include "content/browser/renderer_host/event_with_latency_info.h" |
22 #include "content/common/content_export.h" | 23 #include "content/common/content_export.h" |
23 #include "content/common/input/input_event_ack_state.h" | 24 #include "content/common/input/input_event_ack_state.h" |
24 #include "content/public/browser/readback_types.h" | 25 #include "content/public/browser/readback_types.h" |
25 #include "content/public/browser/render_widget_host_view.h" | 26 #include "content/public/browser/render_widget_host_view.h" |
26 #include "ipc/ipc_listener.h" | 27 #include "ipc/ipc_listener.h" |
27 #include "third_party/WebKit/public/platform/modules/screen_orientation/WebScree
nOrientationType.h" | 28 #include "third_party/WebKit/public/platform/modules/screen_orientation/WebScree
nOrientationType.h" |
28 #include "third_party/WebKit/public/web/WebPopupType.h" | 29 #include "third_party/WebKit/public/web/WebPopupType.h" |
29 #include "third_party/WebKit/public/web/WebTextDirection.h" | 30 #include "third_party/WebKit/public/web/WebTextDirection.h" |
30 #include "ui/base/ime/text_input_mode.h" | 31 #include "ui/base/ime/text_input_mode.h" |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 | 382 |
382 // Returns an HWND that's given as the parent window for windowless Flash to | 383 // Returns an HWND that's given as the parent window for windowless Flash to |
383 // workaround crbug.com/301548. | 384 // workaround crbug.com/301548. |
384 virtual gfx::NativeViewId GetParentForWindowlessPlugin() const = 0; | 385 virtual gfx::NativeViewId GetParentForWindowlessPlugin() const = 0; |
385 | 386 |
386 // The callback that DetachPluginsHelper calls for each child window. Call | 387 // The callback that DetachPluginsHelper calls for each child window. Call |
387 // this directly if you want to do custom filtering on plugin windows first. | 388 // this directly if you want to do custom filtering on plugin windows first. |
388 static void DetachPluginWindowsCallback(HWND window); | 389 static void DetachPluginWindowsCallback(HWND window); |
389 #endif | 390 #endif |
390 | 391 |
| 392 // Exposed for testing. |
| 393 virtual cc::SurfaceId SurfaceIdForTesting() const; |
| 394 |
391 protected: | 395 protected: |
392 // Interface class only, do not construct. | 396 // Interface class only, do not construct. |
393 RenderWidgetHostViewBase(); | 397 RenderWidgetHostViewBase(); |
394 | 398 |
395 #if defined(OS_WIN) | 399 #if defined(OS_WIN) |
396 // Shared implementation of MovePluginWindows for use by win and aura/wina. | 400 // Shared implementation of MovePluginWindows for use by win and aura/wina. |
397 static void MovePluginWindowsHelper( | 401 static void MovePluginWindowsHelper( |
398 HWND parent, | 402 HWND parent, |
399 const std::vector<WebPluginGeometry>& moves); | 403 const std::vector<WebPluginGeometry>& moves); |
400 | 404 |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 base::OneShotTimer flush_input_timer_; | 459 base::OneShotTimer flush_input_timer_; |
456 | 460 |
457 base::WeakPtrFactory<RenderWidgetHostViewBase> weak_factory_; | 461 base::WeakPtrFactory<RenderWidgetHostViewBase> weak_factory_; |
458 | 462 |
459 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewBase); | 463 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewBase); |
460 }; | 464 }; |
461 | 465 |
462 } // namespace content | 466 } // namespace content |
463 | 467 |
464 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_BASE_H_ | 468 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_BASE_H_ |
OLD | NEW |