blob: 572d5ef3b1afce69e36906810df6d09fac1bb2bf [file] [log] [blame]
// Copyright 2017 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 IOS_WEB_VIEW_INTERNAL_CWV_WEB_VIEW_CONFIGURATION_INTERNAL_H_
#define IOS_WEB_VIEW_INTERNAL_CWV_WEB_VIEW_CONFIGURATION_INTERNAL_H_
#import "ios/web_view/public/cwv_web_view_configuration.h"
NS_ASSUME_NONNULL_BEGIN
namespace ios_web_view {
class WebViewBrowserState;
} // namespace ios_web_view
@class CWVWebView;
@interface CWVWebViewConfiguration ()
// Calls |shutDown| on the singletons returned by |defaultConfiguration| and
// |incognitoConfiguration|.
+ (void)shutDown;
// The browser state associated with this configuration.
@property(nonatomic, readonly) ios_web_view::WebViewBrowserState* browserState;
// Registers a |webView| so that this class can call |shutDown| on it later on.
// Only weak references are held, so no need for de-register method.
- (void)registerWebView:(CWVWebView*)webView;
// Because Obj-C classes under ARC tend to outlive C++ classes, this method is
// needed to cleanly tear down this object. Must be called before |dealloc|.
- (void)shutDown;
@end
NS_ASSUME_NONNULL_END
#endif // IOS_WEB_VIEW_INTERNAL_CWV_WEB_VIEW_CONFIGURATION_INTERNAL_H_