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

Unified Diff: chrome/browser/extensions/device_permissions_dialog_controller.cc

Issue 2390823005: Update device permissions dialog ui for Chrome apps and extensions (Closed)
Patch Set: clean up code Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/device_permissions_dialog_controller.cc
diff --git a/chrome/browser/extensions/device_permissions_dialog_controller.cc b/chrome/browser/extensions/device_permissions_dialog_controller.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4c0db210fd3a8086c21efe495fd7d58ac36f9a9e
--- /dev/null
+++ b/chrome/browser/extensions/device_permissions_dialog_controller.cc
@@ -0,0 +1,84 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/extensions/device_permissions_dialog_controller.h"
+
+#include "chrome/grit/generated_resources.h"
+#include "extensions/strings/grit/extensions_strings.h"
+#include "ui/base/l10n/l10n_util.h"
+
+DevicePermissionsDialogController::DevicePermissionsDialogController(
+ content::RenderFrameHost* owner,
+ scoped_refptr<extensions::DevicePermissionsPrompt::Prompt> prompt)
+ : ChooserController(
+ owner,
+ prompt->multiple() ? IDS_DEVICE_PERMISSIONS_PROMPT_MULTIPLE_SELECTION
+ : IDS_DEVICE_PERMISSIONS_PROMPT_SINGLE_SELECTION,
+ prompt->multiple() ? IDS_DEVICE_PERMISSIONS_PROMPT_MULTIPLE_SELECTION
+ : IDS_DEVICE_PERMISSIONS_PROMPT_SINGLE_SELECTION),
+ prompt_(prompt) {
+ prompt_->SetObserver(this);
+}
+
+DevicePermissionsDialogController::~DevicePermissionsDialogController() {
+ prompt_->SetObserver(nullptr);
+}
+
+bool DevicePermissionsDialogController::ShouldShowFootnoteView() const {
+ return false;
+}
+
+bool DevicePermissionsDialogController::AllowMultipleSelection() const {
+ return prompt_->multiple();
+}
+
+base::string16 DevicePermissionsDialogController::GetNoOptionsText() const {
+ return l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT);
+}
+
+base::string16 DevicePermissionsDialogController::GetOkButtonLabel() const {
+ return l10n_util::GetStringUTF16(IDS_DEVICE_PERMISSIONS_DIALOG_SELECT);
+}
+
+size_t DevicePermissionsDialogController::NumOptions() const {
+ return prompt_->GetDeviceCount();
+}
+
+base::string16 DevicePermissionsDialogController::GetOption(
+ size_t index) const {
+ return prompt_->GetDeviceName(index);
+}
+
+void DevicePermissionsDialogController::RefreshOptions() {}
+
+base::string16 DevicePermissionsDialogController::GetStatus() const {
+ return base::string16();
+}
+
+void DevicePermissionsDialogController::Select(
+ const std::vector<size_t>& indices) {
+ for (size_t index : indices)
+ prompt_->GrantDevicePermission(index);
+ prompt_->Dismissed();
+}
+
+void DevicePermissionsDialogController::Cancel() {
+ prompt_->Dismissed();
+}
+
+void DevicePermissionsDialogController::Close() {
+ prompt_->Dismissed();
+}
+
+void DevicePermissionsDialogController::OpenHelpCenterUrl() const {}
+
+void DevicePermissionsDialogController::OnDeviceAdded(size_t index) {
+ if (view())
+ view()->OnOptionAdded(index);
+}
+
+void DevicePermissionsDialogController::OnDeviceRemoved(size_t index) {
+ if (view())
+ view()->OnOptionRemoved(index);
+}

Powered by Google App Engine
This is Rietveld 408576698