1 // Copyright 2020 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/public/test/fake_render_widget_host.h"
6 
7 #include "third_party/blink/public/mojom/frame/intrinsic_sizing_info.mojom.h"
8 #include "third_party/blink/public/mojom/input/touch_event.mojom.h"
9 #include "third_party/blink/public/mojom/page/drag.mojom.h"
10 
11 namespace content {
12 
13 FakeRenderWidgetHost::FakeRenderWidgetHost() = default;
14 FakeRenderWidgetHost::~FakeRenderWidgetHost() = default;
15 
16 std::pair<mojo::PendingAssociatedRemote<blink::mojom::FrameWidgetHost>,
17           mojo::PendingAssociatedReceiver<blink::mojom::FrameWidget>>
BindNewFrameWidgetInterfaces()18 FakeRenderWidgetHost::BindNewFrameWidgetInterfaces() {
19   frame_widget_host_receiver_.reset();
20   frame_widget_remote_.reset();
21   return std::make_pair(
22       frame_widget_host_receiver_.BindNewEndpointAndPassDedicatedRemote(),
23       frame_widget_remote_.BindNewEndpointAndPassDedicatedReceiver());
24 }
25 
26 std::pair<mojo::PendingAssociatedRemote<blink::mojom::WidgetHost>,
27           mojo::PendingAssociatedReceiver<blink::mojom::Widget>>
BindNewWidgetInterfaces()28 FakeRenderWidgetHost::BindNewWidgetInterfaces() {
29   widget_host_receiver_.reset();
30   widget_remote_.reset();
31   return std::make_pair(
32       widget_host_receiver_.BindNewEndpointAndPassDedicatedRemote(),
33       widget_remote_.BindNewEndpointAndPassDedicatedReceiver());
34 }
35 
AnimateDoubleTapZoomInMainFrame(const gfx::Point & tap_point,const gfx::Rect & rect_to_zoom)36 void FakeRenderWidgetHost::AnimateDoubleTapZoomInMainFrame(
37     const gfx::Point& tap_point,
38     const gfx::Rect& rect_to_zoom) {}
39 
ZoomToFindInPageRectInMainFrame(const gfx::Rect & rect_to_zoom)40 void FakeRenderWidgetHost::ZoomToFindInPageRectInMainFrame(
41     const gfx::Rect& rect_to_zoom) {}
42 
SetHasTouchEventConsumers(blink::mojom::TouchEventConsumersPtr consumers)43 void FakeRenderWidgetHost::SetHasTouchEventConsumers(
44     blink::mojom::TouchEventConsumersPtr consumers) {}
45 
IntrinsicSizingInfoChanged(blink::mojom::IntrinsicSizingInfoPtr sizing_info)46 void FakeRenderWidgetHost::IntrinsicSizingInfoChanged(
47     blink::mojom::IntrinsicSizingInfoPtr sizing_info) {}
48 
SetCursor(const ui::Cursor & cursor)49 void FakeRenderWidgetHost::SetCursor(const ui::Cursor& cursor) {}
50 
SetToolTipText(const base::string16 & tooltip_text,base::i18n::TextDirection text_direction_hint)51 void FakeRenderWidgetHost::SetToolTipText(
52     const base::string16& tooltip_text,
53     base::i18n::TextDirection text_direction_hint) {}
54 
TextInputStateChanged(ui::mojom::TextInputStatePtr state)55 void FakeRenderWidgetHost::TextInputStateChanged(
56     ui::mojom::TextInputStatePtr state) {}
57 
SelectionBoundsChanged(const gfx::Rect & anchor_rect,base::i18n::TextDirection anchor_dir,const gfx::Rect & focus_rect,base::i18n::TextDirection focus_dir,bool is_anchor_first)58 void FakeRenderWidgetHost::SelectionBoundsChanged(
59     const gfx::Rect& anchor_rect,
60     base::i18n::TextDirection anchor_dir,
61     const gfx::Rect& focus_rect,
62     base::i18n::TextDirection focus_dir,
63     bool is_anchor_first) {}
64 
CreateFrameSink(mojo::PendingReceiver<viz::mojom::CompositorFrameSink> compositor_frame_sink_receiver,mojo::PendingRemote<viz::mojom::CompositorFrameSinkClient> compositor_frame_sink_client)65 void FakeRenderWidgetHost::CreateFrameSink(
66     mojo::PendingReceiver<viz::mojom::CompositorFrameSink>
67         compositor_frame_sink_receiver,
68     mojo::PendingRemote<viz::mojom::CompositorFrameSinkClient>
69         compositor_frame_sink_client) {}
70 
RegisterRenderFrameMetadataObserver(mojo::PendingReceiver<cc::mojom::RenderFrameMetadataObserverClient> render_frame_metadata_observer_client_receiver,mojo::PendingRemote<cc::mojom::RenderFrameMetadataObserver> render_frame_metadata_observer)71 void FakeRenderWidgetHost::RegisterRenderFrameMetadataObserver(
72     mojo::PendingReceiver<cc::mojom::RenderFrameMetadataObserverClient>
73         render_frame_metadata_observer_client_receiver,
74     mojo::PendingRemote<cc::mojom::RenderFrameMetadataObserver>
75         render_frame_metadata_observer) {}
76 
RequestClosePopup()77 void FakeRenderWidgetHost::RequestClosePopup() {}
78 
SetPopupBounds(const gfx::Rect & bounds,SetPopupBoundsCallback callback)79 void FakeRenderWidgetHost::SetPopupBounds(const gfx::Rect& bounds,
80                                           SetPopupBoundsCallback callback) {}
81 
ShowPopup(const gfx::Rect & initial_rect,ShowPopupCallback callback)82 void FakeRenderWidgetHost::ShowPopup(const gfx::Rect& initial_rect,
83                                      ShowPopupCallback callback) {}
84 
SetTouchActionFromMain(cc::TouchAction touch_action)85 void FakeRenderWidgetHost::SetTouchActionFromMain(
86     cc::TouchAction touch_action) {}
87 
DidOverscroll(blink::mojom::DidOverscrollParamsPtr params)88 void FakeRenderWidgetHost::DidOverscroll(
89     blink::mojom::DidOverscrollParamsPtr params) {}
90 
DidStartScrollingViewport()91 void FakeRenderWidgetHost::DidStartScrollingViewport() {}
92 
ImeCancelComposition()93 void FakeRenderWidgetHost::ImeCancelComposition() {}
94 
ImeCompositionRangeChanged(const gfx::Range & range,const std::vector<gfx::Rect> & bounds)95 void FakeRenderWidgetHost::ImeCompositionRangeChanged(
96     const gfx::Range& range,
97     const std::vector<gfx::Rect>& bounds) {
98   last_composition_range_ = range;
99   last_composition_bounds_ = bounds;
100 }
101 
SetMouseCapture(bool capture)102 void FakeRenderWidgetHost::SetMouseCapture(bool capture) {}
103 
RequestMouseLock(bool from_user_gesture,bool unadjusted_movement,RequestMouseLockCallback callback)104 void FakeRenderWidgetHost::RequestMouseLock(bool from_user_gesture,
105                                             bool unadjusted_movement,
106                                             RequestMouseLockCallback callback) {
107 }
108 
AutoscrollStart(const gfx::PointF & position)109 void FakeRenderWidgetHost::AutoscrollStart(const gfx::PointF& position) {}
110 
AutoscrollFling(const gfx::Vector2dF & position)111 void FakeRenderWidgetHost::AutoscrollFling(const gfx::Vector2dF& position) {}
112 
AutoscrollEnd()113 void FakeRenderWidgetHost::AutoscrollEnd() {}
114 
DidFirstVisuallyNonEmptyPaint()115 void FakeRenderWidgetHost::DidFirstVisuallyNonEmptyPaint() {}
116 
StartDragging(blink::mojom::DragDataPtr drag_data,blink::DragOperationsMask operations_allowed,const SkBitmap & bitmap,const gfx::Vector2d & bitmap_offset_in_dip,blink::mojom::DragEventSourceInfoPtr event_info)117 void FakeRenderWidgetHost::StartDragging(
118     blink::mojom::DragDataPtr drag_data,
119     blink::DragOperationsMask operations_allowed,
120     const SkBitmap& bitmap,
121     const gfx::Vector2d& bitmap_offset_in_dip,
122     blink::mojom::DragEventSourceInfoPtr event_info) {}
123 
124 blink::mojom::WidgetInputHandler*
GetWidgetInputHandler()125 FakeRenderWidgetHost::GetWidgetInputHandler() {
126   if (!widget_input_handler_) {
127     widget_remote_->GetWidgetInputHandler(
128         widget_input_handler_.BindNewPipeAndPassReceiver(),
129         widget_input_handler_host_.BindNewPipeAndPassRemote());
130   }
131   return widget_input_handler_.get();
132 }
133 
134 blink::mojom::FrameWidgetInputHandler*
GetFrameWidgetInputHandler()135 FakeRenderWidgetHost::GetFrameWidgetInputHandler() {
136   if (!frame_widget_input_handler_) {
137     GetWidgetInputHandler()->GetFrameWidgetInputHandler(
138         frame_widget_input_handler_.BindNewEndpointAndPassReceiver());
139   }
140   return frame_widget_input_handler_.get();
141 }
142 
143 }  // namespace content
144