Convert a few methods in NavigationController to return a content::NavigationEntry, in preparation for creating an interface around NavigationController.

BUG=98716
TBR=joi
Review URL: http://codereview.chromium.org/9008034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115872 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/alternate_nav_url_fetcher.cc b/chrome/browser/alternate_nav_url_fetcher.cc
index 2747359..7771b3a3 100644
--- a/chrome/browser/alternate_nav_url_fetcher.cc
+++ b/chrome/browser/alternate_nav_url_fetcher.cc
@@ -12,7 +12,6 @@
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "chrome/common/chrome_notification_types.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/common/url_fetcher.h"
diff --git a/chrome/browser/automation/automation_provider.h b/chrome/browser/automation/automation_provider.h
index 26176c6..c52df34f 100644
--- a/chrome/browser/automation/automation_provider.h
+++ b/chrome/browser/automation/automation_provider.h
@@ -27,7 +27,6 @@
 #include "chrome/browser/cancelable_request.h"
 #include "chrome/common/automation_constants.h"
 #include "chrome/common/content_settings.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/trace_controller.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/notification_observer.h"
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index c927544..6282a55 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -117,11 +117,13 @@
 #include "chrome/common/url_constants.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/tab_contents/interstitial_page.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/favicon_status.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/plugin_service.h"
 #include "content/public/browser/render_process_host.h"
+#include "content/public/browser/ssl_status.h"
 #include "content/public/common/child_process_host.h"
 #include "content/public/common/common_param_traits.h"
 #include "net/base/cookie_store.h"
@@ -1282,7 +1284,7 @@
   *title_string_size = -1;  // -1 is the error code
   if (tab_tracker_->ContainsHandle(handle)) {
     NavigationController* tab = tab_tracker_->GetResource(handle);
-    NavigationEntry* entry = tab->GetActiveEntry();
+    content::NavigationEntry* entry = tab->GetActiveEntry();
     if (entry != NULL) {
       *title = UTF16ToWideHack(entry->GetTitleForDisplay(""));
     } else {
@@ -1571,7 +1573,7 @@
     int* insecure_content_status) {
   if (tab_tracker_->ContainsHandle(handle)) {
     NavigationController* tab = tab_tracker_->GetResource(handle);
-    NavigationEntry* entry = tab->GetActiveEntry();
+    content::NavigationEntry* entry = tab->GetActiveEntry();
     *success = true;
     *security_style = entry->GetSSL().security_style;
     *ssl_cert_status = entry->GetSSL().cert_status;
@@ -1590,8 +1592,8 @@
     content::PageType* page_type) {
   if (tab_tracker_->ContainsHandle(handle)) {
     NavigationController* tab = tab_tracker_->GetResource(handle);
-    NavigationEntry* entry = tab->GetActiveEntry();
-    *page_type = entry->page_type();
+    content::NavigationEntry* entry = tab->GetActiveEntry();
+    *page_type = entry->GetPageType();
     *success = true;
     // In order to return the proper result when an interstitial is shown and
     // no navigation entry were created for it we need to ask the TabContents.
@@ -1617,8 +1619,8 @@
     IPC::Message* reply_message) {
   if (tab_tracker_->ContainsHandle(handle)) {
     NavigationController* tab = tab_tracker_->GetResource(handle);
-    NavigationEntry* entry = tab->GetActiveEntry();
-    if (entry->page_type() == content::PAGE_TYPE_INTERSTITIAL) {
+    content::NavigationEntry* entry = tab->GetActiveEntry();
+    if (entry->GetPageType() == content::PAGE_TYPE_INTERSTITIAL) {
       TabContents* tab_contents = tab->tab_contents();
       InterstitialPage* ssl_blocking_page =
           InterstitialPage::GetInterstitialPage(tab_contents);
@@ -2970,7 +2972,7 @@
   }
   scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
   const NavigationController& controller = tab_contents->GetController();
-  NavigationEntry* nav_entry = controller.GetActiveEntry();
+  content::NavigationEntry* nav_entry = controller.GetActiveEntry();
   DCHECK(nav_entry);
 
   // Security info.
@@ -3000,7 +3002,7 @@
   pagetype_to_string[content::PAGE_TYPE_INTERSTITIAL] =
       "INTERSTITIAL_PAGE";
   return_value->SetString("page_type",
-                          pagetype_to_string[nav_entry->page_type()]);
+                          pagetype_to_string[nav_entry->GetPageType()]);
 
   return_value->SetString("favicon_url", nav_entry->GetFavicon().url.spec());
   reply.SendSuccess(return_value.get());
diff --git a/chrome/browser/content_settings/tab_specific_content_settings.cc b/chrome/browser/content_settings/tab_specific_content_settings.cc
index 499acd7..54cfb0f 100644
--- a/chrome/browser/content_settings/tab_specific_content_settings.cc
+++ b/chrome/browser/content_settings/tab_specific_content_settings.cc
@@ -25,8 +25,8 @@
 #include "chrome/common/render_messages.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/renderer_host/render_view_host_delegate.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/browser/web_contents_delegate.h"
@@ -468,7 +468,7 @@
 
   content::Details<const ContentSettingsDetails> settings_details(details);
   const NavigationController& controller = web_contents()->GetController();
-  NavigationEntry* entry = controller.GetActiveEntry();
+  content::NavigationEntry* entry = controller.GetActiveEntry();
   GURL entry_url;
   if (entry)
     entry_url = entry->GetURL();
diff --git a/chrome/browser/custom_handlers/protocol_handler_registry_browsertest.cc b/chrome/browser/custom_handlers/protocol_handler_registry_browsertest.cc
index 0098429af..bb01f818 100644
--- a/chrome/browser/custom_handlers/protocol_handler_registry_browsertest.cc
+++ b/chrome/browser/custom_handlers/protocol_handler_registry_browsertest.cc
@@ -12,8 +12,8 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h"
 
 namespace {
diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc
index a91ce99..ef58094 100644
--- a/chrome/browser/debugger/devtools_window.cc
+++ b/chrome/browser/debugger/devtools_window.cc
@@ -36,12 +36,13 @@
 #include "content/browser/load_notification_details.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/tab_contents/tab_contents_view.h"
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/browser/devtools_agent_host_registry.h"
 #include "content/public/browser/devtools_manager.h"
+#include "content/public/browser/favicon_status.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/common/bindings_policy.h"
 #include "grit/generated_resources.h"
@@ -189,7 +190,7 @@
       this);
   g_instances.Get().push_back(this);
   // Wipe out page icon so that the default application icon is used.
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       tab_contents_->tab_contents()->GetController().GetActiveEntry();
   entry->GetFavicon().bitmap = SkBitmap();
   entry->GetFavicon().valid = true;
diff --git a/chrome/browser/download/download_request_limiter.cc b/chrome/browser/download/download_request_limiter.cc
index 3e27707..220bf5f 100644
--- a/chrome/browser/download/download_request_limiter.cc
+++ b/chrome/browser/download/download_request_limiter.cc
@@ -39,7 +39,7 @@
                  notification_source);
   registrar_.Add(this, content::NOTIFICATION_TAB_CLOSED, notification_source);
 
-  NavigationEntry* active_entry = originating_controller ?
+  content::NavigationEntry* active_entry = originating_controller ?
       originating_controller->GetActiveEntry() : controller->GetActiveEntry();
   if (active_entry)
     initial_page_host_ = active_entry->GetURL().host();
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc
index ccf3d9b7..dca3970 100644
--- a/chrome/browser/extensions/app_process_apitest.cc
+++ b/chrome/browser/extensions/app_process_apitest.cc
@@ -18,8 +18,8 @@
 #include "chrome/common/string_ordinal.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/test/test_navigation_observer.h"
 #include "net/base/mock_host_resolver.h"
diff --git a/chrome/browser/extensions/extension_browsertests_misc.cc b/chrome/browser/extensions/extension_browsertests_misc.cc
index e5d8c72..21ed98f 100644
--- a/chrome/browser/extensions/extension_browsertests_misc.cc
+++ b/chrome/browser/extensions/extension_browsertests_misc.cc
@@ -26,8 +26,8 @@
 #include "chrome/test/base/ui_test_utils.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/site_instance.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "net/base/net_util.h"
 #include "net/test/test_server.h"
diff --git a/chrome/browser/extensions/extension_navigation_observer.cc b/chrome/browser/extensions/extension_navigation_observer.cc
index ef7640e..f1aabb1 100644
--- a/chrome/browser/extensions/extension_navigation_observer.cc
+++ b/chrome/browser/extensions/extension_navigation_observer.cc
@@ -7,7 +7,7 @@
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 
 ExtensionNavigationObserver::ExtensionNavigationObserver(Profile* profile)
@@ -46,7 +46,7 @@
   if (!in_progress_prompt_extension_id_.empty())
     return;
 
-  NavigationEntry* nav_entry = nav_controller->GetActiveEntry();
+  content::NavigationEntry* nav_entry = nav_controller->GetActiveEntry();
   if (!nav_entry)
     return;
 
diff --git a/chrome/browser/extensions/extension_override_apitest.cc b/chrome/browser/extensions/extension_override_apitest.cc
index 63231bc0..a55d57f 100644
--- a/chrome/browser/extensions/extension_override_apitest.cc
+++ b/chrome/browser/extensions/extension_override_apitest.cc
@@ -12,8 +12,8 @@
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 
 class ExtensionOverrideTest : public ExtensionApiTest {
  protected:
diff --git a/chrome/browser/extensions/extension_page_actions_module.cc b/chrome/browser/extensions/extension_page_actions_module.cc
index c42af818..713fc812 100644
--- a/chrome/browser/extensions/extension_page_actions_module.cc
+++ b/chrome/browser/extensions/extension_page_actions_module.cc
@@ -18,8 +18,8 @@
 #include "chrome/common/extensions/extension_action.h"
 #include "chrome/common/extensions/extension_error_utils.h"
 #include "chrome/common/render_messages.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 
 namespace keys = extension_page_actions_module_constants;
 
@@ -80,7 +80,7 @@
   }
 
   // Make sure the URL hasn't changed.
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       contents->tab_contents()->GetController().GetActiveEntry();
   if (!entry || url != entry->GetURL().spec()) {
     error_ = ExtensionErrorUtils::FormatErrorMessage(kUrlNotActiveError, url);
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
index ceea844..55cc01a 100644
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
@@ -12,7 +12,8 @@
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/sessions/restore_tab_helper.h"
 #include "chrome/browser/extensions/extension_tabs_module_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/public/browser/favicon_status.h"
+#include "content/public/browser/navigation_entry.h"
 
 namespace keys = extension_tabs_module_constants;
 namespace errors = extension_manifest_errors;
@@ -118,7 +119,8 @@
                      contents->GetBrowserContext()->IsOffTheRecord());
 
   if (!is_loading) {
-    NavigationEntry* entry = contents->GetController().GetActiveEntry();
+    content::NavigationEntry* entry =
+        contents->GetController().GetActiveEntry();
     if (entry) {
       if (entry->GetFavicon().valid)
         result->SetString(keys::kFaviconUrlKey, entry->GetFavicon().url.spec());
diff --git a/chrome/browser/extensions/extension_tabs_module.cc b/chrome/browser/extensions/extension_tabs_module.cc
index f31e98ae..d07df26 100644
--- a/chrome/browser/extensions/extension_tabs_module.cc
+++ b/chrome/browser/extensions/extension_tabs_module.cc
@@ -46,9 +46,9 @@
 #include "content/browser/renderer_host/backing_store.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/renderer_host/render_view_host_delegate.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/tab_contents/tab_contents_view.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "skia/ext/image_operations.h"
@@ -1377,7 +1377,8 @@
   TabContents* tab_contents = contents->tab_contents();
   if (tab_contents->ShowingInterstitialPage()) {
     // This does as same as Browser::ReloadInternal.
-    NavigationEntry* entry = tab_contents->GetController().GetActiveEntry();
+    content::NavigationEntry* entry =
+        tab_contents->GetController().GetActiveEntry();
     OpenURLParams params(entry->GetURL(), Referrer(), CURRENT_TAB,
                          content::PAGE_TRANSITION_RELOAD, false);
     GetCurrentBrowser()->OpenURL(params);
diff --git a/chrome/browser/extensions/extension_url_rewrite_browsertest.cc b/chrome/browser/extensions/extension_url_rewrite_browsertest.cc
index 7835371..ffdcab3 100644
--- a/chrome/browser/extensions/extension_url_rewrite_browsertest.cc
+++ b/chrome/browser/extensions/extension_url_rewrite_browsertest.cc
@@ -15,8 +15,8 @@
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "googleurl/src/gurl.h"
 
 class ExtensionURLRewriteBrowserTest : public ExtensionBrowserTest {
@@ -34,7 +34,7 @@
     return &browser()->GetSelectedTabContents()->GetController();
   }
 
-  NavigationEntry* GetNavigationEntry() const {
+  content::NavigationEntry* GetNavigationEntry() const {
     return GetNavigationController()->GetActiveEntry();
   }
 
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
index 02c4b79..cc8a6c5 100644
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
@@ -23,10 +23,10 @@
 #include "chrome/common/extensions/extension_constants.h"
 #include "content/browser/download/download_types.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/download_file.h"
 #include "content/public/browser/download_manager.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "googleurl/src/gurl.h"
diff --git a/chrome/browser/external_tab_container_win.cc b/chrome/browser/external_tab_container_win.cc
index d9d8640..980f616 100644
--- a/chrome/browser/external_tab_container_win.cc
+++ b/chrome/browser/external_tab_container_win.cc
@@ -42,13 +42,14 @@
 #include "content/browser/load_notification_details.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/renderer_host/resource_dispatcher_host_request_info.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/provisional_load_details.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
-#include "content/public/browser/web_intents_dispatcher.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/native_web_keyboard_event.h"
 #include "content/public/browser/notification_service.h"
+#include "content/public/browser/ssl_status.h"
+#include "content/public/browser/web_intents_dispatcher.h"
 #include "content/public/common/bindings_policy.h"
 #include "content/public/common/frame_navigate_params.h"
 #include "content/public/common/page_transition_types.h"
@@ -955,7 +956,7 @@
                                               content::NavigationType nav_type,
                                               int relative_offset) {
   DCHECK(nav_info);
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       tab_contents_->tab_contents()->GetController().GetActiveEntry();
   // If this is very early in the game then we may not have an entry.
   if (!entry)
diff --git a/chrome/browser/favicon/favicon_handler.cc b/chrome/browser/favicon/favicon_handler.cc
index 3ef1ca95..a846789 100644
--- a/chrome/browser/favicon/favicon_handler.cc
+++ b/chrome/browser/favicon/favicon_handler.cc
@@ -14,7 +14,8 @@
 #include "chrome/browser/bookmarks/bookmark_model.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/icon_messages.h"
-#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/public/browser/favicon_status.h"
+#include "content/public/browser/navigation_entry.h"
 #include "skia/ext/image_operations.h"
 #include "ui/gfx/codec/png_codec.h"
 #include "ui/gfx/image/image.h"
@@ -139,20 +140,20 @@
   }
 
   if (url == url_ && icon_type == history::FAVICON) {
-    NavigationEntry* entry = GetEntry();
+    content::NavigationEntry* entry = GetEntry();
     if (entry)
       UpdateFavicon(entry, &sized_image);
   }
 }
 
-void FaviconHandler::UpdateFavicon(NavigationEntry* entry,
-                                  scoped_refptr<RefCountedMemory> data) {
+void FaviconHandler::UpdateFavicon(content::NavigationEntry* entry,
+                                   scoped_refptr<RefCountedMemory> data) {
   scoped_ptr<gfx::Image> image(gfx::ImageFromPNGEncodedData(data->front(),
                                                             data->size()));
   UpdateFavicon(entry, image.get());
 }
 
-void FaviconHandler::UpdateFavicon(NavigationEntry* entry,
+void FaviconHandler::UpdateFavicon(content::NavigationEntry* entry,
                                    const gfx::Image* image) {
   // No matter what happens, we need to mark the favicon as being set.
   entry->GetFavicon().valid = true;
@@ -167,7 +168,7 @@
 void FaviconHandler::OnUpdateFaviconURL(
     int32 page_id,
     const std::vector<FaviconURL>& candidates) {
-  NavigationEntry* entry = GetEntry();
+  content::NavigationEntry* entry = GetEntry();
   if (!entry)
     return;
 
@@ -244,8 +245,8 @@
   download_requests_.erase(i);
 }
 
-NavigationEntry* FaviconHandler::GetEntry() {
-  NavigationEntry* entry = delegate_->GetActiveEntry();
+content::NavigationEntry* FaviconHandler::GetEntry() {
+  content::NavigationEntry* entry = delegate_->GetActiveEntry();
   if (entry && entry->GetURL() == url_)
     return entry;
 
@@ -312,7 +313,7 @@
 void FaviconHandler::OnFaviconDataForInitialURL(
     FaviconService::Handle handle,
     history::FaviconData favicon) {
-  NavigationEntry* entry = GetEntry();
+  content::NavigationEntry* entry = GetEntry();
   if (!entry)
     return;
 
@@ -389,7 +390,7 @@
 
 void FaviconHandler::OnFaviconData(FaviconService::Handle handle,
                                   history::FaviconData favicon) {
-  NavigationEntry* entry = GetEntry();
+  content::NavigationEntry* entry = GetEntry();
   if (!entry)
     return;
 
diff --git a/chrome/browser/favicon/favicon_handler.h b/chrome/browser/favicon/favicon_handler.h
index 07e139fc..edcc571 100644
--- a/chrome/browser/favicon/favicon_handler.h
+++ b/chrome/browser/favicon/favicon_handler.h
@@ -26,6 +26,10 @@
 class SkBitmap;
 class TabContents;
 
+namespace content {
+class NavigationEntry;
+}
+
 namespace gfx {
 class Image;
 }
@@ -116,7 +120,7 @@
 
   // Return the NavigationEntry for the active entry, or NULL if the active
   // entries URL does not match that of the URL last passed to FetchFavicon.
-  virtual NavigationEntry* GetEntry();
+  virtual content::NavigationEntry* GetEntry();
 
   // Asks the render to download favicon, returns the request id.
   virtual int DownloadFavicon(const GURL& image_url, int image_size);
@@ -203,9 +207,9 @@
   // NavigationEntry.
   // If the TabContents has a delegate, it is notified of the new favicon
   // (INVALIDATE_FAVICON).
-  void UpdateFavicon(NavigationEntry* entry,
+  void UpdateFavicon(content::NavigationEntry* entry,
                      scoped_refptr<RefCountedMemory> data);
-  void UpdateFavicon(NavigationEntry* entry, const gfx::Image* image);
+  void UpdateFavicon(content::NavigationEntry* entry, const gfx::Image* image);
 
   // If the image is not already at its preferred size, scales the image such
   // that either the width and/or height is 16 pixels wide. Does nothing if the
diff --git a/chrome/browser/favicon/favicon_handler_delegate.h b/chrome/browser/favicon/favicon_handler_delegate.h
index 83089e2..1c73e1a 100644
--- a/chrome/browser/favicon/favicon_handler_delegate.h
+++ b/chrome/browser/favicon/favicon_handler_delegate.h
@@ -7,7 +7,10 @@
 #pragma once
 
 class GURL;
+
+namespace content {
 class NavigationEntry;
+}
 
 // This class provides a delegate interface for a FaviconHandler.  It allows the
 // FaviconHandler to ask its delegate for information or notify its delegate
@@ -15,7 +18,7 @@
 class FaviconHandlerDelegate {
  public:
   // Returns the current NavigationEntry.
-  virtual NavigationEntry* GetActiveEntry() = 0;
+  virtual content::NavigationEntry* GetActiveEntry() = 0;
 
   // Starts the download for the given favicon.  When finished, the delegate
   // will call |OnDidDownloadFavicon()| with the results.
diff --git a/chrome/browser/favicon/favicon_handler_unittest.cc b/chrome/browser/favicon/favicon_handler_unittest.cc
index 525c2ca..c630ed31 100644
--- a/chrome/browser/favicon/favicon_handler_unittest.cc
+++ b/chrome/browser/favicon/favicon_handler_unittest.cc
@@ -5,8 +5,9 @@
 #include "chrome/browser/favicon/favicon_handler.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/test_tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
+#include "content/public/browser/favicon_status.h"
 #include "ui/gfx/codec/png_codec.h"
 #include "ui/gfx/favicon_size.h"
 #include "ui/gfx/image/image.h"
@@ -133,7 +134,7 @@
       : tab_contents_(tab_contents) {
   }
 
-  virtual NavigationEntry* GetActiveEntry() {
+  virtual content::NavigationEntry* GetActiveEntry() {
     ADD_FAILURE() << "TestFaviconHandlerDelegate::GetActiveEntry() "
                   << "should never be called in tests.";
     return NULL;
@@ -162,8 +163,9 @@
                      Type type)
       : FaviconHandler(profile, delegate, type),
         download_image_size_(0),
+        entry_(content::NavigationEntry::Create()),
         download_id_(0) {
-    entry_.set_url(page_url);
+    entry_->SetURL(page_url);
   }
 
   virtual ~TestFaviconHandler() {
@@ -187,8 +189,8 @@
     download_handler_.reset(download_handler);
   }
 
-  virtual NavigationEntry* GetEntry() {
-    return &entry_;
+  virtual content::NavigationEntry* GetEntry() {
+    return entry_.get();
   }
 
   const std::vector<FaviconURL>& urls() {
@@ -271,7 +273,7 @@
   int download_image_size_;
 
  private:
-  NavigationEntry entry_;
+  scoped_ptr<content::NavigationEntry> entry_;
 
   // The unique id of a download request. It will be returned to a
   // FaviconHandler.
diff --git a/chrome/browser/favicon/favicon_tab_helper.cc b/chrome/browser/favicon/favicon_tab_helper.cc
index 88fe4a4..76d337b 100644
--- a/chrome/browser/favicon/favicon_tab_helper.cc
+++ b/chrome/browser/favicon/favicon_tab_helper.cc
@@ -47,7 +47,7 @@
   // Like GetTitle(), we also want to use the favicon for the last committed
   // entry rather than a pending navigation entry.
   const NavigationController& controller = web_contents()->GetController();
-  NavigationEntry* entry = controller.GetTransientEntry();
+  content::NavigationEntry* entry = controller.GetTransientEntry();
   if (entry)
     return entry->GetFavicon().bitmap;
 
@@ -59,7 +59,7 @@
 
 bool FaviconTabHelper::FaviconIsValid() const {
   const NavigationController& controller = web_contents()->GetController();
-  NavigationEntry* entry = controller.GetTransientEntry();
+  content::NavigationEntry* entry = controller.GetTransientEntry();
   if (entry)
     return entry->GetFavicon().valid;
 
@@ -83,7 +83,8 @@
 }
 
 void FaviconTabHelper::SaveFavicon() {
-  NavigationEntry* entry = web_contents()->GetController().GetActiveEntry();
+  content::NavigationEntry* entry =
+      web_contents()->GetController().GetActiveEntry();
   if (!entry || entry->GetURL().is_empty())
     return;
 
@@ -131,7 +132,7 @@
     touch_icon_handler_->OnUpdateFaviconURL(page_id, candidates);
 }
 
-NavigationEntry* FaviconTabHelper::GetActiveEntry() {
+content::NavigationEntry* FaviconTabHelper::GetActiveEntry() {
   return web_contents()->GetController().GetActiveEntry();
 }
 
diff --git a/chrome/browser/favicon/favicon_tab_helper.h b/chrome/browser/favicon/favicon_tab_helper.h
index 63967529..6e2c3a863 100644
--- a/chrome/browser/favicon/favicon_tab_helper.h
+++ b/chrome/browser/favicon/favicon_tab_helper.h
@@ -74,7 +74,7 @@
                           const std::vector<FaviconURL>& candidates);
 
   // FaviconHandlerDelegate methods.
-  virtual NavigationEntry* GetActiveEntry() OVERRIDE;
+  virtual content::NavigationEntry* GetActiveEntry() OVERRIDE;
   virtual void StartDownload(int id, const GURL& url, int image_size) OVERRIDE;
   virtual void NotifyFaviconUpdated() OVERRIDE;
 
diff --git a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc b/chrome/browser/geolocation/chrome_geolocation_permission_context.cc
index e09253d..dfdfae0c 100644
--- a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc
+++ b/chrome/browser/geolocation/chrome_geolocation_permission_context.cc
@@ -24,10 +24,10 @@
 #include "chrome/common/pref_names.h"
 #include "content/browser/geolocation/geolocation_provider.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_registrar.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
@@ -178,7 +178,7 @@
       bridge_id_(bridge_id),
       requesting_frame_url_(requesting_frame_url),
       display_languages_(display_languages) {
-  const NavigationEntry* committed_entry =
+  const content::NavigationEntry* committed_entry =
       infobar_helper->web_contents()->GetController().GetLastCommittedEntry();
   committed_contents_unique_id_ = committed_entry ?
       committed_entry->GetUniqueID() : 0;
diff --git a/chrome/browser/geolocation/geolocation_settings_state.cc b/chrome/browser/geolocation/geolocation_settings_state.cc
index 8f3da18..7746bbf0 100644
--- a/chrome/browser/geolocation/geolocation_settings_state.cc
+++ b/chrome/browser/geolocation/geolocation_settings_state.cc
@@ -12,8 +12,8 @@
 #include "chrome/browser/prefs/pref_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/pref_names.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "net/base/net_util.h"
 
 GeolocationSettingsState::GeolocationSettingsState(Profile* profile)
diff --git a/chrome/browser/geolocation/geolocation_settings_state_unittest.cc b/chrome/browser/geolocation/geolocation_settings_state_unittest.cc
index 6a3e111..e58ce34 100644
--- a/chrome/browser/geolocation/geolocation_settings_state_unittest.cc
+++ b/chrome/browser/geolocation/geolocation_settings_state_unittest.cc
@@ -34,7 +34,7 @@
   GURL url_0("http://www.example.com");
 
   NavigationEntry entry;
-  entry.set_url(url_0);
+  entry.SetURL(url_0);
   content::LoadCommittedDetails load_committed_details;
   load_committed_details.entry = &entry;
   state.DidNavigate(load_committed_details);
@@ -121,7 +121,7 @@
   EXPECT_EQ(state_map.size(), new_state_map.size());
 
   GURL different_url("http://foo.com");
-  entry.set_url(different_url);
+  entry.SetURL(different_url);
   state.DidNavigate(load_committed_details);
 
   EXPECT_TRUE(state.state_map().empty());
@@ -139,7 +139,7 @@
   GURL url_0("http://www.example.com");
 
   NavigationEntry entry;
-  entry.set_url(url_0);
+  entry.SetURL(url_0);
   content::LoadCommittedDetails load_committed_details;
   load_committed_details.entry = &entry;
   state.DidNavigate(load_committed_details);
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
index f9865022..c1b7447 100644
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -8,10 +8,10 @@
 #include "chrome/browser/history/top_sites.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/render_messages.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/tab_contents/title_updated_details.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
@@ -35,7 +35,8 @@
     GetHistoryService()->AddPage(*add_page_args);
 }
 
-void HistoryTabHelper::UpdateHistoryPageTitle(const NavigationEntry& entry) {
+void HistoryTabHelper::UpdateHistoryPageTitle(
+    const content::NavigationEntry& entry) {
   HistoryService* hs = GetHistoryService();
   if (hs)
     hs->SetPageTitle(entry.GetVirtualURL(), entry.GetTitleForDisplay(""));
diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h
index ae5b052..54eb7fd 100644
--- a/chrome/browser/history/history_tab_helper.h
+++ b/chrome/browser/history/history_tab_helper.h
@@ -31,7 +31,7 @@
 
   // Sends the page title to the history service. This is called when we receive
   // the page title and we know we want to update history.
-  void UpdateHistoryPageTitle(const NavigationEntry& entry);
+  void UpdateHistoryPageTitle(const content::NavigationEntry& entry);
 
   // Returns the history::HistoryAddPageArgs to use for adding a page to
   // history.
diff --git a/chrome/browser/history/top_sites.cc b/chrome/browser/history/top_sites.cc
index 156bbac..bad53ad 100644
--- a/chrome/browser/history/top_sites.cc
+++ b/chrome/browser/history/top_sites.cc
@@ -28,10 +28,10 @@
 #include "chrome/common/pref_names.h"
 #include "chrome/common/thumbnail_score.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "grit/chromium_strings.h"
 #include "grit/generated_resources.h"
diff --git a/chrome/browser/infobars/infobar_delegate.cc b/chrome/browser/infobars/infobar_delegate.cc
index 9622d35..daef494 100644
--- a/chrome/browser/infobars/infobar_delegate.cc
+++ b/chrome/browser/infobars/infobar_delegate.cc
@@ -7,8 +7,8 @@
 #include "base/logging.h"
 #include "build/build_config.h"
 #include "chrome/browser/infobars/infobar_tab_helper.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/web_contents.h"
 
 // InfoBarDelegate ------------------------------------------------------------
@@ -83,7 +83,7 @@
 
 void InfoBarDelegate::StoreActiveEntryUniqueID(
     InfoBarTabHelper* infobar_helper) {
-  NavigationEntry* active_entry =
+  content::NavigationEntry* active_entry =
       infobar_helper->web_contents()->GetController().GetActiveEntry();
   contents_unique_id_ = active_entry ? active_entry->GetUniqueID() : 0;
 }
diff --git a/chrome/browser/instant/instant_loader.cc b/chrome/browser/instant/instant_loader.cc
index 09ea82e..4c984b46 100644
--- a/chrome/browser/instant/instant_loader.cc
+++ b/chrome/browser/instant/instant_loader.cc
@@ -141,7 +141,7 @@
   switch (type) {
     case content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME: {
       int page_id = *(content::Details<int>(details).ptr());
-      NavigationEntry* active_entry =
+      content::NavigationEntry* active_entry =
           tab_contents_->GetController().GetActiveEntry();
       if (!active_entry || active_entry->GetPageID() != page_id ||
           active_entry->GetUniqueID() != unique_id_) {
@@ -331,7 +331,7 @@
       add_page_vector_[i].get());
   }
 
-  NavigationEntry* active_entry =
+  content::NavigationEntry* active_entry =
       tab->tab_contents()->GetController().GetActiveEntry();
   if (!active_entry) {
     // It appears to be possible to get here with no active entry. This seems
@@ -548,7 +548,7 @@
     const std::vector<std::string>& suggestions,
     InstantCompleteBehavior behavior) {
   TabContentsWrapper* source = loader_->preview_contents();
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       source->tab_contents()->GetController().GetActiveEntry();
   if (! entry || page_id != entry->GetPageID())
     return;
diff --git a/chrome/browser/memory_details.cc b/chrome/browser/memory_details.cc
index a7e75f8..c48a6c4 100644
--- a/chrome/browser/memory_details.cc
+++ b/chrome/browser/memory_details.cc
@@ -286,7 +286,7 @@
         // Either the pending or last committed entries can be NULL.
         const NavigationEntry* pending_entry =
             contents->GetController().pending_entry();
-        const NavigationEntry* last_committed_entry =
+        const content::NavigationEntry* last_committed_entry =
             contents->GetController().GetLastCommittedEntry();
         if ((last_committed_entry &&
              LowerCaseEqualsASCII(last_committed_entry->GetVirtualURL().spec(),
diff --git a/chrome/browser/omnibox_search_hint.cc b/chrome/browser/omnibox_search_hint.cc
index a1aed0c5..751b055 100644
--- a/chrome/browser/omnibox_search_hint.cc
+++ b/chrome/browser/omnibox_search_hint.cc
@@ -28,9 +28,9 @@
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
@@ -175,7 +175,7 @@
                                 const content::NotificationSource& source,
                                 const content::NotificationDetails& details) {
   if (type == content::NOTIFICATION_NAV_ENTRY_COMMITTED) {
-    NavigationEntry* entry =
+    content::NavigationEntry* entry =
         tab_->tab_contents()->GetController().GetActiveEntry();
     if (search_engine_urls_.find(entry->GetURL().spec()) ==
         search_engine_urls_.end()) {
diff --git a/chrome/browser/printing/print_dialog_cloud.cc b/chrome/browser/printing/print_dialog_cloud.cc
index e919a61..2eea9c5 100644
--- a/chrome/browser/printing/print_dialog_cloud.cc
+++ b/chrome/browser/printing/print_dialog_cloud.cc
@@ -305,7 +305,7 @@
   NavigationEntry* pending_entry = controller->pending_entry();
   if (pending_entry) {
     Profile* profile = Profile::FromWebUI(web_ui_);
-    pending_entry->set_url(
+    pending_entry->SetURL(
         CloudPrintURL(profile).GetCloudPrintServiceDialogURL());
   }
   registrar_.Add(this, content::NOTIFICATION_LOAD_STOP,
diff --git a/chrome/browser/printing/print_preview_tab_controller.cc b/chrome/browser/printing/print_preview_tab_controller.cc
index aad7aa2..7fd044e 100644
--- a/chrome/browser/printing/print_preview_tab_controller.cc
+++ b/chrome/browser/printing/print_preview_tab_controller.cc
@@ -29,9 +29,9 @@
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/url_constants.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
diff --git a/chrome/browser/safe_browsing/client_side_detection_host.cc b/chrome/browser/safe_browsing/client_side_detection_host.cc
index 9b84e59..c8cc31e 100644
--- a/chrome/browser/safe_browsing/client_side_detection_host.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_host.cc
@@ -25,9 +25,9 @@
 #include "content/browser/renderer_host/render_view_host_delegate.h"
 #include "content/browser/renderer_host/resource_dispatcher_host.h"
 #include "content/browser/renderer_host/resource_request_details.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
@@ -475,7 +475,7 @@
   if (unsafe_unique_page_id_ <= 0 || !web_contents()) {
     return false;
   }
-  const NavigationEntry* nav_entry =
+  const content::NavigationEntry* nav_entry =
       web_contents()->GetController().GetActiveEntry();
   return (nav_entry && nav_entry->GetUniqueID() == unsafe_unique_page_id_);
 }
diff --git a/chrome/browser/safe_browsing/malware_details.cc b/chrome/browser/safe_browsing/malware_details.cc
index 4a34844b..5bc324e 100644
--- a/chrome/browser/safe_browsing/malware_details.cc
+++ b/chrome/browser/safe_browsing/malware_details.cc
@@ -16,8 +16,8 @@
 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
 #include "chrome/common/safe_browsing/safebrowsing_messages.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/web_contents.h"
 #include "net/base/io_buffer.h"
 #include "net/disk_cache/disk_cache.h"
@@ -168,7 +168,8 @@
   }
 
   GURL referrer_url;
-  NavigationEntry* nav_entry = web_contents()->GetController().GetActiveEntry();
+  content::NavigationEntry* nav_entry =
+      web_contents()->GetController().GetActiveEntry();
   if (nav_entry) {
     referrer_url = nav_entry->GetReferrer().url;
     if (IsPublicUrl(referrer_url)) {
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
index 50ccefba..1b7c9bf 100644
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
@@ -33,9 +33,9 @@
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_types.h"
 #include "net/base/registry_controlled_domain.h"
@@ -1055,7 +1055,8 @@
       CanReportStats()) {
     GURL page_url = tab_contents->GetURL();
     GURL referrer_url;
-    NavigationEntry* entry = tab_contents->GetController().GetActiveEntry();
+    content::NavigationEntry* entry =
+        tab_contents->GetController().GetActiveEntry();
     if (entry)
       referrer_url = entry->GetReferrer().url;
 
diff --git a/chrome/browser/sessions/base_session_service.cc b/chrome/browser/sessions/base_session_service.cc
index 1c0df32..a4be31bc 100644
--- a/chrome/browser/sessions/base_session_service.cc
+++ b/chrome/browser/sessions/base_session_service.cc
@@ -13,8 +13,8 @@
 #include "chrome/browser/sessions/session_backend.h"
 #include "chrome/browser/sessions/session_types.h"
 #include "chrome/common/url_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/common/referrer.h"
 #include "webkit/glue/webkit_glue.h"
 
@@ -138,7 +138,7 @@
     SessionID::id_type command_id,
     SessionID::id_type tab_id,
     int index,
-    const NavigationEntry& entry) {
+    const content::NavigationEntry& entry) {
   // Use pickle to handle marshalling.
   Pickle pickle;
   pickle.WriteInt(tab_id);
diff --git a/chrome/browser/sessions/base_session_service.h b/chrome/browser/sessions/base_session_service.h
index 50859d0..acd06f4 100644
--- a/chrome/browser/sessions/base_session_service.h
+++ b/chrome/browser/sessions/base_session_service.h
@@ -17,12 +17,15 @@
 #include "chrome/browser/sessions/session_id.h"
 #include "googleurl/src/gurl.h"
 
-class NavigationEntry;
 class Profile;
 class SessionBackend;
 class SessionCommand;
 class TabNavigation;
 
+namespace content {
+class NavigationEntry;
+}
+
 // BaseSessionService is the super class of both tab restore service and
 // session service. It contains commonality needed by both, in particular
 // it manages a set of SessionCommands that are periodically sent to a
@@ -113,7 +116,7 @@
       SessionID::id_type command_id,
       SessionID::id_type tab_id,
       int index,
-      const NavigationEntry& entry);
+      const content::NavigationEntry& entry);
 
   // Creates a SessionCommand that represents marking a tab as an application.
   SessionCommand* CreateSetTabExtensionAppIDCommand(
diff --git a/chrome/browser/sessions/session_service.cc b/chrome/browser/sessions/session_service.cc
index 112c60db..fda9b3f 100644
--- a/chrome/browser/sessions/session_service.cc
+++ b/chrome/browser/sessions/session_service.cc
@@ -358,10 +358,11 @@
   ScheduleCommand(command);
 }
 
-void SessionService::UpdateTabNavigation(const SessionID& window_id,
-                                         const SessionID& tab_id,
-                                         int index,
-                                         const NavigationEntry& entry) {
+void SessionService::UpdateTabNavigation(
+    const SessionID& window_id,
+    const SessionID& tab_id,
+    int index,
+    const content::NavigationEntry& entry) {
   if (!ShouldTrackEntry(entry.GetVirtualURL()) ||
       !ShouldTrackChangesToWindow(window_id)) {
     return;
diff --git a/chrome/browser/sessions/session_service.h b/chrome/browser/sessions/session_service.h
index 2c96cf2b..e6feffd 100644
--- a/chrome/browser/sessions/session_service.h
+++ b/chrome/browser/sessions/session_service.h
@@ -21,12 +21,15 @@
 #include "content/public/browser/notification_registrar.h"
 #include "ui/base/ui_base_types.h"
 
-class NavigationEntry;
 class Profile;
 class SessionCommand;
+class TabContentsWrapper;
 struct SessionTab;
 struct SessionWindow;
-class TabContentsWrapper;
+
+namespace content {
+class NavigationEntry;
+}
 
 // SessionService ------------------------------------------------------------
 
@@ -136,7 +139,7 @@
   void UpdateTabNavigation(const SessionID& window_id,
                            const SessionID& tab_id,
                            int index,
-                           const NavigationEntry& entry);
+                           const content::NavigationEntry& entry);
 
   // Notification that a tab has restored its entries or a closed tab is being
   // reused.
diff --git a/chrome/browser/sessions/session_service_unittest.cc b/chrome/browser/sessions/session_service_unittest.cc
index 5a85946..5fa12e7 100644
--- a/chrome/browser/sessions/session_service_unittest.cc
+++ b/chrome/browser/sessions/session_service_unittest.cc
@@ -70,7 +70,7 @@
                         int index,
                         bool select) {
     NavigationEntry entry;
-    entry.set_url(navigation.virtual_url());
+    entry.SetURL(navigation.virtual_url());
     entry.set_referrer(navigation.referrer());
     entry.SetTitle(navigation.title());
     entry.SetContentState(navigation.state());
diff --git a/chrome/browser/sessions/session_types.cc b/chrome/browser/sessions/session_types.cc
index bf97500a..fdccab8 100644
--- a/chrome/browser/sessions/session_types.cc
+++ b/chrome/browser/sessions/session_types.cc
@@ -79,7 +79,8 @@
   return entry;
 }
 
-void TabNavigation::SetFromNavigationEntry(const NavigationEntry& entry) {
+void TabNavigation::SetFromNavigationEntry(
+    const content::NavigationEntry& entry) {
   virtual_url_ = entry.GetVirtualURL();
   referrer_ = entry.GetReferrer();
   title_ = entry.GetTitle();
@@ -92,7 +93,7 @@
 void TabNavigation::CreateNavigationEntriesFromTabNavigations(
     Profile* profile,
     const std::vector<TabNavigation>& navigations,
-    std::vector<NavigationEntry*>* entries) {
+    std::vector<content::NavigationEntry*>* entries) {
   int page_id = 0;
   for (std::vector<TabNavigation>::const_iterator i =
            navigations.begin(); i != navigations.end(); ++i, ++page_id) {
diff --git a/chrome/browser/sessions/session_types.h b/chrome/browser/sessions/session_types.h
index 2ed527b..d5c496a 100644
--- a/chrome/browser/sessions/session_types.h
+++ b/chrome/browser/sessions/session_types.h
@@ -22,6 +22,10 @@
 class NavigationEntry;
 class Profile;
 
+namespace content {
+class NavigationEntry;
+}
+
 // TabNavigation  -------------------------------------------------------------
 
 // TabNavigation corresponds to the parts of NavigationEntry needed to restore
@@ -50,7 +54,7 @@
   NavigationEntry* ToNavigationEntry(int page_id, Profile* profile) const;
 
   // Resets this TabNavigation from |entry|.
-  void SetFromNavigationEntry(const NavigationEntry& entry);
+  void SetFromNavigationEntry(const content::NavigationEntry& entry);
 
   // Virtual URL of the page. See NavigationEntry::GetVirtualURL() for details.
   void set_virtual_url(const GURL& url) { virtual_url_ = url; }
@@ -90,7 +94,7 @@
   static void CreateNavigationEntriesFromTabNavigations(
       Profile* profile,
       const std::vector<TabNavigation>& navigations,
-      std::vector<NavigationEntry*>* entries);
+      std::vector<content::NavigationEntry*>* entries);
 
  private:
   friend class BaseSessionService;
diff --git a/chrome/browser/sessions/tab_restore_service.cc b/chrome/browser/sessions/tab_restore_service.cc
index 1582c88..9c1d066 100644
--- a/chrome/browser/sessions/tab_restore_service.cc
+++ b/chrome/browser/sessions/tab_restore_service.cc
@@ -491,7 +491,7 @@
     entry_count++;
   tab->navigations.resize(static_cast<int>(entry_count));
   for (int i = 0; i < entry_count; ++i) {
-    NavigationEntry* entry = (i == pending_index) ?
+    content::NavigationEntry* entry = (i == pending_index) ?
         controller->pending_entry() : controller->GetEntryAtIndex(i);
     tab->navigations[i].SetFromNavigationEntry(*entry);
   }
diff --git a/chrome/browser/sessions/tab_restore_service_browsertest.cc b/chrome/browser/sessions/tab_restore_service_browsertest.cc
index 7e6f6dd6..068564e9 100644
--- a/chrome/browser/sessions/tab_restore_service_browsertest.cc
+++ b/chrome/browser/sessions/tab_restore_service_browsertest.cc
@@ -100,7 +100,7 @@
     if (pinned)
       session_service->SetPinnedState(window_id, tab_id, true);
     NavigationEntry entry;
-    entry.set_url(url1_);
+    entry.SetURL(url1_);
     session_service->UpdateTabNavigation(window_id, tab_id, 0, entry);
   }
 
diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc
index 05a2afc..1c516a5 100644
--- a/chrome/browser/ssl/ssl_blocking_page.cc
+++ b/chrome/browser/ssl/ssl_blocking_page.cc
@@ -17,10 +17,11 @@
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/ssl/ssl_cert_error_handler.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_types.h"
+#include "content/public/browser/ssl_status.h"
 #include "grit/browser_resources.h"
 #include "grit/generated_resources.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -108,7 +109,7 @@
   return jstemplate_builder::GetI18nTemplateHtml(html, &strings);
 }
 
-void SSLBlockingPage::UpdateEntry(NavigationEntry* entry) {
+void SSLBlockingPage::UpdateEntry(content::NavigationEntry* entry) {
   const net::SSLInfo& ssl_info = handler_->ssl_info();
   int cert_id = CertStore::GetInstance()->StoreCert(
       ssl_info.cert, tab()->GetRenderProcessHost()->GetID());
diff --git a/chrome/browser/ssl/ssl_blocking_page.h b/chrome/browser/ssl/ssl_blocking_page.h
index 5a3494b..5481e516 100644
--- a/chrome/browser/ssl/ssl_blocking_page.h
+++ b/chrome/browser/ssl/ssl_blocking_page.h
@@ -41,7 +41,7 @@
   // ChromeInterstitialPage implementation.
   virtual std::string GetHTMLContents() OVERRIDE;
   virtual void CommandReceived(const std::string& command) OVERRIDE;
-  virtual void UpdateEntry(NavigationEntry* entry) OVERRIDE;
+  virtual void UpdateEntry(content::NavigationEntry* entry) OVERRIDE;
   virtual void Proceed() OVERRIDE;
   virtual void DontProceed() OVERRIDE;
 
diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
index 91df1cb..10ed94b 100644
--- a/chrome/browser/ssl/ssl_browser_tests.cc
+++ b/chrome/browser/ssl/ssl_browser_tests.cc
@@ -16,9 +16,11 @@
 #include "chrome/test/base/ui_test_utils.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/tab_contents/interstitial_page.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
+#include "content/public/browser/ssl_status.h"
+#include "content/public/common/security_style.h"
 #include "net/base/cert_status_flags.h"
 #include "net/test/test_server.h"
 
@@ -49,9 +51,9 @@
   void CheckAuthenticatedState(TabContents* tab,
                                bool displayed_insecure_content) {
     ASSERT_FALSE(tab->IsCrashed());
-    NavigationEntry* entry = tab->GetController().GetActiveEntry();
+    content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
     ASSERT_TRUE(entry);
-    EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->page_type());
+    EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->GetPageType());
     EXPECT_EQ(content::SECURITY_STYLE_AUTHENTICATED,
               entry->GetSSL().security_style);
     EXPECT_EQ(0U, entry->GetSSL().cert_status & net::CERT_STATUS_ALL_ERRORS);
@@ -64,9 +66,9 @@
 
   void CheckUnauthenticatedState(TabContents* tab) {
     ASSERT_FALSE(tab->IsCrashed());
-    NavigationEntry* entry = tab->GetController().GetActiveEntry();
+    content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
     ASSERT_TRUE(entry);
-    EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->page_type());
+    EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->GetPageType());
     EXPECT_EQ(content::SECURITY_STYLE_UNAUTHENTICATED,
               entry->GetSSL().security_style);
     EXPECT_EQ(0U, entry->GetSSL().cert_status & net::CERT_STATUS_ALL_ERRORS);
@@ -81,11 +83,11 @@
                                       bool ran_insecure_content,
                                       bool interstitial) {
     ASSERT_FALSE(tab->IsCrashed());
-    NavigationEntry* entry = tab->GetController().GetActiveEntry();
+    content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
     ASSERT_TRUE(entry);
     EXPECT_EQ(interstitial ?
                   content::PAGE_TYPE_INTERSTITIAL : content::PAGE_TYPE_NORMAL,
-              entry->page_type());
+              entry->GetPageType());
     EXPECT_EQ(content::SECURITY_STYLE_AUTHENTICATION_BROKEN,
               entry->GetSSL().security_style);
     // CERT_STATUS_UNABLE_TO_CHECK_REVOCATION doesn't lower the security style
@@ -326,7 +328,7 @@
                                https_server_.GetURL("files/ssl/google.html"));
 
   TabContents* tab = browser()->GetSelectedTabContents();
-  NavigationEntry* entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
   ASSERT_TRUE(entry);
 
   GURL cross_site_url =
@@ -371,7 +373,7 @@
   ui_test_utils::NavigateToURL(browser(),
       test_server()->GetURL("files/ssl/google.html"));
   TabContents* tab = browser()->GetSelectedTabContents();
-  NavigationEntry* entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
   ASSERT_TRUE(entry);
 
   // Now go to a bad HTTPS page that shows an interstitial.
@@ -407,7 +409,7 @@
   ui_test_utils::NavigateToURL(browser(),
       test_server()->GetURL("files/ssl/google.html"));
   TabContents* tab = browser()->GetSelectedTabContents();
-  NavigationEntry* entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
   ASSERT_TRUE(entry);
 
   // Now go to a bad HTTPS page that shows an interstitial.
@@ -434,11 +436,11 @@
   ui_test_utils::NavigateToURL(browser(),
       test_server()->GetURL("files/ssl/google.html"));
   TabContents* tab = browser()->GetSelectedTabContents();
-  NavigationEntry* entry1 = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry1 = tab->GetController().GetActiveEntry();
   ASSERT_TRUE(entry1);
   ui_test_utils::NavigateToURL(browser(),
       test_server()->GetURL("files/ssl/blank_page.html"));
-  NavigationEntry* entry2 = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry2 = tab->GetController().GetActiveEntry();
   ASSERT_TRUE(entry2);
 
   // Now go back so that a page is in the forward history.
@@ -450,7 +452,7 @@
     observer.Wait();
   }
   ASSERT_TRUE(tab->GetController().CanGoForward());
-  NavigationEntry* entry3 = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry3 = tab->GetController().GetActiveEntry();
   ASSERT_TRUE(entry1 == entry3);
 
   // Now go to a bad HTTPS page that shows an interstitial.
@@ -472,7 +474,7 @@
   EXPECT_FALSE(browser()->GetSelectedTabContents()->GetInterstitialPage());
   CheckUnauthenticatedState(tab);
   EXPECT_FALSE(tab->GetController().CanGoForward());
-  NavigationEntry* entry4 = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry4 = tab->GetController().GetActiveEntry();
   EXPECT_TRUE(entry2 == entry4);
 }
 
diff --git a/chrome/browser/sync/glue/session_model_associator.cc b/chrome/browser/sync/glue/session_model_associator.cc
index 8eabce4..bbdc008c 100644
--- a/chrome/browser/sync/glue/session_model_associator.cc
+++ b/chrome/browser/sync/glue/session_model_associator.cc
@@ -29,7 +29,7 @@
 #include "chrome/browser/sync/util/get_session_name_task.h"
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/common/url_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_details.h"
 #if defined(OS_LINUX)
@@ -336,7 +336,7 @@
     tab_s->set_extension_app_id(tab.GetExtensionAppId());
   }
   for (int i = min_index; i < max_index; ++i) {
-    const NavigationEntry* entry = (i == pending_index) ?
+    const content::NavigationEntry* entry = (i == pending_index) ?
        tab.GetPendingEntry() : tab.GetEntryAtIndex(i);
     DCHECK(entry);
     if (entry->GetVirtualURL().is_valid()) {
@@ -1064,7 +1064,7 @@
             tab.GetWindowId());
     if (!window)
       return false;
-    const NavigationEntry* entry = tab.GetActiveEntry();
+    const content::NavigationEntry* entry = tab.GetActiveEntry();
     if (!entry)
       return false;
     if (entry->GetVirtualURL().is_valid() &&
diff --git a/chrome/browser/sync/glue/synced_tab_delegate.h b/chrome/browser/sync/glue/synced_tab_delegate.h
index 0b576f0..087dfbe5 100644
--- a/chrome/browser/sync/glue/synced_tab_delegate.h
+++ b/chrome/browser/sync/glue/synced_tab_delegate.h
@@ -10,9 +10,12 @@
 
 #include "chrome/browser/sessions/session_id.h"
 
-class NavigationEntry;
 class Profile;
 
+namespace content {
+class NavigationEntry;
+}
+
 namespace browser_sync {
 
 // A SyncedTabDelegate is used to insulate the sync code from depending
@@ -36,9 +39,9 @@
   virtual int GetCurrentEntryIndex() const = 0;
   virtual int GetEntryCount() const = 0;
   virtual int GetPendingEntryIndex() const = 0;
-  virtual NavigationEntry* GetPendingEntry() const = 0;
-  virtual NavigationEntry* GetEntryAtIndex(int i) const = 0;
-  virtual NavigationEntry* GetActiveEntry() const = 0;
+  virtual content::NavigationEntry* GetPendingEntry() const = 0;
+  virtual content::NavigationEntry* GetEntryAtIndex(int i) const = 0;
+  virtual content::NavigationEntry* GetActiveEntry() const = 0;
 
  protected:
   virtual ~SyncedTabDelegate() {}
diff --git a/chrome/browser/tab_contents/language_state.cc b/chrome/browser/tab_contents/language_state.cc
index 4cecef1..6c76677 100644
--- a/chrome/browser/tab_contents/language_state.cc
+++ b/chrome/browser/tab_contents/language_state.cc
@@ -5,8 +5,8 @@
 #include "chrome/browser/tab_contents/language_state.h"
 
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 
 LanguageState::LanguageState(NavigationController* nav_controller)
     : navigation_controller_(nav_controller),
diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc
index 551c7487..8cdb7e2 100644
--- a/chrome/browser/tab_contents/render_view_context_menu.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu.cc
@@ -65,10 +65,10 @@
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/renderer_host/render_widget_host_view.h"
 #include "content/browser/speech/speech_input_preferences.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/download_manager.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/ssl_status.h"
 #include "content/public/browser/user_metrics.h"
@@ -1196,7 +1196,7 @@
       // the page) from the NavigationEntry because its reflects their origin
       // rather than the display one (returned by GetURL) which may be
       // different (like having "view-source:" on the front).
-      NavigationEntry* active_entry =
+      content::NavigationEntry* active_entry =
           source_tab_contents_->GetController().GetActiveEntry();
       return SavePackage::IsSavableURL(
           (active_entry) ? active_entry->GetURL() : GURL());
@@ -1567,7 +1567,7 @@
       break;
 
     case IDC_CONTENT_CONTEXT_VIEWPAGEINFO: {
-      NavigationEntry* nav_entry =
+      content::NavigationEntry* nav_entry =
           source_tab_contents_->GetController().GetActiveEntry();
       source_tab_contents_->ShowPageInfo(nav_entry->GetURL(),
                                          nav_entry->GetSSL(), true);
diff --git a/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc b/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
index 58238fe..3c241b1 100644
--- a/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
@@ -12,8 +12,8 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h"
 
 namespace {
diff --git a/chrome/browser/tabs/pinned_tab_codec.cc b/chrome/browser/tabs/pinned_tab_codec.cc
index c14caaf31..5831504 100644
--- a/chrome/browser/tabs/pinned_tab_codec.cc
+++ b/chrome/browser/tabs/pinned_tab_codec.cc
@@ -54,7 +54,7 @@
     value->SetString(kURL, extension->GetFullLaunchURL().spec());
     values->Append(value.release());
   } else {
-    NavigationEntry* entry =
+content::NavigationEntry* entry =
         tab_contents->tab_contents()->GetController().GetActiveEntry();
     if (!entry && tab_contents->tab_contents()->GetController().entry_count())
       entry = tab_contents->tab_contents()->GetController().GetEntryAtIndex(0);
diff --git a/chrome/browser/tabs/tab_finder.cc b/chrome/browser/tabs/tab_finder.cc
index c77e184..e5199cd 100644
--- a/chrome/browser/tabs/tab_finder.cc
+++ b/chrome/browser/tabs/tab_finder.cc
@@ -14,9 +14,9 @@
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "chrome/common/chrome_switches.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
@@ -211,7 +211,7 @@
   if (profile->IsOffTheRecord())
     return;
 
-  NavigationEntry* committed_entry =
+  content::NavigationEntry* committed_entry =
       tab->GetController().GetLastCommittedEntry();
   if (!committed_entry || committed_entry->GetURL().is_empty())
     return;
diff --git a/chrome/browser/tabs/tab_strip_model.cc b/chrome/browser/tabs/tab_strip_model.cc
index 7ffd267..f85e6163 100644
--- a/chrome/browser/tabs/tab_strip_model.cc
+++ b/chrome/browser/tabs/tab_strip_model.cc
@@ -26,9 +26,9 @@
 #include "chrome/common/extensions/extension.h"
 #include "chrome/common/url_constants.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/tab_contents/tab_contents_view.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/user_metrics.h"
@@ -216,13 +216,14 @@
                           NULL /* base_tab_contents */,
                           NULL /* session_storage_namespace */));
   TabContentsWrapper* old_contents = GetContentsAt(index);
-  NavigationEntry* old_nav_entry =
+  content::NavigationEntry* old_nav_entry =
       old_contents->tab_contents()->GetController().GetActiveEntry();
   if (old_nav_entry) {
     // Set the new tab contents to reload this URL when clicked.
     // This also allows the tab to keep drawing the favicon and page title.
-    NavigationEntry* new_nav_entry = new NavigationEntry(*old_nav_entry);
-    std::vector<NavigationEntry*> entries;
+    content::NavigationEntry* new_nav_entry =
+        content::NavigationEntry::Create(*old_nav_entry);
+    std::vector<content::NavigationEntry*> entries;
     entries.push_back(new_nav_entry);
     null_contents->tab_contents()->GetController().Restore(0, false, &entries);
   }
diff --git a/chrome/browser/translate/options_menu_model.cc b/chrome/browser/translate/options_menu_model.cc
index 662d674..af19ca6 100644
--- a/chrome/browser/translate/options_menu_model.cc
+++ b/chrome/browser/translate/options_menu_model.cc
@@ -10,7 +10,7 @@
 #include "chrome/browser/infobars/infobar_tab_helper.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/translate/translate_infobar_delegate.h"
-#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/web_contents.h"
 #include "grit/generated_resources.h"
 #include "grit/locale_settings.h"
@@ -100,7 +100,7 @@
       DCHECK(translate_infobar_delegate_ != NULL);
       DCHECK(translate_infobar_delegate_->owner() != NULL);
       DCHECK(translate_infobar_delegate_->owner()->web_contents() != NULL);
-      NavigationEntry* entry = translate_infobar_delegate_->owner()->
+      content::NavigationEntry* entry = translate_infobar_delegate_->owner()->
           web_contents()->GetController().GetActiveEntry();
       // Delegate and tab contents should never be NULL, but active entry
       // can be NULL when running tests. We want to return false if NULL.
diff --git a/chrome/browser/translate/translate_infobar_delegate.cc b/chrome/browser/translate/translate_infobar_delegate.cc
index c379e10..cb285d2 100644
--- a/chrome/browser/translate/translate_infobar_delegate.cc
+++ b/chrome/browser/translate/translate_infobar_delegate.cc
@@ -15,9 +15,9 @@
 #include "chrome/browser/translate/translate_tab_helper.h"
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "chrome/common/chrome_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "grit/generated_resources.h"
 #include "grit/theme_resources_standard.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -399,7 +399,7 @@
 }
 
 std::string TranslateInfoBarDelegate::GetPageHost() {
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       owner()->web_contents()->GetController().GetActiveEntry();
   return entry ? entry->GetURL().HostNoBrackets() : std::string();
 }
diff --git a/chrome/browser/translate/translate_manager.cc b/chrome/browser/translate/translate_manager.cc
index 61dcb775..dd1ec5a 100644
--- a/chrome/browser/translate/translate_manager.cc
+++ b/chrome/browser/translate/translate_manager.cc
@@ -35,9 +35,9 @@
 #include "chrome/common/translate_errors.h"
 #include "chrome/common/url_constants.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
@@ -262,7 +262,7 @@
           content::Source<NavigationController>(source).ptr();
       content::LoadCommittedDetails* load_details =
           content::Details<content::LoadCommittedDetails>(details).ptr();
-      NavigationEntry* entry = controller->GetActiveEntry();
+      content::NavigationEntry* entry = controller->GetActiveEntry();
       if (!entry) {
         NOTREACHED();
         return;
@@ -402,7 +402,7 @@
         // The tab went away while we were retrieving the script.
         continue;
       }
-      NavigationEntry* entry = tab->GetController().GetActiveEntry();
+      content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
       if (!entry || entry->GetPageID() != request.page_id) {
         // We navigated away from the page the translation was triggered on.
         continue;
@@ -468,7 +468,7 @@
   if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableTranslate))
     return;
 
-  NavigationEntry* entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
   if (!entry) {
     // This can happen for popups created with window.open("").
     return;
@@ -553,7 +553,8 @@
 void TranslateManager::TranslatePage(WebContents* web_contents,
                                      const std::string& source_lang,
                                      const std::string& target_lang) {
-  NavigationEntry* entry = web_contents->GetController().GetActiveEntry();
+  content::NavigationEntry* entry =
+      web_contents->GetController().GetActiveEntry();
   if (!entry) {
     NOTREACHED();
     return;
@@ -585,7 +586,8 @@
 }
 
 void TranslateManager::RevertTranslation(WebContents* web_contents) {
-  NavigationEntry* entry = web_contents->GetController().GetActiveEntry();
+  content::NavigationEntry* entry =
+      web_contents->GetController().GetActiveEntry();
   if (!entry) {
     NOTREACHED();
     return;
@@ -631,7 +633,7 @@
                                        const std::string& translate_script,
                                        const std::string& source_lang,
                                        const std::string& target_lang) {
-  NavigationEntry* entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* entry = tab->GetController().GetActiveEntry();
   if (!entry) {
     NOTREACHED();
     return;
diff --git a/chrome/browser/translate/translate_manager_browsertest.cc b/chrome/browser/translate/translate_manager_browsertest.cc
index 7d5260d..13d2235 100644
--- a/chrome/browser/translate/translate_manager_browsertest.cc
+++ b/chrome/browser/translate/translate_manager_browsertest.cc
@@ -26,9 +26,9 @@
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/browser/renderer_host/mock_render_process_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/test_tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_registrar.h"
 #include "content/test/notification_observer_mock.h"
diff --git a/chrome/browser/ui/blocked_content/blocked_content_tab_helper.cc b/chrome/browser/ui/blocked_content/blocked_content_tab_helper.cc
index 6e81596..64f6930 100644
--- a/chrome/browser/ui/blocked_content/blocked_content_tab_helper.cc
+++ b/chrome/browser/ui/blocked_content/blocked_content_tab_helper.cc
@@ -11,8 +11,8 @@
 #include "chrome/browser/ui/blocked_content/blocked_content_container.h"
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/web_contents.h"
 
 BlockedContentTabHelper::BlockedContentTabHelper(
@@ -81,7 +81,7 @@
   // entry is the page to be loaded as we navigate away from the unloading
   // page.  For this reason, we can't use GetURL() to get the opener URL,
   // because it returns the active entry.
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       web_contents()->GetController().GetLastCommittedEntry();
   GURL creator = entry ? entry->GetVirtualURL() : GURL::EmptyGURL();
   Profile* profile =
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 5d2d85a..502bf85 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -252,7 +252,7 @@
 const char kHashMark[] = "#";
 
 // Returns |true| if entry has an internal chrome:// URL, |false| otherwise.
-bool HasInternalURL(const NavigationEntry* entry) {
+bool HasInternalURL(const content::NavigationEntry* entry) {
   if (!entry)
     return false;
 
@@ -1306,7 +1306,7 @@
       session_storage_namespace);
   TabContents* new_tab = wrapper->tab_contents();
   wrapper->extension_tab_helper()->SetExtensionAppById(extension_app_id);
-  std::vector<NavigationEntry*> entries;
+  std::vector<content::NavigationEntry*> entries;
   TabNavigation::CreateNavigationEntriesFromTabNavigations(
       profile_, navigations, &entries);
   new_tab->GetController().Restore(
@@ -1356,7 +1356,7 @@
       session_storage_namespace);
   wrapper->extension_tab_helper()->SetExtensionAppById(extension_app_id);
   TabContents* replacement = wrapper->tab_contents();
-  std::vector<NavigationEntry*> entries;
+  std::vector<content::NavigationEntry*> entries;
   TabNavigation::CreateNavigationEntriesFromTabNavigations(
       profile_, navigations, &entries);
   replacement->GetController().Restore(
@@ -1548,7 +1548,8 @@
   // If we are showing an interstitial, treat this as an OpenURL.
   TabContents* current_tab = GetSelectedTabContents();
   if (current_tab && current_tab->ShowingInterstitialPage()) {
-    NavigationEntry* entry = current_tab->GetController().GetActiveEntry();
+    content::NavigationEntry* entry =
+        current_tab->GetController().GetActiveEntry();
     DCHECK(entry);  // Should exist if interstitial is showing.
     OpenURL(OpenURLParams(
         entry->GetURL(), Referrer(), disposition,
@@ -2067,7 +2068,7 @@
       web_app::IsValidUrl(current_tab->tab_contents()->GetURL())) <<
           "Menu item should be disabled.";
 
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       current_tab->tab_contents()->GetController().GetLastCommittedEntry();
   if (!entry)
     return;
@@ -2182,7 +2183,7 @@
 void Browser::ShowBrokenPageTab(TabContents* contents) {
   content::RecordAction(UserMetricsAction("ReportBug"));
   string16 page_title = contents->GetTitle();
-  NavigationEntry* entry = contents->GetController().GetActiveEntry();
+  content::NavigationEntry* entry = contents->GetController().GetActiveEntry();
   if (!entry)
     return;
   std::string page_url = entry->GetURL().spec();
@@ -3544,7 +3545,8 @@
       // last committed entry is not NULL. Last committed entry could be NULL
       // when an interstitial page is injected (e.g. bad https certificate,
       // malware site etc). When this happens, we abort the shortcut update.
-      NavigationEntry* entry = source->GetController().GetLastCommittedEntry();
+      content::NavigationEntry* entry =
+          source->GetController().GetLastCommittedEntry();
       if (entry) {
         TabContentsWrapper::GetCurrentWrapperForContents(source)->
             extension_tab_helper()->GetApplicationInfo(entry->GetPageID());
@@ -3989,7 +3991,7 @@
   if (GetSelectedTabContentsWrapper() != source)
     return;
 
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       source->tab_contents()->GetController().GetLastCommittedEntry();
   if (!entry || (entry->GetPageID() != page_id))
     return;
@@ -5209,7 +5211,7 @@
 void Browser::ViewSource(TabContentsWrapper* contents) {
   DCHECK(contents);
 
-  NavigationEntry* active_entry =
+  content::NavigationEntry* active_entry =
       contents->tab_contents()->GetController().GetActiveEntry();
   if (!active_entry)
     return;
@@ -5225,7 +5227,7 @@
 
   TabContentsWrapper* view_source_contents = contents->Clone();
   view_source_contents->tab_contents()->GetController().PruneAllButActive();
-  NavigationEntry* active_entry =
+  content::NavigationEntry* active_entry =
       view_source_contents->tab_contents()->GetController().GetActiveEntry();
   if (!active_entry)
     return;
@@ -5280,7 +5282,7 @@
   TabContents* current_tab = GetSelectedTabContents();
   if (current_tab) {
     content_restrictions = current_tab->GetContentRestrictions();
-    NavigationEntry* active_entry =
+    content::NavigationEntry* active_entry =
         current_tab->GetController().GetActiveEntry();
     // See comment in UpdateCommandsForTabState about why we call url().
     if (!SavePackage::IsSavableURL(
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
index 61a3564..f8c9174a 100644
--- a/chrome/browser/ui/browser_browsertest.cc
+++ b/chrome/browser/ui/browser_browsertest.cc
@@ -44,8 +44,9 @@
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/tab_contents/interstitial_page.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/favicon_status.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/common/page_transition_types.h"
@@ -667,7 +668,7 @@
 
   ui_test_utils::NavigateToURL(browser(), url);
 
-  NavigationEntry* entry = browser()->GetSelectedTabContents()->
+  content::NavigationEntry* entry = browser()->GetSelectedTabContents()->
       GetController().GetActiveEntry();
   EXPECT_EQ(expected_favicon_url.spec(), entry->GetFavicon().url.spec());
 }
@@ -687,7 +688,7 @@
   ASSERT_TRUE(file_url.SchemeIs(chrome::kFileScheme));
   ui_test_utils::NavigateToURL(browser(), file_url);
 
-  NavigationEntry* entry = browser()->GetSelectedTabContents()->
+  content::NavigationEntry* entry = browser()->GetSelectedTabContents()->
       GetController().GetActiveEntry();
   static const FilePath::CharType* kIcon =
       FILE_PATH_LITERAL("test1.png");
diff --git a/chrome/browser/ui/cocoa/applescript/tab_applescript.mm b/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
index dcd8b23..299e999 100644
--- a/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
+++ b/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
@@ -21,8 +21,8 @@
 #include "content/browser/download/save_package.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/web_contents_delegate.h"
 #include "googleurl/src/gurl.h"
 
@@ -189,7 +189,7 @@
     return nil;
   }
 
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       tabContents_->tab_contents()->GetController().GetActiveEntry();
   if (!entry) {
     return nil;
@@ -213,7 +213,7 @@
     return;
   }
 
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       tabContents_->tab_contents()->GetController().GetActiveEntry();
   if (!entry)
     return;
@@ -228,7 +228,7 @@
 }
 
 - (NSString*)title {
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       tabContents_->tab_contents()->GetController().GetActiveEntry();
   if (!entry)
     return nil;
@@ -390,7 +390,7 @@
 }
 
 - (void)handlesViewSourceScriptCommand:(NSScriptCommand*)command {
-  NavigationEntry* entry =
+  content::NavigationEntry* entry =
       tabContents_->tab_contents()->GetController().GetLastCommittedEntry();
   if (entry) {
     tabContents_->tab_contents()->OpenURL(OpenURLParams(
diff --git a/chrome/browser/ui/cocoa/location_bar/location_icon_decoration.mm b/chrome/browser/ui/cocoa/location_bar/location_icon_decoration.mm
index 8c930380..127cb21 100644
--- a/chrome/browser/ui/cocoa/location_bar/location_icon_decoration.mm
+++ b/chrome/browser/ui/cocoa/location_bar/location_icon_decoration.mm
@@ -7,8 +7,8 @@
 #include "base/sys_string_conversions.h"
 #import "chrome/browser/bookmarks/bookmark_pasteboard_helper_mac.h"
 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "grit/generated_resources.h"
 #include "skia/ext/skia_utils_mac.h"
 #import "third_party/mozilla/NSPasteboard+Utils.h"
@@ -95,7 +95,7 @@
     return true;
 
   TabContents* tab = owner_->GetTabContents();
-  NavigationEntry* nav_entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* nav_entry = tab->GetController().GetActiveEntry();
   if (!nav_entry) {
     NOTREACHED();
     return true;
diff --git a/chrome/browser/ui/constrained_window_tab_helper.cc b/chrome/browser/ui/constrained_window_tab_helper.cc
index dd02007e..c0b71e7 100644
--- a/chrome/browser/ui/constrained_window_tab_helper.cc
+++ b/chrome/browser/ui/constrained_window_tab_helper.cc
@@ -10,9 +10,9 @@
 #include "chrome/common/render_messages.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/renderer_host/render_widget_host_view.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "net/base/registry_controlled_domain.h"
 
 using content::WebContents;
diff --git a/chrome/browser/ui/find_bar/find_bar_controller.cc b/chrome/browser/ui/find_bar/find_bar_controller.cc
index 605ae04..3f3220ab 100644
--- a/chrome/browser/ui/find_bar/find_bar_controller.cc
+++ b/chrome/browser/ui/find_bar/find_bar_controller.cc
@@ -13,9 +13,9 @@
 #include "chrome/browser/ui/find_bar/find_tab_helper.h"
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "chrome/common/chrome_notification_types.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
 #include "ui/gfx/rect.h"
diff --git a/chrome/browser/ui/gtk/location_bar_view_gtk.cc b/chrome/browser/ui/gtk/location_bar_view_gtk.cc
index 3bcc7eb..f3ee402 100644
--- a/chrome/browser/ui/gtk/location_bar_view_gtk.cc
+++ b/chrome/browser/ui/gtk/location_bar_view_gtk.cc
@@ -53,8 +53,8 @@
 #include "chrome/common/extensions/extension_action.h"
 #include "chrome/common/extensions/extension_resource.h"
 #include "chrome/common/pref_names.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_service.h"
 #include "grit/generated_resources.h"
 #include "grit/theme_resources.h"
@@ -1047,7 +1047,7 @@
     if (event->x == 0 && event->y == 0)
       return FALSE;
 
-    NavigationEntry* nav_entry = tab->GetController().GetActiveEntry();
+    content::NavigationEntry* nav_entry = tab->GetController().GetActiveEntry();
     if (!nav_entry) {
       NOTREACHED();
       return FALSE;
diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
index 76eb5fcc..b2df4f0 100644
--- a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
+++ b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
@@ -20,7 +20,7 @@
 namespace {
 
 // Returns true if the entry's transition type is FORM_SUBMIT.
-bool IsFormSubmit(const NavigationEntry* entry) {
+bool IsFormSubmit(const content::NavigationEntry* entry) {
   return (content::PageTransitionStripQualifier(entry->GetTransitionType()) ==
           content::PAGE_TRANSITION_FORM_SUBMIT);
 }
@@ -90,10 +90,10 @@
   }
 
   const NavigationController& controller = web_contents()->GetController();
-  const NavigationEntry* entry = controller.GetLastCommittedEntry();
+  const content::NavigationEntry* entry = controller.GetLastCommittedEntry();
   DCHECK(entry);
 
-  const NavigationEntry* base_entry = entry;
+  const content::NavigationEntry* base_entry = entry;
   if (IsFormSubmit(base_entry)) {
     // If the current page is a form submit, find the last page that was not
     // a form submit and use its url to generate the keyword from.
@@ -110,8 +110,8 @@
   // the user typed to get here, and fall back on the regular URL if not.
   if (!base_entry)
     return;
-  GURL keyword_url = base_entry->user_typed_url().is_valid() ?
-          base_entry->user_typed_url() : base_entry->GetURL();
+  GURL keyword_url = base_entry->GetUserTypedURL().is_valid() ?
+          base_entry->GetUserTypedURL() : base_entry->GetURL();
   if (!keyword_url.is_valid())
     return;
 
@@ -155,8 +155,8 @@
     return;
   }
 
-  GURL keyword_url = previous_entry->user_typed_url().is_valid() ?
-          previous_entry->user_typed_url() : previous_entry->GetURL();
+  GURL keyword_url = previous_entry->GetUserTypedURL().is_valid() ?
+          previous_entry->GetUserTypedURL() : previous_entry->GetURL();
   string16 keyword =
       TemplateURLService::GenerateKeyword(keyword_url, true);  // autodetected
   if (keyword.empty())
diff --git a/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.cc b/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.cc
index b8f9347c..7dc2a63 100644
--- a/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.cc
+++ b/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.cc
@@ -10,7 +10,7 @@
 #include "chrome/browser/sessions/restore_tab_helper.h"
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "chrome/common/extensions/extension.h"
-
+#include "content/browser/tab_contents/navigation_entry.h"
 
 TabContentsWrapperSyncedTabDelegate::TabContentsWrapperSyncedTabDelegate(
     TabContentsWrapper* tab_contents_wrapper)
@@ -59,16 +59,19 @@
       pending_entry_index();
 }
 
-NavigationEntry* TabContentsWrapperSyncedTabDelegate::GetPendingEntry() const {
+content::NavigationEntry*
+    TabContentsWrapperSyncedTabDelegate::GetPendingEntry() const {
   return tab_contents_wrapper_->tab_contents()->GetController().pending_entry();
 }
 
-NavigationEntry* TabContentsWrapperSyncedTabDelegate::GetEntryAtIndex(int i)
+content::NavigationEntry*
+    TabContentsWrapperSyncedTabDelegate::GetEntryAtIndex(int i)
     const {
   return
       tab_contents_wrapper_->tab_contents()->GetController().GetEntryAtIndex(i);
 }
 
-NavigationEntry* TabContentsWrapperSyncedTabDelegate::GetActiveEntry() const {
+content::NavigationEntry*
+    TabContentsWrapperSyncedTabDelegate::GetActiveEntry() const {
   return tab_contents_wrapper_->tab_contents()->GetController().GetActiveEntry();
 }
diff --git a/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.h b/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.h
index 53aa9e5c..d0dd25db 100644
--- a/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.h
+++ b/chrome/browser/ui/sync/tab_contents_wrapper_synced_tab_delegate.h
@@ -29,9 +29,9 @@
   virtual int GetCurrentEntryIndex() const OVERRIDE;
   virtual int GetEntryCount() const OVERRIDE;
   virtual int GetPendingEntryIndex() const OVERRIDE;
-  virtual NavigationEntry* GetPendingEntry() const OVERRIDE;
-  virtual NavigationEntry* GetEntryAtIndex(int i) const OVERRIDE;
-  virtual NavigationEntry* GetActiveEntry() const OVERRIDE;
+  virtual content::NavigationEntry* GetPendingEntry() const OVERRIDE;
+  virtual content::NavigationEntry* GetEntryAtIndex(int i) const OVERRIDE;
+  virtual content::NavigationEntry* GetActiveEntry() const OVERRIDE;
 
  private:
   TabContentsWrapper* tab_contents_wrapper_;
diff --git a/chrome/browser/ui/toolbar/back_forward_menu_model_unittest.cc b/chrome/browser/ui/toolbar/back_forward_menu_model_unittest.cc
index a8fdbd4..f3ecc60 100644
--- a/chrome/browser/ui/toolbar/back_forward_menu_model_unittest.cc
+++ b/chrome/browser/ui/toolbar/back_forward_menu_model_unittest.cc
@@ -15,9 +15,9 @@
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/tab_contents/test_tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/test/test_browser_thread.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkBitmap.h"
diff --git a/chrome/browser/ui/toolbar/toolbar_model.cc b/chrome/browser/ui/toolbar/toolbar_model.cc
index 623d0dd..9b5ae86 100644
--- a/chrome/browser/ui/toolbar/toolbar_model.cc
+++ b/chrome/browser/ui/toolbar/toolbar_model.cc
@@ -16,9 +16,9 @@
 #include "chrome/common/url_constants.h"
 #include "content/browser/cert_store.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/webui/web_ui.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/ssl_status.h"
 #include "content/public/common/content_constants.h"
 #include "grit/generated_resources.h"
@@ -47,7 +47,7 @@
     Profile* profile =
         Profile::FromBrowserContext(navigation_controller->browser_context());
     languages = profile->GetPrefs()->GetString(prefs::kAcceptLanguages);
-    NavigationEntry* entry = navigation_controller->GetVisibleEntry();
+    content::NavigationEntry* entry = navigation_controller->GetVisibleEntry();
     if (!ShouldDisplayURL()) {
       url = GURL();
     } else if (entry) {
@@ -73,10 +73,11 @@
   //   of view-source:chrome://newtab, which should display its URL despite what
   //   chrome://newtab's WebUI says.
   NavigationController* controller = GetNavigationController();
-  NavigationEntry* entry = controller ? controller->GetVisibleEntry() : NULL;
+  content::NavigationEntry* entry =
+      controller ? controller->GetVisibleEntry() : NULL;
   if (entry) {
     if (entry->IsViewSourceMode() ||
-        entry->page_type() == content::PAGE_TYPE_INTERSTITIAL) {
+        entry->GetPageType() == content::PAGE_TYPE_INTERSTITIAL) {
       return true;
     }
   }
@@ -99,7 +100,7 @@
   if (!navigation_controller)  // We might not have a controller on init.
     return NONE;
 
-  NavigationEntry* entry = navigation_controller->GetVisibleEntry();
+  content::NavigationEntry* entry = navigation_controller->GetVisibleEntry();
   if (!entry)
     return NONE;
 
diff --git a/chrome/browser/ui/views/location_bar/click_handler.cc b/chrome/browser/ui/views/location_bar/click_handler.cc
index 11e9bd5..b6bbc35 100644
--- a/chrome/browser/ui/views/location_bar/click_handler.cc
+++ b/chrome/browser/ui/views/location_bar/click_handler.cc
@@ -7,8 +7,8 @@
 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
 #include "content/browser/tab_contents/navigation_controller.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "ui/views/view.h"
 
 ClickHandler::ClickHandler(const views::View* owner,
@@ -27,7 +27,7 @@
     return;
 
   TabContents* tab = location_bar_->GetTabContentsWrapper()->tab_contents();
-  NavigationEntry* nav_entry = tab->GetController().GetActiveEntry();
+  content::NavigationEntry* nav_entry = tab->GetController().GetActiveEntry();
   if (!nav_entry) {
     NOTREACHED();
     return;
diff --git a/chrome/browser/ui/views/page_info_bubble_view.cc b/chrome/browser/ui/views/page_info_bubble_view.cc
index 6b8e139..b30aa12 100644
--- a/chrome/browser/ui/views/page_info_bubble_view.cc
+++ b/chrome/browser/ui/views/page_info_bubble_view.cc
@@ -15,7 +15,7 @@
 #include "chrome/browser/ui/views/window.h"
 #include "chrome/common/url_constants.h"
 #include "content/browser/cert_store.h"
-#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/public/browser/ssl_status.h"
 #include "grit/generated_resources.h"
 #include "grit/locale_settings.h"
 #include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/browser/ui/webui/bug_report_ui.cc b/chrome/browser/ui/webui/bug_report_ui.cc
index 88041b22..fa09b85e 100644
--- a/chrome/browser/ui/webui/bug_report_ui.cc
+++ b/chrome/browser/ui/webui/bug_report_ui.cc
@@ -25,9 +25,9 @@
 #include "chrome/browser/ui/window_snapshot/window_snapshot.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/url_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/navigation_entry.h"
 #include "grit/browser_resources.h"
 #include "grit/chromium_strings.h"
 #include "grit/generated_resources.h"
diff --git a/chrome/browser/ui/webui/cloud_print_signin_dialog.cc b/chrome/browser/ui/webui/cloud_print_signin_dialog.cc
index d38e068..840654a 100644
--- a/chrome/browser/ui/webui/cloud_print_signin_dialog.cc
+++ b/chrome/browser/ui/webui/cloud_print_signin_dialog.cc
@@ -66,7 +66,7 @@
         &web_ui_->tab_contents()->GetController();
     NavigationEntry* pending_entry = controller->pending_entry();
     if (pending_entry)
-      pending_entry->set_url(CloudPrintURL(
+      pending_entry->SetURL(CloudPrintURL(
           Profile::FromWebUI(web_ui_)).GetCloudPrintSigninURL());
     registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
                    content::Source<NavigationController>(controller));
diff --git a/chrome/browser/ui/webui/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview_handler.cc
index 1661317..1c6600a 100644
--- a/chrome/browser/ui/webui/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview_handler.cc
@@ -41,9 +41,9 @@
 #include "chrome/common/pref_names.h"
 #include "chrome/common/print_messages.h"
 #include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/navigation_entry.h"
 #include "printing/backend/print_backend.h"
 #include "printing/metafile.h"
 #include "printing/metafile_impl.h"
@@ -314,7 +314,7 @@
     settings->SetString(printing::kSettingHeaderFooterTitle,
                         initiator_tab->tab_contents()->GetTitle());
     std::string url;
-    NavigationEntry* entry =
+    content::NavigationEntry* entry =
         initiator_tab->tab_contents()->GetController().GetActiveEntry();
     if (entry)
       url = entry->GetVirtualURL().spec();
diff --git a/chrome/browser/ui/webui/sync_promo/sync_promo_handler.cc b/chrome/browser/ui/webui/sync_promo/sync_promo_handler.cc
index 9ea1b965..3c3d085 100644
--- a/chrome/browser/ui/webui/sync_promo/sync_promo_handler.cc
+++ b/chrome/browser/ui/webui/sync_promo/sync_promo_handler.cc
@@ -21,8 +21,8 @@
 #include "chrome/common/extensions/extension_constants.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
-#include "content/browser/tab_contents/navigation_entry.h"
 #include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_service.h"