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

Unified Diff: content/renderer/render_view_impl.cc

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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/internal_document_state_data.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index d2e16cabd21b0229dad7f7e62fc8959ff837ccda..554df4dc3da89e4dc0e03fa4628fb3fb97226678 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -399,13 +399,14 @@ static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) {
}
}
-// If |data_source| is non-null and has a DocumentState associated with it,
-// the AltErrorPageResourceFetcher is reset.
+// If |data_source| is non-null and has an InternalDocumentStateData associated
+// with it, the AltErrorPageResourceFetcher is reset.
static void StopAltErrorPageFetcher(WebDataSource* data_source) {
if (data_source) {
- DocumentState* document_state = DocumentState::FromDataSource(data_source);
- if (document_state)
- document_state->set_alt_error_page_fetcher(NULL);
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDataSource(data_source);
+ if (internal_data)
+ internal_data->set_alt_error_page_fetcher(NULL);
}
}
@@ -1611,6 +1612,8 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) {
DocumentState* document_state = DocumentState::FromDataSource(ds);
NavigationState* navigation_state = document_state->navigation_state();
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
ViewHostMsg_FrameNavigate_Params params;
params.http_status_code = response.httpStatusCode();
@@ -1625,16 +1628,7 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) {
params.was_fetched_via_proxy = extra_data->was_fetched_via_proxy();
}
params.was_within_same_page = navigation_state->was_within_same_page();
- if (!document_state->security_info().empty()) {
sky 2013/04/08 16:53:49 I removed scurity_info entirely as it didn't appea
- // SSL state specified in the request takes precedence over the one in the
- // response.
- // So far this is only intended for error pages that are not expected to be
- // over ssl, so we should not get any clash.
- DCHECK(response.securityInfo().isEmpty());
- params.security_info = document_state->security_info();
- } else {
- params.security_info = response.securityInfo();
- }
+ params.security_info = response.securityInfo();
// Set the URL to be displayed in the browser UI to the user.
params.url = GetLoadingUrl(frame);
@@ -1647,12 +1641,10 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) {
params.should_update_history = !ds->hasUnreachableURL() &&
!response.isMultipartPayload() && (response.httpStatusCode() != 404);
- params.searchable_form_url = document_state->searchable_form_url();
- params.searchable_form_encoding =
- document_state->searchable_form_encoding();
+ params.searchable_form_url = internal_data->searchable_form_url();
+ params.searchable_form_encoding = internal_data->searchable_form_encoding();
- const PasswordForm* password_form_data =
- document_state->password_form_data();
+ const PasswordForm* password_form_data = document_state->password_form_data();
if (password_form_data)
params.password_form = *password_form_data;
@@ -1740,8 +1732,7 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) {
}
// Send the user agent override back.
- params.is_overriding_user_agent =
- document_state->is_overriding_user_agent();
+ params.is_overriding_user_agent = internal_data->is_overriding_user_agent();
// Track the URL of the original request.
params.original_request_url = original_request.url();
@@ -2841,18 +2832,7 @@ void RenderViewImpl::ClearEditCommands() {
}
SSLStatus RenderViewImpl::GetSSLStatusOfFrame(WebKit::WebFrame* frame) const {
- SSLStatus ssl_status;
-
- DocumentState* doc_state = DocumentState::FromDataSource(frame->dataSource());
- if (doc_state && !doc_state->security_info().empty()) {
- DeserializeSecurityInfo(doc_state->security_info(),
- &ssl_status.cert_id,
- &ssl_status.cert_status,
- &ssl_status.security_bits,
- &ssl_status.connection_status);
- }
-
- return ssl_status;
+ return SSLStatus();
Dan Beam 2013/07/03 17:44:36 what is the point of this method now?
}
void RenderViewImpl::loadURLExternally(
@@ -3110,14 +3090,16 @@ void RenderViewImpl::willSubmitForm(WebFrame* frame,
DocumentState* document_state =
DocumentState::FromDataSource(frame->provisionalDataSource());
NavigationState* navigation_state = document_state->navigation_state();
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
if (navigation_state->transition_type() == PAGE_TRANSITION_LINK)
navigation_state->set_transition_type(PAGE_TRANSITION_FORM_SUBMIT);
// Save these to be processed when the ensuing navigation is committed.
WebSearchableFormData web_searchable_form_data(form);
- document_state->set_searchable_form_url(web_searchable_form_data.url());
- document_state->set_searchable_form_encoding(
+ internal_data->set_searchable_form_url(web_searchable_form_data.url());
+ internal_data->set_searchable_form_encoding(
web_searchable_form_data.encoding().utf8());
scoped_ptr<PasswordForm> password_form_data =
CreatePasswordForm(form);
@@ -3196,8 +3178,12 @@ void RenderViewImpl::didCreateDataSource(WebFrame* frame, WebDataSource* ds) {
DocumentState* old_document_state =
DocumentState::FromDataSource(webview()->mainFrame()->dataSource());
if (old_document_state) {
- document_state->set_is_overriding_user_agent(
- old_document_state->is_overriding_user_agent());
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
+ InternalDocumentStateData* old_internal_data =
+ InternalDocumentStateData::FromDocumentState(old_document_state);
+ internal_data->set_is_overriding_user_agent(
+ old_internal_data->is_overriding_user_agent());
}
}
@@ -3265,6 +3251,9 @@ void RenderViewImpl::PopulateDocumentStateFromPending(
const ViewMsg_Navigate_Params& params = *pending_navigation_params_.get();
document_state->set_request_time(params.request_time);
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
+
if (!params.url.SchemeIs(chrome::kJavaScriptScheme) &&
params.navigation_type == ViewMsg_Navigate_Type::RESTORE) {
// We're doing a load of a page that was restored from the last session. By
@@ -3272,7 +3261,7 @@ void RenderViewImpl::PopulateDocumentStateFromPending(
// can result in stale data for pages that are set to expire. We explicitly
// override that by setting the policy here so that as necessary we load
// from the network.
- document_state->set_cache_policy_override(
+ internal_data->set_cache_policy_override(
WebURLRequest::UseProtocolCachePolicy);
}
@@ -3283,9 +3272,9 @@ void RenderViewImpl::PopulateDocumentStateFromPending(
else
document_state->set_load_type(DocumentState::NORMAL_LOAD);
- document_state->set_referrer_policy(params.referrer.policy);
- document_state->set_is_overriding_user_agent(params.is_overriding_user_agent);
- document_state->set_must_reset_scroll_and_scale_state(
+ internal_data->set_referrer_policy(params.referrer.policy);
+ internal_data->set_is_overriding_user_agent(params.is_overriding_user_agent);
+ internal_data->set_must_reset_scroll_and_scale_state(
params.navigation_type ==
ViewMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL);
document_state->set_can_load_local_resources(params.can_load_local_resources);
@@ -3517,9 +3506,9 @@ void RenderViewImpl::didFailProvisionalLoad(WebFrame* frame,
void RenderViewImpl::didReceiveDocumentData(
WebFrame* frame, const char* data, size_t data_len,
bool& prevent_default) {
- DocumentState* document_state =
- DocumentState::FromDataSource(frame->dataSource());
- document_state->set_use_error_page(false);
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDataSource(frame->dataSource());
+ internal_data->set_use_error_page(false);
}
void RenderViewImpl::didCommitProvisionalLoad(WebFrame* frame,
@@ -3527,13 +3516,15 @@ void RenderViewImpl::didCommitProvisionalLoad(WebFrame* frame,
DocumentState* document_state =
DocumentState::FromDataSource(frame->dataSource());
NavigationState* navigation_state = document_state->navigation_state();
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
if (document_state->commit_load_time().is_null())
document_state->set_commit_load_time(Time::Now());
- if (document_state->must_reset_scroll_and_scale_state()) {
+ if (internal_data->must_reset_scroll_and_scale_state()) {
webview()->resetScrollAndScaleState();
- document_state->set_must_reset_scroll_and_scale_state(false);
+ internal_data->set_must_reset_scroll_and_scale_state(false);
}
if (is_new_navigation) {
@@ -3778,6 +3769,8 @@ void RenderViewImpl::willSendRequest(WebFrame* frame,
PageTransition transition_type = PAGE_TRANSITION_LINK;
DocumentState* document_state = DocumentState::FromDataSource(data_source);
DCHECK(document_state);
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
NavigationState* navigation_state = document_state->navigation_state();
transition_type = navigation_state->transition_type();
@@ -3792,13 +3785,13 @@ void RenderViewImpl::willSendRequest(WebFrame* frame,
request.setURL(WebURL(new_url));
}
- if (document_state->is_cache_policy_override_set())
- request.setCachePolicy(document_state->cache_policy_override());
+ if (internal_data->is_cache_policy_override_set())
+ request.setCachePolicy(internal_data->cache_policy_override());
WebKit::WebReferrerPolicy referrer_policy;
- if (document_state && document_state->is_referrer_policy_set()) {
- referrer_policy = document_state->referrer_policy();
- document_state->clear_referrer_policy();
+ if (internal_data->is_referrer_policy_set()) {
+ referrer_policy = internal_data->referrer_policy();
+ internal_data->clear_referrer_policy();
} else {
referrer_policy = frame->document().referrerPolicy();
}
@@ -3891,18 +3884,20 @@ void RenderViewImpl::didReceiveResponse(
document_state->set_was_fetched_via_proxy(
extra_data->was_fetched_via_proxy());
}
- document_state->set_http_status_code(http_status_code);
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDocumentState(document_state);
+ internal_data->set_http_status_code(http_status_code);
// Whether or not the http status code actually corresponds to an error is
// only checked when the page is done loading, if |use_error_page| is
// still true.
- document_state->set_use_error_page(true);
+ internal_data->set_use_error_page(true);
}
void RenderViewImpl::didFinishResourceLoad(
WebFrame* frame, unsigned identifier) {
- DocumentState* document_state =
- DocumentState::FromDataSource(frame->dataSource());
- if (!document_state->use_error_page())
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDataSource(frame->dataSource());
+ if (!internal_data->use_error_page())
return;
// Do not show error page when DevTools is attached.
@@ -3910,7 +3905,7 @@ void RenderViewImpl::didFinishResourceLoad(
return;
// Display error page, if appropriate.
- int http_status_code = document_state->http_status_code();
+ int http_status_code = internal_data->http_status_code();
if (http_status_code == 404) {
// On 404s, try a remote search page as a fallback.
const GURL& document_url = frame->document().url();
@@ -3923,7 +3918,7 @@ void RenderViewImpl::didFinishResourceLoad(
original_error.reason = 404;
original_error.unreachableURL = document_url;
- document_state->set_alt_error_page_fetcher(
+ internal_data->set_alt_error_page_fetcher(
new AltErrorPageResourceFetcher(
error_page_url, frame, original_error,
base::Bind(&RenderViewImpl::AltErrorPageFinished,
@@ -4400,12 +4395,11 @@ WebKit::WebString RenderViewImpl::userAgentOverride(
else
data_source = main_frame->dataSource();
- DocumentState* document_state =
- data_source ? DocumentState::FromDataSource(data_source) : NULL;
- if (document_state && document_state->is_overriding_user_agent())
+ InternalDocumentStateData* internal_data = data_source ?
+ InternalDocumentStateData::FromDataSource(data_source) : NULL;
+ if (internal_data && internal_data->is_overriding_user_agent())
return WebString::fromUTF8(renderer_preferences_.user_agent_override);
- else
- return WebKit::WebString();
+ return WebKit::WebString();
}
bool RenderViewImpl::allowWebGL(WebFrame* frame, bool default_value) {
@@ -5611,9 +5605,9 @@ bool RenderViewImpl::MaybeLoadAlternateErrorPage(WebFrame* frame,
// Now, create a fetcher for the error page and associate it with the data
// source we just created via the LoadHTMLString call. That way if another
// navigation occurs, the fetcher will get destroyed.
- DocumentState* document_state =
- DocumentState::FromDataSource(frame->provisionalDataSource());
- document_state->set_alt_error_page_fetcher(
+ InternalDocumentStateData* internal_data =
+ InternalDocumentStateData::FromDataSource(frame->provisionalDataSource());
+ internal_data->set_alt_error_page_fetcher(
new AltErrorPageResourceFetcher(
error_page_url, frame, error,
base::Bind(&RenderViewImpl::AltErrorPageFinished,
@@ -5682,9 +5676,8 @@ void RenderViewImpl::DidFlushPaint() {
if (!main_frame->provisionalDataSource()) {
WebDataSource* ds = main_frame->dataSource();
DocumentState* document_state = DocumentState::FromDataSource(ds);
-
InternalDocumentStateData* data =
- InternalDocumentStateData::FromDataSource(ds);
+ InternalDocumentStateData::FromDocumentState(document_state);
if (data->did_first_visually_non_empty_layout() &&
!data->did_first_visually_non_empty_paint()) {
data->set_did_first_visually_non_empty_paint(true);
« no previous file with comments | « content/renderer/internal_document_state_data.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698