blob: 70b80c8ee3346855f6ccb35be07b38be7389de65 [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
5#ifndef CHROME_BROWSER_ANDROID_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_
6#define CHROME_BROWSER_ANDROID_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_
7
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;
24 ~ThinWebViewInitializer() = default;
25
26 virtual void AttachTabHelpers(content::WebContents* web_contents) = 0;
27
28 private:
29 DISALLOW_COPY_AND_ASSIGN(ThinWebViewInitializer);
30};
31
32} // namespace android
33} // namespace thin_webview
34
35#endif // CHROME_BROWSER_ANDROID_THIN_WEBVIEW_THIN_WEBVIEW_INITIALIZER_H_