blob: 52ac35b17ceec847ed7bd5eff0e355814622a2c3 [file] [log] [blame]
Avi Drissman8ba1bad2022-09-13 19:22:361// Copyright 2020 The Chromium Authors
Shakti Sahub9f0b502020-08-18 22:21:102// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Shakti Sahu9c215b932020-08-20 00:42:555#ifndef COMPONENTS_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_
6#define COMPONENTS_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_
Shakti Sahub9f0b502020-08-18 22:21:107
Shakti Sahub9f0b502020-08-18 22:21:108namespace content {
9class WebContents;
10} // namespace content
11
12namespace thin_webview {
13namespace android {
14
15// A helper class to help in attaching tab helpers.
16class ThinWebViewInitializer {
17 public:
18 static void SetInstance(ThinWebViewInitializer* instance);
19 static ThinWebViewInitializer* GetInstance();
20
21 ThinWebViewInitializer() = default;
Peter Boström09c01822021-09-20 22:43:2722
23 ThinWebViewInitializer(const ThinWebViewInitializer&) = delete;
24 ThinWebViewInitializer& operator=(const ThinWebViewInitializer&) = delete;
25
Shakti Sahub9f0b502020-08-18 22:21:1026 ~ThinWebViewInitializer() = default;
27
28 virtual void AttachTabHelpers(content::WebContents* web_contents) = 0;
Shakti Sahub9f0b502020-08-18 22:21:1029};
30
31} // namespace android
32} // namespace thin_webview
33
Shakti Sahu9c215b932020-08-20 00:42:5534#endif // COMPONENTS_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_