| Index: chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h
|
| diff --git a/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h b/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7d83e3ebe731ee98c7bf82df9a02c9d7163cd45f
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h
|
| @@ -0,0 +1,134 @@
|
| +// Copyright 2014 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 CHROME_BROWSER_EXTENSIONS_API_WEB_VIEW_CHROME_WEB_VIEW_INTERNAL_API_H_
|
| +#define CHROME_BROWSER_EXTENSIONS_API_WEB_VIEW_CHROME_WEB_VIEW_INTERNAL_API_H_
|
| +
|
| +#include "extensions/browser/api/web_view/web_view_internal_api.h"
|
| +#include "extensions/browser/extension_function.h"
|
| +#include "extensions/browser/guest_view/web_view/web_view_guest.h"
|
| +
|
| +// WARNING: *WebViewInternal could be loaded in an unblessed context, thus any
|
| +// new APIs must extend WebViewInternalExtensionFunction or
|
| +// WebViewInternalExecuteCodeFunction which do a process ID check to prevent
|
| +// abuse by normal renderer processes.
|
| +namespace extensions {
|
| +
|
| +class ChromeWebViewInternalContextMenusCreateFunction
|
| + : public AsyncExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("chromeWebViewInternal.contextMenusCreate",
|
| + WEBVIEWINTERNAL_CONTEXTMENUSCREATE);
|
| + ChromeWebViewInternalContextMenusCreateFunction() {}
|
| +
|
| + protected:
|
| + virtual ~ChromeWebViewInternalContextMenusCreateFunction() {}
|
| +
|
| + // ExtensionFunction implementation.
|
| + virtual bool RunAsync() OVERRIDE;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusCreateFunction);
|
| +};
|
| +
|
| +class ChromeWebViewInternalContextMenusUpdateFunction
|
| + : public AsyncExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("chromeWebViewInternal.contextMenusUpdate",
|
| + WEBVIEWINTERNAL_CONTEXTMENUSUPDATE);
|
| + ChromeWebViewInternalContextMenusUpdateFunction() {}
|
| +
|
| + protected:
|
| + virtual ~ChromeWebViewInternalContextMenusUpdateFunction() {}
|
| +
|
| + // ExtensionFunction implementation.
|
| + virtual bool RunAsync() OVERRIDE;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusUpdateFunction);
|
| +};
|
| +
|
| +class ChromeWebViewInternalContextMenusRemoveFunction
|
| + : public AsyncExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("chromeWebViewInternal.contextMenusRemove",
|
| + WEBVIEWINTERNAL_CONTEXTMENUSREMOVE);
|
| + ChromeWebViewInternalContextMenusRemoveFunction() {}
|
| +
|
| + protected:
|
| + virtual ~ChromeWebViewInternalContextMenusRemoveFunction() {}
|
| +
|
| + // ExtensionFunction implementation.
|
| + virtual bool RunAsync() OVERRIDE;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusRemoveFunction);
|
| +};
|
| +
|
| +class ChromeWebViewInternalContextMenusRemoveAllFunction
|
| + : public AsyncExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("chromeWebViewInternal.contextMenusRemoveAll",
|
| + WEBVIEWINTERNAL_CONTEXTMENUSREMOVEALL);
|
| + ChromeWebViewInternalContextMenusRemoveAllFunction() {}
|
| +
|
| + protected:
|
| + virtual ~ChromeWebViewInternalContextMenusRemoveAllFunction() {}
|
| +
|
| + // ExtensionFunction implementation.
|
| + virtual bool RunAsync() OVERRIDE;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusRemoveAllFunction);
|
| +};
|
| +
|
| +class ChromeWebViewInternalClearDataFunction
|
| + : public WebViewInternalExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("chromeWebViewInternal.clearData",
|
| + WEBVIEWINTERNAL_CLEARDATA);
|
| +
|
| + ChromeWebViewInternalClearDataFunction();
|
| +
|
| + protected:
|
| + virtual ~ChromeWebViewInternalClearDataFunction();
|
| +
|
| + private:
|
| + // WebViewInternalExtensionFunction implementation.
|
| + virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE;
|
| +
|
| + uint32 GetRemovalMask();
|
| + void ClearDataDone();
|
| +
|
| + // Removal start time.
|
| + base::Time remove_since_;
|
| + // Removal mask, corresponds to StoragePartition::RemoveDataMask enum.
|
| + uint32 remove_mask_;
|
| + // Tracks any data related or parse errors.
|
| + bool bad_message_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalClearDataFunction);
|
| +};
|
| +
|
| +class ChromeWebViewInternalShowContextMenuFunction
|
| + : public WebViewInternalExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("chromeWebViewInternal.showContextMenu",
|
| + WEBVIEWINTERNAL_SHOWCONTEXTMENU);
|
| +
|
| + ChromeWebViewInternalShowContextMenuFunction();
|
| +
|
| + protected:
|
| + virtual ~ChromeWebViewInternalShowContextMenuFunction();
|
| +
|
| + private:
|
| + // WebViewInternalExtensionFunction implementation.
|
| + virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalShowContextMenuFunction);
|
| +};
|
| +
|
| +} // namespace extensions
|
| +
|
| +#endif // CHROME_BROWSER_EXTENSIONS_API_WEB_VIEW_CHROME_WEB_VIEW_INTERNAL_API_H_
|
|
|