Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1045)

Side by Side Diff: chrome/renderer/renderer_webkitclient_impl.cc

Issue 174232: Chromium side patch for DB support on Linux. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Final version, including changes to the DEPS file. Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/renderer_webkitclient_impl.h ('k') | third_party/sqlite/README.chromium » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
2 // source code is governed by a BSD-style license that can be found in the 2 // source code is governed by a BSD-style license that can be found in the
3 // LICENSE file. 3 // LICENSE file.
4 4
5 #include "chrome/renderer/renderer_webkitclient_impl.h" 5 #include "chrome/renderer/renderer_webkitclient_impl.h"
6 6
7 #if defined(USE_SYSTEM_SQLITE)
8 #include <sqlite3.h>
9 #else
10 #include "third_party/sqlite/preprocessed/sqlite3.h"
11 #endif
12
7 #include "base/command_line.h" 13 #include "base/command_line.h"
8 #include "base/file_path.h" 14 #include "base/file_path.h"
9 #include "base/platform_file.h" 15 #include "base/platform_file.h"
10 #include "chrome/common/appcache/appcache_dispatcher.h" 16 #include "chrome/common/appcache/appcache_dispatcher.h"
11 #include "chrome/common/chrome_switches.h" 17 #include "chrome/common/chrome_switches.h"
12 #include "chrome/common/db_message_filter.h" 18 #include "chrome/common/db_message_filter.h"
13 #include "chrome/common/render_messages.h" 19 #include "chrome/common/render_messages.h"
14 #include "chrome/common/webmessageportchannel_impl.h" 20 #include "chrome/common/webmessageportchannel_impl.h"
15 #include "chrome/plugin/npobject_util.h" 21 #include "chrome/plugin/npobject_util.h"
16 #include "chrome/renderer/net/render_dns_master.h" 22 #include "chrome/renderer/net/render_dns_master.h"
17 #include "chrome/renderer/render_thread.h" 23 #include "chrome/renderer/render_thread.h"
18 #include "chrome/renderer/renderer_webstoragenamespace_impl.h" 24 #include "chrome/renderer/renderer_webstoragenamespace_impl.h"
19 #include "chrome/renderer/visitedlink_slave.h" 25 #include "chrome/renderer/visitedlink_slave.h"
20 #include "webkit/api/public/WebString.h" 26 #include "webkit/api/public/WebString.h"
21 #include "webkit/api/public/WebURL.h" 27 #include "webkit/api/public/WebURL.h"
22 #include "webkit/appcache/web_application_cache_host_impl.h" 28 #include "webkit/appcache/web_application_cache_host_impl.h"
23 #include "webkit/glue/glue_util.h" 29 #include "webkit/glue/glue_util.h"
24 #include "webkit/glue/webkit_glue.h" 30 #include "webkit/glue/webkit_glue.h"
25 31
26 #if defined(OS_LINUX) 32 #if defined(OS_LINUX)
27 #include "chrome/renderer/renderer_sandbox_support_linux.h" 33 #include "chrome/renderer/renderer_sandbox_support_linux.h"
28 #endif 34 #endif
29 35
36 #if defined(OS_POSIX)
37 #include "base/file_descriptor_posix.h"
38 #endif
39
30 using WebKit::WebApplicationCacheHost; 40 using WebKit::WebApplicationCacheHost;
31 using WebKit::WebApplicationCacheHostClient; 41 using WebKit::WebApplicationCacheHostClient;
32 using WebKit::WebStorageArea; 42 using WebKit::WebStorageArea;
33 using WebKit::WebStorageNamespace; 43 using WebKit::WebStorageNamespace;
34 using WebKit::WebString; 44 using WebKit::WebString;
35 using WebKit::WebURL; 45 using WebKit::WebURL;
36 46
37 //------------------------------------------------------------------------------ 47 //------------------------------------------------------------------------------
38 48
39 WebKit::WebClipboard* RendererWebKitClientImpl::clipboard() { 49 WebKit::WebClipboard* RendererWebKitClientImpl::clipboard() {
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 num_characters); 229 num_characters);
220 unicode_font_families_.insert(make_pair(key, family_name)); 230 unicode_font_families_.insert(make_pair(key, family_name));
221 return WebString::fromUTF8(family_name); 231 return WebString::fromUTF8(family_name);
222 } 232 }
223 233
224 #endif 234 #endif
225 235
226 //------------------------------------------------------------------------------ 236 //------------------------------------------------------------------------------
227 237
228 base::PlatformFile RendererWebKitClientImpl::databaseOpenFile( 238 base::PlatformFile RendererWebKitClientImpl::databaseOpenFile(
229 const WebString& file_name, int desired_flags) { 239 const WebString& file_name, int desired_flags,
240 base::PlatformFile* dir_handle) {
230 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance(); 241 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance();
231 int message_id = db_message_filter->GetUniqueID(); 242 int message_id = db_message_filter->GetUniqueID();
232 return db_message_filter->SendAndWait( 243
233 new ViewHostMsg_DatabaseOpenFile( 244 ViewMsg_DatabaseOpenFileResponse_Params default_response =
234 FilePath(webkit_glue::WebStringToFilePathString(file_name)), 245 #if defined(OS_WIN)
235 desired_flags, message_id), 246 { base::kInvalidPlatformFileValue };
236 message_id, base::kInvalidPlatformFileValue); 247 #elif defined(OS_POSIX)
248 { base::FileDescriptor(base::kInvalidPlatformFileValue, true),
249 base::FileDescriptor(base::kInvalidPlatformFileValue, true) };
250 #endif
251
252 ViewMsg_DatabaseOpenFileResponse_Params result =
253 db_message_filter->SendAndWait(
254 new ViewHostMsg_DatabaseOpenFile(
255 FilePath(webkit_glue::WebStringToFilePathString(file_name)),
256 desired_flags, message_id),
257 message_id, default_response);
258
259 #if defined(OS_WIN)
260 if (dir_handle) {
261 *dir_handle = base::kInvalidPlatformFileValue;
262 }
263 return result.file_handle;
264 #elif defined(OS_POSIX)
265 if (dir_handle) {
266 *dir_handle = result.dir_handle.fd;
267 }
268 return result.file_handle.fd;
269 #endif
237 } 270 }
238 271
239 bool RendererWebKitClientImpl::databaseDeleteFile(const WebString& file_name) { 272 int RendererWebKitClientImpl::databaseDeleteFile(
273 const WebString& file_name, bool sync_dir) {
240 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance(); 274 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance();
241 int message_id = db_message_filter->GetUniqueID(); 275 int message_id = db_message_filter->GetUniqueID();
242 return db_message_filter->SendAndWait( 276 return db_message_filter->SendAndWait(
243 new ViewHostMsg_DatabaseDeleteFile( 277 new ViewHostMsg_DatabaseDeleteFile(
244 FilePath(webkit_glue::WebStringToFilePathString(file_name)), 278 FilePath(webkit_glue::WebStringToFilePathString(file_name)), sync_dir,
245 message_id), 279 message_id),
246 message_id, false); 280 message_id, SQLITE_IOERR_DELETE);
247 } 281 }
248 282
249 long RendererWebKitClientImpl::databaseGetFileAttributes( 283 long RendererWebKitClientImpl::databaseGetFileAttributes(
250 const WebString& file_name) { 284 const WebString& file_name) {
251 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance(); 285 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance();
252 int message_id = db_message_filter->GetUniqueID(); 286 int message_id = db_message_filter->GetUniqueID();
253 return db_message_filter->SendAndWait( 287 return db_message_filter->SendAndWait(
254 new ViewHostMsg_DatabaseGetFileAttributes( 288 new ViewHostMsg_DatabaseGetFileAttributes(
255 FilePath(webkit_glue::WebStringToFilePathString(file_name)), 289 FilePath(webkit_glue::WebStringToFilePathString(file_name)),
256 message_id), 290 message_id),
257 message_id, -1L); 291 message_id, -1L);
258 } 292 }
259 293
260 long long RendererWebKitClientImpl::databaseGetFileSize( 294 long long RendererWebKitClientImpl::databaseGetFileSize(
261 const WebString& file_name) { 295 const WebString& file_name) {
262 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance(); 296 DBMessageFilter* db_message_filter = DBMessageFilter::GetInstance();
263 int message_id = db_message_filter->GetUniqueID(); 297 int message_id = db_message_filter->GetUniqueID();
264 return db_message_filter->SendAndWait( 298 return db_message_filter->SendAndWait(
265 new ViewHostMsg_DatabaseGetFileSize( 299 new ViewHostMsg_DatabaseGetFileSize(
266 FilePath(webkit_glue::WebStringToFilePathString(file_name)), 300 FilePath(webkit_glue::WebStringToFilePathString(file_name)),
267 message_id), 301 message_id),
268 message_id, 0LL); 302 message_id, 0LL);
269 } 303 }
OLDNEW
« no previous file with comments | « chrome/renderer/renderer_webkitclient_impl.h ('k') | third_party/sqlite/README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698