OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_FRAME_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
11 #include <memory> | 11 #include <memory> |
12 #include <string> | 12 #include <string> |
13 #include <vector> | 13 #include <vector> |
14 | 14 |
15 #include "base/files/file_path.h" | 15 #include "base/files/file_path.h" |
16 #include "base/gtest_prod_util.h" | 16 #include "base/gtest_prod_util.h" |
17 #include "base/id_map.h" | 17 #include "base/id_map.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "base/memory/linked_ptr.h" | 19 #include "base/memory/linked_ptr.h" |
20 #include "base/memory/weak_ptr.h" | 20 #include "base/memory/weak_ptr.h" |
21 #include "base/observer_list.h" | 21 #include "base/observer_list.h" |
22 #include "base/process/process_handle.h" | 22 #include "base/process/process_handle.h" |
23 #include "build/build_config.h" | 23 #include "build/build_config.h" |
24 #include "content/common/accessibility_mode_enums.h" | 24 #include "content/common/accessibility_mode_enums.h" |
| 25 #include "content/common/frame_host.mojom.h" |
25 #include "content/common/frame_message_enums.h" | 26 #include "content/common/frame_message_enums.h" |
26 #include "content/common/mojo/service_registry_impl.h" | 27 #include "content/common/mojo/service_registry_impl.h" |
27 #include "content/public/common/console_message_level.h" | 28 #include "content/public/common/console_message_level.h" |
28 #include "content/public/common/javascript_message_type.h" | 29 #include "content/public/common/javascript_message_type.h" |
29 #include "content/public/common/referrer.h" | 30 #include "content/public/common/referrer.h" |
30 #include "content/public/common/stop_find_action.h" | 31 #include "content/public/common/stop_find_action.h" |
31 #include "content/public/renderer/render_frame.h" | 32 #include "content/public/renderer/render_frame.h" |
32 #include "content/renderer/frame_blame_context.h" | 33 #include "content/renderer/frame_blame_context.h" |
33 #include "content/renderer/mojo/blink_service_registry_impl.h" | 34 #include "content/renderer/mojo/blink_service_registry_impl.h" |
34 #include "content/renderer/renderer_webcookiejar_impl.h" | 35 #include "content/renderer/renderer_webcookiejar_impl.h" |
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 friend class RenderFrameImplTest; | 676 friend class RenderFrameImplTest; |
676 friend class RenderFrameObserver; | 677 friend class RenderFrameObserver; |
677 friend class RendererAccessibilityTest; | 678 friend class RendererAccessibilityTest; |
678 friend class TestRenderFrame; | 679 friend class TestRenderFrame; |
679 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuDisplayNoneTest, SelectItem); | 680 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuDisplayNoneTest, SelectItem); |
680 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange); | 681 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange); |
681 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase); | 682 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase); |
682 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate); | 683 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate); |
683 FRIEND_TEST_ALL_PREFIXES(RendererAccessibilityTest, | 684 FRIEND_TEST_ALL_PREFIXES(RendererAccessibilityTest, |
684 AccessibilityMessagesQueueWhileSwappedOut); | 685 AccessibilityMessagesQueueWhileSwappedOut); |
| 686 FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest, ZoomLimit); |
685 | 687 |
686 // A wrapper class used as the callback for JavaScript executed | 688 // A wrapper class used as the callback for JavaScript executed |
687 // in an isolated world. | 689 // in an isolated world. |
688 class JavaScriptIsolatedWorldRequest | 690 class JavaScriptIsolatedWorldRequest |
689 : public blink::WebScriptExecutionCallback { | 691 : public blink::WebScriptExecutionCallback { |
690 public: | 692 public: |
691 JavaScriptIsolatedWorldRequest( | 693 JavaScriptIsolatedWorldRequest( |
692 int id, | 694 int id, |
693 bool notify_result, | 695 bool notify_result, |
694 int routing_id, | 696 int routing_id, |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
998 // Sends a reply to the current find operation handling if it was a | 1000 // Sends a reply to the current find operation handling if it was a |
999 // synchronous find request. | 1001 // synchronous find request. |
1000 void SendFindReply(int request_id, | 1002 void SendFindReply(int request_id, |
1001 int match_count, | 1003 int match_count, |
1002 int ordinal, | 1004 int ordinal, |
1003 const blink::WebRect& selection_rect, | 1005 const blink::WebRect& selection_rect, |
1004 bool final_status_update); | 1006 bool final_status_update); |
1005 | 1007 |
1006 void InitializeBlameContext(RenderFrameImpl* parent_frame); | 1008 void InitializeBlameContext(RenderFrameImpl* parent_frame); |
1007 | 1009 |
| 1010 void OnGotZoomLevel(const GURL& url, double zoom_level); |
| 1011 |
1008 // Stores the WebLocalFrame we are associated with. This is null from the | 1012 // Stores the WebLocalFrame we are associated with. This is null from the |
1009 // constructor until BindToWebFrame is called, and it is null after | 1013 // constructor until BindToWebFrame is called, and it is null after |
1010 // frameDetached is called until destruction (which is asynchronous in the | 1014 // frameDetached is called until destruction (which is asynchronous in the |
1011 // case of the main frame, but not subframes). | 1015 // case of the main frame, but not subframes). |
1012 blink::WebLocalFrame* frame_; | 1016 blink::WebLocalFrame* frame_; |
1013 | 1017 |
1014 // Boolean value indicating whether this RenderFrameImpl object is for the | 1018 // Boolean value indicating whether this RenderFrameImpl object is for the |
1015 // main frame or not. It remains accurate during destruction, even when | 1019 // main frame or not. It remains accurate during destruction, even when |
1016 // |frame_| has been invalidated. | 1020 // |frame_| has been invalidated. |
1017 bool is_main_frame_; | 1021 bool is_main_frame_; |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1191 // Only valid if |accessibility_mode_| is anything other than | 1195 // Only valid if |accessibility_mode_| is anything other than |
1192 // AccessibilityModeOff. | 1196 // AccessibilityModeOff. |
1193 RendererAccessibility* renderer_accessibility_; | 1197 RendererAccessibility* renderer_accessibility_; |
1194 | 1198 |
1195 std::unique_ptr<PermissionDispatcher> permission_client_; | 1199 std::unique_ptr<PermissionDispatcher> permission_client_; |
1196 | 1200 |
1197 std::unique_ptr<blink::WebAppBannerClient> app_banner_client_; | 1201 std::unique_ptr<blink::WebAppBannerClient> app_banner_client_; |
1198 | 1202 |
1199 std::unique_ptr<blink::WebBluetooth> bluetooth_; | 1203 std::unique_ptr<blink::WebBluetooth> bluetooth_; |
1200 | 1204 |
| 1205 HostZoomLevels host_zoom_levels_; |
| 1206 mojom::FrameHostPtr frame_host_; |
| 1207 |
1201 // Manages play, pause notifications for WebMediaPlayer implementations; its | 1208 // Manages play, pause notifications for WebMediaPlayer implementations; its |
1202 // lifetime is tied to the RenderFrame via the RenderFrameObserver interface. | 1209 // lifetime is tied to the RenderFrame via the RenderFrameObserver interface. |
1203 media::RendererWebMediaPlayerDelegate* media_player_delegate_; | 1210 media::RendererWebMediaPlayerDelegate* media_player_delegate_; |
1204 | 1211 |
1205 // Whether or not this RenderFrame is using Lo-Fi mode. | 1212 // Whether or not this RenderFrame is using Lo-Fi mode. |
1206 bool is_using_lofi_; | 1213 bool is_using_lofi_; |
1207 | 1214 |
1208 // Effective connection type when the document of this frame was fetched. | 1215 // Effective connection type when the document of this frame was fetched. |
1209 blink::WebEffectiveConnectionType effective_connection_type_; | 1216 blink::WebEffectiveConnectionType effective_connection_type_; |
1210 | 1217 |
(...skipping 28 matching lines...) Expand all Loading... |
1239 #endif | 1246 #endif |
1240 | 1247 |
1241 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; | 1248 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
1242 | 1249 |
1243 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); | 1250 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |
1244 }; | 1251 }; |
1245 | 1252 |
1246 } // namespace content | 1253 } // namespace content |
1247 | 1254 |
1248 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ | 1255 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ |
OLD | NEW |