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

Unified Diff: content/renderer/render_widget.cc

Issue 2288313002: Return the WebViewFrameWidget in RenderWidget::webwidget() if there (Closed)
Patch Set: avoid virtual call Created 4 years, 3 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
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/renderer/render_widget_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_widget.cc
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 430c7c9b7acaf27a0893850fec98a5d40ce049e6..1b0873dd33f00ed1619b89df17c70240cc3b33d2 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -1069,7 +1069,7 @@ void RenderWidget::Resize(const ResizeParams& params) {
visual_viewport_size = visible_viewport_size_;
}
- webwidget()->resizeVisualViewport(visual_viewport_size);
+ GetWebWidget()->resizeVisualViewport(visual_viewport_size);
piman 2016/09/13 00:27:05 Soo... why do we use GetWebWidget() sometimes, and
lfg 2016/09/13 19:37:57 Basically we should always prefer GetWebWidget() o
// 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
@@ -1142,8 +1142,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() {
@@ -1379,16 +1379,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.
@@ -1408,7 +1408,7 @@ void RenderWidget::OnImeConfirmComposition(const base::string16& text,
}
#endif
if (replacement_range.IsValid()) {
- webwidget_->applyReplacementRange(
+ GetWebWidget()->applyReplacementRange(
WebRange(replacement_range.start(), replacement_range.length()));
}
@@ -1417,11 +1417,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 */);
}
@@ -1437,7 +1437,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
@@ -1459,9 +1459,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,
@@ -1503,8 +1503,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;
}
@@ -1596,7 +1596,7 @@ void RenderWidget::OnRequestCompositionUpdate(bool immediate_request,
bool RenderWidget::ShouldHandleImeEvent() {
#if defined(OS_ANDROID)
- if (!webwidget_)
+ if (!GetWebWidget())
return false;
if (IsUsingImeThread())
return true;
@@ -1613,7 +1613,7 @@ bool RenderWidget::ShouldHandleImeEvent() {
}
return true;
#else
- return !!webwidget_;
+ return !!GetWebWidget();
#endif
}
@@ -1669,13 +1669,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();
}
}
@@ -1746,7 +1746,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;
@@ -1755,7 +1755,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;
@@ -1780,8 +1780,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));
}
}
@@ -1859,10 +1860,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) {
@@ -1876,7 +1877,7 @@ 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());
@@ -1950,7 +1951,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()));
}
@@ -1982,8 +1983,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);
@@ -2121,4 +2122,8 @@ bool RenderWidget::isPointerLocked() {
webwidget_mouse_lock_target_.get());
}
+blink::WebWidget* RenderWidget::GetWebWidget() const {
+ return webwidget_;
+}
+
} // namespace content
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/renderer/render_widget_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698