blob: 10800e36c65015fded0269d50ef3ee1fbf2e2767 [file] [log] [blame]
Shakti Sahub9f0b502020-08-18 22:21:101// Copyright 2020 The Chromium Authors. All rights reserved.
2// 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
8#include "base/macros.h"
9
10namespace content {
11class WebContents;
12} // namespace content
13
14namespace thin_webview {
15namespace android {
16
17// A helper class to help in attaching tab helpers.
18class ThinWebViewInitializer {
19 public:
20 static void SetInstance(ThinWebViewInitializer* instance);
21 static ThinWebViewInitializer* GetInstance();
22
23 ThinWebViewInitializer() = default;
Peter Boström09c01822021-09-20 22:43:2724
25 ThinWebViewInitializer(const ThinWebViewInitializer&) = delete;
26 ThinWebViewInitializer& operator=(const ThinWebViewInitializer&) = delete;
27
Shakti Sahub9f0b502020-08-18 22:21:1028 ~ThinWebViewInitializer() = default;
29
30 virtual void AttachTabHelpers(content::WebContents* web_contents) = 0;
Shakti Sahub9f0b502020-08-18 22:21:1031};
32
33} // namespace android
34} // namespace thin_webview
35
Shakti Sahu9c215b932020-08-20 00:42:5536#endif // COMPONENTS_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_