Bug 1416714 - Remove domain column security lockbox icon r?honza draft
authorRicky Chien <ricky060709@gmail.com>
Wed, 15 Nov 2017 11:30:50 +0800
changeset 698129 9525a80b7ac652ac338607e88f93a32e231c6688
parent 697940 f0c0fb9182d695081edf170d8e3bcb8164f2c96a
child 698130 4be5f42ea4b26a533c5f0383345427874198f08e
push id89222
push userbmo:rchien@mozilla.com
push dateWed, 15 Nov 2017 10:15:47 +0000
reviewershonza
bugs1416714
milestone59.0a1
Bug 1416714 - Remove domain column security lockbox icon r?honza MozReview-Commit-ID: LlToMdXZuQB
devtools/client/netmonitor/src/components/RequestListColumnDomain.js
devtools/client/netmonitor/src/components/RequestListContent.js
devtools/client/netmonitor/src/components/RequestListItem.js
devtools/client/netmonitor/test/browser.ini
devtools/client/netmonitor/test/browser_net_security-icon-click.js
devtools/client/netmonitor/test/browser_net_security-redirect.js
--- a/devtools/client/netmonitor/src/components/RequestListColumnDomain.js
+++ b/devtools/client/netmonitor/src/components/RequestListColumnDomain.js
@@ -5,62 +5,43 @@
 "use strict";
 
 const {
   Component,
   DOM,
   PropTypes,
 } = require("devtools/client/shared/vendor/react");
 const { getFormattedIPAndPort } = require("../utils/format-utils");
-const { L10N } = require("../utils/l10n");
 const { propertiesEqual } = require("../utils/request-utils");
 
 const { div } = DOM;
 
 const UPDATED_DOMAIN_PROPS = [
   "remoteAddress",
-  "securityState",
   "urlDetails",
 ];
 
 class RequestListColumnDomain extends Component {
   static get propTypes() {
     return {
       item: PropTypes.object.isRequired,
-      onSecurityIconMouseDown: PropTypes.func.isRequired,
     };
   }
 
   shouldComponentUpdate(nextProps) {
     return !propertiesEqual(UPDATED_DOMAIN_PROPS, this.props.item, nextProps.item);
   }
 
   render() {
-    let { item, onSecurityIconMouseDown } = this.props;
-    let { remoteAddress, remotePort, securityState,
-      urlDetails: { host, isLocal } } = item;
-    let iconClassList = ["requests-security-state-icon"];
-    let iconTitle;
+    let { item } = this.props;
+    let { remoteAddress, remotePort, urlDetails: { host } } = item;
     let title = host + (remoteAddress ?
       ` (${getFormattedIPAndPort(remoteAddress, remotePort)})` : "");
 
-    if (isLocal) {
-      iconClassList.push("security-state-local");
-      iconTitle = L10N.getStr("netmonitor.security.state.secure");
-    } else if (securityState) {
-      iconClassList.push(`security-state-${securityState}`);
-      iconTitle = L10N.getStr(`netmonitor.security.state.${securityState}`);
-    }
-
     return (
       div({ className: "requests-list-column requests-list-domain", title },
-        div({
-          className: iconClassList.join(" "),
-          onMouseDown: onSecurityIconMouseDown,
-          title: iconTitle,
-        }),
         host,
       )
     );
   }
 }
 
 module.exports = RequestListColumnDomain;
--- a/devtools/client/netmonitor/src/components/RequestListContent.js
+++ b/devtools/client/netmonitor/src/components/RequestListContent.js
@@ -40,17 +40,16 @@ class RequestListContent extends Compone
       connector: PropTypes.object.isRequired,
       columns: PropTypes.object.isRequired,
       dispatch: PropTypes.func.isRequired,
       displayedRequests: PropTypes.object.isRequired,
       firstRequestStartedMillis: PropTypes.number.isRequired,
       fromCache: PropTypes.bool,
       onCauseBadgeMouseDown: PropTypes.func.isRequired,
       onItemMouseDown: PropTypes.func.isRequired,
-      onSecurityIconMouseDown: PropTypes.func.isRequired,
       onSelectDelta: PropTypes.func.isRequired,
       onWaterfallMouseDown: PropTypes.func.isRequired,
       scale: PropTypes.number,
       selectedRequestId: PropTypes.string,
     };
   }
 
   constructor(props) {
@@ -215,17 +214,16 @@ class RequestListContent extends Compone
 
   render() {
     const {
       columns,
       displayedRequests,
       firstRequestStartedMillis,
       onCauseBadgeMouseDown,
       onItemMouseDown,
-      onSecurityIconMouseDown,
       onWaterfallMouseDown,
       scale,
       selectedRequestId,
     } = this.props;
 
     return (
       div({ className: "requests-list-wrapper"},
         div({ className: "requests-list-table"},
@@ -244,17 +242,16 @@ class RequestListContent extends Compone
               item,
               index,
               isSelected: item.id === selectedRequestId,
               key: item.id,
               onContextMenu: this.onContextMenu,
               onFocusedNodeChange: this.onFocusedNodeChange,
               onMouseDown: () => onItemMouseDown(item.id),
               onCauseBadgeMouseDown: () => onCauseBadgeMouseDown(item.cause),
-              onSecurityIconMouseDown: () => onSecurityIconMouseDown(item.securityState),
               onWaterfallMouseDown: () => onWaterfallMouseDown(),
             }))
           )
         )
       )
     );
   }
 }
@@ -273,25 +270,16 @@ module.exports = connect(
      * A handler that opens the stack trace tab when a stack trace is available
      */
     onCauseBadgeMouseDown: (cause) => {
       if (cause.stacktrace && cause.stacktrace.length > 0) {
         dispatch(Actions.selectDetailsPanelTab("stack-trace"));
       }
     },
     onItemMouseDown: (id) => dispatch(Actions.selectRequest(id)),
-    /**
-     * A handler that opens the security tab in the details view if secure or
-     * broken security indicator is clicked.
-     */
-    onSecurityIconMouseDown: (securityState) => {
-      if (securityState && securityState !== "insecure") {
-        dispatch(Actions.selectDetailsPanelTab("security"));
-      }
-    },
     onSelectDelta: (delta) => dispatch(Actions.selectDelta(delta)),
     /**
      * A handler that opens the timing sidebar panel if the waterfall is clicked.
      */
     onWaterfallMouseDown: () => {
       dispatch(Actions.selectDetailsPanelTab("timings"));
     },
   }),
--- a/devtools/client/netmonitor/src/components/RequestListItem.js
+++ b/devtools/client/netmonitor/src/components/RequestListItem.js
@@ -80,17 +80,16 @@ class RequestListItem extends Component 
       index: PropTypes.number.isRequired,
       isSelected: PropTypes.bool.isRequired,
       firstRequestStartedMillis: PropTypes.number.isRequired,
       fromCache: PropTypes.bool,
       onCauseBadgeMouseDown: PropTypes.func.isRequired,
       onContextMenu: PropTypes.func.isRequired,
       onFocusedNodeChange: PropTypes.func,
       onMouseDown: PropTypes.func.isRequired,
-      onSecurityIconMouseDown: PropTypes.func.isRequired,
       onWaterfallMouseDown: PropTypes.func.isRequired,
       waterfallWidth: PropTypes.number,
     };
   }
 
   componentDidMount() {
     if (this.props.isSelected) {
       this.refs.listItem.focus();
@@ -118,17 +117,16 @@ class RequestListItem extends Component 
       item,
       index,
       isSelected,
       firstRequestStartedMillis,
       fromCache,
       onContextMenu,
       onMouseDown,
       onCauseBadgeMouseDown,
-      onSecurityIconMouseDown,
       onWaterfallMouseDown,
     } = this.props;
 
     let classList = ["request-list-item", index % 2 ? "odd" : "even"];
     isSelected && classList.push("selected");
     fromCache && classList.push("fromCache");
 
     return (
@@ -140,18 +138,17 @@ class RequestListItem extends Component 
         onContextMenu,
         onMouseDown,
       },
         columns.get("status") && RequestListColumnStatus({ item }),
         columns.get("method") && RequestListColumnMethod({ item }),
         columns.get("file") && RequestListColumnFile({ item }),
         columns.get("protocol") && RequestListColumnProtocol({ item }),
         columns.get("scheme") && RequestListColumnScheme({ item }),
-        columns.get("domain") && RequestListColumnDomain({ item,
-                                                           onSecurityIconMouseDown }),
+        columns.get("domain") && RequestListColumnDomain({ item }),
         columns.get("remoteip") && RequestListColumnRemoteIP({ item }),
         columns.get("cause") && RequestListColumnCause({ item, onCauseBadgeMouseDown }),
         columns.get("type") && RequestListColumnType({ item }),
         columns.get("cookies") && RequestListColumnCookies({ item }),
         columns.get("setCookies") && RequestListColumnSetCookies({ item }),
         columns.get("transferred") && RequestListColumnTransferredSize({ item }),
         columns.get("contentSize") && RequestListColumnContentSize({ item }),
         columns.get("startTime") &&
--- a/devtools/client/netmonitor/test/browser.ini
+++ b/devtools/client/netmonitor/test/browser.ini
@@ -151,18 +151,16 @@ skip-if = os == 'win' # bug 1391264
 [browser_net_reload-button.js]
 [browser_net_reload-markers.js]
 [browser_net_req-resp-bodies.js]
 [browser_net_resend_cors.js]
 [browser_net_resend_headers.js]
 [browser_net_resend.js]
 [browser_net_security-details.js]
 [browser_net_security-error.js]
-[browser_net_security-icon-click.js]
-[browser_net_security-redirect.js]
 [browser_net_security-state.js]
 [browser_net_security-tab-deselect.js]
 [browser_net_security-tab-visibility.js]
 [browser_net_security-warnings.js]
 [browser_net_send-beacon.js]
 [browser_net_send-beacon-other-tab.js]
 [browser_net_simple-request-data.js]
 [browser_net_simple-request-details.js]
deleted file mode 100644
--- a/devtools/client/netmonitor/test/browser_net_security-icon-click.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
-   http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-/**
- * Test that clicking on the security indicator opens the security details tab.
- */
-
-add_task(function* () {
-  let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
-  let { document, store, windowRequire } = monitor.panelWin;
-  let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
-
-  store.dispatch(Actions.batchEnable(false));
-
-  info("Requesting a resource over HTTPS.");
-  yield performRequestAndWait("https://example.com" + CORS_SJS_PATH + "?request_2");
-  yield performRequestAndWait("https://example.com" + CORS_SJS_PATH + "?request_1");
-
-  is(store.getState().requests.requests.size, 2, "Two events event logged.");
-
-  yield clickAndTestSecurityIcon();
-
-  info("Selecting headers panel again.");
-  EventUtils.sendMouseEvent({ type: "click" },
-    document.querySelector("#headers-tab"));
-
-  info("Sorting the items by filename.");
-  EventUtils.sendMouseEvent({ type: "click" },
-    document.querySelector("#requests-list-file-button"));
-
-  info("Testing that security icon can be clicked after the items were sorted.");
-
-  yield clickAndTestSecurityIcon();
-
-  return teardown(monitor);
-
-  function* performRequestAndWait(url) {
-    let wait = waitForNetworkEvents(monitor, 1);
-    yield ContentTask.spawn(tab.linkedBrowser, { url }, function* (args) {
-      content.wrappedJSObject.performRequests(1, args.url);
-    });
-    return wait;
-  }
-
-  function* clickAndTestSecurityIcon() {
-    let icon = document.querySelector(".requests-security-state-icon");
-
-    info("Clicking security icon of the first request and waiting for panel update.");
-    EventUtils.synthesizeMouseAtCenter(icon, {}, monitor.panelWin);
-
-    ok(document.querySelector("#security-tab[aria-selected=true]"),
-       "Security tab is selected.");
-  }
-});
deleted file mode 100644
--- a/devtools/client/netmonitor/test/browser_net_security-redirect.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
-   http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-/**
- * Test a http -> https redirect shows secure icon only for redirected https
- * request.
- */
-
-add_task(function* () {
-  let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
-  let { document, store, windowRequire } = monitor.panelWin;
-  let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
-
-  store.dispatch(Actions.batchEnable(false));
-
-  let wait = waitForNetworkEvents(monitor, 2);
-  yield ContentTask.spawn(tab.linkedBrowser, HTTPS_REDIRECT_SJS, function* (url) {
-    content.wrappedJSObject.performRequests(1, url);
-  });
-  yield wait;
-
-  is(store.getState().requests.requests.size, 2,
-     "There were two requests due to redirect.");
-
-  let [
-    initialSecurityIcon,
-    redirectSecurityIcon,
-  ] = document.querySelectorAll(".requests-security-state-icon");
-
-  ok(initialSecurityIcon.classList.contains("security-state-insecure"),
-     "Initial request was marked insecure.");
-
-  ok(redirectSecurityIcon.classList.contains("security-state-secure"),
-     "Redirected request was marked secure.");
-
-  yield teardown(monitor);
-});