From b6ea339e66564ae68cc78e1ec1c99ef88bc157d0 Mon Sep 17 00:00:00 2001 From: "sky@chromium.org" Date: Thu, 8 Sep 2011 13:58:23 +0000 Subject: Makes it so that loads originating from instant never show auth dialogs. This restriction is imposed by not being able to merge tab contents with a pending navigation (auth dialogs result in a pending navigation until the user authenticates). BUG=89439 TEST=with instant enabled try a page that loads an auth dialog, make sure you only see the dialog when you press enter. R=cbentzel@chromium.org,jam@chromium.org Review URL: http://codereview.chromium.org/7848007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100142 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/instant/instant_loader.cc | 11 ++++++----- chrome/browser/instant/instant_loader.h | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'chrome/browser/instant') diff --git a/chrome/browser/instant/instant_loader.cc b/chrome/browser/instant/instant_loader.cc index cb2d593..f1c06b6 100644 --- a/chrome/browser/instant/instant_loader.cc +++ b/chrome/browser/instant/instant_loader.cc @@ -58,12 +58,13 @@ const int kUpdateBoundsDelayMS = 1000; // If this status code is seen instant is disabled for the specified host. const int kHostBlacklistStatusCode = 403; -// Header and value set for all loads. -const char kPreviewHeader[] = "X-Purpose"; -const char kPreviewHeaderValue[] = "instant"; - } // namespace +// static +const char* const InstantLoader::kInstantHeader = "X-Purpose"; +// static +const char* const InstantLoader::kInstantHeaderValue = "instant"; + // FrameLoadObserver is responsible for determining if the page supports // instant after it has loaded. class InstantLoader::FrameLoadObserver : public NotificationObserver { @@ -416,7 +417,7 @@ void InstantLoader::TabContentsDelegateImpl::NavigationStateChanged( void InstantLoader::TabContentsDelegateImpl::AddNavigationHeaders( const GURL& url, std::string* headers) { - net::HttpUtil::AppendHeaderIfMissing(kPreviewHeader, kPreviewHeaderValue, + net::HttpUtil::AppendHeaderIfMissing(kInstantHeader, kInstantHeaderValue, headers); } diff --git a/chrome/browser/instant/instant_loader.h b/chrome/browser/instant/instant_loader.h index 515a5df..e95164d 100644 --- a/chrome/browser/instant/instant_loader.h +++ b/chrome/browser/instant/instant_loader.h @@ -37,6 +37,10 @@ class TemplateURL; // loaded as is. class InstantLoader : public NotificationObserver { public: + // Header and value set on loads that originate from instant. + static const char* const kInstantHeader; + static const char* const kInstantHeaderValue; + InstantLoader(InstantLoaderDelegate* delegate, TemplateURLID id); virtual ~InstantLoader(); -- cgit v1.1