rem: setTimeout(function(loc, aloc) { gURLBar.value = loc; SetPageProxyState("valid", aloc);}, 0, location, aLocation);  
add: if (getBrowser().forceSyncURLBarUpdate) { gURLBar.value = ""; gURLBar.value = location; SetPageProxyState("valid", aLocation); } else { setTimeout(function(loc, aloc) { gURLBar.value = ""; gURLBar.value = loc; SetPageProxyState("valid", aloc); }, 0, location, aLocation); }  
context:   onLocationChange : function(aWebProgress, aRequest, aLocation)  {    this.setOverLink("", null);    var location = aLocation.spec;    if (location == "about:blank")      location = "";    // We should probably not do this if the value has changed since the user    // searched    // Update urlbar only if a new page was loaded on the primary content area    // Do not update urlbar if there was a subframe navigation    var browser = getBrowser().selectedBrowser;    if (aWebProgress.DOMWindow == content) {      // The document loaded correctly, clear the value if we should      if (browser.userTypedClear)        browser.userTypedValue = null;      // reset any favicon set for the browser      browser.mFavIconURL = null;      //XXXBlake don't we have to reinit this.urlBar, etc.      //         when the toolbar changes?      var userTypedValue = browser.userTypedValue;      if (gURLBar && !userTypedValue) {        // If the url has "wyciwyg://" as the protocol, strip it off.        // Nobody wants to see it on the urlbar for dynamically generated        // pages.         if (!gURIFixup)          gURIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"]                                .getService(Components.interfaces.nsIURIFixup);        if (location && gURIFixup)          try {            var locationURI = gURIFixup.createExposableURI(aLocation);            location = locationURI.spec;          } catch (exception) {}                setTimeout(function(loc, aloc) { gURLBar.value = loc; SetPageProxyState("valid", aloc);}, 0, location, aLocation);                // Setting the urlBar value in some cases causes userTypedValue to        // become set because of oninput, so reset it to its old value.        browser.userTypedValue = userTypedValue;      } else {        gURLBar.value = userTypedValue;        SetPageProxyState("invalid", null);      }    }    UpdateBackForwardButtons();        setTimeout(function () { updatePageTheme(); updatePageLivemarks(); }, 0);  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/3d3c74240e5c0aae40d90981f54dd2b2cf77ca30/browser.js/buggy/browser/base/content/browser.js