Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / content / ppapi_plugin / ppapi_webkitplatformsupport_impl.h
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.
4
5 #ifndef CONTENT_PPAPI_PLUGIN_PPAPI_WEBKITPLATFORMSUPPORT_IMPL_H_
6 #define CONTENT_PPAPI_PLUGIN_PPAPI_WEBKITPLATFORMSUPPORT_IMPL_H_
7
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "content/child/blink_platform_impl.h"
11
12 namespace content {
13
14 class PpapiWebKitPlatformSupportImpl : public BlinkPlatformImpl {
15  public:
16   PpapiWebKitPlatformSupportImpl();
17   virtual ~PpapiWebKitPlatformSupportImpl();
18
19   // Shutdown must be called just prior to shutting down blink.
20   void Shutdown();
21
22   // WebKitPlatformSupport methods:
23   virtual blink::WebClipboard* clipboard();
24   virtual blink::WebMimeRegistry* mimeRegistry();
25   virtual blink::WebFileUtilities* fileUtilities();
26   virtual blink::WebSandboxSupport* sandboxSupport();
27   virtual bool sandboxEnabled();
28   virtual unsigned long long visitedLinkHash(const char* canonicalURL,
29                                              size_t length);
30   virtual bool isLinkVisited(unsigned long long linkHash);
31   virtual void createMessageChannel(blink::WebMessagePortChannel** channel1,
32                                     blink::WebMessagePortChannel** channel2);
33   virtual void setCookies(const blink::WebURL& url,
34                           const blink::WebURL& first_party_for_cookies,
35                           const blink::WebString& value);
36   virtual blink::WebString cookies(
37       const blink::WebURL& url,
38       const blink::WebURL& first_party_for_cookies);
39   virtual blink::WebString defaultLocale();
40   virtual blink::WebThemeEngine* themeEngine();
41   virtual blink::WebURLLoader* createURLLoader();
42   virtual blink::WebSocketStreamHandle* createSocketStreamHandle();
43   virtual void getPluginList(bool refresh, blink::WebPluginListBuilder*);
44   virtual blink::WebData loadResource(const char* name);
45   virtual blink::WebStorageNamespace* createLocalStorageNamespace();
46   virtual void dispatchStorageEvent(const blink::WebString& key,
47       const blink::WebString& oldValue, const blink::WebString& newValue,
48       const blink::WebString& origin, const blink::WebURL& url,
49       bool isLocalStorage);
50   virtual int databaseDeleteFile(const blink::WebString& vfs_file_name,
51                                  bool sync_dir);
52
53  private:
54   class SandboxSupport;
55   scoped_ptr<SandboxSupport> sandbox_support_;
56
57   DISALLOW_COPY_AND_ASSIGN(PpapiWebKitPlatformSupportImpl);
58 };
59
60 }  // namespace content
61
62 #endif  // CONTENT_PPAPI_PLUGIN_PPAPI_WEBKITPLATFORMSUPPORT_IMPL_H_