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

Side by Side Diff: chrome/browser/resources/apps_debugger/js/pack_item_overlay.js

Issue 11794034: Adds functionality to pack an extension / app from the app. (Closed) Base URL: http://git.chromium.org/chromium/src.git@bacha_lo
Patch Set: Addressed comments 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('appsDevtool', function() {
Dan Beam 2013/02/11 23:44:24 nit: apps_dev_tool or apps_devtool
Gaurav 2013/02/12 19:33:17 Done.
6 /**
7 * PackItemOverlay class
8 * Encapsulated handling of the 'Pack Item' overlay page.
9 * @constructor
10 */
11 function PackItemOverlay() {}
12
13 cr.addSingletonGetter(PackItemOverlay);
14
15 PackItemOverlay.prototype = {
16 /**
17 * Initialize the page.
Dan Beam 2013/02/11 23:44:24 can you add to this comment or simply remove it?
Gaurav 2013/02/12 19:33:17 Done.
18 */
19 initializePage: function() {
20 var overlay = $('overlay');
21 cr.ui.overlay.setupOverlay(overlay);
22 overlay.addEventListener('cancelOverlay', this.handleDismiss_.bind(this));
23
24 $('packItemDismiss').addEventListener('click',
25 this.handleDismiss_.bind(this));
26 $('packItemCommit').addEventListener('click',
27 this.handleCommit_.bind(this));
28 $('browseItemDir').addEventListener('click',
29 this.handleBrowseItemDir_.bind(this));
30 $('browsePrivateKey').addEventListener('click',
31 this.handleBrowsePrivateKey_.bind(this));
32 },
33
34 /**
35 * Handles a click on the dismiss button.
36 * @param {Event} e The click event.
37 * @private
38 */
39 handleDismiss_: function(e) {
40 AppsDevTool.showOverlay(null);
41 },
42
43 /**
44 * Handles a click on the pack button.
45 * @param {Event} e The click event.
46 * @private
47 */
48 handleCommit_: function(e) {
49 var itemPath = $('itemRootDir').value;
50 var privateKeyPath = $('itemPrivateKey').value;
51 chrome.developerPrivate.packDirectory(
52 itemPath, privateKeyPath, 0, this.onCommit_);
53 },
54
55 /**
56 * Handles a commit on the pack request.
57 * @param {string} response Message returned by packing api.
58 * @private
59 */
60 onCommit_: function(response) {
61 if (response.status == 'SUCCESS')
62 PackItemOverlay.showSuccessMessage(response);
63 else if (response.status == 'ERROR')
64 PackItemOverlay.showError(response);
65 else
66 PackItemOverlay.showWarningMessage(response);
67 },
68
69 /**
70 * Handles the showing of the item directory browser.
71 * @param {Event} e Change event.
72 * @private
73 */
74 handleBrowseItemDir_: function(e) {
75 chrome.developerPrivate.choosePath('FOLDER', 'LOAD', function(filePath) {
76 $('itemRootDir').value = filePath;
Dan Beam 2013/02/11 23:44:24 this should be item-root-dir (instead of itemRootD
Gaurav 2013/02/12 19:33:17 Done.
77 });
78 },
79
80 /**
81 * Handles the showing of the item private key file.
82 * @param {Event} e Change event.
83 * @private
84 */
85 handleBrowsePrivateKey_: function(e) {
86 chrome.developerPrivate.choosePath('FILE', 'PEM', function(filePath) {
87 $('itemPrivateKey').value = filePath;
Dan Beam 2013/02/11 23:44:24 and item-private-key
Gaurav 2013/02/12 19:33:17 Done.
88 });
89 },
90 };
91
92 var hideOverlay = function() {
93 AppsDevTool.showOverlay(null);
Dan Beam 2013/02/11 23:44:24 same as handleDismiss_, combine
Gaurav 2013/02/12 19:33:17 Done.
94 };
95
96 /**
97 * Wrap up the pack process by showing the success |message| and closing
98 * the overlay.
99 * @param {string} message The message to show to the user.
100 */
101 PackItemOverlay.showSuccessMessage = function(response) {
102 alertOverlay.setValues(
103 str('packExtensionOverlay'),
104 response.message,
105 str('ok'),
106 '',
107 hideOverlay,
108 null);
109 AppsDevTool.showOverlay($('alertOverlay'));
Dan Beam 2013/02/11 23:44:24 alert-overlay
Gaurav 2013/02/12 19:33:17 The id "alertOverlay" is declared in a shared file
110 };
111
112 /**
113 * An alert overlay showing |message|, and upon acknowledgement, close
114 * the alert overlay and return to showing the PackItemOverlay.
115 * @param {string} message The message to show to the user.
116 */
117 PackItemOverlay.showError = function(response) {
118 alertOverlay.setValues(
119 str('packExtensionErrorTitle'),
120 response.message /* message returned by the packiing api */,
121 str('ok'),
122 '',
123 function() {
124 AppsDevTool.showOverlay($('packItemOverlay'));
125 },
126 null);
127 AppsDevTool.showOverlay($('alertOverlay'));
128 };
129
130 /**
131 * An alert overlay showing |message| as warning and proceeding after the
132 * user confirms the action.
133 */
134 PackItemOverlay.showWarningMessage = function(response) {
135 var closeAlert = function() {
Dan Beam 2013/02/11 23:44:24 why do you need this? this is the same as just us
Gaurav 2013/02/12 19:33:17 removed On 2013/02/11 23:44:24, Dan Beam wrote:
136 hideOverlay();
137 };
138
139 alertOverlay.setValues(
140 str('packExtensionWarningTitle'),
141 response.message /* message returned by the packing api */,
142 str('packExtensionProceedAnyway'),
143 str('cancel'),
144 function() {
145 chrome.developerPrivate.packDirectory(
146 response.item_path,
147 response.pem_path,
148 response.override_flags,
149 PackItemOverlay.showSuccessMessage);
150 closeAlert();
151 },
152 closeAlert());
Dan Beam 2013/02/11 23:44:24 this should not have calling parens(), have you tr
Gaurav 2013/02/12 19:33:17 Done.
153 AppsDevTool.showOverlay($('alertOverlay'));
154 };
155
156 // Export
157 return {
158 PackItemOverlay: PackItemOverlay,
159 };
160 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698