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

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

Issue 2649573003: Revert of Move compositor InputHandler from RenderViewImpl to RenderWidget. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_widget.h » ('j') | 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_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <memory> 9 #include <memory>
10 10
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 page_zoom_level_(params.page_zoom_level), 563 page_zoom_level_(params.page_zoom_level),
564 main_render_frame_(nullptr), 564 main_render_frame_(nullptr),
565 frame_widget_(nullptr), 565 frame_widget_(nullptr),
566 speech_recognition_dispatcher_(NULL), 566 speech_recognition_dispatcher_(NULL),
567 #if defined(OS_ANDROID) 567 #if defined(OS_ANDROID)
568 expected_content_intent_id_(0), 568 expected_content_intent_id_(0),
569 was_created_by_renderer_(false), 569 was_created_by_renderer_(false),
570 #endif 570 #endif
571 enumeration_completion_id_(0), 571 enumeration_completion_id_(0),
572 session_storage_namespace_id_(params.session_storage_namespace_id), 572 session_storage_namespace_id_(params.session_storage_namespace_id),
573 weak_ptr_factory_(this) { 573 has_added_input_handler_(false) {
574 GetWidget()->set_owner_delegate(this); 574 GetWidget()->set_owner_delegate(this);
575 } 575 }
576 576
577 void RenderViewImpl::Initialize( 577 void RenderViewImpl::Initialize(
578 const mojom::CreateViewParams& params, 578 const mojom::CreateViewParams& params,
579 const RenderWidget::ShowCallback& show_callback) { 579 const RenderWidget::ShowCallback& show_callback) {
580 bool was_created_by_renderer = !show_callback.is_null(); 580 bool was_created_by_renderer = !show_callback.is_null();
581 #if defined(OS_ANDROID) 581 #if defined(OS_ANDROID)
582 // TODO(sgurun): crbug.com/325351 Needed only for android webview's deprecated 582 // TODO(sgurun): crbug.com/325351 Needed only for android webview's deprecated
583 // HandleNavigation codepath. 583 // HandleNavigation codepath.
(...skipping 1245 matching lines...) Expand 10 before | Expand all | Expand 10 after
1829 bool event_cancelled) { 1829 bool event_cancelled) {
1830 RenderWidget::didHandleGestureEvent(event, event_cancelled); 1830 RenderWidget::didHandleGestureEvent(event, event_cancelled);
1831 1831
1832 if (!event_cancelled) { 1832 if (!event_cancelled) {
1833 for (auto& observer : observers_) 1833 for (auto& observer : observers_)
1834 observer.DidHandleGestureEvent(event); 1834 observer.DidHandleGestureEvent(event);
1835 } 1835 }
1836 } 1836 }
1837 1837
1838 blink::WebLayerTreeView* RenderViewImpl::initializeLayerTreeView() { 1838 blink::WebLayerTreeView* RenderViewImpl::initializeLayerTreeView() {
1839 // TODO(!wjmaclean): We should be able to just remove this function, and 1839 blink::WebLayerTreeView* ltv = RenderWidget::initializeLayerTreeView();
1840 // expect the RenderWidget version of the function to be called instead. 1840 RenderWidgetCompositor* rwc = compositor();
1841 // However, we have a diamond inheritance pattern going on: 1841 if (!rwc)
1842 // WebWidgetClient 1842 return ltv;
1843 // | | 1843
1844 // RenderWidget WebViewClient 1844 RenderThreadImpl* render_thread = RenderThreadImpl::current();
1845 // | | 1845 // render_thread may be NULL in tests.
1846 // RenderViewImpl 1846 InputHandlerManager* input_handler_manager =
1847 // 1847 render_thread ? render_thread->input_handler_manager() : NULL;
1848 // and this seems to prefer calling the empty version in WebWidgetClient 1848 if (input_handler_manager) {
1849 // or WebViewClient over the non-empty one in RenderWidget. 1849 input_handler_manager->AddInputHandler(
1850 return RenderWidget::initializeLayerTreeView(); 1850 GetRoutingID(), rwc->GetInputHandler(), AsWeakPtr(),
1851 webkit_preferences_.enable_scroll_animator);
1852 has_added_input_handler_ = true;
1853 }
1854 return ltv;
1851 } 1855 }
1852 1856
1853 void RenderViewImpl::closeWidgetSoon() { 1857 void RenderViewImpl::closeWidgetSoon() {
1854 RenderWidget::closeWidgetSoon(); 1858 RenderWidget::closeWidgetSoon();
1855 } 1859 }
1856 1860
1857 void RenderViewImpl::convertViewportToWindow(blink::WebRect* rect) { 1861 void RenderViewImpl::convertViewportToWindow(blink::WebRect* rect) {
1858 RenderWidget::convertViewportToWindow(rect); 1862 RenderWidget::convertViewportToWindow(rect);
1859 } 1863 }
1860 1864
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
2462 return intent; 2466 return intent;
2463 } 2467 }
2464 } 2468 }
2465 return WebURL(); 2469 return WebURL();
2466 } 2470 }
2467 2471
2468 void RenderViewImpl::scheduleContentIntent(const WebURL& intent, 2472 void RenderViewImpl::scheduleContentIntent(const WebURL& intent,
2469 bool is_main_frame) { 2473 bool is_main_frame) {
2470 // Introduce a short delay so that the user can notice the content. 2474 // Introduce a short delay so that the user can notice the content.
2471 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( 2475 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
2472 FROM_HERE, base::Bind(&RenderViewImpl::LaunchAndroidContentIntent, 2476 FROM_HERE,
2473 weak_ptr_factory_.GetWeakPtr(), intent, 2477 base::Bind(&RenderViewImpl::LaunchAndroidContentIntent, AsWeakPtr(),
2474 expected_content_intent_id_, is_main_frame), 2478 intent, expected_content_intent_id_, is_main_frame),
2475 base::TimeDelta::FromMilliseconds(kContentIntentDelayMilliseconds)); 2479 base::TimeDelta::FromMilliseconds(kContentIntentDelayMilliseconds));
2476 } 2480 }
2477 2481
2478 void RenderViewImpl::cancelScheduledContentIntents() { 2482 void RenderViewImpl::cancelScheduledContentIntents() {
2479 ++expected_content_intent_id_; 2483 ++expected_content_intent_id_;
2480 } 2484 }
2481 2485
2482 void RenderViewImpl::LaunchAndroidContentIntent(const GURL& intent, 2486 void RenderViewImpl::LaunchAndroidContentIntent(const GURL& intent,
2483 size_t request_id, 2487 size_t request_id,
2484 bool is_main_frame) { 2488 bool is_main_frame) {
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
2727 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 2731 INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
2728 } 2732 }
2729 2733
2730 std::unique_ptr<InputEventAck> ack( 2734 std::unique_ptr<InputEventAck> ack(
2731 new InputEventAck(InputEventAckSource::MAIN_THREAD, input_event->type(), 2735 new InputEventAck(InputEventAckSource::MAIN_THREAD, input_event->type(),
2732 INPUT_EVENT_ACK_STATE_NOT_CONSUMED)); 2736 INPUT_EVENT_ACK_STATE_NOT_CONSUMED));
2733 OnInputEventAck(std::move(ack)); 2737 OnInputEventAck(std::move(ack));
2734 } 2738 }
2735 2739
2736 } // namespace content 2740 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698