OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/renderer/extensions/sync_file_system_custom_bindings.h" | 5 #include "chrome/renderer/extensions/sync_file_system_custom_bindings.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "chrome/common/extensions/extension_constants.h" | 9 #include "chrome/common/extensions/extension_constants.h" |
| 10 #include "chrome/renderer/extensions/chrome_v8_context.h" |
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" | 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
11 #include "v8/include/v8.h" | 12 #include "v8/include/v8.h" |
12 #include "webkit/common/fileapi/file_system_util.h" | 13 #include "webkit/common/fileapi/file_system_util.h" |
13 | 14 |
14 namespace extensions { | 15 namespace extensions { |
15 | 16 |
16 SyncFileSystemCustomBindings::SyncFileSystemCustomBindings( | 17 SyncFileSystemCustomBindings::SyncFileSystemCustomBindings( |
17 Dispatcher* dispatcher, v8::Handle<v8::Context> v8_context) | 18 Dispatcher* dispatcher, ChromeV8Context* context) |
18 : ChromeV8Extension(dispatcher, v8_context) { | 19 : ChromeV8Extension(dispatcher, context) { |
19 RouteFunction( | 20 RouteFunction( |
20 "GetSyncFileSystemObject", | 21 "GetSyncFileSystemObject", |
21 base::Bind(&SyncFileSystemCustomBindings::GetSyncFileSystemObject, | 22 base::Bind(&SyncFileSystemCustomBindings::GetSyncFileSystemObject, |
22 base::Unretained(this))); | 23 base::Unretained(this))); |
23 } | 24 } |
24 | 25 |
25 v8::Handle<v8::Value> SyncFileSystemCustomBindings::GetSyncFileSystemObject( | 26 v8::Handle<v8::Value> SyncFileSystemCustomBindings::GetSyncFileSystemObject( |
26 const v8::Arguments& args) { | 27 const v8::Arguments& args) { |
27 if (args.Length() != 2) { | 28 if (args.Length() != 2) { |
28 NOTREACHED(); | 29 NOTREACHED(); |
(...skipping 13 matching lines...) Expand all Loading... |
42 NOTREACHED(); | 43 NOTREACHED(); |
43 return v8::Undefined(); | 44 return v8::Undefined(); |
44 } | 45 } |
45 std::string root_url(*v8::String::Utf8Value(args[1])); | 46 std::string root_url(*v8::String::Utf8Value(args[1])); |
46 if (root_url.empty()) { | 47 if (root_url.empty()) { |
47 NOTREACHED(); | 48 NOTREACHED(); |
48 return v8::Undefined(); | 49 return v8::Undefined(); |
49 } | 50 } |
50 | 51 |
51 WebKit::WebFrame* webframe = | 52 WebKit::WebFrame* webframe = |
52 WebKit::WebFrame::frameForContext(v8_context()); | 53 WebKit::WebFrame::frameForContext(context()->v8_context()); |
53 return webframe->createFileSystem( | 54 return webframe->createFileSystem( |
54 WebKit::WebFileSystemTypeExternal, | 55 WebKit::WebFileSystemTypeExternal, |
55 WebKit::WebString::fromUTF8(name), | 56 WebKit::WebString::fromUTF8(name), |
56 WebKit::WebString::fromUTF8(root_url)); | 57 WebKit::WebString::fromUTF8(root_url)); |
57 } | 58 } |
58 | 59 |
59 } // namespace extensions | 60 } // namespace extensions |
OLD | NEW |