1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_LOGIN_LOGIN_INTERSTITIAL_DELEGATE_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define CHROME_BROWSER_UI_LOGIN_LOGIN_INTERSTITIAL_DELEGATE_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <string> 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/callback.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/public/browser/interstitial_page.h" 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/public/browser/interstitial_page_delegate.h" 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "url/gurl.h" 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class LoginHandler; 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace content { 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class WebContents; 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace net { 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class AuthChallengeInfo; 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Placeholder interstitial for HTTP login prompts. This interstitial makes the 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// omnibox show the correct url when the login prompt is visible. 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class LoginInterstitialDelegate : public content::InterstitialPageDelegate { 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) LoginInterstitialDelegate(content::WebContents* web_contents, 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const GURL& request_url, 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) base::Closure& callback); 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~LoginInterstitialDelegate(); 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // content::InterstitialPageDelegate: 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void CommandReceived(const std::string& command) OVERRIDE; 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected: 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual std::string GetHTMLContents() OVERRIDE; 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private: 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) base::Closure callback_; 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(LoginInterstitialDelegate); 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // CHROME_BROWSER_UI_LOGIN_LOGIN_INTERSTITIAL_DELEGATE_H_ 48