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

Unified Diff: content/renderer/render_frame_impl.h

Issue 1693563002: PROTOTYPE: PlzNavigate: use a Mojo data pipe to stream navigation data to the renderer. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_impl.h
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 243066beaae50e2b93bb9929f5fa57437d74da21..cfe18ae534db83470b8168349fce394a03475d11 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -51,6 +51,8 @@
#include "third_party/WebKit/public/web/WebScriptExecutionCallback.h"
#include "ui/gfx/range/range.h"
#include "url/gurl.h"
+#include "content/public/common/resource_response.h"
+#include "content/common/navigation_params.h"
#if defined(ENABLE_PLUGINS)
#include "content/renderer/pepper/plugin_power_saver_helper.h"
@@ -140,15 +142,13 @@ class RenderWidgetFullscreenPepper;
class ScreenOrientationDispatcher;
class UserMediaClientImpl;
class WakeLockDispatcher;
-struct CommonNavigationParams;
struct CustomContextMenuContext;
struct FrameReplicationState;
struct NavigationParams;
-struct RequestNavigationParams;
-struct ResourceResponseHead;
struct StartNavigationParams;
struct StreamOverrideParameters;
class VRDispatcher;
+class RenderThreadImpl;
class CONTENT_EXPORT RenderFrameImpl
: public RenderFrame,
@@ -655,6 +655,9 @@ class CONTENT_EXPORT RenderFrameImpl
// is exposed on a global "mojo" object rather than "define".
void EnableMojoBindings(bool for_layout_tests);
+ void ReceiveNavigationDataPipeConsumerHandle(
+ mojo::ScopedDataPipeConsumerHandle data_consumer_handle, int32_t handle_commit_id);
+
protected:
explicit RenderFrameImpl(const CreateParams& params);
@@ -786,7 +789,8 @@ class CONTENT_EXPORT RenderFrameImpl
void OnCommitNavigation(const ResourceResponseHead& response,
const GURL& stream_url,
const CommonNavigationParams& common_params,
- const RequestNavigationParams& request_params);
+ const RequestNavigationParams& request_params,
+ int32_t navigation_commit_id);
void OnFailedNavigation(const CommonNavigationParams& common_params,
const RequestNavigationParams& request_params,
bool has_stale_copy_in_cache,
@@ -810,6 +814,8 @@ class CONTENT_EXPORT RenderFrameImpl
void OnCopyToFindPboard();
#endif
+ void NavigateIfIPCSynched(bool no_sync_needed);
+
// Requests that the browser process navigates to |url|. If
// |is_history_navigation_in_new_child| is true, the browser process should
// look for a matching FrameNavigationEntry in the last committed entry to use
@@ -1196,6 +1202,17 @@ class CONTENT_EXPORT RenderFrameImpl
// Whether or not this RenderFrame is currently pasting.
bool is_pasting_;
+ // TODO: this should all be moved into a struct that holds "ongoing navigation commit data"
+ mojo::ScopedDataPipeConsumerHandle latest_handle_;
+ int32_t latest_handle_commit_id_;
+ RenderThreadImpl* handle_render_thread_;
+ int32_t latest_navigation_commit_id_;
+ RenderThreadImpl* navigation_render_thread_;
+ ResourceResponseHead navigation_response;
+ GURL navigation_stream_url;
+ CommonNavigationParams navigation_common_params;
+ RequestNavigationParams navigation_request_params;
+
#if defined(ENABLE_WEBVR)
// The VR dispatcher attached to the frame, lazily initialized.
scoped_ptr<VRDispatcher> vr_dispatcher_;

Powered by Google App Engine
This is Rietveld 408576698