chromium/ios/web/public/init/web_main_delegate.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef IOS_WEB_PUBLIC_INIT_WEB_MAIN_DELEGATE_H_
#define IOS_WEB_PUBLIC_INIT_WEB_MAIN_DELEGATE_H_

namespace web {

// Contains delegate hooks that allow a web/ embedder to customize the basic
// startup and shutdown flow.  This delegate is called very early in startup and
// very late in shutdown, so only minimal code should be run in its
// implementation.  WebMainParts will be a more appropriate place for most
// startup code.
class WebMainDelegate {
 public:
  virtual ~WebMainDelegate() {}

  // Tells the embedder that the absolute basic startup has been done, i.e.
  // it's now safe to create singletons and check the command line.
  virtual void BasicStartupComplete() {}

  // Called right before the process exits.
  // TODO(crbug.com/41460422): This may not be used for anything.  Remove if
  // useless.
  virtual void ProcessExiting() {}
};

}  // namespace web

#endif  // IOS_WEB_PUBLIC_INIT_WEB_MAIN_DELEGATE_H_