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

Side by Side Diff: chrome/browser/chromeos/extensions/file_browser_handler.cc

Issue 12084034: Change manifest handler interface to always (implicitly) pass the entire manifest to handlers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tts, TODO Created 7 years, 10 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
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/file_browser_handler.h ('k') | chrome/common/extensions/api/commands/commands_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698