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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 898443003: Use RWH instead of RWHV to know whether a frame is focus. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "content/browser/renderer_host/render_widget_host_impl.h" 5 #include "content/browser/renderer_host/render_widget_host_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 input_method_active_(false), 179 input_method_active_(false),
180 text_direction_updated_(false), 180 text_direction_updated_(false),
181 text_direction_(blink::WebTextDirectionLeftToRight), 181 text_direction_(blink::WebTextDirectionLeftToRight),
182 text_direction_canceled_(false), 182 text_direction_canceled_(false),
183 suppress_next_char_events_(false), 183 suppress_next_char_events_(false),
184 pending_mouse_lock_request_(false), 184 pending_mouse_lock_request_(false),
185 allow_privileged_mouse_lock_(false), 185 allow_privileged_mouse_lock_(false),
186 has_touch_handler_(false), 186 has_touch_handler_(false),
187 next_browser_snapshot_id_(1), 187 next_browser_snapshot_id_(1),
188 owned_by_render_frame_host_(false), 188 owned_by_render_frame_host_(false),
189 is_focused_(false),
189 weak_factory_(this) { 190 weak_factory_(this) {
190 CHECK(delegate_); 191 CHECK(delegate_);
191 if (routing_id_ == MSG_ROUTING_NONE) { 192 if (routing_id_ == MSG_ROUTING_NONE) {
192 routing_id_ = process_->GetNextRoutingID(); 193 routing_id_ = process_->GetNextRoutingID();
193 surface_id_ = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( 194 surface_id_ = GpuSurfaceTracker::Get()->AddSurfaceForRenderer(
194 process_->GetID(), 195 process_->GetID(),
195 routing_id_); 196 routing_id_);
196 } else { 197 } else {
197 // TODO(piman): This is a O(N) lookup, where we could forward the 198 // TODO(piman): This is a O(N) lookup, where we could forward the
198 // information from the RenderWidgetHelper. The problem is that doing so 199 // information from the RenderWidgetHelper. The problem is that doing so
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 Send(new ViewMsg_ChangeResizeRect(routing_id_, new_rect)); 657 Send(new ViewMsg_ChangeResizeRect(routing_id_, new_rect));
657 } 658 }
658 659
659 void RenderWidgetHostImpl::GotFocus() { 660 void RenderWidgetHostImpl::GotFocus() {
660 Focus(); 661 Focus();
661 if (delegate_) 662 if (delegate_)
662 delegate_->RenderWidgetGotFocus(this); 663 delegate_->RenderWidgetGotFocus(this);
663 } 664 }
664 665
665 void RenderWidgetHostImpl::Focus() { 666 void RenderWidgetHostImpl::Focus() {
667 is_focused_ = true;
668
666 Send(new InputMsg_SetFocus(routing_id_, true)); 669 Send(new InputMsg_SetFocus(routing_id_, true));
667 } 670 }
668 671
669 void RenderWidgetHostImpl::Blur() { 672 void RenderWidgetHostImpl::Blur() {
673 is_focused_ = false;
674
670 // If there is a pending mouse lock request, we don't want to reject it at 675 // If there is a pending mouse lock request, we don't want to reject it at
671 // this point. The user can switch focus back to this view and approve the 676 // this point. The user can switch focus back to this view and approve the
672 // request later. 677 // request later.
673 if (IsMouseLocked()) 678 if (IsMouseLocked())
674 view_->UnlockMouse(); 679 view_->UnlockMouse();
675 680
676 if (touch_emulator_) 681 if (touch_emulator_)
677 touch_emulator_->CancelTouch(); 682 touch_emulator_->CancelTouch();
678 683
679 Send(new InputMsg_SetFocus(routing_id_, false)); 684 Send(new InputMsg_SetFocus(routing_id_, false));
(...skipping 1512 matching lines...) Expand 10 before | Expand all | Expand 10 after
2192 } 2197 }
2193 #endif 2198 #endif
2194 2199
2195 SkColorType RenderWidgetHostImpl::PreferredReadbackFormat() { 2200 SkColorType RenderWidgetHostImpl::PreferredReadbackFormat() {
2196 if (view_) 2201 if (view_)
2197 return view_->PreferredReadbackFormat(); 2202 return view_->PreferredReadbackFormat();
2198 return kN32_SkColorType; 2203 return kN32_SkColorType;
2199 } 2204 }
2200 2205
2201 } // namespace content 2206 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698