| 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 #include <map> | 9 #include <map> |
| 10 | 10 |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 | 249 |
| 250 // Returns the speculative RenderFrameHost, or null if there is no speculative | 250 // Returns the speculative RenderFrameHost, or null if there is no speculative |
| 251 // one. | 251 // one. |
| 252 RenderFrameHostImpl* speculative_frame_host() const { | 252 RenderFrameHostImpl* speculative_frame_host() const { |
| 253 return speculative_render_frame_host_.get(); | 253 return speculative_render_frame_host_.get(); |
| 254 } | 254 } |
| 255 | 255 |
| 256 // TODO(creis): Remove this when we no longer use RVH for navigation. | 256 // TODO(creis): Remove this when we no longer use RVH for navigation. |
| 257 RenderViewHostImpl* pending_render_view_host() const; | 257 RenderViewHostImpl* pending_render_view_host() const; |
| 258 | 258 |
| 259 // Returns the current committed WebUI or null if none applies. | |
| 260 WebUIImpl* web_ui() const { return render_frame_host_->web_ui(); } | |
| 261 | |
| 262 // Returns the WebUI associated with the RenderFrameHost that is currently | |
| 263 // navigating or null if none applies. | |
| 264 WebUIImpl* GetNavigatingWebUI() const; | |
| 265 | |
| 266 // Called when we want to instruct the renderer to navigate to the given | 259 // Called when we want to instruct the renderer to navigate to the given |
| 267 // navigation entry. It may create a new RenderFrameHost or re-use an existing | 260 // navigation entry. It may create a new RenderFrameHost or re-use an existing |
| 268 // one. The RenderFrameHost to navigate will be returned. Returns NULL if one | 261 // one. The RenderFrameHost to navigate will be returned. Returns NULL if one |
| 269 // could not be created. |dest_url| takes precedence over the |frame_entry|'s | 262 // could not be created. |dest_url| takes precedence over the |frame_entry|'s |
| 270 // url (this is necessary because ReloadOriginalRequest navigates to a | 263 // url (this is necessary because ReloadOriginalRequest navigates to a |
| 271 // different URL than the last committed entry, without modifying it). | 264 // different URL than the last committed entry, without modifying it). |
| 272 RenderFrameHostImpl* Navigate(const GURL& dest_url, | 265 RenderFrameHostImpl* Navigate(const GURL& dest_url, |
| 273 const FrameNavigationEntry& frame_entry, | 266 const FrameNavigationEntry& frame_entry, |
| 274 const NavigationEntryImpl& entry); | 267 const NavigationEntryImpl& entry); |
| 275 | 268 |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 // Stores a speculative RenderFrameHost which is created early in a navigation | 767 // Stores a speculative RenderFrameHost which is created early in a navigation |
| 775 // so a renderer process can be started in parallel, if needed. | 768 // so a renderer process can be started in parallel, if needed. |
| 776 // This is purely a performance optimization and is not required for correct | 769 // This is purely a performance optimization and is not required for correct |
| 777 // behavior. The speculative RenderFrameHost might be discarded later on if | 770 // behavior. The speculative RenderFrameHost might be discarded later on if |
| 778 // the final URL's SiteInstance isn't compatible with the one used to create | 771 // the final URL's SiteInstance isn't compatible with the one used to create |
| 779 // it. | 772 // it. |
| 780 // Note: PlzNavigate only uses the speculative RenderFrameHost, not the | 773 // Note: PlzNavigate only uses the speculative RenderFrameHost, not the |
| 781 // pending one. | 774 // pending one. |
| 782 scoped_ptr<RenderFrameHostImpl> speculative_render_frame_host_; | 775 scoped_ptr<RenderFrameHostImpl> speculative_render_frame_host_; |
| 783 | 776 |
| 784 // Indicates that the WebUI from the current RenderFrameHost is being used for | |
| 785 // an ongoing navigation and will be kept at navigation commit time. | |
| 786 bool current_web_ui_is_navigating_; | |
| 787 | |
| 788 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; | 777 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; |
| 789 | 778 |
| 790 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); | 779 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); |
| 791 }; | 780 }; |
| 792 | 781 |
| 793 } // namespace content | 782 } // namespace content |
| 794 | 783 |
| 795 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 784 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
| OLD | NEW |