From 2879caf75edd7ada3812718ebd7147ee8b35b26a Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Sat, 27 Apr 2013 20:55:05 -0700 Subject: [PATCH] Fix bug. --- common/content/dactyl.js | 2 +- common/modules/buffer.jsm | 5 +++-- common/modules/cache.jsm | 5 ++++- common/modules/dom.jsm | 11 +++++++++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/common/content/dactyl.js b/common/content/dactyl.js index 869cd735..02ce9bd1 100644 --- a/common/content/dactyl.js +++ b/common/content/dactyl.js @@ -1884,7 +1884,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), { && root._lightweightTheme && root._lightweightTheme._lastScreenWidth == null) { - this.withSavedValues.call(PrivateBrowsingUtils, + dactyl.withSavedValues.call(PrivateBrowsingUtils, ["isWindowPrivate"], function () { PrivateBrowsingUtils.isWindowPrivate = function () false; diff --git a/common/modules/buffer.jsm b/common/modules/buffer.jsm index 51ae728d..964c3c81 100644 --- a/common/modules/buffer.jsm +++ b/common/modules/buffer.jsm @@ -1,6 +1,6 @@ // Copyright (c) 2006-2008 by Martin Stubenschrott // Copyright (c) 2007-2011 by Doug Kearns -// Copyright (c) 2008-2012 Kris Maglione +// Copyright (c) 2008-2013 Kris Maglione // // This work is licensed for reuse under an MIT license. Details are // given in the LICENSE.txt file included with this file. @@ -632,7 +632,8 @@ var Buffer = Module("Buffer", { util.reportError(e); } - let link = DOM("link[href]:-moz-any([rev=canonical], [rel=shortlink])", doc); + let link = DOM("link[href][rev=canonical], \ + link[href][rel=shortlink]", doc); if (link) return link.attr("href"); diff --git a/common/modules/cache.jsm b/common/modules/cache.jsm index 4fe8d8bb..5f39bc6a 100644 --- a/common/modules/cache.jsm +++ b/common/modules/cache.jsm @@ -234,11 +234,14 @@ var Cache = Module("Cache", XPCOM(Ci.nsIRequestObserver), { if (this.queue.length && !this.inQueue) { // removeEntry does not work properly with queues. + let removed = 0; for each (let [, entry] in this.queue) if (this.getCacheWriter().hasEntry(entry)) { this.getCacheWriter().removeEntry(entry, false); - this.closeWriter(); + removed++; } + if (removed) + this.closeWriter(); this.queue.splice(0).forEach(function ([time, entry]) { if (time && Set.has(this.cache, entry)) { diff --git a/common/modules/dom.jsm b/common/modules/dom.jsm index 1167feba..7a0c5556 100644 --- a/common/modules/dom.jsm +++ b/common/modules/dom.jsm @@ -499,8 +499,15 @@ var DOM = Class("DOM", { if (DOM(elem).isInput || /^(?:hidden|textarea)$/.test(elem.type) || elem.type == "submit" && elem == field - || elem.checked && /^(?:checkbox|radio)$/.test(elem.type)) - elems.push(encode(elem.name, elem.value, elem === field)); + || elem.checked && /^(?:checkbox|radio)$/.test(elem.type)) { + + if (elem !== field) + elems.push(encode(elem.name, elem.value)); + else if (overlay.getData(elem, "had-focus")) + elems.push(encode(elem.name, elem.value, true)); + else + elems.push(encode(elem.name, "", true)); + } else if (elem instanceof Ci.nsIDOMHTMLSelectElement) { for (let [, opt] in Iterator(elem.options)) if (opt.selected)