Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / public / utility / utility_thread.h
blobacafd1a3ab37a29ea8a3e185742e403549521d71
1 // Copyright (c) 2012 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.
5 #ifndef CONTENT_PUBLIC_UTILITY_UTILITY_THREAD_H_
6 #define CONTENT_PUBLIC_UTILITY_UTILITY_THREAD_H_
8 #include "base/basictypes.h"
9 #include "content/public/child/child_thread.h"
11 namespace content {
13 class CONTENT_EXPORT UtilityThread : virtual public ChildThread {
14 public:
15 // Returns the one utility thread for this process. Note that this can only
16 // be accessed when running on the utility thread itself.
17 static UtilityThread* Get();
19 UtilityThread();
20 ~UtilityThread() override;
22 // Releases the process if we are not (or no longer) in batch mode.
23 virtual void ReleaseProcessIfNeeded() = 0;
25 // Initializes blink if it hasn't already been initialized.
26 virtual void EnsureBlinkInitialized() = 0;
29 } // namespace content
31 #endif // CONTENT_PUBLIC_UTILITY_UTILITY_THREAD_H_