Commit 73dd303e authored by danakj's avatar danakj Committed by Commit Bot

Move display_mode and renderer_wide_named_frame_lookup_ to constructor

Pass the DisplayMode to the RenderWidget constructor instead of setting
it through set_display_mode() in RenderViewImpl::Initialize(). This
makes the chosen DisplayMode explicit for all creators of RenderWidget
instead of having a default value.

Also store the renderer_wide_named_frame_lookup_ in RenderViewImpl
directly in the constructor instead of in Initialize() since it does
not need to be there (does not make use of the vtable or anything
funky. Make the member const as a result.

R=ajwong@chromium.org, avi@chromium.org

Bug: 419087
Change-Id: I8d4354d770df8abf5273935412a3d28a98017434
Reviewed-on: https://chromium-review.googlesource.com/1153592
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578930}
parent 4fadc40c
...@@ -430,11 +430,14 @@ RenderViewImpl::RenderViewImpl( ...@@ -430,11 +430,14 @@ RenderViewImpl::RenderViewImpl(
compositor_deps, compositor_deps,
blink::kWebPopupTypeNone, blink::kWebPopupTypeNone,
params.visual_properties.screen_info, params.visual_properties.screen_info,
params.visual_properties.display_mode,
params.swapped_out, params.swapped_out,
params.hidden, params.hidden,
params.never_visible, params.never_visible,
task_runner), task_runner),
routing_id_(params.view_id), routing_id_(params.view_id),
renderer_wide_named_frame_lookup_(
params.renderer_wide_named_frame_lookup),
webkit_preferences_(params.web_preferences), webkit_preferences_(params.web_preferences),
session_storage_namespace_id_(params.session_storage_namespace_id), session_storage_namespace_id_(params.session_storage_namespace_id),
weak_ptr_factory_(this) { weak_ptr_factory_(this) {
...@@ -452,8 +455,6 @@ void RenderViewImpl::Initialize( ...@@ -452,8 +455,6 @@ void RenderViewImpl::Initialize(
// HandleNavigation codepath. // HandleNavigation codepath.
was_created_by_renderer_ = has_show_callback; was_created_by_renderer_ = has_show_callback;
#endif #endif
renderer_wide_named_frame_lookup_ = params->renderer_wide_named_frame_lookup;
RenderWidget::set_display_mode(params->visual_properties.display_mode);
WebFrame* opener_frame = WebFrame* opener_frame =
RenderFrameImpl::ResolveOpener(params->opener_frame_route_id); RenderFrameImpl::ResolveOpener(params->opener_frame_route_id);
......
...@@ -545,6 +545,11 @@ class CONTENT_EXPORT RenderViewImpl : private RenderWidget, ...@@ -545,6 +545,11 @@ class CONTENT_EXPORT RenderViewImpl : private RenderWidget,
// RenderViewHost in the parent browser process. // RenderViewHost in the parent browser process.
const int32_t routing_id_; const int32_t routing_id_;
// Whether lookup of frames in the created RenderView (e.g. lookup via
// window.open or via <a target=...>) should be renderer-wide (i.e. going
// beyond the usual opener-relationship-based BrowsingInstance boundaries).
const bool renderer_wide_named_frame_lookup_ = false;
// Settings ------------------------------------------------------------------ // Settings ------------------------------------------------------------------
WebPreferences webkit_preferences_; WebPreferences webkit_preferences_;
...@@ -693,11 +698,6 @@ class CONTENT_EXPORT RenderViewImpl : private RenderWidget, ...@@ -693,11 +698,6 @@ class CONTENT_EXPORT RenderViewImpl : private RenderWidget,
blink::WebScopedVirtualTimePauser history_navigation_virtual_time_pauser_; blink::WebScopedVirtualTimePauser history_navigation_virtual_time_pauser_;
// Whether lookup of frames in the created RenderView (e.g. lookup via
// window.open or via <a target=...>) should be renderer-wide (i.e. going
// beyond the usual opener-relationship-based BrowsingInstance boundaries).
bool renderer_wide_named_frame_lookup_ = false;
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// ADDING NEW DATA? Please see if it fits appropriately in one of the above // ADDING NEW DATA? Please see if it fits appropriately in one of the above
// sections rather than throwing it randomly at the end. If you're adding a // sections rather than throwing it randomly at the end. If you're adding a
......
...@@ -391,6 +391,7 @@ RenderWidget::RenderWidget( ...@@ -391,6 +391,7 @@ RenderWidget::RenderWidget(
CompositorDependencies* compositor_deps, CompositorDependencies* compositor_deps,
blink::WebPopupType popup_type, blink::WebPopupType popup_type,
const ScreenInfo& screen_info, const ScreenInfo& screen_info,
blink::WebDisplayMode display_mode,
bool swapped_out, bool swapped_out,
bool hidden, bool hidden,
bool never_visible, bool never_visible,
...@@ -405,7 +406,7 @@ RenderWidget::RenderWidget( ...@@ -405,7 +406,7 @@ RenderWidget::RenderWidget(
is_hidden_(hidden), is_hidden_(hidden),
compositor_never_visible_(never_visible), compositor_never_visible_(never_visible),
is_fullscreen_granted_(false), is_fullscreen_granted_(false),
display_mode_(blink::kWebDisplayModeUndefined), display_mode_(display_mode),
ime_event_guard_(nullptr), ime_event_guard_(nullptr),
closing_(false), closing_(false),
host_closing_(false), host_closing_(false),
...@@ -514,9 +515,10 @@ RenderWidget* RenderWidget::CreateForPopup( ...@@ -514,9 +515,10 @@ RenderWidget* RenderWidget::CreateForPopup(
return nullptr; return nullptr;
} }
scoped_refptr<RenderWidget> widget(new RenderWidget( scoped_refptr<RenderWidget> widget(
routing_id, compositor_deps, popup_type, screen_info, false, false, false, new RenderWidget(routing_id, compositor_deps, popup_type, screen_info,
task_runner, std::move(widget_channel_request))); blink::kWebDisplayModeUndefined, false, false, false,
task_runner, std::move(widget_channel_request)));
ShowCallback opener_callback = base::BindOnce( ShowCallback opener_callback = base::BindOnce(
&RenderViewImpl::ShowCreatedPopupWidget, opener->GetWeakPtr()); &RenderViewImpl::ShowCreatedPopupWidget, opener->GetWeakPtr());
widget->Init(std::move(opener_callback), widget->Init(std::move(opener_callback),
...@@ -554,11 +556,13 @@ RenderWidget* RenderWidget::CreateForFrame( ...@@ -554,11 +556,13 @@ RenderWidget* RenderWidget::CreateForFrame(
scoped_refptr<RenderWidget> widget( scoped_refptr<RenderWidget> widget(
g_create_render_widget g_create_render_widget
? g_create_render_widget(widget_routing_id, compositor_deps, ? g_create_render_widget(widget_routing_id, compositor_deps,
blink::kWebPopupTypeNone, screen_info, false, blink::kWebPopupTypeNone, screen_info,
blink::kWebDisplayModeUndefined, false,
hidden, false) hidden, false)
: new RenderWidget(widget_routing_id, compositor_deps, : new RenderWidget(widget_routing_id, compositor_deps,
blink::kWebPopupTypeNone, screen_info, false, blink::kWebPopupTypeNone, screen_info,
hidden, false, task_runner)); blink::kWebDisplayModeUndefined, false, hidden,
false, task_runner));
widget->for_oopif_ = true; widget->for_oopif_ = true;
// Init increments the reference count on |widget|, keeping it alive after // Init increments the reference count on |widget|, keeping it alive after
// this function returns. // this function returns.
......
...@@ -171,13 +171,15 @@ class CONTENT_EXPORT RenderWidget ...@@ -171,13 +171,15 @@ class CONTENT_EXPORT RenderWidget
// Used by content_layouttest_support to hook into the creation of // Used by content_layouttest_support to hook into the creation of
// RenderWidgets. // RenderWidgets.
using CreateRenderWidgetFunction = RenderWidget* (*)(int32_t, using CreateRenderWidgetFunction =
CompositorDependencies*, RenderWidget* (*)(int32_t,
blink::WebPopupType, CompositorDependencies*,
const ScreenInfo&, blink::WebPopupType,
bool, const ScreenInfo&,
bool, blink::WebDisplayMode display_mode,
bool); bool,
bool,
bool);
using RenderWidgetInitializedCallback = void (*)(RenderWidget*); using RenderWidgetInitializedCallback = void (*)(RenderWidget*);
static void InstallCreateHook( static void InstallCreateHook(
CreateRenderWidgetFunction create_render_widget, CreateRenderWidgetFunction create_render_widget,
...@@ -540,6 +542,7 @@ class CONTENT_EXPORT RenderWidget ...@@ -540,6 +542,7 @@ class CONTENT_EXPORT RenderWidget
CompositorDependencies* compositor_deps, CompositorDependencies* compositor_deps,
blink::WebPopupType popup_type, blink::WebPopupType popup_type,
const ScreenInfo& screen_info, const ScreenInfo& screen_info,
blink::WebDisplayMode display_mode,
bool swapped_out, bool swapped_out,
bool hidden, bool hidden,
bool never_visible, bool never_visible,
...@@ -568,8 +571,6 @@ class CONTENT_EXPORT RenderWidget ...@@ -568,8 +571,6 @@ class CONTENT_EXPORT RenderWidget
void SetUpIdleUserDetector(); void SetUpIdleUserDetector();
// Update the web view's device scale factor. // Update the web view's device scale factor.
void UpdateWebViewWithDeviceScaleFactor(); void UpdateWebViewWithDeviceScaleFactor();
// Set the display mode during initialization.
void set_display_mode(blink::WebDisplayMode mode) { display_mode_ = mode; }
// Informs that Show() will not happen. // Informs that Show() will not happen.
void set_did_show() { did_show_ = true; } void set_did_show() { did_show_ = true; }
......
...@@ -281,6 +281,7 @@ RenderWidgetFullscreenPepper::RenderWidgetFullscreenPepper( ...@@ -281,6 +281,7 @@ RenderWidgetFullscreenPepper::RenderWidgetFullscreenPepper(
compositor_deps, compositor_deps,
blink::kWebPopupTypeNone, blink::kWebPopupTypeNone,
screen_info, screen_info,
blink::kWebDisplayModeUndefined,
false, false,
false, false,
false, false,
......
...@@ -146,6 +146,7 @@ class InteractiveRenderWidget : public RenderWidget { ...@@ -146,6 +146,7 @@ class InteractiveRenderWidget : public RenderWidget {
compositor_deps, compositor_deps,
blink::kWebPopupTypeNone, blink::kWebPopupTypeNone,
ScreenInfo(), ScreenInfo(),
blink::kWebDisplayModeUndefined,
false, false,
false, false,
false, false,
...@@ -391,6 +392,7 @@ class PopupRenderWidget : public RenderWidget { ...@@ -391,6 +392,7 @@ class PopupRenderWidget : public RenderWidget {
compositor_deps, compositor_deps,
blink::kWebPopupTypePage, blink::kWebPopupTypePage,
ScreenInfo(), ScreenInfo(),
blink::kWebDisplayModeUndefined,
false, false,
false, false,
false, false,
......
...@@ -107,12 +107,13 @@ RenderWidget* CreateWebWidgetTestProxy(int32_t routing_id, ...@@ -107,12 +107,13 @@ RenderWidget* CreateWebWidgetTestProxy(int32_t routing_id,
CompositorDependencies* compositor_deps, CompositorDependencies* compositor_deps,
blink::WebPopupType popup_type, blink::WebPopupType popup_type,
const ScreenInfo& screen_info, const ScreenInfo& screen_info,
blink::WebDisplayMode display_mode,
bool swapped_out, bool swapped_out,
bool hidden, bool hidden,
bool never_visible) { bool never_visible) {
auto* render_widget_proxy = new test_runner::WebWidgetTestProxy( auto* render_widget_proxy = new test_runner::WebWidgetTestProxy(
routing_id, compositor_deps, popup_type, screen_info, swapped_out, hidden, routing_id, compositor_deps, popup_type, screen_info, display_mode,
never_visible, base::ThreadTaskRunnerHandle::Get()); swapped_out, hidden, never_visible, base::ThreadTaskRunnerHandle::Get());
return render_widget_proxy; return render_widget_proxy;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment