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

Side by Side Diff: content/renderer/render_frame_impl.h

Issue 1027863002: Move provisional navigation parameters to RenderFrame, and use the HistoryController to distribute … (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixes Created 5 years, 9 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
« no previous file with comments | « content/renderer/history_controller.cc ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_RENDERER_RENDER_FRAME_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 67
68 namespace media { 68 namespace media {
69 class MediaPermission; 69 class MediaPermission;
70 class WebEncryptedMediaClientImpl; 70 class WebEncryptedMediaClientImpl;
71 } 71 }
72 72
73 namespace content { 73 namespace content {
74 74
75 class ChildFrameCompositingHelper; 75 class ChildFrameCompositingHelper;
76 class CompositorDependencies; 76 class CompositorDependencies;
77 class DocumentState;
77 class ExternalPopupMenu; 78 class ExternalPopupMenu;
78 class GeolocationDispatcher; 79 class GeolocationDispatcher;
79 class ManifestManager; 80 class ManifestManager;
80 class MediaStreamDispatcher; 81 class MediaStreamDispatcher;
81 class MediaStreamRendererFactory; 82 class MediaStreamRendererFactory;
82 class MediaPermissionDispatcher; 83 class MediaPermissionDispatcher;
83 class MidiDispatcher; 84 class MidiDispatcher;
85 class NavigationState;
84 class NotificationPermissionDispatcher; 86 class NotificationPermissionDispatcher;
85 class PageState; 87 class PageState;
86 class PepperPluginInstanceImpl; 88 class PepperPluginInstanceImpl;
87 class PermissionManager; 89 class PermissionManager;
88 class PresentationDispatcher; 90 class PresentationDispatcher;
89 class PushMessagingDispatcher; 91 class PushMessagingDispatcher;
90 class RendererAccessibility; 92 class RendererAccessibility;
91 class RendererCdmManager; 93 class RendererCdmManager;
92 class RendererMediaPlayerManager; 94 class RendererMediaPlayerManager;
93 class RendererPpapiHost; 95 class RendererPpapiHost;
94 class RenderFrameObserver; 96 class RenderFrameObserver;
95 class RenderViewImpl; 97 class RenderViewImpl;
96 class RenderWidget; 98 class RenderWidget;
97 class RenderWidgetFullscreenPepper; 99 class RenderWidgetFullscreenPepper;
98 class ScreenOrientationDispatcher; 100 class ScreenOrientationDispatcher;
99 class UserMediaClientImpl; 101 class UserMediaClientImpl;
100 enum class SandboxFlags; 102 enum class SandboxFlags;
101 struct CommonNavigationParams; 103 struct CommonNavigationParams;
102 struct CustomContextMenuContext; 104 struct CustomContextMenuContext;
103 struct FrameReplicationState; 105 struct FrameReplicationState;
106 struct NavigationParams;
104 struct RequestNavigationParams; 107 struct RequestNavigationParams;
105 struct ResourceResponseHead; 108 struct ResourceResponseHead;
106 struct StartNavigationParams; 109 struct StartNavigationParams;
107 110
108 class CONTENT_EXPORT RenderFrameImpl 111 class CONTENT_EXPORT RenderFrameImpl
109 : public RenderFrame, 112 : public RenderFrame,
110 NON_EXPORTED_BASE(public blink::WebFrameClient), 113 NON_EXPORTED_BASE(public blink::WebFrameClient),
111 NON_EXPORTED_BASE(public media::WebMediaPlayerDelegate) { 114 NON_EXPORTED_BASE(public media::WebMediaPlayerDelegate) {
112 public: 115 public:
113 // Creates a new RenderFrame. |render_view| is the RenderView object that this 116 // Creates a new RenderFrame. |render_view| is the RenderView object that this
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 // TODO(nasko): Remove this method once swapped out state is no longer used. 537 // TODO(nasko): Remove this method once swapped out state is no longer used.
535 void NavigateToSwappedOutURL(); 538 void NavigateToSwappedOutURL();
536 539
537 // Binds this render frame's service registry. 540 // Binds this render frame's service registry.
538 void BindServiceRegistry( 541 void BindServiceRegistry(
539 mojo::InterfaceRequest<mojo::ServiceProvider> services, 542 mojo::InterfaceRequest<mojo::ServiceProvider> services,
540 mojo::ServiceProviderPtr exposed_services); 543 mojo::ServiceProviderPtr exposed_services);
541 544
542 ManifestManager* manifest_manager(); 545 ManifestManager* manifest_manager();
543 546
547 // TODO(creis): Remove when the only caller, the HistoryController, is no
548 // more.
549 void SetPendingNavigationParams(
550 scoped_ptr<NavigationParams> navigation_params);
551
544 protected: 552 protected:
545 RenderFrameImpl(RenderViewImpl* render_view, int32 routing_id); 553 RenderFrameImpl(RenderViewImpl* render_view, int32 routing_id);
546 554
547 private: 555 private:
548 friend class RenderFrameObserver; 556 friend class RenderFrameObserver;
549 friend class RendererAccessibilityTest; 557 friend class RendererAccessibilityTest;
550 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuDisplayNoneTest, SelectItem); 558 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuDisplayNoneTest, SelectItem);
551 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange); 559 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange);
552 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase); 560 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase);
553 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate); 561 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate);
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 // of the WebURLRequest. 720 // of the WebURLRequest.
713 void BeginNavigation(blink::WebURLRequest* request); 721 void BeginNavigation(blink::WebURLRequest* request);
714 722
715 // Loads a data url. 723 // Loads a data url.
716 void LoadDataURL(const CommonNavigationParams& params, 724 void LoadDataURL(const CommonNavigationParams& params,
717 blink::WebFrame* frame); 725 blink::WebFrame* frame);
718 726
719 // Returns the URL being loaded by the |frame_|'s request. 727 // Returns the URL being loaded by the |frame_|'s request.
720 GURL GetLoadingUrl() const; 728 GURL GetLoadingUrl() const;
721 729
730 // If we initiated a navigation, this function will populate |document_state|
731 // with the navigation information saved in OnNavigate().
732 void PopulateDocumentStateFromPending(DocumentState* document_state);
733
734 // Returns a new NavigationState populated with the navigation information
735 // saved in OnNavigate().
736 NavigationState* CreateNavigationStateFromPending();
737
722 #if defined(OS_ANDROID) 738 #if defined(OS_ANDROID)
723 blink::WebMediaPlayer* CreateAndroidWebMediaPlayer( 739 blink::WebMediaPlayer* CreateAndroidWebMediaPlayer(
724 const blink::WebURL& url, 740 const blink::WebURL& url,
725 blink::WebMediaPlayerClient* client, 741 blink::WebMediaPlayerClient* client,
726 media::MediaPermission* media_permission, 742 media::MediaPermission* media_permission,
727 blink::WebContentDecryptionModule* initial_cdm); 743 blink::WebContentDecryptionModule* initial_cdm);
728 744
729 RendererMediaPlayerManager* GetMediaPlayerManager(); 745 RendererMediaPlayerManager* GetMediaPlayerManager();
730 #endif 746 #endif
731 747
(...skipping 22 matching lines...) Expand all
754 // TODO(creis): Remove this after switching to PlzNavigate. 770 // TODO(creis): Remove this after switching to PlzNavigate.
755 int proxy_routing_id_; 771 int proxy_routing_id_;
756 772
757 // Used when the RenderFrame is a local root. For now, RenderWidgets are 773 // Used when the RenderFrame is a local root. For now, RenderWidgets are
758 // added only when a child frame is in a different process from its parent 774 // added only when a child frame is in a different process from its parent
759 // frame, but eventually this will also apply to top-level frames. 775 // frame, but eventually this will also apply to top-level frames.
760 // TODO(kenrb): Correct the above statement when top-level frames have their 776 // TODO(kenrb): Correct the above statement when top-level frames have their
761 // own RenderWidgets. 777 // own RenderWidgets.
762 scoped_refptr<RenderWidget> render_widget_; 778 scoped_refptr<RenderWidget> render_widget_;
763 779
780 // Temporarily holds state pertaining to a navigation that has been initiated
781 // until the NavigationState corresponding to the new navigation is created in
782 // didCreateDataSource().
783 scoped_ptr<NavigationParams> pending_navigation_params_;
784
764 #if defined(ENABLE_PLUGINS) 785 #if defined(ENABLE_PLUGINS)
765 // Current text input composition text. Empty if no composition is in 786 // Current text input composition text. Empty if no composition is in
766 // progress. 787 // progress.
767 base::string16 pepper_composition_text_; 788 base::string16 pepper_composition_text_;
768 789
769 PluginPowerSaverHelper* plugin_power_saver_helper_; 790 PluginPowerSaverHelper* plugin_power_saver_helper_;
770 #endif 791 #endif
771 792
772 RendererWebCookieJarImpl cookie_jar_; 793 RendererWebCookieJarImpl cookie_jar_;
773 794
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 #endif 902 #endif
882 903
883 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 904 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
884 905
885 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 906 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
886 }; 907 };
887 908
888 } // namespace content 909 } // namespace content
889 910
890 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 911 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/history_controller.cc ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698