Backed out changeset 7715bba5cc3a
authorDão Gottwald <dao@mozilla.com>
Mon, 15 Aug 2011 19:49:57 +0200
changeset 75380 a74d2e4c720ed178735ae2f03e0ca8c2501da06f
parent 75375 7715bba5cc3ac721b5c259cc52f5c15e4a08b9ce
child 75381 bdbc65fca5ff366c35841120c53128bde7a6a205
push id21011
push userrcampbell@mozilla.com
push dateTue, 16 Aug 2011 15:35:10 +0000
treeherdermozilla-central@e765c8f565c6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone8.0a1
backs out7715bba5cc3ac721b5c259cc52f5c15e4a08b9ce
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 7715bba5cc3a
browser/base/content/inspector.js
browser/base/content/test/inspector/Makefile.in
browser/base/content/test/inspector/browser_inspector_bug_566084_location_changed.js
browser/locales/en-US/chrome/browser/inspector.properties
browser/locales/jar.mn
--- a/browser/base/content/inspector.js
+++ b/browser/base/content/inspector.js
@@ -529,17 +529,16 @@ Highlighter.prototype = {
  */
 var InspectorUI = {
   browser: null,
   tools: {},
   showTextNodesWithWhitespace: false,
   inspecting: false,
   treeLoaded: false,
   prefEnabledName: "devtools.inspector.enabled",
-  isDirty: false,
 
   /**
    * Toggle the inspector interface elements on or off.
    *
    * @param aEvent
    *        The event that requested the UI change. Toolbar button or menu.
    */
   toggleInspectorUI: function IUI_toggleInspectorUI(aEvent)
@@ -575,17 +574,17 @@ var InspectorUI = {
   },
 
   /**
    * Return the default selection element for the inspected document.
    */
   get defaultSelection()
   {
     let doc = this.win.document;
-    return doc.documentElement ? doc.documentElement.lastElementChild : null;
+    return doc.documentElement.lastElementChild;
   },
 
   initializeTreePanel: function IUI_initializeTreePanel()
   {
     this.treeBrowserDocument = this.treeIFrame.contentDocument;
     this.treePanelDiv = this.treeBrowserDocument.createElement("div");
     this.treeBrowserDocument.body.appendChild(this.treePanelDiv);
     this.treePanelDiv.ownerPanel = this;
@@ -766,18 +765,16 @@ var InspectorUI = {
       Cu.import("resource:///modules/domplate.jsm", this);
       this.domplateUtils.setDOM(window);
     }
 
     this.openTreePanel();
 
     this.toolbar.hidden = false;
     this.inspectCmd.setAttribute("checked", true);
-
-    gBrowser.addProgressListener(InspectorProgressListener);
   },
 
   /**
    * Initialize highlighter.
    */
   initializeHighlighter: function IUI_initializeHighlighter()
   {
     this.highlighter = new Highlighter(this.browser);
@@ -822,18 +819,16 @@ var InspectorUI = {
   {
     if (this.closing || !this.win || !this.browser) {
       return;
     }
 
     this.closing = true;
     this.toolbar.hidden = true;
 
-    gBrowser.removeProgressListener(InspectorProgressListener);
-
     if (!aKeepStore) {
       InspectorStore.deleteStore(this.winID);
       this.win.removeEventListener("pagehide", this, true);
     } else {
       // Update the store before closing.
       if (this.selection) {
         InspectorStore.setValue(this.winID, "selectedNode",
           this.selection);
@@ -1487,140 +1482,14 @@ var InspectorStore = {
       delete this.store[aID][aKey];
       result = true;
     }
 
     return result;
   }
 };
 
-/**
- * The InspectorProgressListener object is an nsIWebProgressListener which
- * handles onStateChange events for the inspected browser. If the user makes
- * changes to the web page and he tries to navigate away, he is prompted to
- * confirm page navigation, such that he's given the chance to prevent the loss
- * of edits.
- */
-var InspectorProgressListener = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener]),
-
-  onStateChange:
-  function IPL_onStateChange(aProgress, aRequest, aFlag, aStatus)
-  {
-    // Remove myself if the Inspector is no longer open.
-    if (!InspectorUI.isTreePanelOpen) {
-      gBrowser.removeProgressListener(InspectorProgressListener);
-      return;
-    }
-
-    // Skip non-start states.
-    if (!(aFlag & Ci.nsIWebProgressListener.STATE_START)) {
-      return;
-    }
-
-    // If the request is about to happen in a new window, we are not concerned
-    // about the request.
-    if (aProgress.DOMWindow != InspectorUI.win) {
-      return;
-    }
-
-    if (InspectorUI.isDirty) {
-      this.showNotification(aRequest);
-    } else {
-      InspectorUI.closeInspectorUI();
-    }
-  },
-
-  onLocationChange: function() {},
-  onProgressChange: function() {},
-  onStatusChange: function() {},
-  onSecurityChange: function() {},
-
-  /**
-   * Show an asynchronous notification which asks the user to confirm or cancel
-   * the page navigation request.
-   *
-   * @param nsIRequest aRequest
-   *        The request initiated by the user or by the page itself.
-   * @returns void
-   */
-  showNotification: function IPL_showNotification(aRequest)
-  {
-    aRequest.suspend();
-
-    let notificationBox = gBrowser.getNotificationBox(InspectorUI.browser);
-    let notification = notificationBox.
-      getNotificationWithValue("inspector-page-navigation");
-
-    if (notification) {
-      notificationBox.removeNotification(notification, true);
-    }
-
-    let cancelRequest = function onCancelRequest() {
-      if (aRequest) {
-        aRequest.cancel(Cr.NS_BINDING_ABORTED);
-        aRequest.resume(); // needed to allow the connection to be cancelled.
-        aRequest = null;
-      }
-    };
-
-    let buttons = [
-      {
-        id: "inspector.confirmNavigationAway.buttonLeave",
-        label: InspectorUI.strings.
-          GetStringFromName("confirmNavigationAway.buttonLeave"),
-        accessKey: InspectorUI.strings.
-          GetStringFromName("confirmNavigationAway.buttonLeaveAccesskey"),
-        callback: function onButtonLeave() {
-          if (aRequest) {
-            aRequest.resume();
-            aRequest = null;
-            InspectorUI.closeInspectorUI();
-          }
-        },
-      },
-      {
-        id: "inspector.confirmNavigationAway.buttonStay",
-        label: InspectorUI.strings.
-          GetStringFromName("confirmNavigationAway.buttonStay"),
-        accessKey: InspectorUI.strings.
-          GetStringFromName("confirmNavigationAway.buttonStayAccesskey"),
-        callback: cancelRequest
-      },
-    ];
-
-    let message = InspectorUI.strings.
-      GetStringFromName("confirmNavigationAway.message");
-
-    notification = notificationBox.appendNotification(message,
-      "inspector-page-navigation", "chrome://browser/skin/Info.png",
-      notificationBox.PRIORITY_WARNING_HIGH, buttons);
-
-    // Make sure this not a transient notification, to avoid the automatic
-    // transient notification removal.
-    notification.persistence = -1;
-
-    // We need a removed() callback for notifications. See bug 600501.
-    notification.addEventListener("DOMNodeRemoved",
-      function onNotificationRemoved(aEvent) {
-        if (notification != aEvent.target) {
-          return;
-        }
-
-        notification.removeEventListener(aEvent.type,
-          onNotificationRemoved, false);
-        cancelRequest();
-      }, false);
-  },
-};
-
 /////////////////////////////////////////////////////////////////////////
-//// Initializers
+//// Initializors
 
 XPCOMUtils.defineLazyGetter(InspectorUI, "inspectCmd", function () {
   return document.getElementById("Tools:Inspect");
 });
-
-XPCOMUtils.defineLazyGetter(InspectorUI, "strings", function () {
-  return Services.strings.
-         createBundle("chrome://browser/locale/inspector.properties");
-});
-
--- a/browser/base/content/test/inspector/Makefile.in
+++ b/browser/base/content/test/inspector/Makefile.in
@@ -51,13 +51,12 @@ include $(topsrcdir)/config/rules.mk
 		browser_inspector_scrolling.js \
 		browser_inspector_store.js \
 		browser_inspector_tab_switch.js \
 		browser_inspector_treePanel_output.js \
 		browser_inspector_treePanel_input.html \
 		browser_inspector_treePanel_result.html \
 		browser_inspector_registertools.js \
 		browser_inspector_bug_665880.js \
-		browser_inspector_bug_566084_location_changed.js \
 		$(NULL)
 
 libs::	$(_BROWSER_FILES)
 	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
deleted file mode 100644
--- a/browser/base/content/test/inspector/browser_inspector_bug_566084_location_changed.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
-   http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let notificationBox = null;
-
-function startLocationTests() {
-  ok(window.InspectorUI, "InspectorUI variable exists");
-  Services.obs.addObserver(runInspectorTests, INSPECTOR_NOTIFICATIONS.OPENED, null);
-  InspectorUI.toggleInspectorUI();
-}
-
-function runInspectorTests() {
-  Services.obs.removeObserver(runInspectorTests, INSPECTOR_NOTIFICATIONS.OPENED, null);
-
-  let para = content.document.querySelector("p");
-  ok(para, "found the paragraph element");
-  is(para.textContent, "init", "paragraph content is correct");
-
-  ok(InspectorUI.inspecting, "Inspector is highlighting");
-  ok(InspectorUI.isTreePanelOpen, "Inspector Panel is open");
-
-  InspectorUI.isDirty = true;
-
-  notificationBox = gBrowser.getNotificationBox(gBrowser.selectedBrowser);
-  notificationBox.addEventListener("AlertActive", alertActive1, false);
-
-  gBrowser.selectedBrowser.addEventListener("load", onPageLoad, true);
-
-  content.location = "data:text/html,<div>location change test 1 for " +
-    "inspector</div><p>test1</p>";
-}
-
-function alertActive1() {
-  notificationBox.removeEventListener("AlertActive", alertActive1, false);
-
-  let notification = notificationBox.
-    getNotificationWithValue("inspector-page-navigation");
-  ok(notification, "found the inspector-page-navigation notification");
-
-  // By closing the notification it is expected that page navigation is
-  // canceled.
-  executeSoon(function() {
-    notification.close();
-    locationTest2();
-  });
-}
-
-function onPageLoad() {
-  gBrowser.selectedBrowser.removeEventListener("load", onPageLoad, true);
-
-  isnot(content.location.href.indexOf("test2"), -1,
-        "page navigated to the correct location");
-
-  let para = content.document.querySelector("p");
-  ok(para, "found the paragraph element, third time");
-  is(para.textContent, "test2", "paragraph content is correct");
-
-  ok(!InspectorUI.inspecting, "Inspector is not highlighting");
-  ok(!InspectorUI.isTreePanelOpen, "Inspector Panel is not open");
-
-  testEnd();
-}
-
-function locationTest2() {
-  // Location did not change.
-  let para = content.document.querySelector("p");
-  ok(para, "found the paragraph element, second time");
-  is(para.textContent, "init", "paragraph content is correct");
-
-  ok(InspectorUI.inspecting, "Inspector is highlighting");
-  ok(InspectorUI.isTreePanelOpen, "Inspector Panel is open");
-
-  notificationBox.addEventListener("AlertActive", alertActive2, false);
-
-  content.location = "data:text/html,<div>location change test 2 for " +
-    "inspector</div><p>test2</p>";
-}
-
-function alertActive2() {
-  notificationBox.removeEventListener("AlertActive", alertActive2, false);
-
-  let notification = notificationBox.
-    getNotificationWithValue("inspector-page-navigation");
-  ok(notification, "found the inspector-page-navigation notification");
-
-  let buttons = notification.querySelectorAll("button");
-  let buttonLeave = null;
-  for (let i = 0; i < buttons.length; i++) {
-    if (buttons[i].buttonInfo.id == "inspector.confirmNavigationAway.buttonLeave") {
-      buttonLeave = buttons[i];
-      break;
-    }
-  }
-
-  ok(buttonLeave, "the Leave page button was found");
-
-  // Accept page navigation.
-  executeSoon(function(){
-    buttonLeave.doCommand();
-  });
-}
-
-function testEnd() {
-  notificationBox = null;
-  InspectorUI.isDirty = false;
-  gBrowser.removeCurrentTab();
-  executeSoon(finish);
-}
-
-function test() {
-  waitForExplicitFinish();
-
-  gBrowser.selectedTab = gBrowser.addTab();
-  gBrowser.selectedBrowser.addEventListener("load", function onBrowserLoad() {
-    gBrowser.selectedBrowser.removeEventListener("load", onBrowserLoad, true);
-    waitForFocus(startLocationTests, content);
-  }, true);
-
-  content.location = "data:text/html,<div>location change tests for " +
-    "inspector.</div><p>init</p>";
-}
deleted file mode 100644
--- a/browser/locales/en-US/chrome/browser/inspector.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-# LOCALIZATION NOTE (confirmNavigationAway): Used in the Inspector tool, when
-# the user tries to navigate away from a web page, to confirm the change of
-# page.
-confirmNavigationAway.message=Leaving this page will close the Inspector and the changes you have made will be lost.
-confirmNavigationAway.buttonLeave=Leave Page
-confirmNavigationAway.buttonLeaveAccesskey=L
-confirmNavigationAway.buttonStay=Stay on Page
-confirmNavigationAway.buttonStayAccesskey=S
-
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -11,17 +11,16 @@
 #ifdef MOZ_SERVICES_SYNC
     locale/browser/aboutSyncTabs.dtd               (%chrome/browser/aboutSyncTabs.dtd)
 #endif
 *   locale/browser/browser.dtd                     (%chrome/browser/browser.dtd)
     locale/browser/baseMenuOverlay.dtd             (%chrome/browser/baseMenuOverlay.dtd)
     locale/browser/browser.properties              (%chrome/browser/browser.properties)
     locale/browser/scratchpad.properties           (%chrome/browser/scratchpad.properties)
     locale/browser/scratchpad.dtd                  (%chrome/browser/scratchpad.dtd)
-    locale/browser/inspector.properties            (%chrome/browser/inspector.properties)
     locale/browser/openLocation.dtd                (%chrome/browser/openLocation.dtd)
     locale/browser/openLocation.properties         (%chrome/browser/openLocation.properties)
 *   locale/browser/pageInfo.dtd                    (%chrome/browser/pageInfo.dtd)
     locale/browser/pageInfo.properties             (%chrome/browser/pageInfo.properties)
     locale/browser/quitDialog.properties           (%chrome/browser/quitDialog.properties)
 *   locale/browser/safeMode.dtd                    (%chrome/browser/safeMode.dtd)
     locale/browser/sanitize.dtd                    (%chrome/browser/sanitize.dtd)
     locale/browser/search.properties               (%chrome/browser/search.properties)