Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 30a87222b0caf25661f1038537aa3368aea170e4..c2ebe6f3fddb47a8626dc355b5622348d5ba3f53 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -222,7 +222,7 @@ RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
bool never_visible) |
: routing_id_(MSG_ROUTING_NONE), |
compositor_deps_(compositor_deps), |
- webwidget_(nullptr), |
+ webwidget_internal_(nullptr), |
owner_delegate_(nullptr), |
opener_id_(MSG_ROUTING_NONE), |
next_paint_flags_(0), |
@@ -274,7 +274,7 @@ RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
} |
RenderWidget::~RenderWidget() { |
- DCHECK(!webwidget_) << "Leaking our WebWidget!"; |
+ DCHECK(!webwidget_internal_) << "Leaking our WebWidget!"; |
// If we are swapped out, we have released already. |
if (!is_swapped_out_ && RenderProcess::current()) |
@@ -390,13 +390,14 @@ bool RenderWidget::Init(int32_t opener_id) { |
bool RenderWidget::DoInit(int32_t opener_id, |
WebWidget* web_widget, |
IPC::SyncMessage* create_widget_message) { |
- DCHECK(!webwidget_); |
+ DCHECK(!webwidget_internal_); |
if (opener_id != MSG_ROUTING_NONE) |
opener_id_ = opener_id; |
- webwidget_ = web_widget; |
- webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); |
+ webwidget_internal_ = web_widget; |
+ webwidget_mouse_lock_target_.reset( |
+ new WebWidgetLockTarget(webwidget_internal_)); |
mouse_lock_dispatcher_.reset(new RenderWidgetMouseLockDispatcher(this)); |
bool result = true; |
@@ -631,8 +632,8 @@ void RenderWidget::OnChangeResizeRect(const gfx::Rect& resizer_rect) { |
if (resizer_rect_ == resizer_rect) |
return; |
resizer_rect_ = resizer_rect; |
- if (webwidget_) |
- webwidget_->didChangeWindowResizerRect(); |
+ if (GetWebWidget()) |
+ GetWebWidget()->didChangeWindowResizerRect(); |
} |
void RenderWidget::OnWasHidden() { |
@@ -647,7 +648,7 @@ void RenderWidget::OnWasShown(bool needs_repainting, |
const ui::LatencyInfo& latency_info) { |
TRACE_EVENT0("renderer", "RenderWidget::OnWasShown"); |
// During shutdown we can just ignore this message. |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
// See OnWasHidden |
@@ -688,13 +689,13 @@ void RenderWidget::OnHandleInputEvent(const blink::WebInputEvent* input_event, |
} |
void RenderWidget::OnCursorVisibilityChange(bool is_visible) { |
- if (webwidget_) |
- webwidget_->setCursorVisibilityState(is_visible); |
+ if (GetWebWidget()) |
+ GetWebWidget()->setCursorVisibilityState(is_visible); |
} |
void RenderWidget::OnMouseCaptureLost() { |
- if (webwidget_) |
- webwidget_->mouseCaptureLost(); |
+ if (GetWebWidget()) |
+ GetWebWidget()->mouseCaptureLost(); |
} |
void RenderWidget::OnSetEditCommandsForNextKeyEvent( |
@@ -705,8 +706,8 @@ void RenderWidget::OnSetEditCommandsForNextKeyEvent( |
void RenderWidget::OnSetFocus(bool enable) { |
has_focus_ = enable; |
- if (webwidget_) |
- webwidget_->setFocus(enable); |
+ if (GetWebWidget()) |
+ GetWebWidget()->setFocus(enable); |
FOR_EACH_OBSERVER(RenderFrameImpl, render_frames_, |
RenderWidgetSetFocus(enable)); |
@@ -728,9 +729,9 @@ void RenderWidget::ApplyViewportDeltas( |
const gfx::Vector2dF& elastic_overscroll_delta, |
float page_scale, |
float top_controls_delta) { |
- webwidget_->applyViewportDeltas(inner_delta, outer_delta, |
- elastic_overscroll_delta, page_scale, |
- top_controls_delta); |
+ GetWebWidget()->applyViewportDeltas(inner_delta, outer_delta, |
+ elastic_overscroll_delta, page_scale, |
+ top_controls_delta); |
} |
void RenderWidget::BeginMainFrame(double frame_time_sec) { |
@@ -741,12 +742,12 @@ void RenderWidget::BeginMainFrame(double frame_time_sec) { |
if (input_handler_manager) |
input_handler_manager->ProcessRafAlignedInputOnMainThread(routing_id_); |
- webwidget_->beginFrame(frame_time_sec); |
+ GetWebWidget()->beginFrame(frame_time_sec); |
} |
std::unique_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface( |
bool fallback) { |
- DCHECK(webwidget_); |
+ DCHECK(GetWebWidget()); |
// For widgets that are never visible, we don't start the compositor, so we |
// never get a request for a cc::OutputSurface. |
DCHECK(!compositor_never_visible_); |
@@ -830,7 +831,7 @@ void RenderWidget::RequestScheduleAnimation() { |
} |
void RenderWidget::UpdateVisualState() { |
- webwidget_->updateAllLifecyclePhases(); |
+ GetWebWidget()->updateAllLifecyclePhases(); |
} |
void RenderWidget::WillBeginCompositorFrame() { |
@@ -942,10 +943,10 @@ void RenderWidget::UpdateTextInputState(ShowIme show_ime, |
return; |
} |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
- blink::WebTextInputInfo new_info = webwidget_->textInputInfo(); |
+ blink::WebTextInputInfo new_info = GetWebWidget()->textInputInfo(); |
const ui::TextInputMode new_mode = ConvertInputMode(new_info.inputMode); |
@@ -1018,7 +1019,7 @@ void RenderWidget::Redraw() { |
} |
void RenderWidget::ResizeWebWidget() { |
- webwidget_->resize(GetSizeForWebWidget()); |
+ GetWebWidget()->resize(GetSizeForWebWidget()); |
} |
gfx::Size RenderWidget::GetSizeForWebWidget() const { |
@@ -1048,7 +1049,7 @@ void RenderWidget::Resize(const ResizeParams& params) { |
} |
// Ignore this during shutdown. |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
if (compositor_) { |
@@ -1080,7 +1081,7 @@ void RenderWidget::Resize(const ResizeParams& params) { |
visual_viewport_size = visible_viewport_size_; |
} |
- webwidget()->resizeVisualViewport(visual_viewport_size); |
+ GetWebWidget()->resizeVisualViewport(visual_viewport_size); |
// When resizing, we want to wait to paint before ACK'ing the resize. This |
// ensures that we only resize as fast as we can paint. We only need to |
@@ -1153,8 +1154,8 @@ void RenderWidget::WillCloseLayerTreeView() { |
// Always send this notification to prevent new layer tree views from |
// being created, even if one hasn't been created yet. |
- if (webwidget_) |
- webwidget_->willCloseLayerTreeView(); |
+ if (blink::WebWidget* widget = GetWebWidget()) |
+ widget->willCloseLayerTreeView(); |
} |
blink::WebLayerTreeView* RenderWidget::layerTreeView() { |
@@ -1315,9 +1316,9 @@ void RenderWidget::Close() { |
screen_metrics_emulator_.reset(); |
WillCloseLayerTreeView(); |
compositor_.reset(); |
- if (webwidget_) { |
- webwidget_->close(); |
- webwidget_ = nullptr; |
+ if (webwidget_internal_) { |
+ webwidget_internal_->close(); |
+ webwidget_internal_ = nullptr; |
} |
} |
@@ -1390,16 +1391,16 @@ void RenderWidget::OnImeSetComposition( |
} |
#endif |
if (replacement_range.IsValid()) { |
- webwidget_->applyReplacementRange( |
+ GetWebWidget()->applyReplacementRange( |
WebRange(replacement_range.start(), replacement_range.length())); |
} |
if (!ShouldHandleImeEvent()) |
return; |
ImeEventGuard guard(this); |
- if (!webwidget_->setComposition( |
- text, WebVector<WebCompositionUnderline>(underlines), |
- selection_start, selection_end)) { |
+ if (!GetWebWidget()->setComposition( |
+ text, WebVector<WebCompositionUnderline>(underlines), selection_start, |
+ selection_end)) { |
// If we failed to set the composition text, then we need to let the browser |
// process to cancel the input method's ongoing composition session, to make |
// sure we are in a consistent state. |
@@ -1419,7 +1420,7 @@ void RenderWidget::OnImeConfirmComposition(const base::string16& text, |
} |
#endif |
if (replacement_range.IsValid()) { |
- webwidget_->applyReplacementRange( |
+ GetWebWidget()->applyReplacementRange( |
WebRange(replacement_range.start(), replacement_range.length())); |
} |
@@ -1428,11 +1429,11 @@ void RenderWidget::OnImeConfirmComposition(const base::string16& text, |
ImeEventGuard guard(this); |
input_handler_->set_handling_input_event(true); |
if (text.length()) |
- webwidget_->confirmComposition(text); |
+ GetWebWidget()->confirmComposition(text); |
else if (keep_selection) |
- webwidget_->confirmComposition(WebWidget::KeepSelection); |
+ GetWebWidget()->confirmComposition(WebWidget::KeepSelection); |
else |
- webwidget_->confirmComposition(WebWidget::DoNotKeepSelection); |
+ GetWebWidget()->confirmComposition(WebWidget::DoNotKeepSelection); |
input_handler_->set_handling_input_event(false); |
UpdateCompositionInfo(false /* not an immediate request */); |
} |
@@ -1448,7 +1449,7 @@ void RenderWidget::OnDeviceScaleFactorChanged() { |
void RenderWidget::OnRepaint(gfx::Size size_to_paint) { |
// During shutdown we can just ignore this message. |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
// Even if the browser provides an empty damage rect, it's still expecting to |
@@ -1470,9 +1471,9 @@ void RenderWidget::OnSyntheticGestureCompleted() { |
} |
void RenderWidget::OnSetTextDirection(WebTextDirection direction) { |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
- webwidget_->setTextDirection(direction); |
+ GetWebWidget()->setTextDirection(direction); |
} |
void RenderWidget::OnUpdateScreenRects(const gfx::Rect& view_screen_rect, |
@@ -1514,8 +1515,8 @@ ui::TextInputType RenderWidget::GetTextInputType() { |
if (focused_pepper_plugin_) |
return focused_pepper_plugin_->text_input_type(); |
#endif |
- if (webwidget_) |
- return WebKitToUiTextInputType(webwidget_->textInputType()); |
+ if (GetWebWidget()) |
+ return WebKitToUiTextInputType(GetWebWidget()->textInputType()); |
return ui::TEXT_INPUT_TYPE_NONE; |
} |
@@ -1607,7 +1608,7 @@ void RenderWidget::OnRequestCompositionUpdate(bool immediate_request, |
bool RenderWidget::ShouldHandleImeEvent() { |
#if defined(OS_ANDROID) |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return false; |
if (IsUsingImeThread()) |
return true; |
@@ -1624,7 +1625,7 @@ bool RenderWidget::ShouldHandleImeEvent() { |
} |
return true; |
#else |
- return !!webwidget_; |
+ return !!GetWebWidget(); |
#endif |
} |
@@ -1680,13 +1681,13 @@ void RenderWidget::SetHidden(bool hidden) { |
} |
void RenderWidget::DidToggleFullscreen() { |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
if (is_fullscreen_granted_) { |
- webwidget_->didEnterFullscreen(); |
+ GetWebWidget()->didEnterFullscreen(); |
} else { |
- webwidget_->didExitFullscreen(); |
+ GetWebWidget()->didExitFullscreen(); |
} |
} |
@@ -1757,7 +1758,7 @@ void RenderWidget::GetSelectionBounds(gfx::Rect* focus, gfx::Rect* anchor) { |
#endif |
WebRect focus_webrect; |
WebRect anchor_webrect; |
- webwidget_->selectionBounds(focus_webrect, anchor_webrect); |
+ GetWebWidget()->selectionBounds(focus_webrect, anchor_webrect); |
convertViewportToWindow(&focus_webrect); |
convertViewportToWindow(&anchor_webrect); |
*focus = focus_webrect; |
@@ -1766,7 +1767,7 @@ void RenderWidget::GetSelectionBounds(gfx::Rect* focus, gfx::Rect* anchor) { |
void RenderWidget::UpdateSelectionBounds() { |
TRACE_EVENT0("renderer", "RenderWidget::UpdateSelectionBounds"); |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
if (ime_event_guard_) |
return; |
@@ -1791,8 +1792,9 @@ void RenderWidget::UpdateSelectionBounds() { |
selection_focus_rect_ != params.focus_rect) { |
selection_anchor_rect_ = params.anchor_rect; |
selection_focus_rect_ = params.focus_rect; |
- webwidget_->selectionTextDirection(params.focus_dir, params.anchor_dir); |
- params.is_anchor_first = webwidget_->isSelectionAnchorFirst(); |
+ GetWebWidget()->selectionTextDirection(params.focus_dir, |
+ params.anchor_dir); |
+ params.is_anchor_first = GetWebWidget()->isSelectionAnchorFirst(); |
Send(new ViewHostMsg_SelectionBoundsChanged(routing_id_, params)); |
} |
} |
@@ -1870,10 +1872,10 @@ void RenderWidget::GetCompositionCharacterBounds( |
return; |
#endif |
- if (!webwidget_) |
+ if (!GetWebWidget()) |
return; |
blink::WebVector<blink::WebRect> bounds_from_blink; |
- if (!webwidget_->getCompositionCharacterBounds(bounds_from_blink)) |
+ if (!GetWebWidget()->getCompositionCharacterBounds(bounds_from_blink)) |
return; |
for (size_t i = 0; i < bounds_from_blink.size(); ++i) { |
@@ -1887,12 +1889,12 @@ void RenderWidget::GetCompositionRange(gfx::Range* range) { |
if (focused_pepper_plugin_) |
return; |
#endif |
- WebRange web_range = webwidget_->compositionRange(); |
+ WebRange web_range = GetWebWidget()->compositionRange(); |
if (!web_range.isNull()) { |
range->set_start(web_range.startOffset()); |
range->set_end(web_range.endOffset()); |
} else { |
- web_range = webwidget_->caretOrSelectionRange(); |
+ web_range = GetWebWidget()->caretOrSelectionRange(); |
range->set_start(web_range.startOffset()); |
range->set_end(web_range.endOffset()); |
} |
@@ -1961,7 +1963,7 @@ void RenderWidget::resetInputMethod() { |
if (text_input_info_.type != blink::WebTextInputTypeNone) { |
// If a composition text exists, then we need to let the browser process |
// to cancel the input method's ongoing composition session. |
- if (webwidget_->confirmComposition()) |
+ if (GetWebWidget()->confirmComposition()) |
Send(new InputHostMsg_ImeCancelComposition(routing_id())); |
} |
@@ -1993,8 +1995,8 @@ void RenderWidget::didHandleGestureEvent( |
if (event.type == WebInputEvent::GestureTap) { |
UpdateTextInputState(ShowIme::IF_NEEDED, ChangeSource::FROM_NON_IME); |
} else if (event.type == WebInputEvent::GestureLongPress) { |
- DCHECK(webwidget_); |
- if (webwidget_->textInputInfo().value.isEmpty()) |
+ DCHECK(GetWebWidget()); |
+ if (GetWebWidget()->textInputInfo().value.isEmpty()) |
UpdateTextInputState(ShowIme::HIDE_IME, ChangeSource::FROM_NON_IME); |
else |
UpdateTextInputState(ShowIme::IF_NEEDED, ChangeSource::FROM_NON_IME); |
@@ -2132,4 +2134,8 @@ bool RenderWidget::isPointerLocked() { |
webwidget_mouse_lock_target_.get()); |
} |
+blink::WebWidget* RenderWidget::GetWebWidget() const { |
+ return webwidget_internal_; |
+} |
+ |
} // namespace content |