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

Side by Side Diff: chrome/browser/extensions/extensions_ui.cc

Issue 6772022: Make <all_urls> and file:///* in permissions trigger "Allow file access" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch for landing Created 9 years, 8 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/extensions_ui.h" 5 #include "chrome/browser/extensions/extensions_ui.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 url_patterns.begin(); 708 url_patterns.begin();
709 url_pattern != url_patterns.end(); ++url_pattern) { 709 url_pattern != url_patterns.end(); ++url_pattern) {
710 url_pattern_list->Append(new StringValue(url_pattern->GetAsString())); 710 url_pattern_list->Append(new StringValue(url_pattern->GetAsString()));
711 } 711 }
712 712
713 script_data->Set("matches", url_pattern_list); 713 script_data->Set("matches", url_pattern_list);
714 714
715 return script_data; 715 return script_data;
716 } 716 }
717 717
718 static bool ExtensionWantsFileAccess(const Extension* extension) {
719 for (UserScriptList::const_iterator it = extension->content_scripts().begin();
720 it != extension->content_scripts().end(); ++it) {
721 for (UserScript::PatternList::const_iterator pattern =
722 it->url_patterns().begin();
723 pattern != it->url_patterns().end(); ++pattern) {
724 if (pattern->MatchesScheme(chrome::kFileScheme))
725 return true;
726 }
727 }
728
729 return false;
730 }
731
732 // Static 718 // Static
733 DictionaryValue* ExtensionsDOMHandler::CreateExtensionDetailValue( 719 DictionaryValue* ExtensionsDOMHandler::CreateExtensionDetailValue(
734 ExtensionService* service, const Extension* extension, 720 ExtensionService* service, const Extension* extension,
735 const std::vector<ExtensionPage>& pages, bool enabled, bool terminated) { 721 const std::vector<ExtensionPage>& pages, bool enabled, bool terminated) {
736 DictionaryValue* extension_data = new DictionaryValue(); 722 DictionaryValue* extension_data = new DictionaryValue();
737 GURL icon = 723 GURL icon =
738 ExtensionIconSource::GetIconURL(extension, 724 ExtensionIconSource::GetIconURL(extension,
739 Extension::EXTENSION_ICON_MEDIUM, 725 Extension::EXTENSION_ICON_MEDIUM,
740 ExtensionIconSet::MATCH_BIGGER, 726 ExtensionIconSet::MATCH_BIGGER,
741 !enabled); 727 !enabled);
742 extension_data->SetString("id", extension->id()); 728 extension_data->SetString("id", extension->id());
743 extension_data->SetString("name", extension->name()); 729 extension_data->SetString("name", extension->name());
744 extension_data->SetString("description", extension->description()); 730 extension_data->SetString("description", extension->description());
745 if (extension->location() == Extension::LOAD) 731 if (extension->location() == Extension::LOAD)
746 extension_data->SetString("path", extension->path().value()); 732 extension_data->SetString("path", extension->path().value());
747 extension_data->SetString("version", extension->version()->GetString()); 733 extension_data->SetString("version", extension->version()->GetString());
748 extension_data->SetString("icon", icon.spec()); 734 extension_data->SetString("icon", icon.spec());
749 extension_data->SetBoolean("isUnpacked", 735 extension_data->SetBoolean("isUnpacked",
750 extension->location() == Extension::LOAD); 736 extension->location() == Extension::LOAD);
751 extension_data->SetBoolean("mayDisable", 737 extension_data->SetBoolean("mayDisable",
752 Extension::UserMayDisable(extension->location())); 738 Extension::UserMayDisable(extension->location()));
753 extension_data->SetBoolean("enabled", enabled); 739 extension_data->SetBoolean("enabled", enabled);
754 extension_data->SetBoolean("terminated", terminated); 740 extension_data->SetBoolean("terminated", terminated);
755 extension_data->SetBoolean("enabledIncognito", 741 extension_data->SetBoolean("enabledIncognito",
756 service ? service->IsIncognitoEnabled(extension) : false); 742 service ? service->IsIncognitoEnabled(extension) : false);
757 extension_data->SetBoolean("wantsFileAccess", 743 extension_data->SetBoolean("wantsFileAccess", extension->wants_file_access());
758 ExtensionWantsFileAccess(extension));
759 extension_data->SetBoolean("allowFileAccess", 744 extension_data->SetBoolean("allowFileAccess",
760 service ? service->AllowFileAccess(extension) : false); 745 service ? service->AllowFileAccess(extension) : false);
761 extension_data->SetBoolean("allow_reload", 746 extension_data->SetBoolean("allow_reload",
762 extension->location() == Extension::LOAD); 747 extension->location() == Extension::LOAD);
763 extension_data->SetBoolean("is_hosted_app", extension->is_hosted_app()); 748 extension_data->SetBoolean("is_hosted_app", extension->is_hosted_app());
764 749
765 // Determine the sort order: Extensions loaded through --load-extensions show 750 // Determine the sort order: Extensions loaded through --load-extensions show
766 // up at the top. Disabled extensions show up at the bottom. 751 // up at the top. Disabled extensions show up at the bottom.
767 if (extension->location() == Extension::LOAD) 752 if (extension->location() == Extension::LOAD)
768 extension_data->SetInteger("order", 1); 753 extension_data->SetInteger("order", 1);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 // static 893 // static
909 RefCountedMemory* ExtensionsUI::GetFaviconResourceBytes() { 894 RefCountedMemory* ExtensionsUI::GetFaviconResourceBytes() {
910 return ResourceBundle::GetSharedInstance(). 895 return ResourceBundle::GetSharedInstance().
911 LoadDataResourceBytes(IDR_PLUGIN); 896 LoadDataResourceBytes(IDR_PLUGIN);
912 } 897 }
913 898
914 // static 899 // static
915 void ExtensionsUI::RegisterUserPrefs(PrefService* prefs) { 900 void ExtensionsUI::RegisterUserPrefs(PrefService* prefs) {
916 prefs->RegisterBooleanPref(prefs::kExtensionsUIDeveloperMode, false); 901 prefs->RegisterBooleanPref(prefs::kExtensionsUIDeveloperMode, false);
917 } 902 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.cc ('k') | chrome/browser/extensions/user_script_master.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698