NaClSDK: Fix LINK+STRIP make rules to only apply to Release or PNaCl.
[chromium-blink-merge.git] / extensions / renderer / extensions_renderer_client.h
blobb8f5255b44531b206e0fa86ad4aa1b61bf3380d7
1 // Copyright 2014 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 EXTENSIONS_RENDERER_EXTENSIONS_RENDERER_CLIENT_H_
6 #define EXTENSIONS_RENDERER_EXTENSIONS_RENDERER_CLIENT_H_
8 namespace extensions {
10 // Interface to allow the extensions module to make render-process-specific
11 // queries of the embedder. Should be Set() once in the render process.
13 // NOTE: Methods that do not require knowledge of renderer concepts should be
14 // added in ExtensionsClient (extensions/common/extensions_client.h) even if
15 // they are only used in the renderer process.
16 class ExtensionsRendererClient {
17 public:
18 virtual ~ExtensionsRendererClient() {}
20 // Returns true if the current render process was launched incognito.
21 virtual bool IsIncognitoProcess() const = 0;
23 // Returns the lowest isolated world ID available to extensions.
24 // Must be greater than 0. See blink::WebFrame::executeScriptInIsolatedWorld
25 // (third_party/WebKit/public/web/WebFrame.h) for additional context.
26 virtual int GetLowestIsolatedWorldId() const = 0;
28 // Returns the single instance of |this|.
29 static ExtensionsRendererClient* Get();
31 // Initialize the single instance.
32 static void Set(ExtensionsRendererClient* client);
35 } // namespace extensions
37 #endif // EXTENSIONS_RENDERER_EXTENSIONS_RENDERER_CLIENT_H_