Index: content/browser/web_contents/navigation_entry_impl.h |
diff --git a/content/browser/web_contents/navigation_entry_impl.h b/content/browser/web_contents/navigation_entry_impl.h |
deleted file mode 100644 |
index 63924b8ad7320310d7d1742505d6eaf552eaa212..0000000000000000000000000000000000000000 |
--- a/content/browser/web_contents/navigation_entry_impl.h |
+++ /dev/null |
@@ -1,316 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CONTENT_BROWSER_WEB_CONTENTS_NAVIGATION_ENTRY_IMPL_H_ |
-#define CONTENT_BROWSER_WEB_CONTENTS_NAVIGATION_ENTRY_IMPL_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/memory/ref_counted.h" |
-#include "content/browser/site_instance_impl.h" |
-#include "content/public/browser/favicon_status.h" |
-#include "content/public/browser/global_request_id.h" |
-#include "content/public/browser/navigation_entry.h" |
-#include "content/public/common/page_state.h" |
-#include "content/public/common/ssl_status.h" |
- |
-namespace content { |
- |
-class CONTENT_EXPORT NavigationEntryImpl |
- : public NON_EXPORTED_BASE(NavigationEntry) { |
- public: |
- static NavigationEntryImpl* FromNavigationEntry(NavigationEntry* entry); |
- |
- // The value of bindings() before it is set during commit. |
- static int kInvalidBindings; |
- |
- NavigationEntryImpl(); |
- NavigationEntryImpl(SiteInstanceImpl* instance, |
- int page_id, |
- const GURL& url, |
- const Referrer& referrer, |
- const string16& title, |
- PageTransition transition_type, |
- bool is_renderer_initiated); |
- virtual ~NavigationEntryImpl(); |
- |
- // NavigationEntry implementation: |
- virtual int GetUniqueID() const OVERRIDE; |
- virtual PageType GetPageType() const OVERRIDE; |
- virtual void SetURL(const GURL& url) OVERRIDE; |
- virtual const GURL& GetURL() const OVERRIDE; |
- virtual void SetBaseURLForDataURL(const GURL& url) OVERRIDE; |
- virtual const GURL& GetBaseURLForDataURL() const OVERRIDE; |
- virtual void SetReferrer(const Referrer& referrer) OVERRIDE; |
- virtual const Referrer& GetReferrer() const OVERRIDE; |
- virtual void SetVirtualURL(const GURL& url) OVERRIDE; |
- virtual const GURL& GetVirtualURL() const OVERRIDE; |
- virtual void SetTitle(const string16& title) OVERRIDE; |
- virtual const string16& GetTitle() const OVERRIDE; |
- virtual void SetPageState(const PageState& state) OVERRIDE; |
- virtual const PageState& GetPageState() const OVERRIDE; |
- virtual void SetPageID(int page_id) OVERRIDE; |
- virtual int32 GetPageID() const OVERRIDE; |
- virtual const string16& GetTitleForDisplay( |
- const std::string& languages) const OVERRIDE; |
- virtual bool IsViewSourceMode() const OVERRIDE; |
- virtual void SetTransitionType(PageTransition transition_type) OVERRIDE; |
- virtual PageTransition GetTransitionType() const OVERRIDE; |
- virtual const GURL& GetUserTypedURL() const OVERRIDE; |
- virtual void SetHasPostData(bool has_post_data) OVERRIDE; |
- virtual bool GetHasPostData() const OVERRIDE; |
- virtual void SetPostID(int64 post_id) OVERRIDE; |
- virtual int64 GetPostID() const OVERRIDE; |
- virtual void SetBrowserInitiatedPostData( |
- const base::RefCountedMemory* data) OVERRIDE; |
- virtual const base::RefCountedMemory* |
- GetBrowserInitiatedPostData() const OVERRIDE; |
- virtual const FaviconStatus& GetFavicon() const OVERRIDE; |
- virtual FaviconStatus& GetFavicon() OVERRIDE; |
- virtual const SSLStatus& GetSSL() const OVERRIDE; |
- virtual SSLStatus& GetSSL() OVERRIDE; |
- virtual void SetOriginalRequestURL(const GURL& original_url) OVERRIDE; |
- virtual const GURL& GetOriginalRequestURL() const OVERRIDE; |
- virtual void SetIsOverridingUserAgent(bool override) OVERRIDE; |
- virtual bool GetIsOverridingUserAgent() const OVERRIDE; |
- virtual void SetTimestamp(base::Time timestamp) OVERRIDE; |
- virtual base::Time GetTimestamp() const OVERRIDE; |
- virtual void SetCanLoadLocalResources(bool allow) OVERRIDE; |
- virtual bool GetCanLoadLocalResources() const OVERRIDE; |
- virtual void SetFrameToNavigate(const std::string& frame_name) OVERRIDE; |
- virtual const std::string& GetFrameToNavigate() const OVERRIDE; |
- virtual void SetExtraData(const std::string& key, |
- const string16& data) OVERRIDE; |
- virtual bool GetExtraData(const std::string& key, |
- string16* data) const OVERRIDE; |
- virtual void ClearExtraData(const std::string& key) OVERRIDE; |
- virtual void SetHttpStatusCode(int http_status_code) OVERRIDE; |
- virtual int GetHttpStatusCode() const OVERRIDE; |
- |
- void set_unique_id(int unique_id) { |
- unique_id_ = unique_id; |
- } |
- |
- // The SiteInstance tells us how to share sub-processes. This is a reference |
- // counted pointer to a shared site instance. |
- // |
- // Note that the SiteInstance should usually not be changed after it is set, |
- // but this may happen if the NavigationEntry was cloned and needs to use a |
- // different SiteInstance. |
- void set_site_instance(SiteInstanceImpl* site_instance); |
- SiteInstanceImpl* site_instance() const { |
- return site_instance_.get(); |
- } |
- |
- // Remember the set of bindings granted to this NavigationEntry at the time |
- // of commit, to ensure that we do not grant it additional bindings if we |
- // navigate back to it in the future. This can only be changed once. |
- void SetBindings(int bindings); |
- int bindings() const { |
- return bindings_; |
- } |
- |
- void set_page_type(PageType page_type) { |
- page_type_ = page_type; |
- } |
- |
- bool has_virtual_url() const { |
- return !virtual_url_.is_empty(); |
- } |
- |
- bool update_virtual_url_with_url() const { |
- return update_virtual_url_with_url_; |
- } |
- void set_update_virtual_url_with_url(bool update) { |
- update_virtual_url_with_url_ = update; |
- } |
- |
- // Extra headers (separated by \n) to send during the request. |
- void set_extra_headers(const std::string& extra_headers) { |
- extra_headers_ = extra_headers; |
- } |
- const std::string& extra_headers() const { |
- return extra_headers_; |
- } |
- |
- // Whether this (pending) navigation is renderer-initiated. Resets to false |
- // for all types of navigations after commit. |
- void set_is_renderer_initiated(bool is_renderer_initiated) { |
- is_renderer_initiated_ = is_renderer_initiated; |
- } |
- bool is_renderer_initiated() const { |
- return is_renderer_initiated_; |
- } |
- |
- void set_user_typed_url(const GURL& user_typed_url) { |
- user_typed_url_ = user_typed_url; |
- } |
- |
- // Enumerations of the possible restore types. |
- enum RestoreType { |
- // Restore from the previous session. |
- RESTORE_LAST_SESSION_EXITED_CLEANLY, |
- RESTORE_LAST_SESSION_CRASHED, |
- |
- // The entry has been restored from the current session. This is used when |
- // the user issues 'reopen closed tab'. |
- RESTORE_CURRENT_SESSION, |
- |
- // The entry was not restored. |
- RESTORE_NONE |
- }; |
- |
- // The RestoreType for this entry. This is set if the entry was retored. This |
- // is set to RESTORE_NONE once the entry is loaded. |
- void set_restore_type(RestoreType type) { |
- restore_type_ = type; |
- } |
- RestoreType restore_type() const { |
- return restore_type_; |
- } |
- |
- void set_transferred_global_request_id( |
- const GlobalRequestID& transferred_global_request_id) { |
- transferred_global_request_id_ = transferred_global_request_id; |
- } |
- |
- GlobalRequestID transferred_global_request_id() const { |
- return transferred_global_request_id_; |
- } |
- |
- // Whether this (pending) navigation needs to replace current entry. |
- // Resets to false after commit. |
- bool should_replace_entry() const { |
- return should_replace_entry_; |
- } |
- |
- void set_should_replace_entry(bool should_replace_entry) { |
- should_replace_entry_ = should_replace_entry; |
- } |
- |
- void SetScreenshotPNGData(scoped_refptr<base::RefCountedBytes> png_data); |
- const scoped_refptr<base::RefCountedBytes> screenshot() const { |
- return screenshot_; |
- } |
- |
- // Whether this (pending) navigation should clear the session history. Resets |
- // to false after commit. |
- bool should_clear_history_list() const { |
- return should_clear_history_list_; |
- } |
- void set_should_clear_history_list(bool should_clear_history_list) { |
- should_clear_history_list_ = should_clear_history_list; |
- } |
- |
- private: |
- // WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |
- // Session/Tab restore save portions of this class so that it can be recreated |
- // later. If you add a new field that needs to be persisted you'll have to |
- // update SessionService/TabRestoreService and Android WebView |
- // state_serializer.cc appropriately. |
- // WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |
- |
- // See the accessors above for descriptions. |
- int unique_id_; |
- scoped_refptr<SiteInstanceImpl> site_instance_; |
- // TODO(creis): Persist bindings_. http://crbug.com/173672. |
- int bindings_; |
- PageType page_type_; |
- GURL url_; |
- Referrer referrer_; |
- GURL virtual_url_; |
- bool update_virtual_url_with_url_; |
- string16 title_; |
- FaviconStatus favicon_; |
- PageState page_state_; |
- int32 page_id_; |
- SSLStatus ssl_; |
- PageTransition transition_type_; |
- GURL user_typed_url_; |
- bool has_post_data_; |
- int64 post_id_; |
- RestoreType restore_type_; |
- GURL original_request_url_; |
- bool is_overriding_user_agent_; |
- base::Time timestamp_; |
- int http_status_code_; |
- |
- // This member is not persisted with session restore because it is transient. |
- // If the post request succeeds, this field is cleared since the same |
- // information is stored in |content_state_| above. It is also only shallow |
- // copied with compiler provided copy constructor. |
- scoped_refptr<const base::RefCountedMemory> browser_initiated_post_data_; |
- |
- // This is also a transient member (i.e. is not persisted with session |
- // restore). The screenshot of a page is taken when navigating away from the |
- // page. This screenshot is displayed during an overscroll-navigation |
- // gesture. |screenshot_| will be NULL when the screenshot is not available |
- // (e.g. after a session restore, or if taking the screenshot of a page |
- // failed). The UI is responsible for dealing with missing screenshots |
- // appropriately (e.g. display a placeholder image instead). |
- scoped_refptr<base::RefCountedBytes> screenshot_; |
- |
- // This member is not persisted with session restore. |
- std::string extra_headers_; |
- |
- // Used for specifying base URL for pages loaded via data URLs. Only used and |
- // persisted by Android WebView. |
- GURL base_url_for_data_url_; |
- |
- // Whether the entry, while loading, was created for a renderer-initiated |
- // navigation. This dictates whether the URL should be displayed before the |
- // navigation commits. It is cleared on commit and not persisted. |
- bool is_renderer_initiated_; |
- |
- // This is a cached version of the result of GetTitleForDisplay. It prevents |
- // us from having to do URL formatting on the URL every time the title is |
- // displayed. When the URL, virtual URL, or title is set, this should be |
- // cleared to force a refresh. |
- mutable string16 cached_display_title_; |
- |
- // In case a navigation is transferred to a new RVH but the request has |
- // been generated in the renderer already, this identifies the old request so |
- // that it can be resumed. The old request is stored until the |
- // ResourceDispatcher receives the navigation from the renderer which |
- // carries this |transferred_global_request_id_| annotation. Once the request |
- // is transferred to the new process, this is cleared and the request |
- // continues as normal. |
- GlobalRequestID transferred_global_request_id_; |
- |
- // This is set to true when this entry is being reloaded and due to changes in |
- // the state of the URL, it has to be reloaded in a different site instance. |
- // In such case, we must treat it as an existing navigation in the new site |
- // instance, instead of a new navigation. This value should not be persisted |
- // and is not needed after the entry commits. |
- // |
- // We also use this flag for cross-process redirect navigations, so that the |
- // browser will replace the current navigation entry (which is the page |
- // doing the redirect). |
- bool should_replace_entry_; |
- |
- // This is set to true when this entry's navigation should clear the session |
- // history both on the renderer and browser side. The browser side history |
- // won't be cleared until the renderer has committed this navigation. This |
- // entry is not persisted by the session restore system, as it is always |
- // reset to false after commit. |
- bool should_clear_history_list_; |
- |
- // Set when this entry should be able to access local file:// resources. This |
- // value is not needed after the entry commits and is not persisted. |
- bool can_load_local_resources_; |
- |
- // If not empty, the name of the frame to navigate. This field is not |
- // persisted, because it is currently only used in tests. |
- std::string frame_to_navigate_; |
- |
- // Used to store extra data to support browser features. This member is not |
- // persisted, unless specific data is taken out/put back in at save/restore |
- // time (see TabNavigation for an example of this). |
- std::map<std::string, string16> extra_data_; |
- |
- // Copy and assignment is explicitly allowed for this class. |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_WEB_CONTENTS_NAVIGATION_ENTRY_IMPL_H_ |