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

Unified Diff: chrome/browser/resources/net_internals/hstsview.js

Issue 6500010: HSTS: add net-internals UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years, 10 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: chrome/browser/resources/net_internals/hstsview.js
diff --git a/chrome/browser/resources/net_internals/hstsview.js b/chrome/browser/resources/net_internals/hstsview.js
new file mode 100644
index 0000000000000000000000000000000000000000..a54e8ba1f60d1eea3cd196dbd385af890f6f6d1e
--- /dev/null
+++ b/chrome/browser/resources/net_internals/hstsview.js
@@ -0,0 +1,85 @@
+// Copyright (c) 2011 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.
+
+function HSTSView(mainBoxId, queryInputId, formId, queryOutputDivId,
+ addInputId, addFormId, addCheckId,
+ deleteInputId, deleteFormId) {
+ DivView.call(this, mainBoxId);
+
+ this.queryInput_ = document.getElementById(queryInputId);
+ this.addCheck_ = document.getElementById(addCheckId);
+ this.addInput_ = document.getElementById(addInputId);
+ this.deleteInput_ = document.getElementById(deleteInputId);
+ this.queryOutputDiv_ = document.getElementById(queryOutputDivId);
+
+ var form = document.getElementById(formId);
+ form.addEventListener('submit', this.onSubmitQuery_.bind(this), false);
+ form = document.getElementById(addFormId);
+ form.addEventListener('submit', this.onSubmitAdd_.bind(this), false);
+ form = document.getElementById(deleteFormId);
+ form.addEventListener('submit', this.onSubmitDelete_.bind(this), false);
+
+ g_browser.hstsQueryCallback = this.onQueryCallback_.bind(this);
+}
+
+inherits(HSTSView, DivView);
+
+HSTSView.prototype.onSubmitQuery_ = function(event) {
+ g_browser.sendHSTSQuery(this.queryInput_.value);
+ event.preventDefault();
+};
+
+HSTSView.prototype.onSubmitAdd_ = function(event) {
+ g_browser.sendHSTSAdd(this.addInput_.value, this.addCheck_.checked);
+ g_browser.sendHSTSQuery(this.addInput_.value);
+ this.queryInput_.value = this.addInput_.value;
+ this.addCheck_.checked = false;
+ this.addInput_.value = "";
+ event.preventDefault();
+};
+
+HSTSView.prototype.onSubmitDelete_ = function(event) {
+ g_browser.sendHSTSDelete(this.deleteInput_.value);
+ this.deleteInput_.value = "";
+ event.preventDefault();
+};
+
+function hstsModeToString(m) {
+ if (m == 0) {
+ return "STRICT";
+ } else if (m == 1) {
+ return "OPPORTUNISTIC";
+ } else if (m == 2) {
+ return "SPDY";
+ } else {
+ return "UNKNOWN";
+ }
+}
+
+function yellowFade(element) {
+ element.style.webkitTransitionProperty = "background-color";
+ element.style.webkitTransitionDuration = "0";
+ element.style.backgroundColor = "#fffccf";
+ setTimeout(function() {
+ element.style.webkitTransitionDuration = "1000ms";
+ element.style.backgroundColor = "#fff";
+ }, 0);
+}
+
+HSTSView.prototype.onQueryCallback_ = function(result) {
+ if (result.result == false) {
+ this.queryOutputDiv_.innerHTML = "<b>Not found</b>";
+ } else {
+ this.queryOutputDiv_.innerHTML = "<b>Found</b>: mode: <tt>" +
+ hstsModeToString(result.mode) +
+ "</tt> include_subdomains: <tt>" +
+ result.subdomains +
+ "</tt> domain: <tt>" +
+ result.domain +
+ "</tt> is_preloaded: <tt>" +
+ result.preloaded +
+ "</tt>";
+ }
+ yellowFade(this.queryOutputDiv_);
+}

Powered by Google App Engine
This is Rietveld 408576698