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

Unified Diff: ui/webui/resources/js/load_time_data.js

Issue 2917003003: [MD Bookmarks] Support elision of bookmark names in the bookmark toast. (Closed)
Patch Set: Created 3 years, 7 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: ui/webui/resources/js/load_time_data.js
diff --git a/ui/webui/resources/js/load_time_data.js b/ui/webui/resources/js/load_time_data.js
index 38b4721e13c9a4ac3d4c5da425ec84e38396b5e0..e26e51fd7bd6eee11d4cade9c6712e79de575272 100644
--- a/ui/webui/resources/js/load_time_data.js
+++ b/ui/webui/resources/js/load_time_data.js
@@ -93,6 +93,35 @@ function LoadTimeData(){}
});
},
+ /**
+ * Returns a list of pieces of a substituted string which has separate
tsergeant 2017/06/05 03:33:54 This is a fairly complex function with a bunch of
calamity 2017/06/06 05:36:02 Done.
+ * elements for substituted pieces.
+ * @param {string} label
tsergeant 2017/06/05 03:33:54 Add a comment here to explicitly say that this is
calamity 2017/06/06 05:36:02 Done.
+ * @param {...(string|number)} var_args The extra values to include in the
+ * formatted output.
+ * @return {!Array<!{value: string, arg: (null|string)}>} The formatted
+ * string.
+ */
+ getSubstitutedStringPieces: function(label, var_args) {
+ var varArgs = arguments;
+ var pieces = label.split(/(?=[^$]?)(\$[1-9])/)
tsergeant 2017/06/05 03:33:54 Why is the positive lookahead here? It says somet
calamity 2017/06/06 05:36:02 Yeah, good point. Okay. I've revised this. We need
+ .filter(function(p) {
+ return p != '';
+ })
+ .map(function(p) {
+ if (!p.match(/\$[1-9]/)) {
+ // Assert if there are an odd number of $ signs in
+ // the segment.
+ assert((p.match(/\$/g) || []).length % 2 == 0);
tsergeant 2017/06/05 03:33:54 This assertion makes getSubstitutedStringPieces()
calamity 2017/06/06 05:36:02 Done. Went with 'all $ must be escaped' and added
+ return {value: p.replace(/\$\$/g, '$'), arg: null};
+ }
+
+ return {value: varArgs[p[1]], arg: p};
+ });
+
+ return pieces;
+ },
+
/**
* As above, but also makes sure that the value is a boolean.
* @param {string} id The key that identifies the desired boolean.

Powered by Google App Engine
This is Rietveld 408576698