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 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
612 bool IsFullscreenForCurrentTab( | 612 bool IsFullscreenForCurrentTab( |
613 RenderWidgetHostImpl* render_widget_host) const override; | 613 RenderWidgetHostImpl* render_widget_host) const override; |
614 blink::WebDisplayMode GetDisplayMode( | 614 blink::WebDisplayMode GetDisplayMode( |
615 RenderWidgetHostImpl* render_widget_host) const override; | 615 RenderWidgetHostImpl* render_widget_host) const override; |
616 void LostCapture(RenderWidgetHostImpl* render_widget_host) override; | 616 void LostCapture(RenderWidgetHostImpl* render_widget_host) override; |
617 void LostMouseLock(RenderWidgetHostImpl* render_widget_host) override; | 617 void LostMouseLock(RenderWidgetHostImpl* render_widget_host) override; |
618 void ForwardCompositorProto(RenderWidgetHostImpl* render_widget_host, | 618 void ForwardCompositorProto(RenderWidgetHostImpl* render_widget_host, |
619 const std::vector<uint8_t>& proto) override; | 619 const std::vector<uint8_t>& proto) override; |
620 void OnRenderFrameProxyVisibilityChanged(bool visible) override; | 620 void OnRenderFrameProxyVisibilityChanged(bool visible) override; |
621 void SendScreenRects() override; | 621 void SendScreenRects() override; |
622 TextInputState GetTextInputState() override; | |
623 void UpdateTextInputState(RenderWidgetHostViewBase* rwhv, | |
624 bool text_input_state_changed) override; | |
622 | 625 |
623 // RenderFrameHostManager::Delegate ------------------------------------------ | 626 // RenderFrameHostManager::Delegate ------------------------------------------ |
624 | 627 |
625 bool CreateRenderViewForRenderManager( | 628 bool CreateRenderViewForRenderManager( |
626 RenderViewHost* render_view_host, | 629 RenderViewHost* render_view_host, |
627 int opener_frame_routing_id, | 630 int opener_frame_routing_id, |
628 int proxy_routing_id, | 631 int proxy_routing_id, |
629 const FrameReplicationState& replicated_frame_state) override; | 632 const FrameReplicationState& replicated_frame_state) override; |
630 void CreateRenderWidgetHostViewForRenderManager( | 633 void CreateRenderWidgetHostViewForRenderManager( |
631 RenderViewHost* render_view_host) override; | 634 RenderViewHost* render_view_host) override; |
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1331 | 1334 |
1332 // Manages media players, CDMs, and power save blockers for media. | 1335 // Manages media players, CDMs, and power save blockers for media. |
1333 scoped_ptr<MediaWebContentsObserver> media_web_contents_observer_; | 1336 scoped_ptr<MediaWebContentsObserver> media_web_contents_observer_; |
1334 | 1337 |
1335 scoped_ptr<RenderWidgetHostInputEventRouter> rwh_input_event_router_; | 1338 scoped_ptr<RenderWidgetHostInputEventRouter> rwh_input_event_router_; |
1336 | 1339 |
1337 PageImportanceSignals page_importance_signals_; | 1340 PageImportanceSignals page_importance_signals_; |
1338 | 1341 |
1339 bool page_scale_factor_is_one_; | 1342 bool page_scale_factor_is_one_; |
1340 | 1343 |
1344 // The RWHV which is currently focused. | |
1345 TextInputState text_input_state_; | |
1346 RenderWidgetHostViewBase* view_with_active_text_input_; | |
Charlie Reis
2016/03/15 18:32:01
This looks like it could get stale if the RWHV wen
EhsanK
2016/03/15 23:51:18
I added some notes above under your comment on 're
Charlie Reis
2016/03/16 16:55:13
Makes sense, though "eventually" concerns me. Is
EhsanK
2016/03/30 20:46:03
I tested the following:
- Detach: An IPC comes
Charlie Reis
2016/03/30 21:52:47
What code makes this happen? I can't follow it by
EhsanK
2016/03/30 23:36:33
Sorry for the incomplete explanation. I meant to s
Charlie Reis
2016/03/31 05:59:16
Thanks for clarifying, and I agree about the WeakP
EhsanK
2016/04/01 00:59:16
It is more correct to say that NotifyHostDelegateA
EhsanK
2016/04/01 00:59:17
I meant to say (I think I did not publish previous
| |
1347 | |
1341 base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_; | 1348 base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_; |
1342 base::WeakPtrFactory<WebContentsImpl> weak_factory_; | 1349 base::WeakPtrFactory<WebContentsImpl> weak_factory_; |
1343 | 1350 |
1344 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); | 1351 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); |
1345 }; | 1352 }; |
1346 | 1353 |
1347 // Dangerous methods which should never be made part of the public API, so we | 1354 // Dangerous methods which should never be made part of the public API, so we |
1348 // grant their use only to an explicit friend list (c++ attorney/client idiom). | 1355 // grant their use only to an explicit friend list (c++ attorney/client idiom). |
1349 class CONTENT_EXPORT WebContentsImpl::FriendZone { | 1356 class CONTENT_EXPORT WebContentsImpl::FriendZone { |
1350 private: | 1357 private: |
1351 friend class TestNavigationObserver; | 1358 friend class TestNavigationObserver; |
1352 friend class WebContentsAddedObserver; | 1359 friend class WebContentsAddedObserver; |
1353 friend class ContentBrowserSanityChecker; | 1360 friend class ContentBrowserSanityChecker; |
1354 | 1361 |
1355 FriendZone(); // Not instantiable. | 1362 FriendZone(); // Not instantiable. |
1356 | 1363 |
1357 // Adds/removes a callback called on creation of each new WebContents. | 1364 // Adds/removes a callback called on creation of each new WebContents. |
1358 static void AddCreatedCallbackForTesting(const CreatedCallback& callback); | 1365 static void AddCreatedCallbackForTesting(const CreatedCallback& callback); |
1359 static void RemoveCreatedCallbackForTesting(const CreatedCallback& callback); | 1366 static void RemoveCreatedCallbackForTesting(const CreatedCallback& callback); |
1360 | 1367 |
1361 DISALLOW_COPY_AND_ASSIGN(FriendZone); | 1368 DISALLOW_COPY_AND_ASSIGN(FriendZone); |
1362 }; | 1369 }; |
1363 | 1370 |
1364 } // namespace content | 1371 } // namespace content |
1365 | 1372 |
1366 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 1373 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
OLD | NEW |