OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 CHROME_RENDERER_RENDER_VIEW_H_ | 5 #ifndef CHROME_RENDERER_RENDER_VIEW_H_ |
6 #define CHROME_RENDERER_RENDER_VIEW_H_ | 6 #define CHROME_RENDERER_RENDER_VIEW_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <deque> | 9 #include <deque> |
10 #include <map> | 10 #include <map> |
11 #include <queue> | 11 #include <queue> |
12 #include <set> | 12 #include <set> |
13 #include <string> | 13 #include <string> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "app/surface/transport_dib.h" | 16 #include "app/surface/transport_dib.h" |
17 #include "base/basictypes.h" | 17 #include "base/basictypes.h" |
18 #include "base/gtest_prod_util.h" | 18 #include "base/gtest_prod_util.h" |
| 19 #include "base/id_map.h" |
19 #include "base/linked_ptr.h" | 20 #include "base/linked_ptr.h" |
20 #include "base/timer.h" | 21 #include "base/timer.h" |
21 #include "base/weak_ptr.h" | 22 #include "base/weak_ptr.h" |
22 #include "build/build_config.h" | 23 #include "build/build_config.h" |
23 #include "chrome/common/content_settings.h" | 24 #include "chrome/common/content_settings.h" |
24 #include "chrome/common/edit_command.h" | 25 #include "chrome/common/edit_command.h" |
25 #include "chrome/common/navigation_gesture.h" | 26 #include "chrome/common/navigation_gesture.h" |
26 #include "chrome/common/page_zoom.h" | 27 #include "chrome/common/page_zoom.h" |
27 #include "chrome/common/render_messages.h" | 28 #include "chrome/common/render_messages.h" |
28 #include "chrome/common/renderer_preferences.h" | 29 #include "chrome/common/renderer_preferences.h" |
29 #include "chrome/common/view_types.h" | 30 #include "chrome/common/view_types.h" |
30 #include "chrome/renderer/autofill_helper.h" | 31 #include "chrome/renderer/autofill_helper.h" |
31 #include "chrome/renderer/automation/dom_automation_controller.h" | 32 #include "chrome/renderer/automation/dom_automation_controller.h" |
32 #include "chrome/renderer/dom_ui_bindings.h" | 33 #include "chrome/renderer/dom_ui_bindings.h" |
33 #include "chrome/renderer/external_host_bindings.h" | 34 #include "chrome/renderer/external_host_bindings.h" |
34 #include "chrome/renderer/password_autocomplete_manager.h" | 35 #include "chrome/renderer/password_autocomplete_manager.h" |
35 #include "chrome/renderer/pepper_plugin_delegate_impl.h" | 36 #include "chrome/renderer/pepper_plugin_delegate_impl.h" |
36 #include "chrome/renderer/render_widget.h" | 37 #include "chrome/renderer/render_widget.h" |
37 #include "chrome/renderer/renderer_webcookiejar_impl.h" | 38 #include "chrome/renderer/renderer_webcookiejar_impl.h" |
38 #include "chrome/renderer/translate_helper.h" | 39 #include "chrome/renderer/translate_helper.h" |
39 #include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h" | 40 #include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h" |
| 41 #include "third_party/WebKit/WebKit/chromium/public/WebFileSystem.h" |
40 #include "third_party/WebKit/WebKit/chromium/public/WebFrameClient.h" | 42 #include "third_party/WebKit/WebKit/chromium/public/WebFrameClient.h" |
41 #include "third_party/WebKit/WebKit/chromium/public/WebMediaPlayerAction.h" | 43 #include "third_party/WebKit/WebKit/chromium/public/WebMediaPlayerAction.h" |
42 #include "third_party/WebKit/WebKit/chromium/public/WebPageSerializerClient.h" | 44 #include "third_party/WebKit/WebKit/chromium/public/WebPageSerializerClient.h" |
43 #include "third_party/WebKit/WebKit/chromium/public/WebTextDirection.h" | 45 #include "third_party/WebKit/WebKit/chromium/public/WebTextDirection.h" |
44 #include "third_party/WebKit/WebKit/chromium/public/WebViewClient.h" | 46 #include "third_party/WebKit/WebKit/chromium/public/WebViewClient.h" |
45 #include "third_party/WebKit/WebKit/chromium/public/WebNavigationType.h" | 47 #include "third_party/WebKit/WebKit/chromium/public/WebNavigationType.h" |
46 #include "webkit/glue/plugins/webplugin_page_delegate.h" | 48 #include "webkit/glue/plugins/webplugin_page_delegate.h" |
47 #include "webkit/glue/webpreferences.h" | 49 #include "webkit/glue/webpreferences.h" |
48 | 50 |
49 #if defined(OS_WIN) | 51 #if defined(OS_WIN) |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 virtual void didChangeContentsSize(WebKit::WebFrame* frame, | 539 virtual void didChangeContentsSize(WebKit::WebFrame* frame, |
538 const WebKit::WebSize& size); | 540 const WebKit::WebSize& size); |
539 virtual void didChangeScrollOffset(WebKit::WebFrame* frame); | 541 virtual void didChangeScrollOffset(WebKit::WebFrame* frame); |
540 virtual void reportFindInPageMatchCount(int request_id, | 542 virtual void reportFindInPageMatchCount(int request_id, |
541 int count, | 543 int count, |
542 bool final_update); | 544 bool final_update); |
543 virtual void reportFindInPageSelection(int request_id, | 545 virtual void reportFindInPageSelection(int request_id, |
544 int active_match_ordinal, | 546 int active_match_ordinal, |
545 const WebKit::WebRect& sel); | 547 const WebKit::WebRect& sel); |
546 | 548 |
| 549 virtual void openFileSystem(WebKit::WebFrame* frame, |
| 550 WebKit::WebFileSystem::Type, |
| 551 long long size, |
| 552 WebKit::WebFileSystemCallbacks* callbacks); |
| 553 |
547 // WebKit::WebPageSerializerClient implementation ---------------------------- | 554 // WebKit::WebPageSerializerClient implementation ---------------------------- |
548 | 555 |
549 virtual void didSerializeDataForFrame(const WebKit::WebURL& frame_url, | 556 virtual void didSerializeDataForFrame(const WebKit::WebURL& frame_url, |
550 const WebKit::WebCString& data, | 557 const WebKit::WebCString& data, |
551 PageSerializationStatus status); | 558 PageSerializationStatus status); |
552 | 559 |
553 // webkit_glue::WebPluginPageDelegate implementation ------------------------- | 560 // webkit_glue::WebPluginPageDelegate implementation ------------------------- |
554 | 561 |
555 virtual webkit_glue::WebPluginDelegate* CreatePluginDelegate( | 562 virtual webkit_glue::WebPluginDelegate* CreatePluginDelegate( |
556 const FilePath& file_path, | 563 const FilePath& file_path, |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 const std::string& target); | 780 const std::string& target); |
774 void OnInstallMissingPlugin(); | 781 void OnInstallMissingPlugin(); |
775 void OnLoadBlockedPlugins(); | 782 void OnLoadBlockedPlugins(); |
776 void OnMediaPlayerActionAt(const gfx::Point& location, | 783 void OnMediaPlayerActionAt(const gfx::Point& location, |
777 const WebKit::WebMediaPlayerAction& action); | 784 const WebKit::WebMediaPlayerAction& action); |
778 void OnMoveOrResizeStarted(); | 785 void OnMoveOrResizeStarted(); |
779 void OnNavigate(const ViewMsg_Navigate_Params& params); | 786 void OnNavigate(const ViewMsg_Navigate_Params& params); |
780 void OnNotifyRendererViewType(ViewType::Type view_type); | 787 void OnNotifyRendererViewType(ViewType::Type view_type); |
781 void OnFillPasswordForm( | 788 void OnFillPasswordForm( |
782 const webkit_glue::PasswordFormFillData& form_data); | 789 const webkit_glue::PasswordFormFillData& form_data); |
| 790 void OnOpenFileSystemRequestComplete(int request_id, |
| 791 bool accepted, |
| 792 const string16& name, |
| 793 const string16& root_path); |
783 void OnPaste(); | 794 void OnPaste(); |
784 void OnPrintingDone(int document_cookie, bool success); | 795 void OnPrintingDone(int document_cookie, bool success); |
785 void OnPrintPages(); | 796 void OnPrintPages(); |
786 void OnRedo(); | 797 void OnRedo(); |
787 void OnReloadFrame(); | 798 void OnReloadFrame(); |
788 void OnReplace(const string16& text); | 799 void OnReplace(const string16& text); |
789 void OnReservePageIDRange(int size_of_range); | 800 void OnReservePageIDRange(int size_of_range); |
790 void OnResetPageEncodingToDefault(); | 801 void OnResetPageEncodingToDefault(); |
791 void OnRevertTranslation(int page_id); | 802 void OnRevertTranslation(int page_id); |
792 void OnScriptEvalRequest(const std::wstring& frame_xpath, | 803 void OnScriptEvalRequest(const std::wstring& frame_xpath, |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1281 // DOM automation bindings are enabled. | 1292 // DOM automation bindings are enabled. |
1282 DomAutomationController dom_automation_controller_; | 1293 DomAutomationController dom_automation_controller_; |
1283 | 1294 |
1284 // Allows DOM UI pages (new tab page, etc.) to talk to the browser. The JS | 1295 // Allows DOM UI pages (new tab page, etc.) to talk to the browser. The JS |
1285 // object is only exposed when DOM UI bindings are enabled. | 1296 // object is only exposed when DOM UI bindings are enabled. |
1286 DOMUIBindings dom_ui_bindings_; | 1297 DOMUIBindings dom_ui_bindings_; |
1287 | 1298 |
1288 // External host exposed through automation controller. | 1299 // External host exposed through automation controller. |
1289 ExternalHostBindings external_host_bindings_; | 1300 ExternalHostBindings external_host_bindings_; |
1290 | 1301 |
| 1302 // Pending openFileSystem completion objects. |
| 1303 struct PendingOpenFileSystem; |
| 1304 IDMap<PendingOpenFileSystem, IDMapOwnPointer> |
| 1305 pending_file_system_requests_; |
| 1306 |
1291 // --------------------------------------------------------------------------- | 1307 // --------------------------------------------------------------------------- |
1292 // ADDING NEW DATA? Please see if it fits appropriately in one of the above | 1308 // ADDING NEW DATA? Please see if it fits appropriately in one of the above |
1293 // sections rather than throwing it randomly at the end. If you're adding a | 1309 // sections rather than throwing it randomly at the end. If you're adding a |
1294 // bunch of stuff, you should probably create a helper class and put your | 1310 // bunch of stuff, you should probably create a helper class and put your |
1295 // data and methods on that to avoid bloating RenderView more. | 1311 // data and methods on that to avoid bloating RenderView more. |
1296 // --------------------------------------------------------------------------- | 1312 // --------------------------------------------------------------------------- |
1297 | 1313 |
1298 DISALLOW_COPY_AND_ASSIGN(RenderView); | 1314 DISALLOW_COPY_AND_ASSIGN(RenderView); |
1299 }; | 1315 }; |
1300 | 1316 |
1301 #endif // CHROME_RENDERER_RENDER_VIEW_H_ | 1317 #endif // CHROME_RENDERER_RENDER_VIEW_H_ |
OLD | NEW |