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_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 | 7 |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 | 9 |
10 #include <deque> | 10 #include <deque> |
11 #include <map> | 11 #include <map> |
12 #include <set> | 12 #include <set> |
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/autocomplete/autocomplete_edit.h" | 19 #include "chrome/browser/autocomplete/autocomplete_edit.h" |
20 #include "chrome/browser/cancelable_request.h" | 20 #include "chrome/browser/cancelable_request.h" |
21 #include "chrome/browser/dom_ui/dom_ui_factory.h" | 21 #include "chrome/browser/dom_ui/dom_ui_factory.h" |
22 #include "chrome/browser/download/save_package.h" | 22 #include "chrome/browser/download/save_package.h" |
23 #include "chrome/browser/extensions/image_loading_tracker.h" | 23 #include "chrome/browser/extensions/image_loading_tracker.h" |
24 #include "chrome/browser/fav_icon_helper.h" | 24 #include "chrome/browser/fav_icon_helper.h" |
25 #include "chrome/browser/find_bar_controller.h" | 25 #include "chrome/browser/find_bar_controller.h" |
26 #include "chrome/browser/find_notification_details.h" | 26 #include "chrome/browser/find_notification_details.h" |
27 #include "chrome/browser/geolocation/geolocation_settings_state.h" | |
28 #include "chrome/browser/jsmessage_box_client.h" | 27 #include "chrome/browser/jsmessage_box_client.h" |
29 #include "chrome/browser/password_manager/password_manager.h" | 28 #include "chrome/browser/password_manager/password_manager.h" |
30 #include "chrome/browser/printing/print_view_manager.h" | 29 #include "chrome/browser/printing/print_view_manager.h" |
31 #include "chrome/browser/shell_dialogs.h" | 30 #include "chrome/browser/shell_dialogs.h" |
32 #include "chrome/browser/renderer_host/render_view_host_delegate.h" | 31 #include "chrome/browser/renderer_host/render_view_host_delegate.h" |
33 #include "chrome/browser/tab_contents/constrained_window.h" | 32 #include "chrome/browser/tab_contents/constrained_window.h" |
34 #include "chrome/browser/tab_contents/infobar_delegate.h" | 33 #include "chrome/browser/tab_contents/infobar_delegate.h" |
35 #include "chrome/browser/tab_contents/language_state.h" | 34 #include "chrome/browser/tab_contents/language_state.h" |
36 #include "chrome/browser/tab_contents/navigation_controller.h" | 35 #include "chrome/browser/tab_contents/navigation_controller.h" |
37 #include "chrome/browser/tab_contents/navigation_entry.h" | 36 #include "chrome/browser/tab_contents/navigation_entry.h" |
38 #include "chrome/browser/tab_contents/page_navigator.h" | 37 #include "chrome/browser/tab_contents/page_navigator.h" |
39 #include "chrome/browser/tab_contents/render_view_host_manager.h" | 38 #include "chrome/browser/tab_contents/render_view_host_manager.h" |
40 #include "chrome/common/content_settings.h" | 39 #include "chrome/browser/tab_contents/tab_specific_content_settings.h" |
41 #include "chrome/common/content_settings_types.h" | |
42 #include "chrome/common/extensions/url_pattern.h" | 40 #include "chrome/common/extensions/url_pattern.h" |
43 #include "chrome/common/navigation_types.h" | 41 #include "chrome/common/navigation_types.h" |
44 #include "chrome/common/net/url_request_context_getter.h" | 42 #include "chrome/common/net/url_request_context_getter.h" |
45 #include "chrome/common/notification_registrar.h" | 43 #include "chrome/common/notification_registrar.h" |
46 #include "chrome/common/property_bag.h" | 44 #include "chrome/common/property_bag.h" |
47 #include "chrome/common/renderer_preferences.h" | 45 #include "chrome/common/renderer_preferences.h" |
48 #include "chrome/common/translate_errors.h" | 46 #include "chrome/common/translate_errors.h" |
49 #include "gfx/native_widget_types.h" | 47 #include "gfx/native_widget_types.h" |
50 #include "gfx/rect.h" | 48 #include "gfx/rect.h" |
51 #include "net/base/load_states.h" | 49 #include "net/base/load_states.h" |
(...skipping 12 matching lines...) Expand all Loading... | |
64 | 62 |
65 namespace base { | 63 namespace base { |
66 class WaitableEvent; | 64 class WaitableEvent; |
67 } | 65 } |
68 | 66 |
69 | 67 |
70 namespace IPC { | 68 namespace IPC { |
71 class Message; | 69 class Message; |
72 } | 70 } |
73 | 71 |
72 class AutocompleteHistoryManager; | |
74 class AutoFillManager; | 73 class AutoFillManager; |
75 class BlockedPopupContainer; | 74 class BlockedPopupContainer; |
76 class DOMUI; | 75 class DOMUI; |
77 class DownloadItem; | 76 class DownloadItem; |
78 class Extension; | 77 class Extension; |
79 class AutocompleteHistoryManager; | 78 class GeolocationSettingsState; |
80 class LoadNotificationDetails; | 79 class LoadNotificationDetails; |
81 class OmniboxSearchHint; | 80 class OmniboxSearchHint; |
82 class PluginInstaller; | 81 class PluginInstaller; |
83 class Profile; | 82 class Profile; |
84 struct RendererPreferences; | 83 struct RendererPreferences; |
85 class RenderViewHost; | 84 class RenderViewHost; |
85 class SiteInstance; | |
86 class SkBitmap; | |
87 class TabContents; | |
86 class TabContentsDelegate; | 88 class TabContentsDelegate; |
87 class TabContentsFactory; | 89 class TabContentsFactory; |
88 class SkBitmap; | |
89 class SiteInstance; | |
90 class TabContents; | |
91 class TabContentsView; | 90 class TabContentsView; |
92 struct ThumbnailScore; | 91 struct ThumbnailScore; |
93 struct ViewHostMsg_DidPrintPage_Params; | 92 struct ViewHostMsg_DidPrintPage_Params; |
94 struct ViewHostMsg_FrameNavigate_Params; | 93 struct ViewHostMsg_FrameNavigate_Params; |
95 struct ViewHostMsg_RunFileChooser_Params; | 94 struct ViewHostMsg_RunFileChooser_Params; |
96 | 95 |
97 // Describes what goes in the main content area of a tab. TabContents is | 96 // Describes what goes in the main content area of a tab. TabContents is |
98 // the only type of TabContents, and these should be merged together. | 97 // the only type of TabContents, and these should be merged together. |
99 class TabContents : public PageNavigator, | 98 class TabContents : public PageNavigator, |
100 public NotificationObserver, | 99 public NotificationObserver, |
101 public RenderViewHostDelegate, | 100 public RenderViewHostDelegate, |
102 public RenderViewHostDelegate::BrowserIntegration, | 101 public RenderViewHostDelegate::BrowserIntegration, |
103 public RenderViewHostDelegate::Resource, | 102 public RenderViewHostDelegate::Resource, |
104 public RenderViewHostDelegate::ContentSettings, | |
105 public RenderViewHostManager::Delegate, | 103 public RenderViewHostManager::Delegate, |
106 public SelectFileDialog::Listener, | 104 public SelectFileDialog::Listener, |
107 public JavaScriptMessageBoxClient, | 105 public JavaScriptMessageBoxClient, |
108 public ImageLoadingTracker::Observer, | 106 public ImageLoadingTracker::Observer, |
109 public PasswordManager::Delegate { | 107 public PasswordManager::Delegate, |
108 public TabSpecificContentSettings::Delegate { | |
110 public: | 109 public: |
111 // Flags passed to the TabContentsDelegate.NavigationStateChanged to tell it | 110 // Flags passed to the TabContentsDelegate.NavigationStateChanged to tell it |
112 // what has changed. Combine them to update more than one thing. | 111 // what has changed. Combine them to update more than one thing. |
113 enum InvalidateTypes { | 112 enum InvalidateTypes { |
114 INVALIDATE_URL = 1 << 0, // The URL has changed. | 113 INVALIDATE_URL = 1 << 0, // The URL has changed. |
115 INVALIDATE_TAB = 1 << 1, // The favicon, app icon, or crashed | 114 INVALIDATE_TAB = 1 << 1, // The favicon, app icon, or crashed |
116 // state changed. | 115 // state changed. |
117 INVALIDATE_LOAD = 1 << 2, // The loading state has changed. | 116 INVALIDATE_LOAD = 1 << 2, // The loading state has changed. |
118 INVALIDATE_PAGE_ACTIONS = 1 << 3, // Page action icons have changed. | 117 INVALIDATE_PAGE_ACTIONS = 1 << 3, // Page action icons have changed. |
119 INVALIDATE_BOOKMARK_BAR = 1 << 4, // State of ShouldShowBookmarkBar | 118 INVALIDATE_BOOKMARK_BAR = 1 << 4, // State of ShouldShowBookmarkBar |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
252 // entry. | 251 // entry. |
253 SkBitmap GetFavIcon() const; | 252 SkBitmap GetFavIcon() const; |
254 | 253 |
255 // Returns true if we are not using the default favicon. | 254 // Returns true if we are not using the default favicon. |
256 bool FavIconIsValid() const; | 255 bool FavIconIsValid() const; |
257 | 256 |
258 // Returns whether the favicon should be displayed. If this returns false, no | 257 // Returns whether the favicon should be displayed. If this returns false, no |
259 // space is provided for the favicon, and the favicon is never displayed. | 258 // space is provided for the favicon, and the favicon is never displayed. |
260 virtual bool ShouldDisplayFavIcon(); | 259 virtual bool ShouldDisplayFavIcon(); |
261 | 260 |
262 // Returns whether a particular kind of content has been blocked for this | |
263 // page. | |
264 bool IsContentBlocked(ContentSettingsType content_type) const; | |
265 | |
266 // Returns the GeolocationSettingsState that controls the | |
267 // geolocation API usage on this page. | |
268 const GeolocationSettingsState& geolocation_settings_state() const { | |
269 return geolocation_settings_state_; | |
270 } | |
271 | |
272 // Returns a human-readable description the tab's loading state. | 261 // Returns a human-readable description the tab's loading state. |
273 virtual std::wstring GetStatusText() const; | 262 virtual std::wstring GetStatusText() const; |
274 | 263 |
275 // Return whether this tab contents is loading a resource. | 264 // Return whether this tab contents is loading a resource. |
276 bool is_loading() const { return is_loading_; } | 265 bool is_loading() const { return is_loading_; } |
277 | 266 |
278 // Returns whether this tab contents is waiting for a first-response for the | 267 // Returns whether this tab contents is waiting for a first-response for the |
279 // main resource of the page. This controls whether the throbber state is | 268 // main resource of the page. This controls whether the throbber state is |
280 // "waiting" or "loading." | 269 // "waiting" or "loading." |
281 bool waiting_for_response() const { return waiting_for_response_; } | 270 bool waiting_for_response() const { return waiting_for_response_; } |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
699 // The BookmarkDragDelegate is used to forward bookmark drag and drop events | 688 // The BookmarkDragDelegate is used to forward bookmark drag and drop events |
700 // to extensions. | 689 // to extensions. |
701 virtual RenderViewHostDelegate::BookmarkDrag* GetBookmarkDragDelegate(); | 690 virtual RenderViewHostDelegate::BookmarkDrag* GetBookmarkDragDelegate(); |
702 | 691 |
703 // It is up to callers to call SetBookmarkDragDelegate(NULL) when | 692 // It is up to callers to call SetBookmarkDragDelegate(NULL) when |
704 // |bookmark_drag| is deleted since this class does not take ownership of | 693 // |bookmark_drag| is deleted since this class does not take ownership of |
705 // |bookmark_drag|. | 694 // |bookmark_drag|. |
706 virtual void SetBookmarkDragDelegate( | 695 virtual void SetBookmarkDragDelegate( |
707 RenderViewHostDelegate::BookmarkDrag* bookmark_drag); | 696 RenderViewHostDelegate::BookmarkDrag* bookmark_drag); |
708 | 697 |
698 // The TabSpecificContentSettings object is used to query to blocked content | |
darin (slow to review)
2010/07/02 16:09:50
nit: "use to query to" -> "use to query the"
| |
699 // state by various UI elements. | |
700 TabSpecificContentSettings* GetTabSpecificContentSettings() const; | |
701 | |
709 // PasswordManager::Delegate implementation. | 702 // PasswordManager::Delegate implementation. |
710 virtual void FillPasswordForm( | 703 virtual void FillPasswordForm( |
711 const webkit_glue::PasswordFormDomManager::FillData& form_data); | 704 const webkit_glue::PasswordFormDomManager::FillData& form_data); |
712 virtual void AddSavePasswordInfoBar(PasswordFormManager* form_to_save); | 705 virtual void AddSavePasswordInfoBar(PasswordFormManager* form_to_save); |
713 virtual Profile* GetProfileForPasswordManager(); | 706 virtual Profile* GetProfileForPasswordManager(); |
714 virtual bool DidLastPageLoadEncounterSSLErrors(); | 707 virtual bool DidLastPageLoadEncounterSSLErrors(); |
715 | 708 |
716 private: | 709 private: |
717 friend class NavigationController; | 710 friend class NavigationController; |
718 // Used to access the child_windows_ (ConstrainedWindowList) for testing | 711 // Used to access the child_windows_ (ConstrainedWindowList) for testing |
(...skipping 13 matching lines...) Expand all Loading... | |
732 #elif defined(TOOLKIT_USES_GTK) | 725 #elif defined(TOOLKIT_USES_GTK) |
733 friend class TabContentsViewGtk; | 726 friend class TabContentsViewGtk; |
734 #endif | 727 #endif |
735 | 728 |
736 // So InterstitialPage can access SetIsLoading. | 729 // So InterstitialPage can access SetIsLoading. |
737 friend class InterstitialPage; | 730 friend class InterstitialPage; |
738 | 731 |
739 // TODO(brettw) TestTabContents shouldn't exist! | 732 // TODO(brettw) TestTabContents shouldn't exist! |
740 friend class TestTabContents; | 733 friend class TestTabContents; |
741 | 734 |
742 // Resets the |content_blocked_| array. | |
743 void ClearBlockedContentSettings(); | |
744 | |
745 // Changes the IsLoading state and notifies delegate as needed | 735 // Changes the IsLoading state and notifies delegate as needed |
746 // |details| is used to provide details on the load that just finished | 736 // |details| is used to provide details on the load that just finished |
747 // (but can be null if not applicable). Can be overridden. | 737 // (but can be null if not applicable). Can be overridden. |
748 void SetIsLoading(bool is_loading, | 738 void SetIsLoading(bool is_loading, |
749 LoadNotificationDetails* details); | 739 LoadNotificationDetails* details); |
750 | 740 |
751 // Adds the incoming |new_contents| to the |blocked_popups_| container. | 741 // Adds the incoming |new_contents| to the |blocked_popups_| container. |
752 void AddPopup(TabContents* new_contents, | 742 void AddPopup(TabContents* new_contents, |
753 const gfx::Rect& initial_pos); | 743 const gfx::Rect& initial_pos); |
754 | 744 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
825 | 815 |
826 // Helper functions for sending notifications. | 816 // Helper functions for sending notifications. |
827 void NotifySwapped(); | 817 void NotifySwapped(); |
828 void NotifyConnected(); | 818 void NotifyConnected(); |
829 void NotifyDisconnected(); | 819 void NotifyDisconnected(); |
830 | 820 |
831 // If params has a searchable form, this tries to create a new keyword. | 821 // If params has a searchable form, this tries to create a new keyword. |
832 void GenerateKeywordIfNecessary( | 822 void GenerateKeywordIfNecessary( |
833 const ViewHostMsg_FrameNavigate_Params& params); | 823 const ViewHostMsg_FrameNavigate_Params& params); |
834 | 824 |
825 // ContentBlockedDelegate::Delegate implementation. | |
826 virtual void OnContentSettingsChange(); | |
827 | |
835 // RenderViewHostDelegate ---------------------------------------------------- | 828 // RenderViewHostDelegate ---------------------------------------------------- |
836 | 829 |
837 // RenderViewHostDelegate::BrowserIntegration implementation. | 830 // RenderViewHostDelegate::BrowserIntegration implementation. |
838 virtual void OnUserGesture(); | 831 virtual void OnUserGesture(); |
839 virtual void OnFindReply(int request_id, | 832 virtual void OnFindReply(int request_id, |
840 int number_of_matches, | 833 int number_of_matches, |
841 const gfx::Rect& selection_rect, | 834 const gfx::Rect& selection_rect, |
842 int active_match_ordinal, | 835 int active_match_ordinal, |
843 bool final_update); | 836 bool final_update); |
844 virtual void GoToEntryAtOffset(int offset); | 837 virtual void GoToEntryAtOffset(int offset); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
877 virtual void DidDisplayInsecureContent(); | 870 virtual void DidDisplayInsecureContent(); |
878 virtual void DidRunInsecureContent(const std::string& security_origin); | 871 virtual void DidRunInsecureContent(const std::string& security_origin); |
879 virtual void DidFailProvisionalLoadWithError( | 872 virtual void DidFailProvisionalLoadWithError( |
880 RenderViewHost* render_view_host, | 873 RenderViewHost* render_view_host, |
881 bool is_main_frame, | 874 bool is_main_frame, |
882 int error_code, | 875 int error_code, |
883 const GURL& url, | 876 const GURL& url, |
884 bool showing_repost_interstitial); | 877 bool showing_repost_interstitial); |
885 virtual void DocumentLoadedInFrame(); | 878 virtual void DocumentLoadedInFrame(); |
886 | 879 |
887 // RenderViewHostDelegate::ContentSettings implementation. | |
888 virtual void OnContentBlocked(ContentSettingsType type); | |
889 virtual void OnGeolocationPermissionSet(const GURL& requesting_origin, | |
890 bool allowed); | |
891 | |
892 // RenderViewHostDelegate implementation. | 880 // RenderViewHostDelegate implementation. |
893 virtual RenderViewHostDelegate::View* GetViewDelegate(); | 881 virtual RenderViewHostDelegate::View* GetViewDelegate(); |
894 virtual RenderViewHostDelegate::RendererManagement* | 882 virtual RenderViewHostDelegate::RendererManagement* |
895 GetRendererManagementDelegate(); | 883 GetRendererManagementDelegate(); |
896 virtual RenderViewHostDelegate::BrowserIntegration* | 884 virtual RenderViewHostDelegate::BrowserIntegration* |
897 GetBrowserIntegrationDelegate(); | 885 GetBrowserIntegrationDelegate(); |
898 virtual RenderViewHostDelegate::Resource* GetResourceDelegate(); | 886 virtual RenderViewHostDelegate::Resource* GetResourceDelegate(); |
899 virtual RenderViewHostDelegate::ContentSettings* GetContentSettingsDelegate(); | 887 virtual RenderViewHostDelegate::ContentSettings* GetContentSettingsDelegate(); |
900 virtual RenderViewHostDelegate::Save* GetSaveDelegate(); | 888 virtual RenderViewHostDelegate::Save* GetSaveDelegate(); |
901 virtual RenderViewHostDelegate::Printing* GetPrintingDelegate(); | 889 virtual RenderViewHostDelegate::Printing* GetPrintingDelegate(); |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1091 | 1079 |
1092 // Dialog box used for choosing files to upload from file form fields. | 1080 // Dialog box used for choosing files to upload from file form fields. |
1093 scoped_refptr<SelectFileDialog> select_file_dialog_; | 1081 scoped_refptr<SelectFileDialog> select_file_dialog_; |
1094 | 1082 |
1095 // Cached web app info data. | 1083 // Cached web app info data. |
1096 webkit_glue::WebApplicationInfo web_app_info_; | 1084 webkit_glue::WebApplicationInfo web_app_info_; |
1097 | 1085 |
1098 // Cached web app icon. | 1086 // Cached web app icon. |
1099 SkBitmap app_icon_; | 1087 SkBitmap app_icon_; |
1100 | 1088 |
1089 // RenderViewHost::ContentSettingsDelegate. | |
1090 scoped_ptr<TabSpecificContentSettings> content_settings_delegate_; | |
1091 | |
1101 // Data for loading state ---------------------------------------------------- | 1092 // Data for loading state ---------------------------------------------------- |
1102 | 1093 |
1103 // Indicates whether we're currently loading a resource. | 1094 // Indicates whether we're currently loading a resource. |
1104 bool is_loading_; | 1095 bool is_loading_; |
1105 | 1096 |
1106 // Indicates if the tab is considered crashed. | 1097 // Indicates if the tab is considered crashed. |
1107 bool is_crashed_; | 1098 bool is_crashed_; |
1108 | 1099 |
1109 // See waiting_for_response() above. | 1100 // See waiting_for_response() above. |
1110 bool waiting_for_response_; | 1101 bool waiting_for_response_; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1143 | 1134 |
1144 // Character encoding. TODO(jungshik) : convert to std::string | 1135 // Character encoding. TODO(jungshik) : convert to std::string |
1145 std::string encoding_; | 1136 std::string encoding_; |
1146 | 1137 |
1147 // Object that holds any blocked popups frmo the current page. | 1138 // Object that holds any blocked popups frmo the current page. |
1148 BlockedPopupContainer* blocked_popups_; | 1139 BlockedPopupContainer* blocked_popups_; |
1149 | 1140 |
1150 // TODO(pkasting): Hack to try and fix Linux browser tests. | 1141 // TODO(pkasting): Hack to try and fix Linux browser tests. |
1151 bool dont_notify_render_view_; | 1142 bool dont_notify_render_view_; |
1152 | 1143 |
1153 // Stores which content setting types actually have blocked content. | |
1154 bool content_blocked_[CONTENT_SETTINGS_NUM_TYPES]; | |
1155 | |
1156 // True if this is a secure page which displayed insecure content. | 1144 // True if this is a secure page which displayed insecure content. |
1157 bool displayed_insecure_content_; | 1145 bool displayed_insecure_content_; |
1158 | 1146 |
1159 // Data for shelves and stuff ------------------------------------------------ | 1147 // Data for shelves and stuff ------------------------------------------------ |
1160 | 1148 |
1161 // Delegates for InfoBars associated with this TabContents. | 1149 // Delegates for InfoBars associated with this TabContents. |
1162 std::vector<InfoBarDelegate*> infobar_delegates_; | 1150 std::vector<InfoBarDelegate*> infobar_delegates_; |
1163 | 1151 |
1164 // Data for find in page ----------------------------------------------------- | 1152 // Data for find in page ----------------------------------------------------- |
1165 | 1153 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1267 base::TimeTicks tab_close_start_time_; | 1255 base::TimeTicks tab_close_start_time_; |
1268 | 1256 |
1269 // Contextual information to be used for requests created here. | 1257 // Contextual information to be used for requests created here. |
1270 // Can be NULL in which case we defer to the request context from the | 1258 // Can be NULL in which case we defer to the request context from the |
1271 // profile | 1259 // profile |
1272 scoped_refptr<URLRequestContextGetter> request_context_; | 1260 scoped_refptr<URLRequestContextGetter> request_context_; |
1273 | 1261 |
1274 // Information about the language the page is in and has been translated to. | 1262 // Information about the language the page is in and has been translated to. |
1275 LanguageState language_state_; | 1263 LanguageState language_state_; |
1276 | 1264 |
1277 // Manages information about Geolocation API usage in this page. | |
1278 GeolocationSettingsState geolocation_settings_state_; | |
1279 | |
1280 // See description above setter. | 1265 // See description above setter. |
1281 bool closed_by_user_gesture_; | 1266 bool closed_by_user_gesture_; |
1282 | 1267 |
1283 // --------------------------------------------------------------------------- | 1268 // --------------------------------------------------------------------------- |
1284 | 1269 |
1285 DISALLOW_COPY_AND_ASSIGN(TabContents); | 1270 DISALLOW_COPY_AND_ASSIGN(TabContents); |
1286 }; | 1271 }; |
1287 | 1272 |
1288 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_ | 1273 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_ |
OLD | NEW |