| Index: extensions/renderer/file_system_natives.cc
|
| diff --git a/extensions/renderer/file_system_natives.cc b/extensions/renderer/file_system_natives.cc
|
| index a06eec8cdd35de2a7cc30b80f18a75e2c3f93b3a..adb5165dfa1f88fa8dfa1867da44456bfa57b3a9 100644
|
| --- a/extensions/renderer/file_system_natives.cc
|
| +++ b/extensions/renderer/file_system_natives.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "extensions/common/constants.h"
|
| #include "extensions/renderer/script_context.h"
|
| +#include "extensions/renderer/v8_maybe_helpers.h"
|
| #include "storage/common/fileapi/file_system_types.h"
|
| #include "storage/common/fileapi/file_system_util.h"
|
| #include "third_party/WebKit/public/platform/WebString.h"
|
| @@ -91,8 +92,9 @@ void FileSystemNatives::GetFileEntry(
|
|
|
| DCHECK(args[4]->IsBoolean());
|
| blink::WebDOMFileSystem::EntryType entry_type =
|
| - args[4]->BooleanValue() ? blink::WebDOMFileSystem::EntryTypeDirectory
|
| - : blink::WebDOMFileSystem::EntryTypeFile;
|
| + args[4].As<v8::Boolean>()->Value()
|
| + ? blink::WebDOMFileSystem::EntryTypeDirectory
|
| + : blink::WebDOMFileSystem::EntryTypeFile;
|
|
|
| blink::WebLocalFrame* webframe =
|
| blink::WebLocalFrame::frameForContext(context()->v8_context());
|
| @@ -117,11 +119,11 @@ void FileSystemNatives::CrackIsolatedFileSystemName(
|
| std::string filesystem_id;
|
| if (!storage::CrackIsolatedFileSystemName(filesystem_name, &filesystem_id))
|
| return;
|
| + if (filesystem_id.size() >= v8::String::kMaxLength)
|
| + return;
|
|
|
| - args.GetReturnValue().Set(v8::String::NewFromUtf8(args.GetIsolate(),
|
| - filesystem_id.c_str(),
|
| - v8::String::kNormalString,
|
| - filesystem_id.size()));
|
| + args.GetReturnValue().Set(
|
| + ToV8String(args.GetIsolate(), filesystem_id.c_str()));
|
| }
|
|
|
| void FileSystemNatives::GetDOMError(
|
|
|