blob: 4da12db5509acf0a0e27d694cfb3adb8ff8daa36 [file] [log] [blame]
// Copyright 2015 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_PUBLIC_THREAD_WEB_THREAD_DELEGATE_H_
#define IOS_WEB_PUBLIC_THREAD_WEB_THREAD_DELEGATE_H_
namespace web {
// WebThread::SetDelegate was deprecated, this is now only used by
// WebThread::SetIOThreadDelegate.
//
// If registered as such, it will schedule to run Init() before the
// message loop begins, and receive a CleanUp() call right after the message
// loop ends (and before the WebThread has done its own clean-up).
// A delegate for //web embedders to perform extra initialization/cleanup on
// WebThread::IO.
class WebThreadDelegate {
public:
virtual ~WebThreadDelegate() {}
// Called prior to completing initialization of WebThread::IO.
virtual void Init() = 0;
// Called during teardown of WebThread::IO.
virtual void CleanUp() = 0;
};
} // namespace web
#endif // IOS_WEB_PUBLIC_THREAD_WEB_THREAD_DELEGATE_H_