OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 // PlzNavigate | 390 // PlzNavigate |
391 // Clears the speculative members, returning the RenderFrameHost to the caller | 391 // Clears the speculative members, returning the RenderFrameHost to the caller |
392 // for disposal. | 392 // for disposal. |
393 scoped_ptr<RenderFrameHostImpl> UnsetSpeculativeRenderFrameHost(); | 393 scoped_ptr<RenderFrameHostImpl> UnsetSpeculativeRenderFrameHost(); |
394 | 394 |
395 // Notification methods to tell this RenderFrameHostManager that the frame it | 395 // Notification methods to tell this RenderFrameHostManager that the frame it |
396 // is responsible for has started or stopped loading a document. | 396 // is responsible for has started or stopped loading a document. |
397 void OnDidStartLoading(); | 397 void OnDidStartLoading(); |
398 void OnDidStopLoading(); | 398 void OnDidStopLoading(); |
399 | 399 |
| 400 void EnsureRenderViewInitialized(FrameTreeNode* source, |
| 401 RenderViewHostImpl* render_view_host, |
| 402 SiteInstance* instance); |
| 403 |
400 private: | 404 private: |
401 friend class NavigatorTestWithBrowserSideNavigation; | 405 friend class NavigatorTestWithBrowserSideNavigation; |
402 friend class RenderFrameHostManagerTest; | 406 friend class RenderFrameHostManagerTest; |
403 friend class TestWebContents; | 407 friend class TestWebContents; |
404 | 408 |
405 FRIEND_TEST_ALL_PREFIXES(CrossProcessFrameTreeBrowserTest, | 409 FRIEND_TEST_ALL_PREFIXES(CrossProcessFrameTreeBrowserTest, |
406 CreateCrossProcessSubframeProxies); | 410 CreateCrossProcessSubframeProxies); |
407 | 411 |
408 // Used with FrameTree::ForEach to erase RenderFrameProxyHosts from a | 412 // Used with FrameTree::ForEach to erase RenderFrameProxyHosts from a |
409 // FrameTreeNode's RenderFrameHostManager. | 413 // FrameTreeNode's RenderFrameHostManager. |
410 static bool ClearProxiesInSiteInstance(int32 site_instance_id, | 414 static bool ClearProxiesInSiteInstance(int32 site_instance_id, |
411 FrameTreeNode* node); | 415 FrameTreeNode* node); |
| 416 // Used with FrameTree::ForEach to reset initialized state of |
| 417 // RenderFrameProxyHosts from a FrameTreeNode's RenderFrameHostManager. |
| 418 static bool ResetProxiesInSiteInstance(int32 site_instance_id, |
| 419 FrameTreeNode* node); |
412 | 420 |
413 // Returns whether this tab should transition to a new renderer for | 421 // Returns whether this tab should transition to a new renderer for |
414 // cross-site URLs. Enabled unless we see the --process-per-tab command line | 422 // cross-site URLs. Enabled unless we see the --process-per-tab command line |
415 // switch. Can be overridden in unit tests. | 423 // switch. Can be overridden in unit tests. |
416 bool ShouldTransitionCrossSite(); | 424 bool ShouldTransitionCrossSite(); |
417 | 425 |
418 // Returns true if for the navigation from |current_effective_url| to | 426 // Returns true if for the navigation from |current_effective_url| to |
419 // |new_effective_url|, a new SiteInstance and BrowsingInstance should be | 427 // |new_effective_url|, a new SiteInstance and BrowsingInstance should be |
420 // created (even if we are in a process model that doesn't usually swap). | 428 // created (even if we are in a process model that doesn't usually swap). |
421 // This forces a process swap and severs script connections with existing | 429 // This forces a process swap and severs script connections with existing |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 bool should_reuse_web_ui_; | 681 bool should_reuse_web_ui_; |
674 | 682 |
675 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; | 683 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; |
676 | 684 |
677 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); | 685 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); |
678 }; | 686 }; |
679 | 687 |
680 } // namespace content | 688 } // namespace content |
681 | 689 |
682 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 690 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
OLD | NEW |