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

Unified Diff: chrome/browser/ui/echo_dialog_chromeos.h

Issue 12317109: Add a dialog for getting user consent in the echo redeem flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/echo_dialog_chromeos.h
diff --git a/chrome/browser/ui/echo_dialog_chromeos.h b/chrome/browser/ui/echo_dialog_chromeos.h
new file mode 100644
index 0000000000000000000000000000000000000000..188ff490ecaf6989fdaba15a739108dd48862ac4
--- /dev/null
+++ b/chrome/browser/ui/echo_dialog_chromeos.h
@@ -0,0 +1,62 @@
+// Copyright 2013 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.
+
+#ifndef CHROME_BROWSER_UI_ECHO_DIALOG_CHROMEOS_H_
+#define CHROME_BROWSER_UI_ECHO_DIALOG_CHROMEOS_H_
+
+#include "base/string16.h"
+#include "ui/gfx/native_widget_types.h"
+
+// Dialog shown by echoPrivate extension API when getUserConsent function is
+// called. The API is used by echo extension when an offer from a service is
+// being redeemed. The dialog is shown to get an user consent. If the echo
+// extension is not allowed by policy to redeem offers, the dialog informs user
+// about this.
+// This is ChromeOS-only dialog.
+class EchoDialog {
+ public:
+
+ // A listener interface for the EchoDialog, so an interested party can be
+ // notified about changes to the dialog. It is provided during EchoDialog
+ // construction.
+ class Listener {
tfarina 2013/02/26 19:13:00 no nested class. Please, put this in echo_dialog_l
tbarzic 2013/02/26 19:34:55 Done.
+ public:
+ virtual ~Listener() {}
tfarina 2013/02/26 19:13:00 make this protected
tbarzic 2013/02/26 19:34:55 Done.
+
+ // Called when the EchoDialog is accepted. After call to this method, the
+ // listener will not be invoked again.
+ virtual void OnAccept() = 0;
tfarina 2013/02/26 19:13:00 put one blank line after each method.
tbarzic 2013/02/26 19:34:55 Done.
+ // Called when the EchoDialog is canceled. After call to this method, the
+ // listener will not be invoked again.
+ virtual void OnCancel() = 0;
+ // Called when a link in the EchoDialog is clicked.
+ virtual void OnMoreInfoLinkClicked() = 0;
+ };
+
+ virtual ~EchoDialog() {}
+
+ // Creates platform specific (only ChromeOS) implementation of EchoDialog.
+ // Implementation in chrome/browser/ui/views/echo_dialog_views_chromeos.cc
+ static EchoDialog* Create(Listener* listener);
+
+ // Initializes dialog layout that will be showed when echo extension is
+ // allowed to redeem offers. |service_name| is the name of the service that
+ // requests user consent to redeem an offer. |origin| is the service's origin
+ // url. Service name should be underlined in the dialog, and hovering over its
+ // label should display tooltip containing |origin|.
+ // The dialog will have both OK and Cancel buttons.
+ virtual void InitForEnabledEcho(const string16& service_name,
+ const string16& origin) = 0;
+
+ // Initializes dialog layout that will be shown when echo extension is not
+ // allowed to redeem offers. The dialog will be showing a message that the
+ // offer redeeming is disabled by policy.
+ // The dialog will have only Cancel button.
+ virtual void InitForDisabledEcho() = 0;
+
+ // Shows the dialog.
+ virtual void Show(gfx::NativeWindow parent) = 0;
+};
+
+#endif // CHROME_BROWSER_UI_ECHO_DIALOG_CHROMEOS_H_

Powered by Google App Engine
This is Rietveld 408576698