OLD | NEW |
| (Empty) |
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_WORKER_WORKER_WEBKITPLATFORMSUPPORT_IMPL_H_ | |
6 #define CONTENT_WORKER_WORKER_WEBKITPLATFORMSUPPORT_IMPL_H_ | |
7 | |
8 #include "base/memory/scoped_ptr.h" | |
9 #include "content/child/blink_platform_impl.h" | |
10 #include "third_party/WebKit/public/platform/WebIDBFactory.h" | |
11 #include "third_party/WebKit/public/platform/WebMimeRegistry.h" | |
12 | |
13 namespace base { | |
14 class MessageLoopProxy; | |
15 } | |
16 | |
17 namespace IPC { | |
18 class SyncMessageFilter; | |
19 } | |
20 | |
21 namespace blink { | |
22 class WebFileUtilities; | |
23 } | |
24 | |
25 namespace content { | |
26 class QuotaMessageFilter; | |
27 class ThreadSafeSender; | |
28 class WebDatabaseObserverImpl; | |
29 class WebFileSystemImpl; | |
30 | |
31 class WorkerWebKitPlatformSupportImpl : public BlinkPlatformImpl, | |
32 public blink::WebMimeRegistry { | |
33 public: | |
34 WorkerWebKitPlatformSupportImpl( | |
35 ThreadSafeSender* sender, | |
36 IPC::SyncMessageFilter* sync_message_filter, | |
37 QuotaMessageFilter* quota_message_filter); | |
38 virtual ~WorkerWebKitPlatformSupportImpl(); | |
39 | |
40 // WebKitPlatformSupport methods: | |
41 virtual blink::WebClipboard* clipboard(); | |
42 virtual blink::WebMimeRegistry* mimeRegistry(); | |
43 virtual blink::WebFileSystem* fileSystem(); | |
44 virtual blink::WebFileUtilities* fileUtilities(); | |
45 virtual blink::WebSandboxSupport* sandboxSupport(); | |
46 virtual bool sandboxEnabled(); | |
47 virtual unsigned long long visitedLinkHash(const char* canonicalURL, | |
48 size_t length); | |
49 virtual bool isLinkVisited(unsigned long long linkHash); | |
50 virtual void createMessageChannel(blink::WebMessagePortChannel** channel1, | |
51 blink::WebMessagePortChannel** channel2); | |
52 virtual void setCookies(const blink::WebURL& url, | |
53 const blink::WebURL& first_party_for_cookies, | |
54 const blink::WebString& value); | |
55 virtual blink::WebString cookies( | |
56 const blink::WebURL& url, | |
57 const blink::WebURL& first_party_for_cookies); | |
58 virtual blink::WebString defaultLocale(); | |
59 virtual blink::WebStorageNamespace* createLocalStorageNamespace(); | |
60 virtual void dispatchStorageEvent( | |
61 const blink::WebString& key, const blink::WebString& old_value, | |
62 const blink::WebString& new_value, const blink::WebString& origin, | |
63 const blink::WebURL& url, bool is_local_storage); | |
64 | |
65 virtual blink::Platform::FileHandle databaseOpenFile( | |
66 const blink::WebString& vfs_file_name, int desired_flags); | |
67 virtual int databaseDeleteFile(const blink::WebString& vfs_file_name, | |
68 bool sync_dir); | |
69 virtual long databaseGetFileAttributes( | |
70 const blink::WebString& vfs_file_name); | |
71 virtual long long databaseGetFileSize( | |
72 const blink::WebString& vfs_file_name); | |
73 virtual long long databaseGetSpaceAvailableForOrigin( | |
74 const blink::WebString& origin_identifier); | |
75 virtual blink::WebBlobRegistry* blobRegistry(); | |
76 virtual blink::WebIDBFactory* idbFactory(); | |
77 virtual blink::WebDatabaseObserver* databaseObserver(); | |
78 | |
79 // WebMimeRegistry methods: | |
80 virtual blink::WebMimeRegistry::SupportsType supportsMIMEType( | |
81 const blink::WebString&); | |
82 virtual blink::WebMimeRegistry::SupportsType supportsImageMIMEType( | |
83 const blink::WebString&); | |
84 virtual blink::WebMimeRegistry::SupportsType supportsJavaScriptMIMEType( | |
85 const blink::WebString&); | |
86 virtual blink::WebMimeRegistry::SupportsType supportsMediaMIMEType( | |
87 const blink::WebString&, | |
88 const blink::WebString&, | |
89 const blink::WebString&); | |
90 virtual bool supportsMediaSourceMIMEType( | |
91 const blink::WebString&, | |
92 const blink::WebString&); | |
93 virtual bool supportsEncryptedMediaMIMEType(const blink::WebString&, | |
94 const blink::WebString&, | |
95 const blink::WebString&); | |
96 virtual blink::WebMimeRegistry::SupportsType supportsNonImageMIMEType( | |
97 const blink::WebString&); | |
98 virtual blink::WebString mimeTypeForExtension(const blink::WebString&); | |
99 virtual blink::WebString wellKnownMimeTypeForExtension( | |
100 const blink::WebString&); | |
101 virtual blink::WebString mimeTypeFromFile(const blink::WebString&); | |
102 virtual void queryStorageUsageAndQuota( | |
103 const blink::WebURL& storage_partition, | |
104 blink::WebStorageQuotaType, | |
105 blink::WebStorageQuotaCallbacks) OVERRIDE; | |
106 | |
107 WebDatabaseObserverImpl* web_database_observer_impl() { | |
108 return web_database_observer_impl_.get(); | |
109 } | |
110 | |
111 private: | |
112 | |
113 class FileUtilities; | |
114 scoped_ptr<FileUtilities> file_utilities_; | |
115 scoped_ptr<blink::WebBlobRegistry> blob_registry_; | |
116 scoped_ptr<blink::WebIDBFactory> web_idb_factory_; | |
117 scoped_refptr<ThreadSafeSender> thread_safe_sender_; | |
118 scoped_refptr<base::MessageLoopProxy> child_thread_loop_; | |
119 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter_; | |
120 scoped_refptr<QuotaMessageFilter> quota_message_filter_; | |
121 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_; | |
122 | |
123 DISALLOW_COPY_AND_ASSIGN(WorkerWebKitPlatformSupportImpl); | |
124 }; | |
125 | |
126 } // namespace content | |
127 | |
128 #endif // CONTENT_WORKER_WORKER_WEBKITPLATFORMSUPPORT_IMPL_H_ | |
OLD | NEW |