First part of porting the Extension Permissions scrolling changes to MacOs.
Working:
Multiple links arbitrarily located within the tree structure.
Not working:
No Up/Down arrow to the right of the link.
BUG=70422
Review URL: https://chromiumcodereview.appspot.com/23189018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220136 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
index 544c04e..7045625 100644
--- a/chrome/browser/extensions/extension_install_prompt.cc
+++ b/chrome/browser/extensions/extension_install_prompt.cc
@@ -188,6 +188,7 @@
ExtensionInstallPrompt::Prompt::Prompt(PromptType type)
: type_(type),
+ is_showing_details_for_retained_files_(false),
extension_(NULL),
bundle_(NULL),
average_rating_(0.0),
@@ -206,10 +207,34 @@
void ExtensionInstallPrompt::Prompt::SetPermissionsDetails(
const std::vector<string16>& details) {
details_ = details;
+ is_showing_details_for_permissions_.clear();
+ for (size_t i = 0; i < details.size(); ++i)
+ is_showing_details_for_permissions_.push_back(false);
+}
+
+void ExtensionInstallPrompt::Prompt::SetIsShowingDetails(
+ DetailsType type,
+ size_t index,
+ bool is_showing_details) {
+ switch (type) {
+ case PERMISSIONS_DETAILS:
+ is_showing_details_for_permissions_[index] = is_showing_details;
+ break;
+ case OAUTH_DETAILS:
+ is_showing_details_for_oauth_[index] = is_showing_details;
+ break;
+ case RETAINED_FILES_DETAILS:
+ is_showing_details_for_retained_files_ = is_showing_details;
+ break;
+ }
}
void ExtensionInstallPrompt::Prompt::SetOAuthIssueAdvice(
const IssueAdviceInfo& issue_advice) {
+ is_showing_details_for_oauth_.clear();
+ for (size_t i = 0; i < issue_advice.size(); ++i)
+ is_showing_details_for_oauth_.push_back(false);
+
oauth_issue_advice_ = issue_advice;
}
@@ -407,6 +432,21 @@
return details_[index];
}
+bool ExtensionInstallPrompt::Prompt::GetIsShowingDetails(
+ DetailsType type, size_t index) const {
+ switch (type) {
+ case PERMISSIONS_DETAILS:
+ CHECK_LT(index, is_showing_details_for_permissions_.size());
+ return is_showing_details_for_permissions_[index];
+ case OAUTH_DETAILS:
+ CHECK_LT(index, is_showing_details_for_oauth_.size());
+ return is_showing_details_for_oauth_[index];
+ case RETAINED_FILES_DETAILS:
+ return is_showing_details_for_retained_files_;
+ }
+ return false;
+}
+
size_t ExtensionInstallPrompt::Prompt::GetOAuthIssueCount() const {
return oauth_issue_advice_.size();
}