diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-05 07:13:57 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-05 07:13:57 +0000 |
commit | 76023d950276f9eb5af0378cb1e927d6b7b6fe84 (patch) | |
tree | f1f38e5ec7f4c944839f4c5b8ab18333084eee8d /chrome/browser/resources | |
parent | d2e7870622454da3007518dbe4bac9e3081a13ac (diff) | |
download | chromium_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.html | 51 |
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> |