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

Side by Side Diff: chrome/browser/tab_contents/tab_contents.h

Issue 2825051: Add support for a directory file chooser command, which creates a file list b... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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 | Annotate | Revision Log
OLDNEW
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_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_ 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_
6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_ 6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_
7 #pragma once 7 #pragma once
8 8
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 10
11 #include <deque> 11 #include <deque>
12 #include <map> 12 #include <map>
13 #include <string> 13 #include <string>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/basictypes.h" 16 #include "base/basictypes.h"
17 #include "base/gtest_prod_util.h" 17 #include "base/gtest_prod_util.h"
18 #include "base/scoped_ptr.h" 18 #include "base/scoped_ptr.h"
19 #include "chrome/browser/cancelable_request.h" 19 #include "chrome/browser/cancelable_request.h"
20 #include "chrome/browser/dom_ui/dom_ui_factory.h" 20 #include "chrome/browser/dom_ui/dom_ui_factory.h"
21 #include "chrome/browser/download/save_package.h" 21 #include "chrome/browser/download/save_package.h"
22 #include "chrome/browser/extensions/image_loading_tracker.h" 22 #include "chrome/browser/extensions/image_loading_tracker.h"
23 #include "chrome/browser/fav_icon_helper.h" 23 #include "chrome/browser/fav_icon_helper.h"
24 #include "chrome/browser/find_bar_controller.h" 24 #include "chrome/browser/find_bar_controller.h"
25 #include "chrome/browser/find_notification_details.h" 25 #include "chrome/browser/find_notification_details.h"
26 #include "chrome/browser/jsmessage_box_client.h" 26 #include "chrome/browser/jsmessage_box_client.h"
27 #include "chrome/browser/password_manager/password_manager_delegate.h" 27 #include "chrome/browser/password_manager/password_manager_delegate.h"
28 #include "chrome/browser/shell_dialogs.h"
29 #include "chrome/browser/renderer_host/render_view_host_delegate.h" 28 #include "chrome/browser/renderer_host/render_view_host_delegate.h"
30 #include "chrome/browser/tab_contents/constrained_window.h" 29 #include "chrome/browser/tab_contents/constrained_window.h"
31 #include "chrome/browser/tab_contents/language_state.h" 30 #include "chrome/browser/tab_contents/language_state.h"
32 #include "chrome/browser/tab_contents/navigation_controller.h" 31 #include "chrome/browser/tab_contents/navigation_controller.h"
33 #include "chrome/browser/tab_contents/navigation_entry.h" 32 #include "chrome/browser/tab_contents/navigation_entry.h"
34 #include "chrome/browser/tab_contents/page_navigator.h" 33 #include "chrome/browser/tab_contents/page_navigator.h"
35 #include "chrome/browser/tab_contents/render_view_host_manager.h" 34 #include "chrome/browser/tab_contents/render_view_host_manager.h"
36 #include "chrome/browser/tab_contents/tab_specific_content_settings.h" 35 #include "chrome/browser/tab_contents/tab_specific_content_settings.h"
37 #include "chrome/common/notification_registrar.h" 36 #include "chrome/common/notification_registrar.h"
38 #include "chrome/common/property_bag.h" 37 #include "chrome/common/property_bag.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 class OmniboxSearchHint; 71 class OmniboxSearchHint;
73 class PasswordManager; 72 class PasswordManager;
74 class PluginInstaller; 73 class PluginInstaller;
75 class Profile; 74 class Profile;
76 struct RendererPreferences; 75 struct RendererPreferences;
77 class RenderViewHost; 76 class RenderViewHost;
78 class SiteInstance; 77 class SiteInstance;
79 class SkBitmap; 78 class SkBitmap;
80 class TabContents; 79 class TabContents;
81 class TabContentsDelegate; 80 class TabContentsDelegate;
81 class TabContentsFileSelectHelper;
82 class TabContentsSSLHelper; 82 class TabContentsSSLHelper;
83 class TabContentsView; 83 class TabContentsView;
84 class URLPattern; 84 class URLPattern;
85 struct ThumbnailScore; 85 struct ThumbnailScore;
86 struct ViewHostMsg_DomMessage_Params; 86 struct ViewHostMsg_DomMessage_Params;
87 struct ViewHostMsg_FrameNavigate_Params; 87 struct ViewHostMsg_FrameNavigate_Params;
88 struct ViewHostMsg_RunFileChooser_Params;
89 struct WebPreferences; 88 struct WebPreferences;
90 89
91 // Describes what goes in the main content area of a tab. TabContents is 90 // Describes what goes in the main content area of a tab. TabContents is
92 // the only type of TabContents, and these should be merged together. 91 // the only type of TabContents, and these should be merged together.
93 class TabContents : public PageNavigator, 92 class TabContents : public PageNavigator,
94 public NotificationObserver, 93 public NotificationObserver,
95 public RenderViewHostDelegate, 94 public RenderViewHostDelegate,
96 public RenderViewHostDelegate::BrowserIntegration, 95 public RenderViewHostDelegate::BrowserIntegration,
97 public RenderViewHostDelegate::Resource, 96 public RenderViewHostDelegate::Resource,
98 public RenderViewHostManager::Delegate, 97 public RenderViewHostManager::Delegate,
99 public SelectFileDialog::Listener,
100 public JavaScriptMessageBoxClient, 98 public JavaScriptMessageBoxClient,
101 public ImageLoadingTracker::Observer, 99 public ImageLoadingTracker::Observer,
102 public PasswordManagerDelegate, 100 public PasswordManagerDelegate,
103 public TabSpecificContentSettings::Delegate { 101 public TabSpecificContentSettings::Delegate {
104 public: 102 public:
105 // Flags passed to the TabContentsDelegate.NavigationStateChanged to tell it 103 // Flags passed to the TabContentsDelegate.NavigationStateChanged to tell it
106 // what has changed. Combine them to update more than one thing. 104 // what has changed. Combine them to update more than one thing.
107 enum InvalidateTypes { 105 enum InvalidateTypes {
108 INVALIDATE_URL = 1 << 0, // The URL has changed. 106 INVALIDATE_URL = 1 << 0, // The URL has changed.
109 INVALIDATE_TAB = 1 << 1, // The favicon, app icon, or crashed 107 INVALIDATE_TAB = 1 << 1, // The favicon, app icon, or crashed
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 147
150 // Returns the AutoFillManager, creating it if necessary. 148 // Returns the AutoFillManager, creating it if necessary.
151 AutoFillManager* GetAutoFillManager(); 149 AutoFillManager* GetAutoFillManager();
152 150
153 // Returns the PasswordManager, creating it if necessary. 151 // Returns the PasswordManager, creating it if necessary.
154 PasswordManager* GetPasswordManager(); 152 PasswordManager* GetPasswordManager();
155 153
156 // Returns the PluginInstaller, creating it if necessary. 154 // Returns the PluginInstaller, creating it if necessary.
157 PluginInstaller* GetPluginInstaller(); 155 PluginInstaller* GetPluginInstaller();
158 156
159 // Returns the TabContentsSSLHelper, creating if it necessary. 157 // Returns the TabContentsSSLHelper, creating it if necessary.
160 TabContentsSSLHelper* GetSSLHelper(); 158 TabContentsSSLHelper* GetSSLHelper();
161 159
162 // Returns the MatchPreview. Returns NULL if MatchPreview is not enabled. 160 // Returns the MatchPreview. Returns NULL if MatchPreview is not enabled.
163 MatchPreview* match_preview() { return match_preview_.get(); } 161 MatchPreview* match_preview() { return match_preview_.get(); }
164 162
165 // Returns the SavePackage which manages the page saving job. May be NULL. 163 // Returns the SavePackage which manages the page saving job. May be NULL.
166 SavePackage* save_package() const { return save_package_.get(); } 164 SavePackage* save_package() const { return save_package_.get(); }
167 165
168 // Return the currently active RenderProcessHost and RenderViewHost. Each of 166 // Return the currently active RenderProcessHost and RenderViewHost. Each of
169 // these may change over time. 167 // these may change over time.
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 GetBrowserIntegrationDelegate(); 878 GetBrowserIntegrationDelegate();
881 virtual RenderViewHostDelegate::Resource* GetResourceDelegate(); 879 virtual RenderViewHostDelegate::Resource* GetResourceDelegate();
882 virtual RenderViewHostDelegate::ContentSettings* GetContentSettingsDelegate(); 880 virtual RenderViewHostDelegate::ContentSettings* GetContentSettingsDelegate();
883 virtual RenderViewHostDelegate::Save* GetSaveDelegate(); 881 virtual RenderViewHostDelegate::Save* GetSaveDelegate();
884 virtual RenderViewHostDelegate::Printing* GetPrintingDelegate(); 882 virtual RenderViewHostDelegate::Printing* GetPrintingDelegate();
885 virtual RenderViewHostDelegate::FavIcon* GetFavIconDelegate(); 883 virtual RenderViewHostDelegate::FavIcon* GetFavIconDelegate();
886 virtual RenderViewHostDelegate::Autocomplete* GetAutocompleteDelegate(); 884 virtual RenderViewHostDelegate::Autocomplete* GetAutocompleteDelegate();
887 virtual RenderViewHostDelegate::AutoFill* GetAutoFillDelegate(); 885 virtual RenderViewHostDelegate::AutoFill* GetAutoFillDelegate();
888 virtual RenderViewHostDelegate::BlockedPlugin* GetBlockedPluginDelegate(); 886 virtual RenderViewHostDelegate::BlockedPlugin* GetBlockedPluginDelegate();
889 virtual RenderViewHostDelegate::SSL* GetSSLDelegate(); 887 virtual RenderViewHostDelegate::SSL* GetSSLDelegate();
888 virtual RenderViewHostDelegate::FileSelect* GetFileSelectDelegate();
890 virtual AutomationResourceRoutingDelegate* 889 virtual AutomationResourceRoutingDelegate*
891 GetAutomationResourceRoutingDelegate(); 890 GetAutomationResourceRoutingDelegate();
892 virtual TabContents* GetAsTabContents(); 891 virtual TabContents* GetAsTabContents();
893 virtual ViewType::Type GetRenderViewType() const; 892 virtual ViewType::Type GetRenderViewType() const;
894 virtual int GetBrowserWindowID() const; 893 virtual int GetBrowserWindowID() const;
895 virtual void RenderViewCreated(RenderViewHost* render_view_host); 894 virtual void RenderViewCreated(RenderViewHost* render_view_host);
896 virtual void RenderViewReady(RenderViewHost* render_view_host); 895 virtual void RenderViewReady(RenderViewHost* render_view_host);
897 virtual void RenderViewGone(RenderViewHost* render_view_host); 896 virtual void RenderViewGone(RenderViewHost* render_view_host);
898 virtual void RenderViewDeleted(RenderViewHost* render_view_host); 897 virtual void RenderViewDeleted(RenderViewHost* render_view_host);
899 virtual void DidNavigate(RenderViewHost* render_view_host, 898 virtual void DidNavigate(RenderViewHost* render_view_host,
(...skipping 18 matching lines...) Expand all
918 virtual void DidStartLoading(); 917 virtual void DidStartLoading();
919 virtual void DidStopLoading(); 918 virtual void DidStopLoading();
920 virtual void RequestOpenURL(const GURL& url, const GURL& referrer, 919 virtual void RequestOpenURL(const GURL& url, const GURL& referrer,
921 WindowOpenDisposition disposition); 920 WindowOpenDisposition disposition);
922 virtual void DomOperationResponse(const std::string& json_string, 921 virtual void DomOperationResponse(const std::string& json_string,
923 int automation_id); 922 int automation_id);
924 virtual void ProcessDOMUIMessage(const ViewHostMsg_DomMessage_Params& params); 923 virtual void ProcessDOMUIMessage(const ViewHostMsg_DomMessage_Params& params);
925 virtual void ProcessExternalHostMessage(const std::string& message, 924 virtual void ProcessExternalHostMessage(const std::string& message,
926 const std::string& origin, 925 const std::string& origin,
927 const std::string& target); 926 const std::string& target);
928 virtual void RunFileChooser(const ViewHostMsg_RunFileChooser_Params& params);
929 virtual void RunJavaScriptMessage(const std::wstring& message, 927 virtual void RunJavaScriptMessage(const std::wstring& message,
930 const std::wstring& default_prompt, 928 const std::wstring& default_prompt,
931 const GURL& frame_url, 929 const GURL& frame_url,
932 const int flags, 930 const int flags,
933 IPC::Message* reply_msg, 931 IPC::Message* reply_msg,
934 bool* did_suppress_message); 932 bool* did_suppress_message);
935 virtual void RunBeforeUnloadConfirm(const std::wstring& message, 933 virtual void RunBeforeUnloadConfirm(const std::wstring& message,
936 IPC::Message* reply_msg); 934 IPC::Message* reply_msg);
937 virtual void ShowModalHTMLDialog(const GURL& url, int width, int height, 935 virtual void ShowModalHTMLDialog(const GURL& url, int width, int height,
938 const std::string& json_arguments, 936 const std::string& json_arguments,
(...skipping 15 matching lines...) Expand all
954 virtual void RendererUnresponsive(RenderViewHost* render_view_host, 952 virtual void RendererUnresponsive(RenderViewHost* render_view_host,
955 bool is_during_unload); 953 bool is_during_unload);
956 virtual void RendererResponsive(RenderViewHost* render_view_host); 954 virtual void RendererResponsive(RenderViewHost* render_view_host);
957 virtual void LoadStateChanged(const GURL& url, net::LoadState load_state, 955 virtual void LoadStateChanged(const GURL& url, net::LoadState load_state,
958 uint64 upload_position, uint64 upload_size); 956 uint64 upload_position, uint64 upload_size);
959 virtual bool IsExternalTabContainer() const; 957 virtual bool IsExternalTabContainer() const;
960 virtual void DidInsertCSS(); 958 virtual void DidInsertCSS();
961 virtual void FocusedNodeChanged(); 959 virtual void FocusedNodeChanged();
962 virtual void SetDisplayingPDFContent(); 960 virtual void SetDisplayingPDFContent();
963 961
964 // SelectFileDialog::Listener ------------------------------------------------
965
966 virtual void FileSelected(const FilePath& path, int index, void* params);
967 virtual void MultiFilesSelected(const std::vector<FilePath>& files,
968 void* params);
969 virtual void FileSelectionCanceled(void* params);
970
971 // RenderViewHostManager::Delegate ------------------------------------------- 962 // RenderViewHostManager::Delegate -------------------------------------------
972 963
973 // Blocks/unblocks interaction with renderer process. 964 // Blocks/unblocks interaction with renderer process.
974 void BlockTabContent(bool blocked); 965 void BlockTabContent(bool blocked);
975 966
976 virtual void BeforeUnloadFiredFromRenderManager( 967 virtual void BeforeUnloadFiredFromRenderManager(
977 bool proceed, 968 bool proceed,
978 bool* proceed_to_fire_unload); 969 bool* proceed_to_fire_unload);
979 virtual void DidStartLoadingFromRenderManager( 970 virtual void DidStartLoadingFromRenderManager(
980 RenderViewHost* render_view_host); 971 RenderViewHost* render_view_host);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 1046
1056 // PluginInstaller, lazily created. 1047 // PluginInstaller, lazily created.
1057 scoped_ptr<PluginInstaller> plugin_installer_; 1048 scoped_ptr<PluginInstaller> plugin_installer_;
1058 1049
1059 // TabContentsSSLHelper, lazily created. 1050 // TabContentsSSLHelper, lazily created.
1060 scoped_ptr<TabContentsSSLHelper> ssl_helper_; 1051 scoped_ptr<TabContentsSSLHelper> ssl_helper_;
1061 1052
1062 // BlockedPluginManager, lazily created. 1053 // BlockedPluginManager, lazily created.
1063 scoped_ptr<BlockedPluginManager> blocked_plugin_manager_; 1054 scoped_ptr<BlockedPluginManager> blocked_plugin_manager_;
1064 1055
1056 // TabContentsFileSelectHelper, lazily created.
1057 scoped_ptr<TabContentsFileSelectHelper> file_select_helper_;
1058
1065 // Handles drag and drop event forwarding to extensions. 1059 // Handles drag and drop event forwarding to extensions.
1066 BookmarkDrag* bookmark_drag_; 1060 BookmarkDrag* bookmark_drag_;
1067 1061
1068 // Handles downloading favicons. 1062 // Handles downloading favicons.
1069 FavIconHelper fav_icon_helper_; 1063 FavIconHelper fav_icon_helper_;
1070 1064
1071 // Dialog box used for choosing files to upload from file form fields.
1072 scoped_refptr<SelectFileDialog> select_file_dialog_;
1073
1074 // Cached web app info data. 1065 // Cached web app info data.
1075 webkit_glue::WebApplicationInfo web_app_info_; 1066 webkit_glue::WebApplicationInfo web_app_info_;
1076 1067
1077 // Cached web app icon. 1068 // Cached web app icon.
1078 SkBitmap app_icon_; 1069 SkBitmap app_icon_;
1079 1070
1080 // RenderViewHost::ContentSettingsDelegate. 1071 // RenderViewHost::ContentSettingsDelegate.
1081 scoped_ptr<TabSpecificContentSettings> content_settings_delegate_; 1072 scoped_ptr<TabSpecificContentSettings> content_settings_delegate_;
1082 1073
1083 // Data for loading state ---------------------------------------------------- 1074 // Data for loading state ----------------------------------------------------
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1255 bool displaying_pdf_content_; 1246 bool displaying_pdf_content_;
1256 1247
1257 scoped_ptr<MatchPreview> match_preview_; 1248 scoped_ptr<MatchPreview> match_preview_;
1258 1249
1259 // --------------------------------------------------------------------------- 1250 // ---------------------------------------------------------------------------
1260 1251
1261 DISALLOW_COPY_AND_ASSIGN(TabContents); 1252 DISALLOW_COPY_AND_ASSIGN(TabContents);
1262 }; 1253 };
1263 1254
1264 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_ 1255 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/render_view_host_delegate.cc ('k') | chrome/browser/tab_contents/tab_contents.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698