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

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

Issue 1804023002: Fix page zoom to be frame-centric for out-of-process frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Convert to use PageMsg instead of FrameMsg. Created 4 years, 8 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 #ifndef CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 14 matching lines...) Expand all
25 #include "base/timer/timer.h" 25 #include "base/timer/timer.h"
26 #include "build/build_config.h" 26 #include "build/build_config.h"
27 #include "cc/input/top_controls_state.h" 27 #include "cc/input/top_controls_state.h"
28 #include "cc/resources/shared_bitmap.h" 28 #include "cc/resources/shared_bitmap.h"
29 #include "content/common/content_export.h" 29 #include "content/common/content_export.h"
30 #include "content/common/drag_event_source_info.h" 30 #include "content/common/drag_event_source_info.h"
31 #include "content/common/edit_command.h" 31 #include "content/common/edit_command.h"
32 #include "content/common/frame_message_enums.h" 32 #include "content/common/frame_message_enums.h"
33 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" 33 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
34 #include "content/common/navigation_gesture.h" 34 #include "content/common/navigation_gesture.h"
35 #include "content/common/page_messages.h"
35 #include "content/common/view_message_enums.h" 36 #include "content/common/view_message_enums.h"
36 #include "content/public/common/page_zoom.h" 37 #include "content/public/common/page_zoom.h"
37 #include "content/public/common/referrer.h" 38 #include "content/public/common/referrer.h"
38 #include "content/public/common/renderer_preferences.h" 39 #include "content/public/common/renderer_preferences.h"
39 #include "content/public/common/top_controls_state.h" 40 #include "content/public/common/top_controls_state.h"
40 #include "content/public/common/web_preferences.h" 41 #include "content/public/common/web_preferences.h"
41 #include "content/public/renderer/render_view.h" 42 #include "content/public/renderer/render_view.h"
42 #include "content/renderer/mouse_lock_dispatcher.h" 43 #include "content/renderer/mouse_lock_dispatcher.h"
43 #include "content/renderer/render_frame_impl.h" 44 #include "content/renderer/render_frame_impl.h"
44 #include "content/renderer/render_widget.h" 45 #include "content/renderer/render_widget.h"
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 230
230 bool is_loading() const { return frames_in_progress_ != 0; } 231 bool is_loading() const { return frames_in_progress_ != 0; }
231 232
232 void FrameDidStartLoading(blink::WebFrame* frame); 233 void FrameDidStartLoading(blink::WebFrame* frame);
233 void FrameDidStopLoading(blink::WebFrame* frame); 234 void FrameDidStopLoading(blink::WebFrame* frame);
234 235
235 // Sets the zoom level and notifies observers. Doesn't call zoomLevelChanged, 236 // Sets the zoom level and notifies observers. Doesn't call zoomLevelChanged,
236 // as that is only for changes that aren't initiated by the client. 237 // as that is only for changes that aren't initiated by the client.
237 void SetZoomLevel(double zoom_level); 238 void SetZoomLevel(double zoom_level);
238 239
240 double preferred_subframe_zoom_level() {
241 return preferred_subframe_zoom_level_;
242 }
243
239 // Indicates whether this page has been focused by the browser. 244 // Indicates whether this page has been focused by the browser.
240 bool has_focus() const { return has_focus_; } 245 bool has_focus() const { return has_focus_; }
241 246
242 // Sets page-level focus in this view and notifies plugins and Blink's 247 // Sets page-level focus in this view and notifies plugins and Blink's
243 // FocusController. 248 // FocusController.
244 void SetFocus(bool enable); 249 void SetFocus(bool enable);
245 250
246 void AttachWebFrameWidget(blink::WebFrameWidget* frame_widget); 251 void AttachWebFrameWidget(blink::WebFrameWidget* frame_widget);
247 252
248 // Plugin-related functions -------------------------------------------------- 253 // Plugin-related functions --------------------------------------------------
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 void OnResetPageEncodingToDefault(); 665 void OnResetPageEncodingToDefault();
661 void OnSetActive(bool active); 666 void OnSetActive(bool active);
662 void OnSetBackgroundOpaque(bool opaque); 667 void OnSetBackgroundOpaque(bool opaque);
663 void OnExitFullscreen(); 668 void OnExitFullscreen();
664 void OnSetHistoryOffsetAndLength(int history_offset, int history_length); 669 void OnSetHistoryOffsetAndLength(int history_offset, int history_length);
665 void OnSetInitialFocus(bool reverse); 670 void OnSetInitialFocus(bool reverse);
666 void OnSetPageEncoding(const std::string& encoding_name); 671 void OnSetPageEncoding(const std::string& encoding_name);
667 void OnSetRendererPrefs(const RendererPreferences& renderer_prefs); 672 void OnSetRendererPrefs(const RendererPreferences& renderer_prefs);
668 void OnSetWebUIProperty(const std::string& name, const std::string& value); 673 void OnSetWebUIProperty(const std::string& name, const std::string& value);
669 void OnSetZoomLevelForLoadingURL(const GURL& url, double zoom_level); 674 void OnSetZoomLevelForLoadingURL(const GURL& url, double zoom_level);
670 void OnSetZoomLevelForView(bool uses_temporary_zoom_level, double level);
671 void OnSuppressDialogsUntilSwapOut(); 675 void OnSuppressDialogsUntilSwapOut();
672 void OnThemeChanged(); 676 void OnThemeChanged();
673 void OnUpdateTargetURLAck(); 677 void OnUpdateTargetURLAck();
674 void OnUpdateWebPreferences(const WebPreferences& prefs); 678 void OnUpdateWebPreferences(const WebPreferences& prefs);
675 void OnSetPageScale(float page_scale_factor); 679 void OnSetPageScale(float page_scale_factor);
676 void OnZoom(PageZoom zoom); 680 void OnZoom(PageZoom zoom);
677 void OnForceRedraw(int request_id); 681 void OnForceRedraw(int request_id);
678 void OnSelectWordAroundCaret(); 682 void OnSelectWordAroundCaret();
679 #if defined(OS_ANDROID) 683 #if defined(OS_ANDROID)
680 void OnUndoScrollFocusedEditableNodeIntoRect(); 684 void OnUndoScrollFocusedEditableNodeIntoRect();
681 void OnUpdateTopControlsState(bool enable_hiding, 685 void OnUpdateTopControlsState(bool enable_hiding,
682 bool enable_showing, 686 bool enable_showing,
683 bool animate); 687 bool animate);
684 void OnExtractSmartClipData(const gfx::Rect& rect); 688 void OnExtractSmartClipData(const gfx::Rect& rect);
685 #elif defined(OS_MACOSX) 689 #elif defined(OS_MACOSX)
686 void OnGetRenderedText(); 690 void OnGetRenderedText();
687 void OnPluginImeCompositionCompleted(const base::string16& text, 691 void OnPluginImeCompositionCompleted(const base::string16& text,
688 int plugin_id); 692 int plugin_id);
689 void OnSetWindowVisibility(bool visible); 693 void OnSetWindowVisibility(bool visible);
690 void OnWindowFrameChanged(const gfx::Rect& window_frame, 694 void OnWindowFrameChanged(const gfx::Rect& window_frame,
691 const gfx::Rect& view_frame); 695 const gfx::Rect& view_frame);
692 #endif 696 #endif
693 697
694 // Page message handlers ----------------------------------------------------- 698 // Page message handlers -----------------------------------------------------
695 void OnUpdateWindowScreenRect(gfx::Rect window_screen_rect); 699 void OnUpdateWindowScreenRect(gfx::Rect window_screen_rect);
700 void OnSetZoomLevelForView(PageMsg_SetZoomLevel_Command command,
701 double zoom_level);
696 702
697 // Adding a new message handler? Please add it in alphabetical order above 703 // Adding a new message handler? Please add it in alphabetical order above
698 // and put it in the same position in the .cc file. 704 // and put it in the same position in the .cc file.
699 705
700 // Misc private functions ---------------------------------------------------- 706 // Misc private functions ----------------------------------------------------
701 // Check whether the preferred size has changed. 707 // Check whether the preferred size has changed.
702 void CheckPreferredSize(); 708 void CheckPreferredSize();
703 709
704 // Gets the currently focused element, if any. 710 // Gets the currently focused element, if any.
705 blink::WebElement GetFocusedElement() const; 711 blink::WebElement GetFocusedElement() const;
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 896
891 // Used to delay determining the preferred size (to avoid intermediate 897 // Used to delay determining the preferred size (to avoid intermediate
892 // states for the sizes). 898 // states for the sizes).
893 base::OneShotTimer check_preferred_size_timer_; 899 base::OneShotTimer check_preferred_size_timer_;
894 900
895 // Bookkeeping to suppress redundant scroll and focus requests for an already 901 // Bookkeeping to suppress redundant scroll and focus requests for an already
896 // scrolled and focused editable node. 902 // scrolled and focused editable node.
897 bool has_scrolled_focused_editable_node_into_rect_; 903 bool has_scrolled_focused_editable_node_into_rect_;
898 gfx::Rect rect_for_scrolled_focused_editable_node_; 904 gfx::Rect rect_for_scrolled_focused_editable_node_;
899 905
906 // Used to indicate the zoom level of the main-frame so that subframes can
alexmos 2016/04/07 23:48:08 nit: s/main-frame/main frame/
wjmaclean 2016/04/08 20:13:29 Done.
907 // be displayed at the same zoom level.
908 double preferred_subframe_zoom_level_;
alexmos 2016/04/07 23:48:08 I'm not sure about this name - it makes it seem li
wjmaclean 2016/04/08 20:13:29 Done.
909
900 // Helper objects ------------------------------------------------------------ 910 // Helper objects ------------------------------------------------------------
901 911
902 RenderFrameImpl* main_render_frame_; 912 RenderFrameImpl* main_render_frame_;
903 913
904 // Note: RenderViewImpl is pulling double duty: it's the RenderWidget for the 914 // Note: RenderViewImpl is pulling double duty: it's the RenderWidget for the
905 // "view", but it's also the RenderWidget for the main frame. 915 // "view", but it's also the RenderWidget for the main frame.
906 blink::WebFrameWidget* frame_widget_; 916 blink::WebFrameWidget* frame_widget_;
907 917
908 // The next group of objects all implement RenderViewObserver, so are deleted 918 // The next group of objects all implement RenderViewObserver, so are deleted
909 // along with the RenderView automatically. This is why we just store 919 // along with the RenderView automatically. This is why we just store
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 // use the Observer interface to filter IPC messages and receive frame change 1017 // use the Observer interface to filter IPC messages and receive frame change
1008 // notifications. 1018 // notifications.
1009 // --------------------------------------------------------------------------- 1019 // ---------------------------------------------------------------------------
1010 1020
1011 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); 1021 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl);
1012 }; 1022 };
1013 1023
1014 } // namespace content 1024 } // namespace content
1015 1025
1016 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 1026 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698