Backed out changeset 7715bba5cc3a
authorDão Gottwald <dao@mozilla.com>
Mon, 15 Aug 2011 19:49:57 +0200
changeset 75382 a74d2e4c720ed178735ae2f03e0ca8c2501da06f
parent 75377 7715bba5cc3ac721b5c259cc52f5c15e4a08b9ce
child 75383 bdbc65fca5ff366c35841120c53128bde7a6a205
push id2
push userbsmedberg@mozilla.com
push dateFri, 19 Aug 2011 14:38:13 +0000
milestone8.0a1
backs out7715bba5cc3ac721b5c259cc52f5c15e4a08b9ce
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)