[email protected] | 273558fb | 2012-01-12 15:03:51 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | dd924193 | 2010-02-24 19:23:13 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
[email protected] | 8d86fce | 2009-02-26 23:37:55 | [diff] [blame] | 4 | |
[email protected] | 8d6cba4 | 2011-09-02 10:05:19 | [diff] [blame] | 5 | #ifndef CONTENT_RENDERER_RENDERER_WEBKITPLATFORMSUPPORT_IMPL_H_ |
| 6 | #define CONTENT_RENDERER_RENDERER_WEBKITPLATFORMSUPPORT_IMPL_H_ |
[email protected] | 8d86fce | 2009-02-26 23:37:55 | [diff] [blame] | 7 | |
[email protected] | f3112a5 | 2011-09-30 23:47:49 | [diff] [blame] | 8 | #include "base/compiler_specific.h" |
[email protected] | 3b63f8f4 | 2011-03-28 01:54:15 | [diff] [blame] | 9 | #include "base/memory/scoped_ptr.h" |
[email protected] | 017022b | 2009-07-27 23:06:34 | [diff] [blame] | 10 | #include "base/platform_file.h" |
[email protected] | 4db58d7 | 2014-03-24 17:05:19 | [diff] [blame] | 11 | #include "content/child/blink_platform_impl.h" |
[email protected] | f3112a5 | 2011-09-30 23:47:49 | [diff] [blame] | 12 | #include "content/common/content_export.h" |
[email protected] | b9829df | 2013-11-18 22:03:51 | [diff] [blame] | 13 | #include "content/renderer/webpublicsuffixlist_impl.h" |
[email protected] | 5c30b5e0 | 2013-05-30 03:46:08 | [diff] [blame] | 14 | #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
| 15 | #include "third_party/WebKit/public/platform/WebIDBFactory.h" |
[email protected] | 799fd73 | 2013-05-15 21:18:52 | [diff] [blame] | 16 | #include "webkit/renderer/compositor_bindings/web_compositor_support_impl.h" |
[email protected] | 8d86fce | 2009-02-26 23:37:55 | [diff] [blame] | 17 | |
[email protected] | ca405d2 | 2013-06-25 23:28:55 | [diff] [blame] | 18 | namespace base { |
| 19 | class MessageLoopProxy; |
| 20 | } |
| 21 | |
[email protected] | c29b7ff | 2013-03-06 03:51:04 | [diff] [blame] | 22 | namespace cc { |
| 23 | class ContextProvider; |
| 24 | } |
| 25 | |
[email protected] | ca405d2 | 2013-06-25 23:28:55 | [diff] [blame] | 26 | namespace IPC { |
| 27 | class SyncMessageFilter; |
| 28 | } |
| 29 | |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 30 | namespace blink { |
[email protected] | 70bf1a6b | 2013-07-17 17:46:08 | [diff] [blame] | 31 | class WebDeviceMotionData; |
[email protected] | fb640b46 | 2013-08-16 00:00:10 | [diff] [blame] | 32 | class WebDeviceOrientationData; |
[email protected] | 39604c3 | 2013-05-09 12:40:17 | [diff] [blame] | 33 | class WebGraphicsContext3DProvider; |
[email protected] | 785d514 | 2014-02-27 20:03:11 | [diff] [blame] | 34 | class WebScreenOrientationListener; |
[email protected] | 39604c3 | 2013-05-09 12:40:17 | [diff] [blame] | 35 | } |
| 36 | |
[email protected] | e9ff79c | 2012-10-19 21:31:26 | [diff] [blame] | 37 | namespace content { |
[email protected] | 876526aa | 2013-07-11 08:00:57 | [diff] [blame] | 38 | class DeviceMotionEventPump; |
[email protected] | cee8a816 | 2013-08-05 21:17:14 | [diff] [blame] | 39 | class DeviceOrientationEventPump; |
[email protected] | a2d03c0b | 2013-07-29 10:48:11 | [diff] [blame] | 40 | class QuotaMessageFilter; |
[email protected] | e9ff79c | 2012-10-19 21:31:26 | [diff] [blame] | 41 | class RendererClipboardClient; |
[email protected] | 785d514 | 2014-02-27 20:03:11 | [diff] [blame] | 42 | class ScreenOrientationDispatcher; |
[email protected] | b180a0bb | 2013-03-06 00:36:10 | [diff] [blame] | 43 | class ThreadSafeSender; |
[email protected] | bb7538f | 2013-06-21 00:40:28 | [diff] [blame] | 44 | class WebClipboardImpl; |
[email protected] | 1406f89 | 2013-11-12 19:38:19 | [diff] [blame] | 45 | class WebDatabaseObserverImpl; |
[email protected] | eb39819 | 2012-10-22 20:16:19 | [diff] [blame] | 46 | class WebFileSystemImpl; |
[email protected] | e9ff79c | 2012-10-19 21:31:26 | [diff] [blame] | 47 | |
[email protected] | f3112a5 | 2011-09-30 23:47:49 | [diff] [blame] | 48 | class CONTENT_EXPORT RendererWebKitPlatformSupportImpl |
[email protected] | 4db58d7 | 2014-03-24 17:05:19 | [diff] [blame] | 49 | : public BlinkPlatformImpl { |
[email protected] | 8d86fce | 2009-02-26 23:37:55 | [diff] [blame] | 50 | public: |
[email protected] | 8d6cba4 | 2011-09-02 10:05:19 | [diff] [blame] | 51 | RendererWebKitPlatformSupportImpl(); |
| 52 | virtual ~RendererWebKitPlatformSupportImpl(); |
[email protected] | eb6f2c54 | 2009-10-02 04:53:59 | [diff] [blame] | 53 | |
[email protected] | a70b435 | 2012-07-31 22:34:53 | [diff] [blame] | 54 | void set_plugin_refresh_allowed(bool plugin_refresh_allowed) { |
| 55 | plugin_refresh_allowed_ = plugin_refresh_allowed; |
| 56 | } |
[email protected] | 8467ae0d | 2013-02-27 02:02:48 | [diff] [blame] | 57 | // Platform methods: |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 58 | virtual blink::WebClipboard* clipboard(); |
| 59 | virtual blink::WebMimeRegistry* mimeRegistry(); |
| 60 | virtual blink::WebFileUtilities* fileUtilities(); |
| 61 | virtual blink::WebSandboxSupport* sandboxSupport(); |
| 62 | virtual blink::WebCookieJar* cookieJar(); |
| 63 | virtual blink::WebThemeEngine* themeEngine(); |
| 64 | virtual blink::WebSpeechSynthesizer* createSpeechSynthesizer( |
| 65 | blink::WebSpeechSynthesizerClient* client); |
[email protected] | 937c4eb | 2013-01-03 00:36:56 | [diff] [blame] | 66 | virtual bool sandboxEnabled(); |
[email protected] | b8caa3d | 2009-04-16 16:17:20 | [diff] [blame] | 67 | virtual unsigned long long visitedLinkHash( |
[email protected] | 937c4eb | 2013-01-03 00:36:56 | [diff] [blame] | 68 | const char* canonicalURL, size_t length); |
| 69 | virtual bool isLinkVisited(unsigned long long linkHash); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 70 | virtual blink::WebMessagePortChannel* createMessagePortChannel(); |
[email protected] | 802d61ca | 2014-04-08 18:11:55 | [diff] [blame] | 71 | virtual void createMessageChannel( |
| 72 | blink::WebMessagePortChannel** channel1, |
| 73 | blink::WebMessagePortChannel** channel2); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 74 | virtual blink::WebPrescientNetworking* prescientNetworking(); |
[email protected] | b808eb6f | 2010-05-18 17:09:33 | [diff] [blame] | 75 | virtual void cacheMetadata( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 76 | const blink::WebURL&, double, const char*, size_t); |
| 77 | virtual blink::WebString defaultLocale(); |
[email protected] | 937c4eb | 2013-01-03 00:36:56 | [diff] [blame] | 78 | virtual void suddenTerminationChanged(bool enabled); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 79 | virtual blink::WebStorageNamespace* createLocalStorageNamespace(); |
| 80 | virtual blink::Platform::FileHandle databaseOpenFile( |
| 81 | const blink::WebString& vfs_file_name, int desired_flags); |
| 82 | virtual int databaseDeleteFile(const blink::WebString& vfs_file_name, |
[email protected] | 937c4eb | 2013-01-03 00:36:56 | [diff] [blame] | 83 | bool sync_dir); |
[email protected] | 60cba79 | 2009-11-13 06:37:03 | [diff] [blame] | 84 | virtual long databaseGetFileAttributes( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 85 | const blink::WebString& vfs_file_name); |
[email protected] | 60cba79 | 2009-11-13 06:37:03 | [diff] [blame] | 86 | virtual long long databaseGetFileSize( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 87 | const blink::WebString& vfs_file_name); |
[email protected] | db4d4981 | 2011-05-25 00:34:32 | [diff] [blame] | 88 | virtual long long databaseGetSpaceAvailableForOrigin( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 89 | const blink::WebString& origin_identifier); |
| 90 | virtual blink::WebString signedPublicKeyAndChallengeString( |
[email protected] | a755e107 | 2009-10-23 16:58:37 | [diff] [blame] | 91 | unsigned key_size_index, |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 92 | const blink::WebString& challenge, |
| 93 | const blink::WebURL& url); |
[email protected] | b00dedd | 2013-07-20 06:36:53 | [diff] [blame] | 94 | virtual void getPluginList(bool refresh, |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 95 | blink::WebPluginListBuilder* builder); |
[email protected] | b9829df | 2013-11-18 22:03:51 | [diff] [blame] | 96 | virtual blink::WebPublicSuffixList* publicSuffixList(); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 97 | virtual void screenColorProfile(blink::WebVector<char>* to_profile); |
[email protected] | 33b0299 | 2014-03-01 01:06:29 | [diff] [blame] | 98 | virtual blink::WebScrollbarBehavior* scrollbarBehavior(); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 99 | virtual blink::WebIDBFactory* idbFactory(); |
| 100 | virtual blink::WebFileSystem* fileSystem(); |
[email protected] | e4f8181 | 2012-03-14 04:15:58 | [diff] [blame] | 101 | virtual bool canAccelerate2dCanvas(); |
[email protected] | cbc8a45 | 2013-03-05 06:03:47 | [diff] [blame] | 102 | virtual bool isThreadedCompositingEnabled(); |
[email protected] | 937c4eb | 2013-01-03 00:36:56 | [diff] [blame] | 103 | virtual double audioHardwareSampleRate(); |
| 104 | virtual size_t audioHardwareBufferSize(); |
[email protected] | 06ea4f7c | 2013-03-13 20:36:51 | [diff] [blame] | 105 | virtual unsigned audioHardwareOutputChannels(); |
[email protected] | 9f5b353 | 2013-11-18 11:49:49 | [diff] [blame] | 106 | virtual blink::WebDatabaseObserver* databaseObserver(); |
[email protected] | a19efb7 | 2013-01-12 17:05:46 | [diff] [blame] | 107 | |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 108 | virtual blink::WebAudioDevice* createAudioDevice( |
[email protected] | 8d22e587 | 2013-02-22 20:07:11 | [diff] [blame] | 109 | size_t buffer_size, unsigned input_channels, unsigned channels, |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 110 | double sample_rate, blink::WebAudioDevice::RenderCallback* callback, |
| 111 | const blink::WebString& input_device_id); |
[email protected] | 8d22e587 | 2013-02-22 20:07:11 | [diff] [blame] | 112 | |
[email protected] | 99902de | 2013-06-20 23:04:09 | [diff] [blame] | 113 | virtual bool loadAudioResource( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 114 | blink::WebAudioBus* destination_bus, const char* audio_file_data, |
[email protected] | 33fcc33e | 2014-03-13 10:56:24 | [diff] [blame] | 115 | size_t data_size); |
[email protected] | 99902de | 2013-06-20 23:04:09 | [diff] [blame] | 116 | |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 117 | virtual blink::WebMIDIAccessor* |
| 118 | createMIDIAccessor(blink::WebMIDIAccessorClient* client); |
[email protected] | dbc628a | 2013-06-15 17:08:28 | [diff] [blame] | 119 | |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 120 | virtual blink::WebBlobRegistry* blobRegistry(); |
[email protected] | 85603cbb | 2014-03-25 02:20:01 | [diff] [blame] | 121 | virtual void sampleGamepads(blink::WebGamepads&) OVERRIDE; |
| 122 | virtual void setGamepadListener(blink::WebGamepadListener*) OVERRIDE; |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 123 | virtual blink::WebRTCPeerConnectionHandler* createRTCPeerConnectionHandler( |
| 124 | blink::WebRTCPeerConnectionHandlerClient* client); |
| 125 | virtual blink::WebMediaStreamCenter* createMediaStreamCenter( |
| 126 | blink::WebMediaStreamCenterClient* client); |
[email protected] | 2af28f2 | 2013-02-04 16:11:03 | [diff] [blame] | 127 | virtual bool processMemorySizesInBytes( |
| 128 | size_t* private_bytes, size_t* shared_bytes); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 129 | virtual blink::WebGraphicsContext3D* createOffscreenGraphicsContext3D( |
[email protected] | 7f430ab6 | 2014-03-18 20:38:41 | [diff] [blame] | 130 | const blink::WebGraphicsContext3D::Attributes& attributes); |
| 131 | virtual blink::WebGraphicsContext3D* createOffscreenGraphicsContext3D( |
[email protected] | 4f8fd780 | 2014-02-25 18:19:36 | [diff] [blame] | 132 | const blink::WebGraphicsContext3D::Attributes& attributes, |
| 133 | blink::WebGraphicsContext3D* share_context); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 134 | virtual blink::WebGraphicsContext3DProvider* |
[email protected] | 39604c3 | 2013-05-09 12:40:17 | [diff] [blame] | 135 | createSharedOffscreenGraphicsContext3DProvider(); |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 136 | virtual blink::WebCompositorSupport* compositorSupport(); |
| 137 | virtual blink::WebString convertIDNToUnicode( |
| 138 | const blink::WebString& host, const blink::WebString& languages); |
[email protected] | 876526aa | 2013-07-11 08:00:57 | [diff] [blame] | 139 | virtual void setDeviceMotionListener( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 140 | blink::WebDeviceMotionListener* listener) OVERRIDE; |
[email protected] | cee8a816 | 2013-08-05 21:17:14 | [diff] [blame] | 141 | virtual void setDeviceOrientationListener( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 142 | blink::WebDeviceOrientationListener* listener) OVERRIDE; |
[email protected] | b469e8b | 2013-07-23 05:25:07 | [diff] [blame] | 143 | virtual void queryStorageUsageAndQuota( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 144 | const blink::WebURL& storage_partition, |
| 145 | blink::WebStorageQuotaType, |
[email protected] | 45868f07 | 2014-02-06 11:58:59 | [diff] [blame] | 146 | blink::WebStorageQuotaCallbacks) OVERRIDE; |
[email protected] | 16518f9e | 2013-07-19 22:20:04 | [diff] [blame] | 147 | virtual void vibrate(unsigned int milliseconds); |
| 148 | virtual void cancelVibration(); |
[email protected] | 785d514 | 2014-02-27 20:03:11 | [diff] [blame] | 149 | virtual void setScreenOrientationListener( |
| 150 | blink::WebScreenOrientationListener*) OVERRIDE; |
[email protected] | 055e698 | 2014-02-28 16:24:21 | [diff] [blame] | 151 | virtual void lockOrientation(blink::WebScreenOrientations) OVERRIDE; |
| 152 | virtual void unlockOrientation() OVERRIDE; |
[email protected] | 16518f9e | 2013-07-19 22:20:04 | [diff] [blame] | 153 | |
[email protected] | 6d3367d | 2012-06-05 22:01:02 | [diff] [blame] | 154 | // Disables the WebSandboxSupport implementation for testing. |
| 155 | // Tests that do not set up a full sandbox environment should call |
| 156 | // SetSandboxEnabledForTesting(false) _before_ creating any instances |
| 157 | // of this class, to ensure that we don't attempt to use sandbox-related |
| 158 | // file descriptors or other resources. |
| 159 | // |
| 160 | // Returns the previous |enable| value. |
| 161 | static bool SetSandboxEnabledForTesting(bool enable); |
| 162 | |
[email protected] | e519692 | 2012-12-11 22:18:25 | [diff] [blame] | 163 | // Set WebGamepads to return when sampleGamepads() is invoked. |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 164 | static void SetMockGamepadsForTesting(const blink::WebGamepads& pads); |
[email protected] | 85603cbb | 2014-03-25 02:20:01 | [diff] [blame] | 165 | |
| 166 | // Notifies blink::WebGamepadListener about a new gamepad if a listener |
| 167 | // has been set via setGamepadListener. |
| 168 | static void MockGamepadConnected(int index, const blink::WebGamepad& pad); |
| 169 | |
| 170 | // Notifies blink::WebGamepadListener that a gamepad has been disconnected if |
| 171 | // a listener has been set via setGamepadListener. |
| 172 | static void MockGamepadDisconnected(int index, const blink::WebGamepad& pad); |
| 173 | |
[email protected] | 70bf1a6b | 2013-07-17 17:46:08 | [diff] [blame] | 174 | // Set WebDeviceMotionData to return when setDeviceMotionListener is invoked. |
| 175 | static void SetMockDeviceMotionDataForTesting( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 176 | const blink::WebDeviceMotionData& data); |
[email protected] | fb640b46 | 2013-08-16 00:00:10 | [diff] [blame] | 177 | // Set WebDeviceOrientationData to return when setDeviceOrientationListener |
| 178 | // is invoked. |
| 179 | static void SetMockDeviceOrientationDataForTesting( |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 180 | const blink::WebDeviceOrientationData& data); |
[email protected] | e0bc2cb | 2014-03-20 17:34:24 | [diff] [blame] | 181 | // Set WebScreenOrientation to return when setScreenOrientationListener is |
| 182 | // invoked. |
| 183 | static void SetMockScreenOrientationForTesting(blink::WebScreenOrientation); |
[email protected] | e519692 | 2012-12-11 22:18:25 | [diff] [blame] | 184 | |
[email protected] | 1406f89 | 2013-11-12 19:38:19 | [diff] [blame] | 185 | WebDatabaseObserverImpl* web_database_observer_impl() { |
| 186 | return web_database_observer_impl_.get(); |
| 187 | } |
| 188 | |
[email protected] | 8d86fce | 2009-02-26 23:37:55 | [diff] [blame] | 189 | private: |
[email protected] | b808eb6f | 2010-05-18 17:09:33 | [diff] [blame] | 190 | bool CheckPreparsedJsCachingEnabled() const; |
| 191 | |
[email protected] | 0de5d860 | 2011-11-22 03:48:52 | [diff] [blame] | 192 | scoped_ptr<RendererClipboardClient> clipboard_client_; |
[email protected] | bb7538f | 2013-06-21 00:40:28 | [diff] [blame] | 193 | scoped_ptr<WebClipboardImpl> clipboard_; |
[email protected] | b9a0b1b3 | 2009-03-30 23:09:37 | [diff] [blame] | 194 | |
[email protected] | 9bf103ed | 2010-08-18 18:34:31 | [diff] [blame] | 195 | class FileUtilities; |
| 196 | scoped_ptr<FileUtilities> file_utilities_; |
[email protected] | 10b998f8 | 2010-05-06 21:08:59 | [diff] [blame] | 197 | |
[email protected] | 46f36a49 | 2010-07-28 19:36:41 | [diff] [blame] | 198 | class MimeRegistry; |
| 199 | scoped_ptr<MimeRegistry> mime_registry_; |
[email protected] | bce6167 | 2010-06-20 06:54:00 | [diff] [blame] | 200 | |
[email protected] | 46f36a49 | 2010-07-28 19:36:41 | [diff] [blame] | 201 | class SandboxSupport; |
| 202 | scoped_ptr<SandboxSupport> sandbox_support_; |
[email protected] | eb6f2c54 | 2009-10-02 04:53:59 | [diff] [blame] | 203 | |
| 204 | // This counter keeps track of the number of times sudden termination is |
| 205 | // enabled or disabled. It starts at 0 (enabled) and for every disable |
| 206 | // increments by 1, for every enable decrements by 1. When it reaches 0, |
| 207 | // we tell the browser to enable fast termination. |
| 208 | int sudden_termination_disables_; |
[email protected] | ab350536 | 2009-10-30 18:11:47 | [diff] [blame] | 209 | |
[email protected] | a70b435 | 2012-07-31 22:34:53 | [diff] [blame] | 210 | // If true, then a GetPlugins call is allowed to rescan the disk. |
| 211 | bool plugin_refresh_allowed_; |
| 212 | |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 213 | scoped_ptr<blink::WebIDBFactory> web_idb_factory_; |
[email protected] | 52785d4c | 2010-08-25 19:44:49 | [diff] [blame] | 214 | |
[email protected] | 180ef24 | 2013-11-07 06:50:46 | [diff] [blame] | 215 | scoped_ptr<blink::WebBlobRegistry> blob_registry_; |
[email protected] | 4324e61 | 2011-12-01 00:01:38 | [diff] [blame] | 216 | |
[email protected] | b9829df | 2013-11-18 22:03:51 | [diff] [blame] | 217 | WebPublicSuffixListImpl public_suffix_list_; |
| 218 | |
[email protected] | 876526aa | 2013-07-11 08:00:57 | [diff] [blame] | 219 | scoped_ptr<DeviceMotionEventPump> device_motion_event_pump_; |
[email protected] | cee8a816 | 2013-08-05 21:17:14 | [diff] [blame] | 220 | scoped_ptr<DeviceOrientationEventPump> device_orientation_event_pump_; |
[email protected] | 876526aa | 2013-07-11 08:00:57 | [diff] [blame] | 221 | |
[email protected] | ca405d2 | 2013-06-25 23:28:55 | [diff] [blame] | 222 | scoped_refptr<base::MessageLoopProxy> child_thread_loop_; |
| 223 | scoped_refptr<IPC::SyncMessageFilter> sync_message_filter_; |
[email protected] | b180a0bb | 2013-03-06 00:36:10 | [diff] [blame] | 224 | scoped_refptr<ThreadSafeSender> thread_safe_sender_; |
[email protected] | a2d03c0b | 2013-07-29 10:48:11 | [diff] [blame] | 225 | scoped_refptr<QuotaMessageFilter> quota_message_filter_; |
[email protected] | c29b7ff | 2013-03-06 03:51:04 | [diff] [blame] | 226 | |
[email protected] | 1406f89 | 2013-11-12 19:38:19 | [diff] [blame] | 227 | scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_; |
| 228 | |
[email protected] | 8bcb11a | 2013-05-10 01:00:00 | [diff] [blame] | 229 | webkit::WebCompositorSupportImpl compositor_support_; |
[email protected] | 408699c | 2013-07-17 21:23:16 | [diff] [blame] | 230 | |
[email protected] | 785d514 | 2014-02-27 20:03:11 | [diff] [blame] | 231 | scoped_ptr<ScreenOrientationDispatcher> screen_orientation_dispatcher_; |
| 232 | |
[email protected] | 33b0299 | 2014-03-01 01:06:29 | [diff] [blame] | 233 | scoped_ptr<blink::WebScrollbarBehavior> web_scrollbar_behavior_; |
| 234 | |
[email protected] | 546d91c4 | 2014-02-04 05:13:38 | [diff] [blame] | 235 | DISALLOW_COPY_AND_ASSIGN(RendererWebKitPlatformSupportImpl); |
[email protected] | 8d86fce | 2009-02-26 23:37:55 | [diff] [blame] | 236 | }; |
| 237 | |
[email protected] | e9ff79c | 2012-10-19 21:31:26 | [diff] [blame] | 238 | } // namespace content |
| 239 | |
[email protected] | 8d6cba4 | 2011-09-02 10:05:19 | [diff] [blame] | 240 | #endif // CONTENT_RENDERER_RENDERER_WEBKITPLATFORMSUPPORT_IMPL_H_ |