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

Side by Side Diff: chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc

Issue 1077823005: Declare providing extension capabilities in the manifest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed tests. Created 5 years, 7 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/file_manager/private_api_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/chromeos/extensions/file_manager/private_api_misc.h" 5 #include "chrome/browser/chromeos/extensions/file_manager/private_api_misc.h"
6 6
7 #include "ash/frame/frame_util.h" 7 #include "ash/frame/frame_util.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 14 matching lines...) Expand all
25 #include "chrome/browser/extensions/devtools_util.h" 25 #include "chrome/browser/extensions/devtools_util.h"
26 #include "chrome/browser/lifetime/application_lifetime.h" 26 #include "chrome/browser/lifetime/application_lifetime.h"
27 #include "chrome/browser/profiles/profile.h" 27 #include "chrome/browser/profiles/profile.h"
28 #include "chrome/browser/profiles/profile_manager.h" 28 #include "chrome/browser/profiles/profile_manager.h"
29 #include "chrome/browser/profiles/profiles_state.h" 29 #include "chrome/browser/profiles/profiles_state.h"
30 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 30 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
31 #include "chrome/browser/signin/signin_manager_factory.h" 31 #include "chrome/browser/signin/signin_manager_factory.h"
32 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" 32 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
33 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" 33 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
34 #include "chrome/common/extensions/api/file_manager_private.h" 34 #include "chrome/common/extensions/api/file_manager_private.h"
35 #include "chrome/common/extensions/api/manifest_types.h"
35 #include "chrome/common/pref_names.h" 36 #include "chrome/common/pref_names.h"
36 #include "components/signin/core/browser/profile_oauth2_token_service.h" 37 #include "components/signin/core/browser/profile_oauth2_token_service.h"
37 #include "components/signin/core/browser/signin_manager.h" 38 #include "components/signin/core/browser/signin_manager.h"
38 #include "components/user_manager/user_manager.h" 39 #include "components/user_manager/user_manager.h"
39 #include "content/public/browser/render_view_host.h" 40 #include "content/public/browser/render_view_host.h"
40 #include "content/public/browser/web_contents.h" 41 #include "content/public/browser/web_contents.h"
41 #include "content/public/common/page_zoom.h" 42 #include "content/public/common/page_zoom.h"
42 #include "extensions/browser/app_window/app_window.h" 43 #include "extensions/browser/app_window/app_window.h"
43 #include "extensions/browser/app_window/app_window_registry.h" 44 #include "extensions/browser/app_window/app_window_registry.h"
44 #include "google_apis/drive/auth_service.h" 45 #include "google_apis/drive/auth_service.h"
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 const std::vector<ProvidingExtensionInfo> info_list = 485 const std::vector<ProvidingExtensionInfo> info_list =
485 service->GetProvidingExtensionInfoList(); 486 service->GetProvidingExtensionInfoList();
486 487
487 using api::file_manager_private::ProvidingExtension; 488 using api::file_manager_private::ProvidingExtension;
488 std::vector<linked_ptr<ProvidingExtension>> providing_extensions; 489 std::vector<linked_ptr<ProvidingExtension>> providing_extensions;
489 for (const auto& info : info_list) { 490 for (const auto& info : info_list) {
490 const linked_ptr<ProvidingExtension> providing_extension( 491 const linked_ptr<ProvidingExtension> providing_extension(
491 new ProvidingExtension); 492 new ProvidingExtension);
492 providing_extension->extension_id = info.extension_id; 493 providing_extension->extension_id = info.extension_id;
493 providing_extension->name = info.name; 494 providing_extension->name = info.name;
494 providing_extension->can_configure = info.can_configure; 495 providing_extension->configurable = info.capabilities.configurable();
495 providing_extension->can_add = info.can_add; 496 providing_extension->multiple_mounts = info.capabilities.multiple_mounts();
497 switch (info.capabilities.source()) {
498 case SOURCE_FILE:
499 providing_extension->source =
500 api::manifest_types::FILE_SYSTEM_PROVIDER_SOURCE_FILE;
501 break;
502 case SOURCE_DEVICE:
503 providing_extension->source =
504 api::manifest_types::FILE_SYSTEM_PROVIDER_SOURCE_DEVICE;
505 break;
506 case SOURCE_NETWORK:
507 providing_extension->source =
508 api::manifest_types::FILE_SYSTEM_PROVIDER_SOURCE_NETWORK;
509 break;
510 }
496 providing_extensions.push_back(providing_extension); 511 providing_extensions.push_back(providing_extension);
497 } 512 }
498 513
499 return RespondNow(ArgumentList( 514 return RespondNow(ArgumentList(
500 api::file_manager_private::GetProvidingExtensions::Results::Create( 515 api::file_manager_private::GetProvidingExtensions::Results::Create(
501 providing_extensions).Pass())); 516 providing_extensions).Pass()));
502 } 517 }
503 518
504 FileManagerPrivateAddProvidedFileSystemFunction:: 519 FileManagerPrivateAddProvidedFileSystemFunction::
505 FileManagerPrivateAddProvidedFileSystemFunction() 520 FileManagerPrivateAddProvidedFileSystemFunction()
(...skipping 25 matching lines...) Expand all
531 FileManagerPrivateConfigureProvidedFileSystemFunction::Run() { 546 FileManagerPrivateConfigureProvidedFileSystemFunction::Run() {
532 using extensions::api::file_manager_private::ConfigureProvidedFileSystem:: 547 using extensions::api::file_manager_private::ConfigureProvidedFileSystem::
533 Params; 548 Params;
534 const scoped_ptr<Params> params(Params::Create(*args_)); 549 const scoped_ptr<Params> params(Params::Create(*args_));
535 EXTENSION_FUNCTION_VALIDATE(params); 550 EXTENSION_FUNCTION_VALIDATE(params);
536 551
537 using file_manager::VolumeManager; 552 using file_manager::VolumeManager;
538 using file_manager::Volume; 553 using file_manager::Volume;
539 VolumeManager* const volume_manager = 554 VolumeManager* const volume_manager =
540 VolumeManager::Get(chrome_details_.GetProfile()); 555 VolumeManager::Get(chrome_details_.GetProfile());
541 LOG(ERROR) << "LOOKING FOR: " << params->volume_id;
542 base::WeakPtr<Volume> volume = 556 base::WeakPtr<Volume> volume =
543 volume_manager->FindVolumeById(params->volume_id); 557 volume_manager->FindVolumeById(params->volume_id);
544 if (!volume.get()) 558 if (!volume.get())
545 return RespondNow(Error("Volume not found.")); 559 return RespondNow(Error("Volume not found."));
546 560
547 using chromeos::file_system_provider::Service; 561 using chromeos::file_system_provider::Service;
548 Service* const service = Service::Get(chrome_details_.GetProfile()); 562 Service* const service = Service::Get(chrome_details_.GetProfile());
549 DCHECK(service); 563 DCHECK(service);
550 564
551 using chromeos::file_system_provider::ProvidedFileSystemInterface; 565 using chromeos::file_system_provider::ProvidedFileSystemInterface;
(...skipping 12 matching lines...) Expand all
564 base::File::Error result) { 578 base::File::Error result) {
565 if (result != base::File::FILE_OK) { 579 if (result != base::File::FILE_OK) {
566 Respond(Error("Failed to complete configuration.")); 580 Respond(Error("Failed to complete configuration."));
567 return; 581 return;
568 } 582 }
569 583
570 Respond(NoArguments()); 584 Respond(NoArguments());
571 } 585 }
572 586
573 } // namespace extensions 587 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/file_manager/private_api_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698