| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/extensions/media_galleries_handler.h" | 5 #include "chrome/browser/extensions/media_galleries_handler.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 result->set_icon_path(default_icon); | 71 result->set_icon_path(default_icon); |
| 72 } | 72 } |
| 73 | 73 |
| 74 return result.release(); | 74 return result.release(); |
| 75 } | 75 } |
| 76 | 76 |
| 77 // Loads MediaGalleriesHandlers from |extension_actions| into a list in | 77 // Loads MediaGalleriesHandlers from |extension_actions| into a list in |
| 78 // |result|. | 78 // |result|. |
| 79 bool LoadMediaGalleriesHandlers( | 79 bool LoadMediaGalleriesHandlers( |
| 80 const std::string& extension_id, | 80 const std::string& extension_id, |
| 81 const ListValue* extension_actions, | 81 const base::ListValue* extension_actions, |
| 82 MediaGalleriesHandler::List* result, | 82 MediaGalleriesHandler::List* result, |
| 83 string16* error) { | 83 string16* error) { |
| 84 for (ListValue::const_iterator iter = extension_actions->begin(); | 84 for (base::ListValue::const_iterator iter = extension_actions->begin(); |
| 85 iter != extension_actions->end(); | 85 iter != extension_actions->end(); |
| 86 ++iter) { | 86 ++iter) { |
| 87 if (!(*iter)->IsType(Value::TYPE_DICTIONARY)) { | 87 if (!(*iter)->IsType(Value::TYPE_DICTIONARY)) { |
| 88 *error = ASCIIToUTF16(errors::kInvalidMediaGalleriesHandler); | 88 *error = ASCIIToUTF16(errors::kInvalidMediaGalleriesHandler); |
| 89 return false; | 89 return false; |
| 90 } | 90 } |
| 91 scoped_ptr<MediaGalleriesHandler> action( | 91 scoped_ptr<MediaGalleriesHandler> action( |
| 92 LoadMediaGalleriesHandler( | 92 LoadMediaGalleriesHandler( |
| 93 extension_id, reinterpret_cast<DictionaryValue*>(*iter), error)); | 93 extension_id, reinterpret_cast<DictionaryValue*>(*iter), error)); |
| 94 if (!action) | 94 if (!action) |
| (...skipping 22 matching lines...) Expand all Loading... |
| 117 } | 117 } |
| 118 | 118 |
| 119 MediaGalleriesHandlerParser::MediaGalleriesHandlerParser() { | 119 MediaGalleriesHandlerParser::MediaGalleriesHandlerParser() { |
| 120 } | 120 } |
| 121 | 121 |
| 122 MediaGalleriesHandlerParser::~MediaGalleriesHandlerParser() { | 122 MediaGalleriesHandlerParser::~MediaGalleriesHandlerParser() { |
| 123 } | 123 } |
| 124 | 124 |
| 125 bool MediaGalleriesHandlerParser::Parse(extensions::Extension* extension, | 125 bool MediaGalleriesHandlerParser::Parse(extensions::Extension* extension, |
| 126 string16* error) { | 126 string16* error) { |
| 127 const ListValue* media_galleries_handlers_value = NULL; | 127 const base::ListValue* media_galleries_handlers_value = NULL; |
| 128 if (!extension->manifest()->GetList(keys::kMediaGalleriesHandlers, | 128 if (!extension->manifest()->GetList(keys::kMediaGalleriesHandlers, |
| 129 &media_galleries_handlers_value)) { | 129 &media_galleries_handlers_value)) { |
| 130 *error = ASCIIToUTF16(errors::kInvalidMediaGalleriesHandler); | 130 *error = ASCIIToUTF16(errors::kInvalidMediaGalleriesHandler); |
| 131 return false; | 131 return false; |
| 132 } | 132 } |
| 133 scoped_ptr<MediaGalleriesHandlerInfo> info(new MediaGalleriesHandlerInfo); | 133 scoped_ptr<MediaGalleriesHandlerInfo> info(new MediaGalleriesHandlerInfo); |
| 134 if (!LoadMediaGalleriesHandlers(extension->id(), | 134 if (!LoadMediaGalleriesHandlers(extension->id(), |
| 135 media_galleries_handlers_value, | 135 media_galleries_handlers_value, |
| 136 &info->media_galleries_handlers, | 136 &info->media_galleries_handlers, |
| 137 error)) { | 137 error)) { |
| 138 return false; // Failed to parse media galleries actions definition. | 138 return false; // Failed to parse media galleries actions definition. |
| 139 } | 139 } |
| 140 | 140 |
| 141 extension->SetManifestData(keys::kMediaGalleriesHandlers, info.release()); | 141 extension->SetManifestData(keys::kMediaGalleriesHandlers, info.release()); |
| 142 return true; | 142 return true; |
| 143 } | 143 } |
| 144 | 144 |
| 145 const std::vector<std::string> MediaGalleriesHandlerParser::Keys() const { | 145 const std::vector<std::string> MediaGalleriesHandlerParser::Keys() const { |
| 146 return SingleKey(keys::kMediaGalleriesHandlers); | 146 return SingleKey(keys::kMediaGalleriesHandlers); |
| 147 } | 147 } |
| OLD | NEW |