diff options
Diffstat (limited to 'chrome/browser/navigation_entry.cc')
-rw-r--r-- | chrome/browser/navigation_entry.cc | 60 |
1 files changed, 18 insertions, 42 deletions
diff --git a/chrome/browser/navigation_entry.cc b/chrome/browser/navigation_entry.cc index 8a1170c..2cb98f2 100644 --- a/chrome/browser/navigation_entry.cc +++ b/chrome/browser/navigation_entry.cc @@ -6,7 +6,12 @@ #include "chrome/common/resource_bundle.h" -int NavigationEntry::unique_id_counter_ = 0; +// Use this to get a new unique ID for a NavigationEntry during construction. +// The returned ID is guaranteed to be nonzero (which is the "no ID" indicator). +static int GetUniqueID() { + static int unique_id_counter = 0; + return ++unique_id_counter; +} NavigationEntry::SSLStatus::SSLStatus() : security_style_(SECURITY_STYLE_UNKNOWN), @@ -16,18 +21,20 @@ NavigationEntry::SSLStatus::SSLStatus() content_status_(NORMAL_CONTENT) { } +NavigationEntry::FaviconStatus::FaviconStatus() : valid_(false) { + ResourceBundle &rb = ResourceBundle::GetSharedInstance(); + bitmap_ = *rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); +} + NavigationEntry::NavigationEntry(TabContentsType type) - : type_(type), - unique_id_(GetUniqueID()), + : unique_id_(GetUniqueID()), + tab_type_(type), site_instance_(NULL), + page_type_(NORMAL_PAGE), page_id_(-1), transition_type_(PageTransition::LINK), - page_type_(NORMAL_PAGE), - valid_fav_icon_(false), has_post_data_(false), restored_(false) { - ResourceBundle &rb = ResourceBundle::GetSharedInstance(); - favicon_ = *rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); } NavigationEntry::NavigationEntry(TabContentsType type, @@ -36,45 +43,14 @@ NavigationEntry::NavigationEntry(TabContentsType type, const GURL& url, const std::wstring& title, PageTransition::Type transition_type) - : type_(type), - unique_id_(GetUniqueID()), + : unique_id_(GetUniqueID()), + tab_type_(type), site_instance_(instance), - page_id_(page_id), + page_type_(NORMAL_PAGE), url_(url), title_(title), + page_id_(page_id), transition_type_(transition_type), - page_type_(NORMAL_PAGE), - valid_fav_icon_(false), has_post_data_(false), restored_(false) { - ResourceBundle &rb = ResourceBundle::GetSharedInstance(); - favicon_ = *rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); -} - - -void NavigationEntry::SetSiteInstance(SiteInstance* 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. - - if (site_instance_ == site_instance) { - // No change necessary. - return; - } - - // The ref counting is handled automatically, since these are scoped_refptrs. - site_instance_ = site_instance; } - -void NavigationEntry::SetContentState(const std::string& state) { - state_ = state; -} - -int NavigationEntry::GetUniqueID() { - // Never return 0, as that is the "no ID" value. - do { - ++unique_id_counter_; - } while (!unique_id_counter_); - return unique_id_counter_; -} - |