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

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

Issue 8775064: Make PerTabPrefsTabHelper into PrefsTabHelper, move all prefs code into it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: this one instead Created 9 years 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ 5 #ifndef CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_
6 #define CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ 6 #define CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/basictypes.h" 12 #include "base/basictypes.h"
13 #include "base/compiler_specific.h" 13 #include "base/compiler_specific.h"
14 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "chrome/browser/prefs/pref_change_registrar.h" 16 #include "chrome/browser/prefs/pref_change_registrar.h"
17 #include "content/browser/tab_contents/tab_contents.h" 17 #include "content/browser/tab_contents/tab_contents.h"
18 #include "content/browser/tab_contents/tab_contents_observer.h" 18 #include "content/browser/tab_contents/tab_contents_observer.h"
19 #include "content/public/browser/notification_registrar.h" 19 #include "content/public/browser/notification_registrar.h"
20 20
21 class AutocompleteHistoryManager; 21 class AutocompleteHistoryManager;
22 class AutofillManager; 22 class AutofillManager;
23 class AutofillExternalDelegate; 23 class AutofillExternalDelegate;
24 class AutomationTabHelper; 24 class AutomationTabHelper;
25 class BlockedContentTabHelper; 25 class BlockedContentTabHelper;
26 class BookmarkTabHelper; 26 class BookmarkTabHelper;
27 class ConstrainedWindowTabHelper; 27 class ConstrainedWindowTabHelper;
28 class DownloadRequestLimiterObserver; 28 class DownloadRequestLimiterObserver;
29 class Extension;
30 class ExtensionTabHelper; 29 class ExtensionTabHelper;
31 class ExtensionWebNavigationTabObserver; 30 class ExtensionWebNavigationTabObserver;
32 class ExternalProtocolObserver; 31 class ExternalProtocolObserver;
33 class FaviconTabHelper; 32 class FaviconTabHelper;
34 class FindTabHelper; 33 class FindTabHelper;
34 class HistoryTabHelper;
35 class InfoBarTabHelper; 35 class InfoBarTabHelper;
36 class HistoryTabHelper;
37 class NavigationController;
38 class OmniboxSearchHint; 36 class OmniboxSearchHint;
39 class PasswordManager; 37 class PasswordManager;
40 class PasswordManagerDelegate; 38 class PasswordManagerDelegate;
41 class PerTabPrefsTabHelper;
42 class PluginObserver; 39 class PluginObserver;
43 class PrefService; 40 class PrefService;
41 class PrefsTabHelper;
44 class Profile; 42 class Profile;
45 class RestoreTabHelper; 43 class RestoreTabHelper;
46 class SadTabObserver; 44 class SadTabObserver;
47 class SearchEngineTabHelper; 45 class SearchEngineTabHelper;
48 class TabContentsSSLHelper; 46 class TabContentsSSLHelper;
49 class TabContentsWrapperDelegate; 47 class TabContentsWrapperDelegate;
50 class TabContentsWrapperSyncedTabDelegate; 48 class TabContentsWrapperSyncedTabDelegate;
51 class TabSpecificContentSettings; 49 class TabSpecificContentSettings;
52 class ThumbnailGenerator; 50 class ThumbnailGenerator;
53 class TranslateTabHelper; 51 class TranslateTabHelper;
54 class WebIntentPickerController; 52 class WebIntentPickerController;
55 53
56 namespace browser_sync {
57 class SyncedTabDelegate;
58 }
59
60 namespace IPC { 54 namespace IPC {
61 class Message; 55 class Message;
62 } 56 }
63 57
64 namespace prerender { 58 namespace prerender {
65 class PrerenderTabHelper; 59 class PrerenderTabHelper;
66 } 60 }
67 61
68 namespace printing { 62 namespace printing {
69 class PrintViewManager; 63 class PrintViewManager;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 161
168 const ExtensionTabHelper* extension_tab_helper() const { 162 const ExtensionTabHelper* extension_tab_helper() const {
169 return extension_tab_helper_.get(); 163 return extension_tab_helper_.get();
170 } 164 }
171 165
172 FaviconTabHelper* favicon_tab_helper() { return favicon_tab_helper_.get(); } 166 FaviconTabHelper* favicon_tab_helper() { return favicon_tab_helper_.get(); }
173 FindTabHelper* find_tab_helper() { return find_tab_helper_.get(); } 167 FindTabHelper* find_tab_helper() { return find_tab_helper_.get(); }
174 HistoryTabHelper* history_tab_helper() { return history_tab_helper_.get(); } 168 HistoryTabHelper* history_tab_helper() { return history_tab_helper_.get(); }
175 InfoBarTabHelper* infobar_tab_helper() { return infobar_tab_helper_.get(); } 169 InfoBarTabHelper* infobar_tab_helper() { return infobar_tab_helper_.get(); }
176 PasswordManager* password_manager() { return password_manager_.get(); } 170 PasswordManager* password_manager() { return password_manager_.get(); }
177 171 PrefsTabHelper* prefs_tab_helper() { return prefs_tab_helper_.get(); }
178 PerTabPrefsTabHelper* per_tab_prefs_tab_helper() {
179 return per_tab_prefs_tab_helper_.get();
180 }
181 172
182 prerender::PrerenderTabHelper* prerender_tab_helper() { 173 prerender::PrerenderTabHelper* prerender_tab_helper() {
183 return prerender_tab_helper_.get(); 174 return prerender_tab_helper_.get();
184 } 175 }
185 176
186 printing::PrintViewManager* print_view_manager() { 177 printing::PrintViewManager* print_view_manager() {
187 return print_view_manager_.get(); 178 return print_view_manager_.get();
188 } 179 }
189 180
190 RestoreTabHelper* restore_tab_helper() { 181 RestoreTabHelper* restore_tab_helper() {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 virtual void DidBecomeSelected() OVERRIDE; 219 virtual void DidBecomeSelected() OVERRIDE;
229 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 220 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
230 virtual void TabContentsDestroyed(TabContents* tab) OVERRIDE; 221 virtual void TabContentsDestroyed(TabContents* tab) OVERRIDE;
231 222
232 // content::NotificationObserver overrides: 223 // content::NotificationObserver overrides:
233 virtual void Observe(int type, 224 virtual void Observe(int type,
234 const content::NotificationSource& source, 225 const content::NotificationSource& source,
235 const content::NotificationDetails& details) OVERRIDE; 226 const content::NotificationDetails& details) OVERRIDE;
236 227
237 private: 228 private:
238 friend class PerTabPrefsTabHelper; // for UpdateWebPreferences
239 FRIEND_TEST_ALL_PREFIXES( 229 FRIEND_TEST_ALL_PREFIXES(
240 PerTabPrefsTabHelperTest, OverridePrefsOnViewCreation); 230 PrefsTabHelperTest, OverridePrefsOnViewCreation);
241 231
242 // Internal helpers ---------------------------------------------------------- 232 // Internal helpers ----------------------------------------------------------
243 233
244 // Message handlers. 234 // Message handlers.
245 void OnSnapshot(const SkBitmap& bitmap); 235 void OnSnapshot(const SkBitmap& bitmap);
246 void OnPDFHasUnsupportedFeature(); 236 void OnPDFHasUnsupportedFeature();
247 237
248 // Returns the server that can provide alternate error pages. If the returned 238 // Returns the server that can provide alternate error pages. If the returned
249 // URL is empty, the default error page built into WebKit will be used. 239 // URL is empty, the default error page built into WebKit will be used.
250 GURL GetAlternateErrorPageURL() const; 240 GURL GetAlternateErrorPageURL() const;
251 241
252 // Send the alternate error page URL to the renderer. 242 // Send the alternate error page URL to the renderer.
253 void UpdateAlternateErrorPageURL(RenderViewHost* rvh); 243 void UpdateAlternateErrorPageURL(RenderViewHost* rvh);
254 244
255 // Update the RenderView's WebPreferences.
256 void UpdateWebPreferences();
257
258 // Update the TabContents's RendererPreferences.
259 void UpdateRendererPreferences();
260
261 // Create or destroy SafebrowsingDetectionHost as needed if the user's 245 // Create or destroy SafebrowsingDetectionHost as needed if the user's
262 // safe browsing preference has changed. 246 // safe browsing preference has changed.
263 void UpdateSafebrowsingDetectionHost(); 247 void UpdateSafebrowsingDetectionHost();
264 248
265 // Data for core operation --------------------------------------------------- 249 // Data for core operation ---------------------------------------------------
266 250
267 // Delegate for notifying our owner about stuff. Not owned by us. 251 // Delegate for notifying our owner about stuff. Not owned by us.
268 TabContentsWrapperDelegate* delegate_; 252 TabContentsWrapperDelegate* delegate_;
269 253
270 content::NotificationRegistrar registrar_; 254 content::NotificationRegistrar registrar_;
(...skipping 20 matching lines...) Expand all
291 scoped_ptr<FaviconTabHelper> favicon_tab_helper_; 275 scoped_ptr<FaviconTabHelper> favicon_tab_helper_;
292 scoped_ptr<FindTabHelper> find_tab_helper_; 276 scoped_ptr<FindTabHelper> find_tab_helper_;
293 scoped_ptr<HistoryTabHelper> history_tab_helper_; 277 scoped_ptr<HistoryTabHelper> history_tab_helper_;
294 scoped_ptr<InfoBarTabHelper> infobar_tab_helper_; 278 scoped_ptr<InfoBarTabHelper> infobar_tab_helper_;
295 279
296 // PasswordManager and its delegate. The delegate must outlive the manager, 280 // PasswordManager and its delegate. The delegate must outlive the manager,
297 // per documentation in password_manager.h. 281 // per documentation in password_manager.h.
298 scoped_ptr<PasswordManagerDelegate> password_manager_delegate_; 282 scoped_ptr<PasswordManagerDelegate> password_manager_delegate_;
299 scoped_ptr<PasswordManager> password_manager_; 283 scoped_ptr<PasswordManager> password_manager_;
300 284
301 scoped_ptr<PerTabPrefsTabHelper> per_tab_prefs_tab_helper_; 285 scoped_ptr<PrefsTabHelper> prefs_tab_helper_;
302 scoped_ptr<prerender::PrerenderTabHelper> prerender_tab_helper_; 286 scoped_ptr<prerender::PrerenderTabHelper> prerender_tab_helper_;
303 287
304 // Handles print job for this contents. 288 // Handles print job for this contents.
305 scoped_ptr<printing::PrintViewManager> print_view_manager_; 289 scoped_ptr<printing::PrintViewManager> print_view_manager_;
306 290
307 scoped_ptr<RestoreTabHelper> restore_tab_helper_; 291 scoped_ptr<RestoreTabHelper> restore_tab_helper_;
308 292
309 // Handles displaying a web intents picker to the user. 293 // Handles displaying a web intents picker to the user.
310 scoped_ptr<WebIntentPickerController> web_intent_picker_controller_; 294 scoped_ptr<WebIntentPickerController> web_intent_picker_controller_;
311 295
(...skipping 30 matching lines...) Expand all
342 326
343 // The supporting objects need to outlive the TabContents dtor (as they may 327 // The supporting objects need to outlive the TabContents dtor (as they may
344 // be called upon during its execution). As a result, this must come last 328 // be called upon during its execution). As a result, this must come last
345 // in the list. 329 // in the list.
346 scoped_ptr<TabContents> tab_contents_; 330 scoped_ptr<TabContents> tab_contents_;
347 331
348 DISALLOW_COPY_AND_ASSIGN(TabContentsWrapper); 332 DISALLOW_COPY_AND_ASSIGN(TabContentsWrapper);
349 }; 333 };
350 334
351 #endif // CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ 335 #endif // CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698