diff --git a/common/Makefile b/common/Makefile index e2d7bfb4..0251c4ab 100644 --- a/common/Makefile +++ b/common/Makefile @@ -50,9 +50,6 @@ XPI_NAME = $(NAME)-$(VERSION) XPI = ../downloads/$(XPI_NAME).xpi XPI_PATH = $(TOP)/$(XPI:%.xpi=%) -RDF = ../downloads/update.rdf -RDF_IN = $(RDF).in - BUILD_DIR = build.$(VERSION).$(OS) .SILENT: @@ -78,7 +75,6 @@ help: @echo " make install - installs this source tree directly to your $(HOSTAPP) profile" @echo ' set $$PROFILE to select a profile by name and $$PROFILEPATHS' @echo ' to change the directory where profiles are searched' - @echo " make release - updates update.rdf (this is not for you)" @echo " make dist - uploads to Google Code (this is not for you)" @echo " make clean - clean up" @echo " make distclean - clean up more" @@ -94,8 +90,6 @@ info: jar: $(JAR) -release: $(XPI) $(RDF) - # This is not for you! dist: $(XPI) @echo DIST $(XPI) $(GOOGLE) @@ -160,13 +154,6 @@ install: installxpi: xpi $(HOSTAPP) $(XPI) -$(RDF): $(RDF_IN) Makefile - @echo "Preparing release..." - $(SED) -e "s,@VERSION@,$(VERSION),g" \ - -e "s,@DATE@,$(BUILD_DATE),g" \ - < $< > $@ - @echo "SUCCESS: $@" - clean: @echo "General $(NAME) cleanup..." rm -f $(JAR) $(XPI) diff --git a/common/content/events.js b/common/content/events.js index e2331780..ac846d8c 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -116,7 +116,7 @@ var Events = Module("events", { }); this._fullscreen = window.fullScreen; - this._lastFocus = null; + this._lastFocus = { get: function () null }; this._macroKeys = []; this._lastMacro = ""; @@ -901,20 +901,22 @@ var Events = Module("events", { } let urlbar = document.getElementById("urlbar"); - if (elem == null && urlbar && urlbar.inputField == this._lastFocus) + if (elem == null && urlbar && urlbar.inputField == this._lastFocus.get()) util.threadYield(true); // Why? --Kris while (modes.main.ownsFocus - && modes.topOfStack.params.ownsFocus != elem - && modes.topOfStack.params.ownsFocus != win + && let ({ ownsFocus } = modes.topOfStack.params) + (!ownsFocus || + ownsFocus.get() != elem && + ownsFocus.get() != win) && !modes.topOfStack.params.holdFocus) modes.pop(null, { fromFocus: true }); } finally { - this._lastFocus = elem; + this._lastFocus = util.weakReference(elem); if (modes.main.ownsFocus) - modes.topOfStack.params.ownsFocus = elem; + modes.topOfStack.params.ownsFocus = util.weakReference(elem); } }),