1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/renderer/internal_document_state_data.h"
7 #include "content/public/renderer/document_state.h"
8 #include "third_party/WebKit/public/web/WebDataSource.h"
14 // Key InternalDocumentStateData is stored under in DocumentState.
15 const char kUserDataKey
[] = "InternalDocumentStateData";
19 InternalDocumentStateData::InternalDocumentStateData()
20 : did_first_visually_non_empty_layout_(false),
21 did_first_visually_non_empty_paint_(false),
23 use_error_page_(false),
24 is_overriding_user_agent_(false),
25 must_reset_scroll_and_scale_state_(false),
26 cache_policy_override_set_(false),
27 cache_policy_override_(blink::WebURLRequest::UseProtocolCachePolicy
) {
31 InternalDocumentStateData
* InternalDocumentStateData::FromDataSource(
32 blink::WebDataSource
* ds
) {
33 return FromDocumentState(static_cast<DocumentState
*>(ds
->extraData()));
37 InternalDocumentStateData
* InternalDocumentStateData::FromDocumentState(
41 InternalDocumentStateData
* data
= static_cast<InternalDocumentStateData
*>(
42 ds
->GetUserData(&kUserDataKey
));
44 data
= new InternalDocumentStateData
;
45 ds
->SetUserData(&kUserDataKey
, data
);
50 InternalDocumentStateData::~InternalDocumentStateData() {
53 } // namespace content