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

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

Issue 1003113003: [DevTools] Handle emulation in embedder, call into web API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix tests and mac popups compilation Created 5 years, 9 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.cc ('k') | content/renderer/render_widget.cc » ('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 #ifndef CONTENT_RENDERER_RENDER_WIDGET_H_ 5 #ifndef CONTENT_RENDERER_RENDER_WIDGET_H_
6 #define CONTENT_RENDERER_RENDER_WIDGET_H_ 6 #define CONTENT_RENDERER_RENDER_WIDGET_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <map> 9 #include <map>
10 10
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 // When resumed from pause in debugger while handling mouse move, 267 // When resumed from pause in debugger while handling mouse move,
268 // we should not send an extra ack (see SendAckForMouseMoveFromDebugger). 268 // we should not send an extra ack (see SendAckForMouseMoveFromDebugger).
269 void IgnoreAckForMouseMoveFromDebugger(); 269 void IgnoreAckForMouseMoveFromDebugger();
270 270
271 // ScreenMetricsEmulator class manages screen emulation inside a render 271 // ScreenMetricsEmulator class manages screen emulation inside a render
272 // widget. This includes resizing, placing view on the screen at desired 272 // widget. This includes resizing, placing view on the screen at desired
273 // position, changing device scale factor, and scaling down the whole 273 // position, changing device scale factor, and scaling down the whole
274 // widget if required to fit into the browser window. 274 // widget if required to fit into the browser window.
275 class ScreenMetricsEmulator; 275 class ScreenMetricsEmulator;
276 276
277 // Emulates screen and widget metrics. Supplied values override everything
278 // coming from host.
279 void EnableScreenMetricsEmulation(
280 const blink::WebDeviceEmulationParams& params);
281 void DisableScreenMetricsEmulation();
282 void SetPopupOriginAdjustmentsForEmulation(ScreenMetricsEmulator* emulator); 277 void SetPopupOriginAdjustmentsForEmulation(ScreenMetricsEmulator* emulator);
283 gfx::Rect AdjustValidationMessageAnchor(const gfx::Rect& anchor); 278 gfx::Rect AdjustValidationMessageAnchor(const gfx::Rect& anchor);
284 279
285 void ScheduleCompositeWithForcedRedraw(); 280 void ScheduleCompositeWithForcedRedraw();
286 281
287 // Called by the compositor in single-threaded mode when a swap is posted, 282 // Called by the compositor in single-threaded mode when a swap is posted,
288 // completes or is aborted. 283 // completes or is aborted.
289 void OnSwapBuffersPosted(); 284 void OnSwapBuffersPosted();
290 void OnSwapBuffersComplete(); 285 void OnSwapBuffersComplete();
291 void OnSwapBuffersAborted(); 286 void OnSwapBuffersAborted();
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 const gfx::Size& physical_backing_size, 386 const gfx::Size& physical_backing_size,
392 bool top_controls_shrink_blink_size, 387 bool top_controls_shrink_blink_size,
393 float top_controls_height, 388 float top_controls_height,
394 const gfx::Size& visible_viewport_size, 389 const gfx::Size& visible_viewport_size,
395 const gfx::Rect& resizer_rect, 390 const gfx::Rect& resizer_rect,
396 bool is_fullscreen, 391 bool is_fullscreen,
397 ResizeAck resize_ack); 392 ResizeAck resize_ack);
398 // Used to force the size of a window when running layout tests. 393 // Used to force the size of a window when running layout tests.
399 void SetWindowRectSynchronously(const gfx::Rect& new_window_rect); 394 void SetWindowRectSynchronously(const gfx::Rect& new_window_rect);
400 virtual void SetScreenMetricsEmulationParameters( 395 virtual void SetScreenMetricsEmulationParameters(
401 float device_scale_factor, 396 bool enabled,
402 const gfx::Point& root_layer_offset, 397 const blink::WebDeviceEmulationParams& params);
403 float root_layer_scale);
404 #if defined(OS_MACOSX) || defined(OS_ANDROID) 398 #if defined(OS_MACOSX) || defined(OS_ANDROID)
405 void SetExternalPopupOriginAdjustmentsForEmulation( 399 void SetExternalPopupOriginAdjustmentsForEmulation(
406 ExternalPopupMenu* popup, ScreenMetricsEmulator* emulator); 400 ExternalPopupMenu* popup, ScreenMetricsEmulator* emulator);
407 #endif 401 #endif
408 402
409 // RenderWidget IPC message handlers 403 // RenderWidget IPC message handlers
410 void OnHandleInputEvent(const blink::WebInputEvent* event, 404 void OnHandleInputEvent(const blink::WebInputEvent* event,
411 const ui::LatencyInfo& latency_info, 405 const ui::LatencyInfo& latency_info,
412 bool keyboard_shortcut); 406 bool keyboard_shortcut);
413 void OnCursorVisibilityChange(bool is_visible); 407 void OnCursorVisibilityChange(bool is_visible);
414 void OnMouseCaptureLost(); 408 void OnMouseCaptureLost();
415 virtual void OnSetFocus(bool enable); 409 virtual void OnSetFocus(bool enable);
416 virtual void OnClose(); 410 virtual void OnClose();
417 void OnCreatingNewAck(); 411 void OnCreatingNewAck();
418 virtual void OnResize(const ViewMsg_Resize_Params& params); 412 virtual void OnResize(const ViewMsg_Resize_Params& params);
413 void OnEnableDeviceEmulation(const blink::WebDeviceEmulationParams& params);
414 void OnDisableDeviceEmulation();
419 void OnColorProfile(const std::vector<char>& color_profile); 415 void OnColorProfile(const std::vector<char>& color_profile);
420 void OnChangeResizeRect(const gfx::Rect& resizer_rect); 416 void OnChangeResizeRect(const gfx::Rect& resizer_rect);
421 virtual void OnWasHidden(); 417 virtual void OnWasHidden();
422 virtual void OnWasShown(bool needs_repainting, 418 virtual void OnWasShown(bool needs_repainting,
423 const ui::LatencyInfo& latency_info); 419 const ui::LatencyInfo& latency_info);
424 void OnCreateVideoAck(int32 video_id); 420 void OnCreateVideoAck(int32 video_id);
425 void OnUpdateVideoAck(int32 video_id); 421 void OnUpdateVideoAck(int32 video_id);
426 void OnRequestMoveAck(); 422 void OnRequestMoveAck();
427 void OnSetInputMethodActive(bool is_active); 423 void OnSetInputMethodActive(bool is_active);
428 void OnCandidateWindowShown(); 424 void OnCandidateWindowShown();
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 // The background color of the document body element. This is used as the 773 // The background color of the document body element. This is used as the
778 // default background color for filling the screen areas for which we don't 774 // default background color for filling the screen areas for which we don't
779 // have the actual content. 775 // have the actual content.
780 SkColor body_background_color_; 776 SkColor body_background_color_;
781 #endif 777 #endif
782 778
783 scoped_ptr<ScreenMetricsEmulator> screen_metrics_emulator_; 779 scoped_ptr<ScreenMetricsEmulator> screen_metrics_emulator_;
784 780
785 // Popups may be displaced when screen metrics emulation is enabled. 781 // Popups may be displaced when screen metrics emulation is enabled.
786 // These values are used to properly adjust popup position. 782 // These values are used to properly adjust popup position.
787 gfx::Point popup_view_origin_for_emulation_; 783 gfx::PointF popup_view_origin_for_emulation_;
788 gfx::Point popup_screen_origin_for_emulation_; 784 gfx::PointF popup_screen_origin_for_emulation_;
789 float popup_origin_scale_for_emulation_; 785 float popup_origin_scale_for_emulation_;
790 786
791 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; 787 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
792 scoped_ptr<ResizingModeSelector> resizing_mode_selector_; 788 scoped_ptr<ResizingModeSelector> resizing_mode_selector_;
793 789
794 // Lists of RenderFrameProxy objects that need to be notified of 790 // Lists of RenderFrameProxy objects that need to be notified of
795 // compositing-related events (e.g. DidCommitCompositorFrame). 791 // compositing-related events (e.g. DidCommitCompositorFrame).
796 ObserverList<RenderFrameProxy> render_frame_proxies_; 792 ObserverList<RenderFrameProxy> render_frame_proxies_;
797 #if defined(VIDEO_HOLE) 793 #if defined(VIDEO_HOLE)
798 ObserverList<RenderFrameImpl> video_hole_frames_; 794 ObserverList<RenderFrameImpl> video_hole_frames_;
799 #endif // defined(VIDEO_HOLE) 795 #endif // defined(VIDEO_HOLE)
800 796
801 // A list of RenderFrames associated with this RenderWidget. Notifications 797 // A list of RenderFrames associated with this RenderWidget. Notifications
802 // are sent to each frame in the list for events such as changing 798 // are sent to each frame in the list for events such as changing
803 // visibility state for example. 799 // visibility state for example.
804 ObserverList<RenderFrameImpl> render_frames_; 800 ObserverList<RenderFrameImpl> render_frames_;
805 801
806 ui::MenuSourceType context_menu_source_type_; 802 ui::MenuSourceType context_menu_source_type_;
807 bool has_host_context_menu_location_; 803 bool has_host_context_menu_location_;
808 gfx::Point host_context_menu_location_; 804 gfx::Point host_context_menu_location_;
809 805
810 DISALLOW_COPY_AND_ASSIGN(RenderWidget); 806 DISALLOW_COPY_AND_ASSIGN(RenderWidget);
811 }; 807 };
812 808
813 } // namespace content 809 } // namespace content
814 810
815 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ 811 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698