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

Side by Side Diff: chrome/browser/ui/webui/identity_internals_ui.cc

Issue 17468008: chrome://identity-internals code quality (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 6 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
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/webui/identity_internals_ui.h" 5 #include "chrome/browser/ui/webui/identity_internals_ui.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 14 matching lines...) Expand all
25 #include "ui/base/l10n/l10n_util.h" 25 #include "ui/base/l10n/l10n_util.h"
26 26
27 namespace { 27 namespace {
28 28
29 // Properties of the Javascript object representing a token. 29 // Properties of the Javascript object representing a token.
30 const char kExtensionId[] = "extensionId"; 30 const char kExtensionId[] = "extensionId";
31 const char kExtensionName[] = "extensionName"; 31 const char kExtensionName[] = "extensionName";
32 const char kScopes[] = "scopes"; 32 const char kScopes[] = "scopes";
33 const char kStatus[] = "status"; 33 const char kStatus[] = "status";
34 const char kTokenExpirationTime[] = "expirationTime"; 34 const char kTokenExpirationTime[] = "expirationTime";
35 const char kTokenId[] = "tokenId"; 35 const char kAccessToken[] = "accessToken";
36 36
37 // RevokeToken message parameter offsets. 37 // RevokeToken message parameter offsets.
38 const int kRevokeTokenExtensionOffset = 0; 38 const int kRevokeTokenExtensionOffset = 0;
39 const int kRevokeTokenTokenOffset = 1; 39 const int kRevokeTokenTokenOffset = 1;
40 40
41 class IdentityInternalsTokenRevoker; 41 class IdentityInternalsTokenRevoker;
42 42
43 // Class acting as a controller of the chrome://identity-internals WebUI.
43 class IdentityInternalsUIMessageHandler : public content::WebUIMessageHandler { 44 class IdentityInternalsUIMessageHandler : public content::WebUIMessageHandler {
44 public: 45 public:
45 IdentityInternalsUIMessageHandler(); 46 IdentityInternalsUIMessageHandler();
46 virtual ~IdentityInternalsUIMessageHandler(); 47 virtual ~IdentityInternalsUIMessageHandler();
47 48
48 // Ensures that a proper clean up happens after a token is revoked. That 49 // Ensures that a proper clean up happens after a token is revoked. That
49 // includes deleting the |token_revoker|, removing the token from Identity API 50 // includes deleting the |token_revoker|, removing the token from Identity API
50 // cache and updating the UI that the token is gone. 51 // cache and updating the UI that the token is gone.
51 void OnTokenRevokerDone(IdentityInternalsTokenRevoker* token_revoker); 52 void OnTokenRevokerDone(IdentityInternalsTokenRevoker* token_revoker);
52 53
53 // WebUIMessageHandler implementation. 54 // WebUIMessageHandler implementation.
54 virtual void RegisterMessages() OVERRIDE; 55 virtual void RegisterMessages() OVERRIDE;
55 56
56 private: 57 private:
58 // Gets a name of an extension referred to by |token_cache_key| as a string.
Michael Courage 2013/06/20 09:40:54 tinynit: s/Gets a/Gets the/
fgorski 2013/06/20 16:28:48 Done.
57 const std::string GetExtensionName( 59 const std::string GetExtensionName(
58 const extensions::IdentityAPI::TokenCacheKey& token_cache_key); 60 const extensions::IdentityAPI::TokenCacheKey& token_cache_key);
59 61
62 // Gets a list of scopes specified in |token_cache_key| and returns a pointer
63 // to a ListValue containing the scopes. The caller gets ownership of the
64 // returned object.
60 ListValue* GetScopes( 65 ListValue* GetScopes(
61 const extensions::IdentityAPI::TokenCacheKey& token_cache_key); 66 const extensions::IdentityAPI::TokenCacheKey& token_cache_key);
62 67
68 // Gets a localized status of the access token in |token_cache_value|.
63 const base::string16 GetStatus( 69 const base::string16 GetStatus(
64 const extensions::IdentityTokenCacheValue& token_cache_value); 70 const extensions::IdentityTokenCacheValue& token_cache_value);
65 71
72 // Gets a string representation of an expiration time of the access token in
73 // |token_cache_value|.
66 const std::string GetExpirationTime( 74 const std::string GetExpirationTime(
67 const extensions::IdentityTokenCacheValue& token_cache_value); 75 const extensions::IdentityTokenCacheValue& token_cache_value);
68 76
77 // Converts a pair of |token_cache_key| and |token_cache_value| to a
78 // DictionaryValue object with corresponding information in a localized and
79 // readible form and returns a pointer to created object. Caller gets the
Michael Courage 2013/06/20 09:40:54 nits: s/readible/readable/ returns a pointer to _t
fgorski 2013/06/20 16:28:48 Done.
80 // ownership of the returned object.
69 DictionaryValue* GetInfoForToken( 81 DictionaryValue* GetInfoForToken(
70 const extensions::IdentityAPI::TokenCacheKey& token_cache_key, 82 const extensions::IdentityAPI::TokenCacheKey& token_cache_key,
71 const extensions::IdentityTokenCacheValue& token_cache_value); 83 const extensions::IdentityTokenCacheValue& token_cache_value);
72 84
85 // Gets all of the tokens stored in IdenityAPI token cache and returns them
Michael Courage 2013/06/20 09:40:54 s/IdenityAPI/IdentityAPI/
fgorski 2013/06/20 16:28:48 Done.
86 // to the caller using Javascript callback function
87 // |identity_internals.returnTokens()|.
73 void GetInfoForAllTokens(const ListValue* args); 88 void GetInfoForAllTokens(const ListValue* args);
74 89
75 // Initiates revoking of the token, based on the extension ID and token 90 // Initiates revoking of the token, based on the extension ID and token
76 // passed as entries in the args list. 91 // passed as entries in the |args| list. Updates the caller of completion
92 // using Javascript callback function |identity_internals.tokenRevokeDone()|.
77 void RevokeToken(const ListValue* args); 93 void RevokeToken(const ListValue* args);
78 94
79 // A vector of token revokers that are currently revoking tokens. 95 // A vector of token revokers that are currently revoking tokens.
80 ScopedVector<IdentityInternalsTokenRevoker> token_revokers_; 96 ScopedVector<IdentityInternalsTokenRevoker> token_revokers_;
81 }; 97 };
82 98
83 // Handles the revoking of an access token and helps performing the clean up 99 // Handles the revoking of an access token and helps performing the clean up
84 // after it is revoked by holding information about the access token and related 100 // after it is revoked by holding information about the access token and related
85 // extension ID. 101 // extension ID.
86 class IdentityInternalsTokenRevoker : public GaiaAuthConsumer { 102 class IdentityInternalsTokenRevoker : public GaiaAuthConsumer {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 201 }
186 202
187 DictionaryValue* IdentityInternalsUIMessageHandler::GetInfoForToken( 203 DictionaryValue* IdentityInternalsUIMessageHandler::GetInfoForToken(
188 const extensions::IdentityAPI::TokenCacheKey& token_cache_key, 204 const extensions::IdentityAPI::TokenCacheKey& token_cache_key,
189 const extensions::IdentityTokenCacheValue& token_cache_value) { 205 const extensions::IdentityTokenCacheValue& token_cache_value) {
190 DictionaryValue* token_data = new DictionaryValue(); 206 DictionaryValue* token_data = new DictionaryValue();
191 token_data->SetString(kExtensionId, token_cache_key.extension_id); 207 token_data->SetString(kExtensionId, token_cache_key.extension_id);
192 token_data->SetString(kExtensionName, GetExtensionName(token_cache_key)); 208 token_data->SetString(kExtensionName, GetExtensionName(token_cache_key));
193 token_data->Set(kScopes, GetScopes(token_cache_key)); 209 token_data->Set(kScopes, GetScopes(token_cache_key));
194 token_data->SetString(kStatus, GetStatus(token_cache_value)); 210 token_data->SetString(kStatus, GetStatus(token_cache_value));
195 token_data->SetString(kTokenId, token_cache_value.token()); 211 token_data->SetString(kAccessToken, token_cache_value.token());
196 token_data->SetString(kTokenExpirationTime, 212 token_data->SetString(kTokenExpirationTime,
197 GetExpirationTime(token_cache_value)); 213 GetExpirationTime(token_cache_value));
198 return token_data; 214 return token_data;
199 } 215 }
200 216
201 void IdentityInternalsUIMessageHandler::GetInfoForAllTokens( 217 void IdentityInternalsUIMessageHandler::GetInfoForAllTokens(
202 const ListValue* args) { 218 const ListValue* args) {
203 ListValue results; 219 ListValue results;
204 extensions::IdentityAPI::CachedTokens tokens = 220 extensions::IdentityAPI::CachedTokens tokens =
205 extensions::IdentityAPI::GetFactoryInstance()->GetForProfile( 221 extensions::IdentityAPI::GetFactoryInstance()->GetForProfile(
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 IdentityInternalsUI::IdentityInternalsUI(content::WebUI* web_ui) 271 IdentityInternalsUI::IdentityInternalsUI(content::WebUI* web_ui)
256 : content::WebUIController(web_ui) { 272 : content::WebUIController(web_ui) {
257 // chrome://identity-internals source. 273 // chrome://identity-internals source.
258 content::WebUIDataSource* html_source = 274 content::WebUIDataSource* html_source =
259 content::WebUIDataSource::Create(chrome::kChromeUIIdentityInternalsHost); 275 content::WebUIDataSource::Create(chrome::kChromeUIIdentityInternalsHost);
260 html_source->SetUseJsonJSFormatV2(); 276 html_source->SetUseJsonJSFormatV2();
261 277
262 // Localized strings 278 // Localized strings
263 html_source->AddLocalizedString("tokenCacheHeader", 279 html_source->AddLocalizedString("tokenCacheHeader",
264 IDS_IDENTITY_INTERNALS_TOKEN_CACHE_TEXT); 280 IDS_IDENTITY_INTERNALS_TOKEN_CACHE_TEXT);
265 html_source->AddLocalizedString("tokenId", 281 html_source->AddLocalizedString("accessToken",
266 IDS_IDENTITY_INTERNALS_TOKEN_ID); 282 IDS_IDENTITY_INTERNALS_ACCESS_TOKEN);
267 html_source->AddLocalizedString("extensionName", 283 html_source->AddLocalizedString("extensionName",
268 IDS_IDENTITY_INTERNALS_EXTENSION_NAME); 284 IDS_IDENTITY_INTERNALS_EXTENSION_NAME);
269 html_source->AddLocalizedString("extensionId", 285 html_source->AddLocalizedString("extensionId",
270 IDS_IDENTITY_INTERNALS_EXTENSION_ID); 286 IDS_IDENTITY_INTERNALS_EXTENSION_ID);
271 html_source->AddLocalizedString("tokenStatus", 287 html_source->AddLocalizedString("tokenStatus",
272 IDS_IDENTITY_INTERNALS_TOKEN_STATUS); 288 IDS_IDENTITY_INTERNALS_TOKEN_STATUS);
273 html_source->AddLocalizedString("expirationTime", 289 html_source->AddLocalizedString("expirationTime",
274 IDS_IDENTITY_INTERNALS_EXPIRATION_TIME); 290 IDS_IDENTITY_INTERNALS_EXPIRATION_TIME);
275 html_source->AddLocalizedString("scopes", 291 html_source->AddLocalizedString("scopes",
276 IDS_IDENTITY_INTERNALS_SCOPES); 292 IDS_IDENTITY_INTERNALS_SCOPES);
277 html_source->AddLocalizedString("revoke", 293 html_source->AddLocalizedString("revoke",
278 IDS_IDENTITY_INTERNALS_REVOKE); 294 IDS_IDENTITY_INTERNALS_REVOKE);
279 html_source->SetJsonPath("strings.js"); 295 html_source->SetJsonPath("strings.js");
280 296
281 // Required resources 297 // Required resources
282 html_source->AddResourcePath("identity_internals.css", 298 html_source->AddResourcePath("identity_internals.css",
283 IDR_IDENTITY_INTERNALS_CSS); 299 IDR_IDENTITY_INTERNALS_CSS);
284 html_source->AddResourcePath("identity_internals.js", 300 html_source->AddResourcePath("identity_internals.js",
285 IDR_IDENTITY_INTERNALS_JS); 301 IDR_IDENTITY_INTERNALS_JS);
286 html_source->SetDefaultResource(IDR_IDENTITY_INTERNALS_HTML); 302 html_source->SetDefaultResource(IDR_IDENTITY_INTERNALS_HTML);
287 303
288 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), html_source); 304 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), html_source);
289 305
290 web_ui->AddMessageHandler(new IdentityInternalsUIMessageHandler()); 306 web_ui->AddMessageHandler(new IdentityInternalsUIMessageHandler());
291 } 307 }
292 308
293 IdentityInternalsUI::~IdentityInternalsUI() {} 309 IdentityInternalsUI::~IdentityInternalsUI() {}
294 310
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698