| 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/browser/chromeos/extensions/file_browser_handler.h" | 5 #include "chrome/browser/chromeos/extensions/file_browser_handler.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "chrome/common/extensions/extension_constants.h" | 12 #include "chrome/common/extensions/extension_constants.h" |
| 13 #include "chrome/common/extensions/extension_manifest_constants.h" | 13 #include "chrome/common/extensions/extension_manifest_constants.h" |
| 14 #include "chrome/common/extensions/manifest.h" |
| 14 #include "content/public/common/url_constants.h" | 15 #include "content/public/common/url_constants.h" |
| 15 #include "extensions/common/error_utils.h" | 16 #include "extensions/common/error_utils.h" |
| 16 #include "extensions/common/url_pattern.h" | 17 #include "extensions/common/url_pattern.h" |
| 17 #include "googleurl/src/gurl.h" | 18 #include "googleurl/src/gurl.h" |
| 18 #include "googleurl/src/url_util.h" | 19 #include "googleurl/src/url_util.h" |
| 19 | 20 |
| 20 namespace keys = extension_manifest_keys; | 21 namespace keys = extension_manifest_keys; |
| 21 namespace errors = extension_manifest_errors; | 22 namespace errors = extension_manifest_errors; |
| 22 | 23 |
| 23 namespace { | 24 namespace { |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 extension_id, reinterpret_cast<DictionaryValue*>(*iter), error)); | 328 extension_id, reinterpret_cast<DictionaryValue*>(*iter), error)); |
| 328 if (!action.get()) | 329 if (!action.get()) |
| 329 return false; // Failed to parse file browser action definition. | 330 return false; // Failed to parse file browser action definition. |
| 330 result->push_back(linked_ptr<FileBrowserHandler>(action.release())); | 331 result->push_back(linked_ptr<FileBrowserHandler>(action.release())); |
| 331 } | 332 } |
| 332 return true; | 333 return true; |
| 333 } | 334 } |
| 334 | 335 |
| 335 } // namespace | 336 } // namespace |
| 336 | 337 |
| 337 bool FileBrowserHandlerParser::Parse(const base::Value* value, | 338 bool FileBrowserHandlerParser::Parse(extensions::Extension* extension, |
| 338 extensions::Extension* extension, | |
| 339 string16* error) { | 339 string16* error) { |
| 340 const ListValue* file_browser_handlers_value = NULL; | 340 const ListValue* file_browser_handlers_value = NULL; |
| 341 if (!value->GetAsList(&file_browser_handlers_value)) { | 341 if (!extension->manifest()->GetList(keys::kFileBrowserHandlers, |
| 342 &file_browser_handlers_value)) { |
| 342 *error = ASCIIToUTF16(errors::kInvalidFileBrowserHandler); | 343 *error = ASCIIToUTF16(errors::kInvalidFileBrowserHandler); |
| 343 return false; | 344 return false; |
| 344 } | 345 } |
| 345 scoped_ptr<FileBrowserHandlerInfo> info(new FileBrowserHandlerInfo); | 346 scoped_ptr<FileBrowserHandlerInfo> info(new FileBrowserHandlerInfo); |
| 346 if (!LoadFileBrowserHandlers(extension->id(), | 347 if (!LoadFileBrowserHandlers(extension->id(), |
| 347 file_browser_handlers_value, | 348 file_browser_handlers_value, |
| 348 &info->file_browser_handlers, | 349 &info->file_browser_handlers, |
| 349 error)) { | 350 error)) { |
| 350 return false; // Failed to parse file browser actions definition. | 351 return false; // Failed to parse file browser actions definition. |
| 351 } | 352 } |
| 352 | 353 |
| 353 extension->SetManifestData(keys::kFileBrowserHandlers, info.release()); | 354 extension->SetManifestData(keys::kFileBrowserHandlers, info.release()); |
| 354 return true; | 355 return true; |
| 355 } | 356 } |
| OLD | NEW |