Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: content/browser/frame_host/render_frame_host_manager.h

Issue 782093002: Ensure that before creating proxy of site A, RVH of site A is initialized. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sync again Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 // PlzNavigate 389 // PlzNavigate
390 // Clears the speculative members, returning the RenderFrameHost to the caller 390 // Clears the speculative members, returning the RenderFrameHost to the caller
391 // for disposal. 391 // for disposal.
392 scoped_ptr<RenderFrameHostImpl> UnsetSpeculativeRenderFrameHost(); 392 scoped_ptr<RenderFrameHostImpl> UnsetSpeculativeRenderFrameHost();
393 393
394 // Notification methods to tell this RenderFrameHostManager that the frame it 394 // Notification methods to tell this RenderFrameHostManager that the frame it
395 // is responsible for has started or stopped loading a document. 395 // is responsible for has started or stopped loading a document.
396 void OnDidStartLoading(); 396 void OnDidStartLoading();
397 void OnDidStopLoading(); 397 void OnDidStopLoading();
398 398
399 void EnsureRenderViewInitialized(FrameTreeNode* source,
400 RenderViewHostImpl* render_view_host,
401 SiteInstance* instance);
402
399 private: 403 private:
400 friend class NavigatorTestWithBrowserSideNavigation; 404 friend class NavigatorTestWithBrowserSideNavigation;
401 friend class RenderFrameHostManagerTest; 405 friend class RenderFrameHostManagerTest;
402 friend class TestWebContents; 406 friend class TestWebContents;
403 407
404 FRIEND_TEST_ALL_PREFIXES(CrossProcessFrameTreeBrowserTest, 408 FRIEND_TEST_ALL_PREFIXES(CrossProcessFrameTreeBrowserTest,
405 CreateCrossProcessSubframeProxies); 409 CreateCrossProcessSubframeProxies);
406 410
407 // Used with FrameTree::ForEach to erase RenderFrameProxyHosts from a 411 // Used with FrameTree::ForEach to erase RenderFrameProxyHosts from a
408 // FrameTreeNode's RenderFrameHostManager. 412 // FrameTreeNode's RenderFrameHostManager.
409 static bool ClearProxiesInSiteInstance(int32 site_instance_id, 413 static bool ClearProxiesInSiteInstance(int32 site_instance_id,
410 FrameTreeNode* node); 414 FrameTreeNode* node);
415 // Used with FrameTree::ForEach to reset initialized state of
416 // RenderFrameProxyHosts from a FrameTreeNode's RenderFrameHostManager.
417 static bool ResetProxiesInSiteInstanceForNewProcess(int32 site_instance_id,
nasko 2015/01/20 23:51:23 nit: The "ForNewProcess" doesn't add much to the n
lazyboy 2015/01/21 18:52:14 Done.
418 FrameTreeNode* node);
411 419
412 // Returns whether this tab should transition to a new renderer for 420 // Returns whether this tab should transition to a new renderer for
413 // cross-site URLs. Enabled unless we see the --process-per-tab command line 421 // cross-site URLs. Enabled unless we see the --process-per-tab command line
414 // switch. Can be overridden in unit tests. 422 // switch. Can be overridden in unit tests.
415 bool ShouldTransitionCrossSite(); 423 bool ShouldTransitionCrossSite();
416 424
417 // Returns true if for the navigation from |current_effective_url| to 425 // Returns true if for the navigation from |current_effective_url| to
418 // |new_effective_url|, a new SiteInstance and BrowsingInstance should be 426 // |new_effective_url|, a new SiteInstance and BrowsingInstance should be
419 // created (even if we are in a process model that doesn't usually swap). 427 // created (even if we are in a process model that doesn't usually swap).
420 // This forces a process swap and severs script connections with existing 428 // This forces a process swap and severs script connections with existing
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 bool should_reuse_web_ui_; 678 bool should_reuse_web_ui_;
671 679
672 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; 680 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_;
673 681
674 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); 682 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager);
675 }; 683 };
676 684
677 } // namespace content 685 } // namespace content
678 686
679 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ 687 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698