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

Side by Side Diff: content/public/renderer/document_state.h

Issue 13722005: Moves fields only accessed from content::DocumentState to content::InternalDocumentStateData. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Style tweak Created 7 years, 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_PUBLIC_RENDERER_DOCUMENT_STATE_H_ 5 #ifndef CONTENT_PUBLIC_RENDERER_DOCUMENT_STATE_H_
6 #define CONTENT_PUBLIC_RENDERER_DOCUMENT_STATE_H_ 6 #define CONTENT_PUBLIC_RENDERER_DOCUMENT_STATE_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/supports_user_data.h" 12 #include "base/supports_user_data.h"
13 #include "base/time.h" 13 #include "base/time.h"
14 #include "third_party/WebKit/Source/Platform/chromium/public/WebReferrerPolicy.h "
15 #include "third_party/WebKit/Source/Platform/chromium/public/WebURLRequest.h"
16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" 14 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h"
17 15
18 namespace webkit_glue {
19 class AltErrorPageResourceFetcher;
20 }
21
22 namespace content { 16 namespace content {
23 17
24 class NavigationState; 18 class NavigationState;
25 struct PasswordForm; 19 struct PasswordForm;
26 20
27 // The RenderView stores an instance of this class in the "extra data" of each 21 // The RenderView stores an instance of this class in the "extra data" of each
28 // WebDataSource (see RenderView::DidCreateDataSource). 22 // WebDataSource (see RenderView::DidCreateDataSource).
29 class DocumentState : public WebKit::WebDataSource::ExtraData, 23 class DocumentState : public WebKit::WebDataSource::ExtraData,
30 public base::SupportsUserData { 24 public base::SupportsUserData {
31 public: 25 public:
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 load_histograms_recorded_ = value; 118 load_histograms_recorded_ = value;
125 } 119 }
126 120
127 bool web_timing_histograms_recorded() const { 121 bool web_timing_histograms_recorded() const {
128 return web_timing_histograms_recorded_; 122 return web_timing_histograms_recorded_;
129 } 123 }
130 void set_web_timing_histograms_recorded(bool value) { 124 void set_web_timing_histograms_recorded(bool value) {
131 web_timing_histograms_recorded_ = value; 125 web_timing_histograms_recorded_ = value;
132 } 126 }
133 127
134 int http_status_code() const { return http_status_code_; }
135 void set_http_status_code(int http_status_code) {
136 http_status_code_ = http_status_code;
137 }
138
139 // Indicator if SPDY was used as part of this page load. 128 // Indicator if SPDY was used as part of this page load.
140 bool was_fetched_via_spdy() const { return was_fetched_via_spdy_; } 129 bool was_fetched_via_spdy() const { return was_fetched_via_spdy_; }
141 void set_was_fetched_via_spdy(bool value) { was_fetched_via_spdy_ = value; } 130 void set_was_fetched_via_spdy(bool value) { was_fetched_via_spdy_ = value; }
142 131
143 bool was_npn_negotiated() const { return was_npn_negotiated_; } 132 bool was_npn_negotiated() const { return was_npn_negotiated_; }
144 void set_was_npn_negotiated(bool value) { was_npn_negotiated_ = value; } 133 void set_was_npn_negotiated(bool value) { was_npn_negotiated_ = value; }
145 134
146 const std::string& npn_negotiated_protocol() const { 135 const std::string& npn_negotiated_protocol() const {
147 return npn_negotiated_protocol_; 136 return npn_negotiated_protocol_;
148 } 137 }
149 void set_npn_negotiated_protocol(const std::string& value) { 138 void set_npn_negotiated_protocol(const std::string& value) {
150 npn_negotiated_protocol_ = value; 139 npn_negotiated_protocol_ = value;
151 } 140 }
152 141
153 bool was_alternate_protocol_available() const { 142 bool was_alternate_protocol_available() const {
154 return was_alternate_protocol_available_; 143 return was_alternate_protocol_available_;
155 } 144 }
156 void set_was_alternate_protocol_available(bool value) { 145 void set_was_alternate_protocol_available(bool value) {
157 was_alternate_protocol_available_ = value; 146 was_alternate_protocol_available_ = value;
158 } 147 }
159 148
160 bool was_fetched_via_proxy() const { return was_fetched_via_proxy_; } 149 bool was_fetched_via_proxy() const { return was_fetched_via_proxy_; }
161 void set_was_fetched_via_proxy(bool value) { 150 void set_was_fetched_via_proxy(bool value) {
162 was_fetched_via_proxy_ = value; 151 was_fetched_via_proxy_ = value;
163 } 152 }
164 153
165 const GURL& searchable_form_url() const { return searchable_form_url_; }
166 void set_searchable_form_url(const GURL& url) { searchable_form_url_ = url; }
167 const std::string& searchable_form_encoding() const {
168 return searchable_form_encoding_;
169 }
170 void set_searchable_form_encoding(const std::string& encoding) {
171 searchable_form_encoding_ = encoding;
172 }
173
174 // If set, contains the PasswordForm that we believe triggered the current 154 // If set, contains the PasswordForm that we believe triggered the current
175 // navigation (there is some ambiguity in the case of javascript initiated 155 // navigation (there is some ambiguity in the case of javascript initiated
176 // navigations). This information is used by the PasswordManager to determine 156 // navigations). This information is used by the PasswordManager to determine
177 // if the user should be prompted to save their password. 157 // if the user should be prompted to save their password.
178 // 158 //
179 // Note that setting this field doesn't affect where the data is sent or what 159 // Note that setting this field doesn't affect where the data is sent or what
180 // origin we associate it with, only whether we prompt the user to save it. 160 // origin we associate it with, only whether we prompt the user to save it.
181 // That is, a false positive is a usability issue (e.g. may try to save a 161 // That is, a false positive is a usability issue (e.g. may try to save a
182 // mis-typed password) not a security issue. 162 // mis-typed password) not a security issue.
183 PasswordForm* password_form_data() const { 163 PasswordForm* password_form_data() const {
184 return password_form_data_.get(); 164 return password_form_data_.get();
185 } 165 }
186 void set_password_form_data(scoped_ptr<PasswordForm> data); 166 void set_password_form_data(scoped_ptr<PasswordForm> data);
187 167
188 const std::string& security_info() const { return security_info_; }
189 void set_security_info(const std::string& security_info) {
190 security_info_ = security_info;
191 }
192
193 // True if an error page should be used, if the http status code also
194 // indicates an error.
195 bool use_error_page() const { return use_error_page_; }
196 void set_use_error_page(bool use_error_page) {
197 use_error_page_ = use_error_page;
198 }
199
200 // True if the user agent was overridden for this page.
201 bool is_overriding_user_agent() const { return is_overriding_user_agent_; }
202 void set_is_overriding_user_agent(bool state) {
203 is_overriding_user_agent_ = state;
204 }
205
206 // True if we have to reset the scroll and scale state of the page
207 // after the provisional load has been committed.
208 bool must_reset_scroll_and_scale_state() const {
209 return must_reset_scroll_and_scale_state_;
210 }
211 void set_must_reset_scroll_and_scale_state(bool state) {
212 must_reset_scroll_and_scale_state_ = state;
213 }
214
215 void set_was_prefetcher(bool value) { was_prefetcher_ = value; } 168 void set_was_prefetcher(bool value) { was_prefetcher_ = value; }
216 bool was_prefetcher() const { return was_prefetcher_; } 169 bool was_prefetcher() const { return was_prefetcher_; }
217 170
218 void set_was_referred_by_prefetcher(bool value) { 171 void set_was_referred_by_prefetcher(bool value) {
219 was_referred_by_prefetcher_ = value; 172 was_referred_by_prefetcher_ = value;
220 } 173 }
221 bool was_referred_by_prefetcher() const { 174 bool was_referred_by_prefetcher() const {
222 return was_referred_by_prefetcher_; 175 return was_referred_by_prefetcher_;
223 } 176 }
224 177
225 // Record the nature of this load, for use when histogramming page load times. 178 // Record the nature of this load, for use when histogramming page load times.
226 LoadType load_type() const { return load_type_; } 179 LoadType load_type() const { return load_type_; }
227 void set_load_type(LoadType load_type) { load_type_ = load_type; } 180 void set_load_type(LoadType load_type) { load_type_ = load_type; }
228 181
229 // Sets the cache policy. The cache policy is only used if explicitly set and
230 // by default is not set. You can mark a NavigationState as not having a cache
231 // state by way of clear_cache_policy_override.
232 void set_cache_policy_override(
233 WebKit::WebURLRequest::CachePolicy cache_policy) {
234 cache_policy_override_ = cache_policy;
235 cache_policy_override_set_ = true;
236 }
237 WebKit::WebURLRequest::CachePolicy cache_policy_override() const {
238 return cache_policy_override_;
239 }
240 void clear_cache_policy_override() {
241 cache_policy_override_set_ = false;
242 cache_policy_override_ = WebKit::WebURLRequest::UseProtocolCachePolicy;
243 }
244 bool is_cache_policy_override_set() const {
245 return cache_policy_override_set_;
246 }
247
248 // Sets the referrer policy to use. This is only used for browser initiated
249 // navigations, otherwise, the referrer policy is defined by the frame's
250 // document.
251 WebKit::WebReferrerPolicy referrer_policy() const {
252 return referrer_policy_;
253 }
254 void set_referrer_policy(WebKit::WebReferrerPolicy referrer_policy) {
255 referrer_policy_ = referrer_policy;
256 referrer_policy_set_ = true;
257 }
258 void clear_referrer_policy() {
259 referrer_policy_ = WebKit::WebReferrerPolicyDefault;
260 referrer_policy_set_ = false;
261 }
262 bool is_referrer_policy_set() const { return referrer_policy_set_; }
263
264 webkit_glue::AltErrorPageResourceFetcher* alt_error_page_fetcher() const {
265 return alt_error_page_fetcher_.get();
266 }
267 void set_alt_error_page_fetcher(webkit_glue::AltErrorPageResourceFetcher* f);
268
269 NavigationState* navigation_state() { return navigation_state_.get(); } 182 NavigationState* navigation_state() { return navigation_state_.get(); }
270 void set_navigation_state(NavigationState* navigation_state); 183 void set_navigation_state(NavigationState* navigation_state);
271 184
272 bool can_load_local_resources() const { return can_load_local_resources_; } 185 bool can_load_local_resources() const { return can_load_local_resources_; }
273 void set_can_load_local_resources(bool can_load) { 186 void set_can_load_local_resources(bool can_load) {
274 can_load_local_resources_ = can_load; 187 can_load_local_resources_ = can_load;
275 } 188 }
276 189
277 private: 190 private:
278 base::Time request_time_; 191 base::Time request_time_;
279 base::Time start_load_time_; 192 base::Time start_load_time_;
280 base::Time commit_load_time_; 193 base::Time commit_load_time_;
281 base::Time finish_document_load_time_; 194 base::Time finish_document_load_time_;
282 base::Time finish_load_time_; 195 base::Time finish_load_time_;
283 base::Time first_paint_time_; 196 base::Time first_paint_time_;
284 base::Time first_paint_after_load_time_; 197 base::Time first_paint_after_load_time_;
285 bool load_histograms_recorded_; 198 bool load_histograms_recorded_;
286 bool web_timing_histograms_recorded_; 199 bool web_timing_histograms_recorded_;
287 int http_status_code_;
288 bool was_fetched_via_spdy_; 200 bool was_fetched_via_spdy_;
289 bool was_npn_negotiated_; 201 bool was_npn_negotiated_;
290 std::string npn_negotiated_protocol_; 202 std::string npn_negotiated_protocol_;
291 bool was_alternate_protocol_available_; 203 bool was_alternate_protocol_available_;
292 bool was_fetched_via_proxy_; 204 bool was_fetched_via_proxy_;
293 205
294 GURL searchable_form_url_;
295 std::string searchable_form_encoding_;
296 scoped_ptr<PasswordForm> password_form_data_; 206 scoped_ptr<PasswordForm> password_form_data_;
297 std::string security_info_;
298
299 bool use_error_page_;
300
301 bool is_overriding_user_agent_;
302 bool must_reset_scroll_and_scale_state_;
303 207
304 // A prefetcher is a page that contains link rel=prefetch elements. 208 // A prefetcher is a page that contains link rel=prefetch elements.
305 bool was_prefetcher_; 209 bool was_prefetcher_;
306 bool was_referred_by_prefetcher_; 210 bool was_referred_by_prefetcher_;
307 211
308 LoadType load_type_; 212 LoadType load_type_;
309 213
310 bool cache_policy_override_set_;
311 WebKit::WebURLRequest::CachePolicy cache_policy_override_;
312
313 bool referrer_policy_set_;
314 WebKit::WebReferrerPolicy referrer_policy_;
315
316 scoped_ptr<webkit_glue::AltErrorPageResourceFetcher> alt_error_page_fetcher_;
317
318 scoped_ptr<NavigationState> navigation_state_; 214 scoped_ptr<NavigationState> navigation_state_;
319 215
320 bool can_load_local_resources_; 216 bool can_load_local_resources_;
321 }; 217 };
322 218
323 #endif // CONTENT_PUBLIC_RENDERER_DOCUMENT_STATE_H_ 219 #endif // CONTENT_PUBLIC_RENDERER_DOCUMENT_STATE_H_
324 220
325 } // namespace content 221 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698