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

Side by Side Diff: content/renderer/render_widget.cc

Issue 10830024: Added DCHECK() to prevent webwidget_->isInputThrottled() from being called when webwidget_ is NULL. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/renderer/render_widget.h" 5 #include "content/renderer/render_widget.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 TRACE_EVENT0("renderer", "RenderWidget::OnHandleInputEvent"); 537 TRACE_EVENT0("renderer", "RenderWidget::OnHandleInputEvent");
538 PickleIterator iter(message); 538 PickleIterator iter(message);
539 539
540 const char* data; 540 const char* data;
541 int data_length; 541 int data_length;
542 handling_input_event_ = true; 542 handling_input_event_ = true;
543 if (!message.ReadData(&iter, &data, &data_length)) { 543 if (!message.ReadData(&iter, &data, &data_length)) {
544 handling_input_event_ = false; 544 handling_input_event_ = false;
545 return; 545 return;
546 } 546 }
547 DCHECK(webwidget_);
547 548
548 const WebInputEvent* input_event = 549 const WebInputEvent* input_event =
549 reinterpret_cast<const WebInputEvent*>(data); 550 reinterpret_cast<const WebInputEvent*>(data);
550 551
551 bool is_keyboard_shortcut = false; 552 bool is_keyboard_shortcut = false;
552 // is_keyboard_shortcut flag is only available for RawKeyDown events. 553 // is_keyboard_shortcut flag is only available for RawKeyDown events.
553 if (input_event->type == WebInputEvent::RawKeyDown) 554 if (input_event->type == WebInputEvent::RawKeyDown)
554 message.ReadBool(&iter, &is_keyboard_shortcut); 555 message.ReadBool(&iter, &is_keyboard_shortcut);
555 556
556 bool prevent_default = false; 557 bool prevent_default = false;
557 if (WebInputEvent::isMouseEventType(input_event->type)) { 558 if (WebInputEvent::isMouseEventType(input_event->type)) {
558 const WebMouseEvent& mouse_event = 559 const WebMouseEvent& mouse_event =
559 *static_cast<const WebMouseEvent*>(input_event); 560 *static_cast<const WebMouseEvent*>(input_event);
560 TRACE_EVENT2("renderer", "HandleMouseMove", 561 TRACE_EVENT2("renderer", "HandleMouseMove",
561 "x", mouse_event.x, "y", mouse_event.y); 562 "x", mouse_event.x, "y", mouse_event.y);
562 prevent_default = WillHandleMouseEvent(mouse_event); 563 prevent_default = WillHandleMouseEvent(mouse_event);
563 } 564 }
564 565
565 bool processed = prevent_default; 566 bool processed = prevent_default;
566 if (input_event->type != WebInputEvent::Char || !suppress_next_char_events_) { 567 if (input_event->type != WebInputEvent::Char || !suppress_next_char_events_) {
567 suppress_next_char_events_ = false; 568 suppress_next_char_events_ = false;
568 if (!processed && webwidget_) 569 if (!processed && webwidget_)
Tyler Breisacher (Chromium) 2012/07/26 18:32:15 I think you misread what Coverity is saying. This
Kyle Horimoto 2012/07/26 18:40:57 Line 587 dereferences webwidget_. If it is indeed
nduca 2012/07/26 19:27:11 Just say webwidget_ ? webwidget_xxx : yyy where ne
Kyle Horimoto 2012/07/26 21:58:52 Sorry, I'm don't understand exactly you're saying
569 processed = webwidget_->handleInputEvent(*input_event); 570 processed = webwidget_->handleInputEvent(*input_event);
570 } 571 }
571 572
572 // If this RawKeyDown event corresponds to a browser keyboard shortcut and 573 // If this RawKeyDown event corresponds to a browser keyboard shortcut and
573 // it's not processed by webkit, then we need to suppress the upcoming Char 574 // it's not processed by webkit, then we need to suppress the upcoming Char
574 // events. 575 // events.
575 if (!processed && is_keyboard_shortcut) 576 if (!processed && is_keyboard_shortcut)
576 suppress_next_char_events_ = true; 577 suppress_next_char_events_ = true;
577 578
578 IPC::Message* response = 579 IPC::Message* response =
(...skipping 1194 matching lines...) Expand 10 before | Expand all | Expand 10 after
1773 Send(new ViewHostMsg_BeginSmoothScroll(routing_id_, down, scroll_far)); 1774 Send(new ViewHostMsg_BeginSmoothScroll(routing_id_, down, scroll_far));
1774 } 1775 }
1775 1776
1776 bool RenderWidget::WillHandleMouseEvent(const WebKit::WebMouseEvent& event) { 1777 bool RenderWidget::WillHandleMouseEvent(const WebKit::WebMouseEvent& event) {
1777 return false; 1778 return false;
1778 } 1779 }
1779 1780
1780 bool RenderWidget::WebWidgetHandlesCompositorScheduling() const { 1781 bool RenderWidget::WebWidgetHandlesCompositorScheduling() const {
1781 return false; 1782 return false;
1782 } 1783 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698