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

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

Issue 1600953003: Move find-in-page code from RenderView to RenderFrame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
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 18 matching lines...) Expand all
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/view_message_enums.h" 35 #include "content/common/view_message_enums.h"
36 #include "content/public/common/page_zoom.h" 36 #include "content/public/common/page_zoom.h"
37 #include "content/public/common/referrer.h" 37 #include "content/public/common/referrer.h"
38 #include "content/public/common/renderer_preferences.h" 38 #include "content/public/common/renderer_preferences.h"
39 #include "content/public/common/stop_find_action.h"
40 #include "content/public/common/top_controls_state.h" 39 #include "content/public/common/top_controls_state.h"
41 #include "content/public/common/web_preferences.h" 40 #include "content/public/common/web_preferences.h"
42 #include "content/public/renderer/render_view.h" 41 #include "content/public/renderer/render_view.h"
43 #include "content/renderer/mouse_lock_dispatcher.h" 42 #include "content/renderer/mouse_lock_dispatcher.h"
44 #include "content/renderer/render_frame_impl.h" 43 #include "content/renderer/render_frame_impl.h"
45 #include "content/renderer/render_widget.h" 44 #include "content/renderer/render_widget.h"
46 #include "content/renderer/stats_collection_observer.h" 45 #include "content/renderer/stats_collection_observer.h"
47 #include "ipc/ipc_platform_file.h" 46 #include "ipc/ipc_platform_file.h"
48 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" 47 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
49 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h" 48 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 class WebMouseEvent; 101 class WebMouseEvent;
103 class WebPeerConnectionHandler; 102 class WebPeerConnectionHandler;
104 class WebPeerConnectionHandlerClient; 103 class WebPeerConnectionHandlerClient;
105 class WebSpeechRecognizer; 104 class WebSpeechRecognizer;
106 class WebStorageNamespace; 105 class WebStorageNamespace;
107 class WebTouchEvent; 106 class WebTouchEvent;
108 class WebURLRequest; 107 class WebURLRequest;
109 struct WebActiveWheelFlingParameters; 108 struct WebActiveWheelFlingParameters;
110 struct WebDateTimeChooserParams; 109 struct WebDateTimeChooserParams;
111 struct WebFileChooserParams; 110 struct WebFileChooserParams;
112 struct WebFindOptions; 111 struct WebFindOptions;
nasko 2016/01/20 21:43:32 Is this still needed?
paulmeyer 2016/01/20 22:54:15 No. Good catch.
113 struct WebMediaPlayerAction; 112 struct WebMediaPlayerAction;
114 struct WebPluginAction; 113 struct WebPluginAction;
115 struct WebPoint; 114 struct WebPoint;
116 struct WebWindowFeatures; 115 struct WebWindowFeatures;
117 116
118 #if defined(OS_ANDROID) 117 #if defined(OS_ANDROID)
119 class WebHitTestResult; 118 class WebHitTestResult;
120 #endif 119 #endif
121 } // namespace blink 120 } // namespace blink
122 121
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 240
242 // Sets page-level focus in this view and notifies plugins and Blink's 241 // Sets page-level focus in this view and notifies plugins and Blink's
243 // FocusController. 242 // FocusController.
244 void SetFocus(bool enable); 243 void SetFocus(bool enable);
245 244
246 void AttachWebFrameWidget(blink::WebWidget* frame_widget); 245 void AttachWebFrameWidget(blink::WebWidget* frame_widget);
247 246
248 // Plugin-related functions -------------------------------------------------- 247 // Plugin-related functions --------------------------------------------------
249 248
250 #if defined(ENABLE_PLUGINS) 249 #if defined(ENABLE_PLUGINS)
251 // Get/set the plugin which will be used as to handle document find requests.
252 void set_plugin_find_handler(PepperPluginInstanceImpl* plugin) {
253 plugin_find_handler_ = plugin;
254 }
255 PepperPluginInstanceImpl* plugin_find_handler() {
256 return plugin_find_handler_;
257 }
258
259 PepperPluginInstanceImpl* focused_pepper_plugin() { 250 PepperPluginInstanceImpl* focused_pepper_plugin() {
260 return focused_pepper_plugin_; 251 return focused_pepper_plugin_;
261 } 252 }
262 PepperPluginInstanceImpl* pepper_last_mouse_event_target() { 253 PepperPluginInstanceImpl* pepper_last_mouse_event_target() {
263 return pepper_last_mouse_event_target_; 254 return pepper_last_mouse_event_target_;
264 } 255 }
265 void set_pepper_last_mouse_event_target(PepperPluginInstanceImpl* plugin) { 256 void set_pepper_last_mouse_event_target(PepperPluginInstanceImpl* plugin) {
266 pepper_last_mouse_event_target_ = plugin; 257 pepper_last_mouse_event_target_ = plugin;
267 } 258 }
268 259
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 ui::TextInputType GetTextInputType() override; 490 ui::TextInputType GetTextInputType() override;
500 void GetSelectionBounds(gfx::Rect* start, gfx::Rect* end) override; 491 void GetSelectionBounds(gfx::Rect* start, gfx::Rect* end) override;
501 void GetCompositionCharacterBounds( 492 void GetCompositionCharacterBounds(
502 std::vector<gfx::Rect>* character_bounds_in_window) override; 493 std::vector<gfx::Rect>* character_bounds_in_window) override;
503 void GetCompositionRange(gfx::Range* range) override; 494 void GetCompositionRange(gfx::Range* range) override;
504 bool CanComposeInline() override; 495 bool CanComposeInline() override;
505 void DidCommitCompositorFrame() override; 496 void DidCommitCompositorFrame() override;
506 void DidCompletePageScaleAnimation() override; 497 void DidCompletePageScaleAnimation() override;
507 void OnDeviceScaleFactorChanged() override; 498 void OnDeviceScaleFactorChanged() override;
508 499
509 protected:
nasko 2016/01/20 21:43:32 Why was "protected" removed? The following methods
paulmeyer 2016/01/20 22:54:15 Hahahaha, I did this long enough ago that I didn't
510 RenderViewImpl(CompositorDependencies* compositor_deps, 500 RenderViewImpl(CompositorDependencies* compositor_deps,
511 const ViewMsg_New_Params& params); 501 const ViewMsg_New_Params& params);
512 502
513 void Initialize(const ViewMsg_New_Params& params, 503 void Initialize(const ViewMsg_New_Params& params,
514 bool was_created_by_renderer); 504 bool was_created_by_renderer);
515 void SetScreenMetricsEmulationParameters( 505 void SetScreenMetricsEmulationParameters(
516 bool enabled, 506 bool enabled,
517 const blink::WebDeviceEmulationParams& params) override; 507 const blink::WebDeviceEmulationParams& params) override;
518 508
519 // Do not delete directly. This class is reference counted. 509 // Do not delete directly. This class is reference counted.
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 const gfx::Point& screen_pt, 639 const gfx::Point& screen_pt,
650 blink::WebDragOperationsMask operations_allowed, 640 blink::WebDragOperationsMask operations_allowed,
651 int key_modifiers); 641 int key_modifiers);
652 void OnEnablePreferredSizeChangedMode(); 642 void OnEnablePreferredSizeChangedMode();
653 void OnEnableAutoResize(const gfx::Size& min_size, const gfx::Size& max_size); 643 void OnEnableAutoResize(const gfx::Size& min_size, const gfx::Size& max_size);
654 void OnDisableAutoResize(const gfx::Size& new_size); 644 void OnDisableAutoResize(const gfx::Size& new_size);
655 void OnEnumerateDirectoryResponse(int id, 645 void OnEnumerateDirectoryResponse(int id,
656 const std::vector<base::FilePath>& paths); 646 const std::vector<base::FilePath>& paths);
657 void OnFileChooserResponse( 647 void OnFileChooserResponse(
658 const std::vector<content::FileChooserFileInfo>& files); 648 const std::vector<content::FileChooserFileInfo>& files);
659 void OnFind(int request_id,
660 const base::string16&,
661 const blink::WebFindOptions&);
662 void OnMediaPlayerActionAt(const gfx::Point& location, 649 void OnMediaPlayerActionAt(const gfx::Point& location,
663 const blink::WebMediaPlayerAction& action); 650 const blink::WebMediaPlayerAction& action);
664 void OnPluginActionAt(const gfx::Point& location, 651 void OnPluginActionAt(const gfx::Point& location,
665 const blink::WebPluginAction& action); 652 const blink::WebPluginAction& action);
666 void OnMoveOrResizeStarted(); 653 void OnMoveOrResizeStarted();
667 void OnReleaseDisambiguationPopupBitmap(const cc::SharedBitmapId& id); 654 void OnReleaseDisambiguationPopupBitmap(const cc::SharedBitmapId& id);
668 void OnResetPageEncodingToDefault(); 655 void OnResetPageEncodingToDefault();
669 void OnSetActive(bool active); 656 void OnSetActive(bool active);
670 void OnSetBackgroundOpaque(bool opaque); 657 void OnSetBackgroundOpaque(bool opaque);
671 void OnExitFullscreen(); 658 void OnExitFullscreen();
672 void OnSetHistoryOffsetAndLength(int history_offset, int history_length); 659 void OnSetHistoryOffsetAndLength(int history_offset, int history_length);
673 void OnSetInitialFocus(bool reverse); 660 void OnSetInitialFocus(bool reverse);
674 void OnSetPageEncoding(const std::string& encoding_name); 661 void OnSetPageEncoding(const std::string& encoding_name);
675 void OnSetRendererPrefs(const RendererPreferences& renderer_prefs); 662 void OnSetRendererPrefs(const RendererPreferences& renderer_prefs);
676 void OnSetWebUIProperty(const std::string& name, const std::string& value); 663 void OnSetWebUIProperty(const std::string& name, const std::string& value);
677 void OnSetZoomLevelForLoadingURL(const GURL& url, double zoom_level); 664 void OnSetZoomLevelForLoadingURL(const GURL& url, double zoom_level);
678 void OnSetZoomLevelForView(bool uses_temporary_zoom_level, double level); 665 void OnSetZoomLevelForView(bool uses_temporary_zoom_level, double level);
679 void OnStopFinding(StopFindAction action);
680 void OnSuppressDialogsUntilSwapOut(); 666 void OnSuppressDialogsUntilSwapOut();
681 void OnThemeChanged(); 667 void OnThemeChanged();
682 void OnUpdateTargetURLAck(); 668 void OnUpdateTargetURLAck();
683 void OnUpdateWebPreferences(const WebPreferences& prefs); 669 void OnUpdateWebPreferences(const WebPreferences& prefs);
684 void OnSetPageScale(float page_scale_factor); 670 void OnSetPageScale(float page_scale_factor);
685 void OnZoom(PageZoom zoom); 671 void OnZoom(PageZoom zoom);
686 void OnEnableViewSourceMode(); 672 void OnEnableViewSourceMode();
687 void OnForceRedraw(int request_id); 673 void OnForceRedraw(int request_id);
688 void OnSelectWordAroundCaret(); 674 void OnSelectWordAroundCaret();
689 #if defined(OS_ANDROID) 675 #if defined(OS_ANDROID)
690 void OnActivateNearestFindResult(int request_id, float x, float y);
691 void OnFindMatchRects(int current_version);
692 void OnUndoScrollFocusedEditableNodeIntoRect(); 676 void OnUndoScrollFocusedEditableNodeIntoRect();
693 void OnUpdateTopControlsState(bool enable_hiding, 677 void OnUpdateTopControlsState(bool enable_hiding,
694 bool enable_showing, 678 bool enable_showing,
695 bool animate); 679 bool animate);
696 void OnExtractSmartClipData(const gfx::Rect& rect); 680 void OnExtractSmartClipData(const gfx::Rect& rect);
697 #elif defined(OS_MACOSX) 681 #elif defined(OS_MACOSX)
698 void OnGetRenderedText(); 682 void OnGetRenderedText();
699 void OnPluginImeCompositionCompleted(const base::string16& text, 683 void OnPluginImeCompositionCompleted(const base::string16& text,
700 int plugin_id); 684 int plugin_id);
701 void OnSetInLiveResize(bool in_live_resize); 685 void OnSetInLiveResize(bool in_live_resize);
702 void OnSetWindowVisibility(bool visible); 686 void OnSetWindowVisibility(bool visible);
703 void OnWindowFrameChanged(const gfx::Rect& window_frame, 687 void OnWindowFrameChanged(const gfx::Rect& window_frame,
704 const gfx::Rect& view_frame); 688 const gfx::Rect& view_frame);
705 #endif 689 #endif
706 690
707 // Adding a new message handler? Please add it in alphabetical order above 691 // Adding a new message handler? Please add it in alphabetical order above
708 // and put it in the same position in the .cc file. 692 // and put it in the same position in the .cc file.
709 693
710 // Misc private functions ---------------------------------------------------- 694 // Misc private functions ----------------------------------------------------
711 // Check whether the preferred size has changed. 695 // Check whether the preferred size has changed.
712 void CheckPreferredSize(); 696 void CheckPreferredSize();
713 697
714 // Gets the currently focused element, if any. 698 // Gets the currently focused element, if any.
715 blink::WebElement GetFocusedElement() const; 699 blink::WebElement GetFocusedElement() const;
716 700
717 // Called to get the WebPlugin to handle find requests in the document.
718 // Returns NULL if there is no such WebPlugin.
719 blink::WebPlugin* GetWebPluginForFind();
720
721 #if defined(OS_ANDROID) 701 #if defined(OS_ANDROID)
722 // Launch an Android content intent with the given URL. 702 // Launch an Android content intent with the given URL.
723 void LaunchAndroidContentIntent(const GURL& intent_url, 703 void LaunchAndroidContentIntent(const GURL& intent_url,
724 size_t request_id, 704 size_t request_id,
725 bool is_main_frame); 705 bool is_main_frame);
726 #endif 706 #endif
727 707
728 // Sends a reply to the current find operation handling if it was a
729 // synchronous find request.
730 void SendFindReply(int request_id,
731 int match_count,
732 int ordinal,
733 const blink::WebRect& selection_rect,
734 bool final_status_update);
735
736 #if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MACOSX)) 708 #if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MACOSX))
737 void UpdateFontRenderingFromRendererPrefs(); 709 void UpdateFontRenderingFromRendererPrefs();
738 #else 710 #else
739 void UpdateFontRenderingFromRendererPrefs() {} 711 void UpdateFontRenderingFromRendererPrefs() {}
740 #endif 712 #endif
741 713
742 // In OOPIF-enabled modes, this tells each RenderFrame with a pending state 714 // In OOPIF-enabled modes, this tells each RenderFrame with a pending state
743 // update to inform the browser process. 715 // update to inform the browser process.
744 void SendFrameStateUpdates(); 716 void SendFrameStateUpdates();
745 717
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 // that we can enumerate them to send updates about things like window 943 // that we can enumerate them to send updates about things like window
972 // location or tab focus and visibily. These are non-owning references. 944 // location or tab focus and visibily. These are non-owning references.
973 std::set<WebPluginDelegateProxy*> plugin_delegates_; 945 std::set<WebPluginDelegateProxy*> plugin_delegates_;
974 946
975 #if defined(OS_WIN) 947 #if defined(OS_WIN)
976 // The ID of the focused NPAPI plugin. 948 // The ID of the focused NPAPI plugin.
977 int focused_plugin_id_; 949 int focused_plugin_id_;
978 #endif 950 #endif
979 951
980 #if defined(ENABLE_PLUGINS) 952 #if defined(ENABLE_PLUGINS)
981 PepperPluginInstanceImpl* plugin_find_handler_;
982
983 typedef std::set<PepperPluginInstanceImpl*> PepperPluginSet; 953 typedef std::set<PepperPluginInstanceImpl*> PepperPluginSet;
984 PepperPluginSet active_pepper_instances_; 954 PepperPluginSet active_pepper_instances_;
985 955
986 // TODO(jam): these belong on RenderFrame, once the browser knows which frame 956 // TODO(jam): these belong on RenderFrame, once the browser knows which frame
987 // is focused and sends the IPCs which use these to the correct frame. Until 957 // is focused and sends the IPCs which use these to the correct frame. Until
988 // then, we must store these on RenderView as that's the one place that knows 958 // then, we must store these on RenderView as that's the one place that knows
989 // about all the RenderFrames for a page. 959 // about all the RenderFrames for a page.
990 960
991 // Whether or not the focus is on a PPAPI plugin 961 // Whether or not the focus is on a PPAPI plugin
992 PepperPluginInstanceImpl* focused_pepper_plugin_; 962 PepperPluginInstanceImpl* focused_pepper_plugin_;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 // 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
1048 // notifications. 1018 // notifications.
1049 // --------------------------------------------------------------------------- 1019 // ---------------------------------------------------------------------------
1050 1020
1051 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); 1021 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl);
1052 }; 1022 };
1053 1023
1054 } // namespace content 1024 } // namespace content
1055 1025
1056 #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