summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-05 07:13:57 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-05 07:13:57 +0000
commit76023d950276f9eb5af0378cb1e927d6b7b6fe84 (patch)
treef1f38e5ec7f4c944839f4c5b8ab18333084eee8d /chrome/browser/resources
parentd2e7870622454da3007518dbe4bac9e3081a13ac (diff)
downloadchromium_src-76023d950276f9eb5af0378cb1e927d6b7b6fe84.zip
chromium_src-76023d950276f9eb5af0378cb1e927d6b7b6fe84.tar.gz
chromium_src-76023d950276f9eb5af0378cb1e927d6b7b6fe84.tar.bz2
[Sync] Add support for getRootNode() and getNodeById() JS messages
Added rudimentary node browser on chrome://sync-internals. Some cleanup for syncapi tests. BUG=69500 TEST= Review URL: http://codereview.chromium.org/6250157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73923 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources')
-rw-r--r--chrome/browser/resources/sync_internals/sync_index.html51
1 files changed, 51 insertions, 0 deletions
diff --git a/chrome/browser/resources/sync_internals/sync_index.html b/chrome/browser/resources/sync_internals/sync_index.html
index 51e397d..2eb37515 100644
--- a/chrome/browser/resources/sync_internals/sync_index.html
+++ b/chrome/browser/resources/sync_internals/sync_index.html
@@ -8,6 +8,7 @@ chrome/test/functional/special_tabs.py. -->
function onLoad() {
chrome.send('getAboutInfo');
chrome.send('getNotificationState');
+ chrome.send('getRootNode');
}
function onGetAboutInfoFinished(aboutInfo) {
@@ -19,6 +20,41 @@ function onGetNotificationStateFinished(notificationsEnabled) {
onSyncNotificationStateChange(notificationsEnabled);
}
+function onGetRootNodeFinished(rootNodeInfo) {
+ onGetNodeByIdFinished(rootNodeInfo);
+}
+
+// TODO(akalin): Use an existing JSON-to-string library.
+function jsonToString(json) {
+ var str = '{ ';
+ for (var i in json) {
+ str += i + ': ';
+ var v = json[i];
+ var t = typeof v;
+ if (t === 'object') {
+ str += jsonToString(v);
+ } else if (t === 'string') {
+ str += '"' + v + '"';
+ } else {
+ str += json[i];
+ }
+ str += ', ';
+ }
+ str += ' }';
+ return str;
+}
+
+function onGetNodeByIdFinished(nodeInfo) {
+ var nodeBrowser = document.getElementById('nodeBrowser');
+ nodeInfo.specifics = jsonToString(nodeInfo.specifics);
+ jstProcess(new JsEvalContext(nodeInfo), nodeBrowser);
+}
+
+function processNodeLink(link) {
+ var id = link.text;
+ chrome.send('getNodeById', [id]);
+}
+
function onSyncServiceStateChanged() {
chrome.send('getAboutInfo');
}
@@ -274,5 +310,20 @@ table.list#details .name {
</table>
</td>
+<div class="desc"><h2> Node Browser </h2></div>
+<ul id='nodeBrowser'>
+<li>ID: <span jscontent='id'></span></li>
+<li>Modification Time: <span jscontent='modificationTime'></span></li>
+<li>Parent: <a jscontent='parentId' href="#" onclick="processNodeLink(this); return false"></a></li>
+<li>Is Folder: <span jscontent='isFolder'></span></li>
+<li>Title: <span jscontent='title'></span></li>
+<li>Type: <span jscontent='type'></span></li>
+<li>Specifics: <span jscontent='specifics'></span></li>
+<li>External ID: <span jscontent='externalId'></span></li>
+<li>Predecessor: <a jscontent='predecessorId' href="#" onclick="processNodeLink(this); return false"></a></li>
+<li>Successor: <a jscontent='successorId' href="#" onclick="processNodeLink(this); return false"></a></li>
+<li>First Child: <a jscontent='firstChildId' href="#" onclick="processNodeLink(this); return false"></a></li>
+</ul>
+
</body>
</html>