blob: e72003b2a6f819b4cd146acefb8cc809649701cb [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ANDROID_WEBVIEW_BROWSER_AW_HTTP_AUTH_HANDLER_BASE_H_
#define ANDROID_WEBVIEW_BROWSER_AW_HTTP_AUTH_HANDLER_BASE_H_
namespace content {
class WebContents;
};
namespace net {
class AuthChallengeInfo;
};
namespace android_webview {
class AwLoginDelegate;
// browser/ layer interface for AwHttpAuthHandler (which is implemented in the
// native/ layer as a native version of the Java class of the same name). This
// allows the browser/ layer to be unaware of JNI/Java shenanigans.
class AwHttpAuthHandlerBase {
public:
static AwHttpAuthHandlerBase* Create(AwLoginDelegate* login_delegate,
net::AuthChallengeInfo* auth_info,
bool first_auth_attempt);
virtual ~AwHttpAuthHandlerBase();
// Provides an 'escape-hatch' out to Java for the browser/ layer
// AwLoginDelegate.
virtual bool HandleOnUIThread(content::WebContents*) = 0;
};
} // namespace android_webview
#endif // ANDROID_WEBVIEW_BROWSER_AW_HTTP_AUTH_HANDLER_BASE_H_