diff options
author | ericdingle@chromium.org <ericdingle@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-02 01:58:09 +0000 |
---|---|---|
committer | ericdingle@chromium.org <ericdingle@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-02 01:58:09 +0000 |
commit | 9860c68b6cba0cdeed285276e96356a3acfb08e6 (patch) | |
tree | 80cac02cbe8fc2af1c2b6badefacff7465c161e0 /chrome/browser/resources/extensions | |
parent | d98f697a09b1eab58701d7d0e69275ee7f375104 (diff) | |
download | chromium_src-9860c68b6cba0cdeed285276e96356a3acfb08e6.zip chromium_src-9860c68b6cba0cdeed285276e96356a3acfb08e6.tar.gz chromium_src-9860c68b6cba0cdeed285276e96356a3acfb08e6.tar.bz2 |
Implementation of the Extension Activity Log UI behind a flag.
BUG=39802
TEST=
Review URL: http://codereview.chromium.org/9234076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120146 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources/extensions')
5 files changed, 128 insertions, 0 deletions
diff --git a/chrome/browser/resources/extensions/extension_activity.css b/chrome/browser/resources/extensions/extension_activity.css new file mode 100644 index 0000000..54ab2f0 --- /dev/null +++ b/chrome/browser/resources/extensions/extension_activity.css @@ -0,0 +1,16 @@ +/* Copyright (c) 2012 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. */ + +body { + -webkit-padding-start: 0.67em; +} + +#extension-activity-list { + -webkit-padding-before: 0.67em; +} + +.extension-activity-time, +.extension-activity-label { + -webkit-padding-end: 10px; +} diff --git a/chrome/browser/resources/extensions/extension_activity.html b/chrome/browser/resources/extensions/extension_activity.html new file mode 100644 index 0000000..286b814 --- /dev/null +++ b/chrome/browser/resources/extensions/extension_activity.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html i18n-values="dir:textdirection;"> +<head> +<meta charset="utf-8"> + +<link rel="stylesheet" href="extensions.css"> +<link rel="stylesheet" href="extension_activity.css"> +<link rel="stylesheet" href="../shared/css/chrome_shared2.css"> + +<script src="chrome://resources/js/cr.js"></script> +<script src="chrome://resources/js/i18n_template.js"></script> +<script src="chrome://resources/js/util.js"></script> + +<script src="chrome://extension-activity/strings.js"></script> +<script src="chrome://extension-activity/extension_activity.js"></script> + +</head> + +<body> + +<div id="extension-activity"> + <h1 i18n-content="extensionActivity"></h1> + <div class="extension-list-item"> + <div class="extension-details"> + <div> + <span class="extension-title"></span> + <span class="extension-version"></span> + </div> + <p class="extension-description"></p> + </div> + </div> + <div id="extension-activity-list"></div> +</div> + +<div id="template-collection" hidden> + <div class="extension-activity-labels"> + <!-- The indices here match the activity enum defined in + chrome/browser/extensions/extension_activity_log.h --> + <span class="extension-activity-label-0" + i18n-content="extensionActivityApiCall"></span> + <span class="extension-activity-label-1" + i18n-content="extensionActivityApiBlock"></span> + </div> + + <div class="extension-activity-item"> + <span class="extension-activity-time"></span> + <span class="extension-activity-label"></span> + <span class="extension-activity-message"></span> + </div> +</div> + +</body> +</html> diff --git a/chrome/browser/resources/extensions/extension_activity.js b/chrome/browser/resources/extensions/extension_activity.js new file mode 100644 index 0000000..c384660f --- /dev/null +++ b/chrome/browser/resources/extensions/extension_activity.js @@ -0,0 +1,50 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +cr.define('extension_activity', function() { + 'use strict'; + + function initialize() { + i18nTemplate.process(document, templateData); + + var params = parseQueryParams(location); + if (params.extensionId) + chrome.send('requestExtensionData', [params.extensionId]); + } + + function handleExtensionData(result) { + var extension = result.extension; + + var item = document.querySelector('.extension-list-item'); + item.style.backgroundImage = 'url(' + extension.icon + ')'; + item.querySelector('.extension-title').textContent = extension.name; + item.querySelector('.extension-version').textContent = extension.version; + item.querySelector('.extension-description').textContent = + extension.description; + } + + function handleExtensionActivity(result) { + var template = $('template-collection'); + + var item = + template.querySelector('.extension-activity-item').cloneNode(true); + item.querySelector('.extension-activity-time').textContent = + new Date().toLocaleTimeString(); + item.querySelector('.extension-activity-label').textContent = + template.querySelector('.extension-activity-label-' + result.activity) + .textContent; + item.querySelector('.extension-activity-message').textContent = + result.message; + + $('extension-activity-list').appendChild(item); + } + + return { + initialize: initialize, + handleExtensionData: handleExtensionData, + handleExtensionActivity: handleExtensionActivity + }; +}); + +document.addEventListener('DOMContentLoaded', extension_activity.initialize); diff --git a/chrome/browser/resources/extensions/extension_list.js b/chrome/browser/resources/extensions/extension_list.js index 0da6cc0..e8bb8c1 100644 --- a/chrome/browser/resources/extensions/extension_list.js +++ b/chrome/browser/resources/extensions/extension_list.js @@ -147,6 +147,13 @@ cr.define('options', function() { e.preventDefault(); }); + if (extension.allow_activity) { + var activity = node.querySelector('.activity-link'); + activity.href = 'chrome://extension-activity?extensionId=' + + extension.id; + activity.hidden = false; + } + // The 'View in Web Store' checkbox. if (extension.homepageUrl) { var store = node.querySelector('.store-link'); diff --git a/chrome/browser/resources/extensions/extensions.html b/chrome/browser/resources/extensions/extensions.html index f828ada..5bd3e7d 100644 --- a/chrome/browser/resources/extensions/extensions.html +++ b/chrome/browser/resources/extensions/extensions.html @@ -110,6 +110,8 @@ </label> <a class="options-link" i18n-content="extensionSettingsOptions" href="#"></a> + <a class="activity-link" i18n-content="extensionSettingsActivity" + href="#" hidden></a> <a class="store-link" i18n-content="extensionSettingsVisitWebsite" target="_parent" hidden></a> <a class="reload-link" i18n-content="extensionSettingsReload" |