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_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <functional> | 10 #include <functional> |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 class PluginContentOriginWhitelist; | 66 class PluginContentOriginWhitelist; |
67 class PowerSaveBlocker; | 67 class PowerSaveBlocker; |
68 class RenderViewHost; | 68 class RenderViewHost; |
69 class RenderViewHostDelegateView; | 69 class RenderViewHostDelegateView; |
70 class RenderWidgetHostImpl; | 70 class RenderWidgetHostImpl; |
71 class RenderWidgetHostInputEventRouter; | 71 class RenderWidgetHostInputEventRouter; |
72 class SavePackage; | 72 class SavePackage; |
73 class ScreenOrientationDispatcherHost; | 73 class ScreenOrientationDispatcherHost; |
74 class SiteInstance; | 74 class SiteInstance; |
75 class TestWebContents; | 75 class TestWebContents; |
| 76 class TextInputManager; |
76 class WakeLockServiceContext; | 77 class WakeLockServiceContext; |
77 class WebContentsAudioMuter; | 78 class WebContentsAudioMuter; |
78 class WebContentsDelegate; | 79 class WebContentsDelegate; |
79 class WebContentsImpl; | 80 class WebContentsImpl; |
80 class WebContentsView; | 81 class WebContentsView; |
81 class WebContentsViewDelegate; | 82 class WebContentsViewDelegate; |
82 struct AXEventNotificationDetails; | 83 struct AXEventNotificationDetails; |
83 struct ColorSuggestion; | 84 struct ColorSuggestion; |
84 struct FaviconURL; | 85 struct FaviconURL; |
85 struct LoadNotificationDetails; | 86 struct LoadNotificationDetails; |
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 bool IsFullscreenForCurrentTab() const override; | 623 bool IsFullscreenForCurrentTab() const override; |
623 blink::WebDisplayMode GetDisplayMode( | 624 blink::WebDisplayMode GetDisplayMode( |
624 RenderWidgetHostImpl* render_widget_host) const override; | 625 RenderWidgetHostImpl* render_widget_host) const override; |
625 void LostCapture(RenderWidgetHostImpl* render_widget_host) override; | 626 void LostCapture(RenderWidgetHostImpl* render_widget_host) override; |
626 void LostMouseLock(RenderWidgetHostImpl* render_widget_host) override; | 627 void LostMouseLock(RenderWidgetHostImpl* render_widget_host) override; |
627 void ForwardCompositorProto(RenderWidgetHostImpl* render_widget_host, | 628 void ForwardCompositorProto(RenderWidgetHostImpl* render_widget_host, |
628 const std::vector<uint8_t>& proto) override; | 629 const std::vector<uint8_t>& proto) override; |
629 void OnRenderFrameProxyVisibilityChanged(bool visible) override; | 630 void OnRenderFrameProxyVisibilityChanged(bool visible) override; |
630 void SendScreenRects() override; | 631 void SendScreenRects() override; |
631 void OnFirstPaintAfterLoad(RenderWidgetHostImpl* render_widget_host) override; | 632 void OnFirstPaintAfterLoad(RenderWidgetHostImpl* render_widget_host) override; |
| 633 TextInputManager* GetTextInputManager() override; |
632 | 634 |
633 // RenderFrameHostManager::Delegate ------------------------------------------ | 635 // RenderFrameHostManager::Delegate ------------------------------------------ |
634 | 636 |
635 bool CreateRenderViewForRenderManager( | 637 bool CreateRenderViewForRenderManager( |
636 RenderViewHost* render_view_host, | 638 RenderViewHost* render_view_host, |
637 int opener_frame_routing_id, | 639 int opener_frame_routing_id, |
638 int proxy_routing_id, | 640 int proxy_routing_id, |
639 const FrameReplicationState& replicated_frame_state) override; | 641 const FrameReplicationState& replicated_frame_state) override; |
640 void CreateRenderWidgetHostViewForRenderManager( | 642 void CreateRenderWidgetHostViewForRenderManager( |
641 RenderViewHost* render_view_host) override; | 643 RenderViewHost* render_view_host) override; |
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1378 | 1380 |
1379 // Manages media players, CDMs, and power save blockers for media. | 1381 // Manages media players, CDMs, and power save blockers for media. |
1380 std::unique_ptr<MediaWebContentsObserver> media_web_contents_observer_; | 1382 std::unique_ptr<MediaWebContentsObserver> media_web_contents_observer_; |
1381 | 1383 |
1382 std::unique_ptr<RenderWidgetHostInputEventRouter> rwh_input_event_router_; | 1384 std::unique_ptr<RenderWidgetHostInputEventRouter> rwh_input_event_router_; |
1383 | 1385 |
1384 PageImportanceSignals page_importance_signals_; | 1386 PageImportanceSignals page_importance_signals_; |
1385 | 1387 |
1386 bool page_scale_factor_is_one_; | 1388 bool page_scale_factor_is_one_; |
1387 | 1389 |
| 1390 // TextInputManager tracks the IME-related state for all the |
| 1391 // RenderWidgetHostViews on this WebContents. Only exists on the outermost |
| 1392 // WebContents and is automatically destroyed when a WebContents becomes an |
| 1393 // inner WebContents by attaching to an outer WebContents. Then the |
| 1394 // IME-related state for RenderWidgetHosts on the inner WebContents is tracked |
| 1395 // by the TextInputManager in the outer WebContents. |
| 1396 std::unique_ptr<TextInputManager> text_input_manager_; |
| 1397 |
1388 base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_; | 1398 base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_; |
1389 base::WeakPtrFactory<WebContentsImpl> weak_factory_; | 1399 base::WeakPtrFactory<WebContentsImpl> weak_factory_; |
1390 | 1400 |
1391 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); | 1401 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); |
1392 }; | 1402 }; |
1393 | 1403 |
1394 // Dangerous methods which should never be made part of the public API, so we | 1404 // Dangerous methods which should never be made part of the public API, so we |
1395 // grant their use only to an explicit friend list (c++ attorney/client idiom). | 1405 // grant their use only to an explicit friend list (c++ attorney/client idiom). |
1396 class CONTENT_EXPORT WebContentsImpl::FriendZone { | 1406 class CONTENT_EXPORT WebContentsImpl::FriendZone { |
1397 private: | 1407 private: |
1398 friend class TestNavigationObserver; | 1408 friend class TestNavigationObserver; |
1399 friend class WebContentsAddedObserver; | 1409 friend class WebContentsAddedObserver; |
1400 friend class ContentBrowserSanityChecker; | 1410 friend class ContentBrowserSanityChecker; |
1401 | 1411 |
1402 FriendZone(); // Not instantiable. | 1412 FriendZone(); // Not instantiable. |
1403 | 1413 |
1404 // Adds/removes a callback called on creation of each new WebContents. | 1414 // Adds/removes a callback called on creation of each new WebContents. |
1405 static void AddCreatedCallbackForTesting(const CreatedCallback& callback); | 1415 static void AddCreatedCallbackForTesting(const CreatedCallback& callback); |
1406 static void RemoveCreatedCallbackForTesting(const CreatedCallback& callback); | 1416 static void RemoveCreatedCallbackForTesting(const CreatedCallback& callback); |
1407 | 1417 |
1408 DISALLOW_COPY_AND_ASSIGN(FriendZone); | 1418 DISALLOW_COPY_AND_ASSIGN(FriendZone); |
1409 }; | 1419 }; |
1410 | 1420 |
1411 } // namespace content | 1421 } // namespace content |
1412 | 1422 |
1413 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 1423 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
OLD | NEW |