mirror of
https://github.com/zen-browser/desktop.git
synced 2025-10-06 18:06:35 +00:00
fix: Fixed incorrect behavior when using ctrl+enter from new tab addressbar, b=(bug #7898), c=common
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
index 4b69136aa31bfef3a1d3b57ad0c75fe07fa26be0..a469d122622fcf361eea8faa4a8d3a13a5a9e4f1 100644
|
index 4b69136aa31bfef3a1d3b57ad0c75fe07fa26be0..a864dd8854611d78e3ace9db301cf7c4f1357a32 100644
|
||||||
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
@@ -68,6 +68,13 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
@@ -68,6 +68,13 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
@@ -58,7 +58,7 @@ index 4b69136aa31bfef3a1d3b57ad0c75fe07fa26be0..a469d122622fcf361eea8faa4a8d3a13
|
|||||||
if (!this.#providesSearchMode(result)) {
|
if (!this.#providesSearchMode(result)) {
|
||||||
- this.view.close({ elementPicked: true });
|
- this.view.close({ elementPicked: true });
|
||||||
+ if (this._zenHandleUrlbarClose) {
|
+ if (this._zenHandleUrlbarClose) {
|
||||||
+ this._zenHandleUrlbarClose(true);
|
+ this._zenHandleUrlbarClose(true, true);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ this.view.close({ elementPicked: true });
|
+ this.view.close({ elementPicked: true });
|
||||||
+ }
|
+ }
|
||||||
|
@@ -323,7 +323,7 @@ var gZenUIManager = {
|
|||||||
this._lastSearch = '';
|
this._lastSearch = '';
|
||||||
},
|
},
|
||||||
|
|
||||||
handleUrlbarClose(onSwitch) {
|
handleUrlbarClose(onSwitch = false, onElementPicked = false) {
|
||||||
// Validate browser state first
|
// Validate browser state first
|
||||||
if (!this._validateBrowserState()) {
|
if (!this._validateBrowserState()) {
|
||||||
console.warn('Browser state invalid for URL bar close operation');
|
console.warn('Browser state invalid for URL bar close operation');
|
||||||
@@ -350,27 +350,29 @@ var gZenUIManager = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Handle search data
|
// Handle search data
|
||||||
if (onSwitch) {
|
if (!onElementPicked) {
|
||||||
this.clearUrlbarData();
|
if (onSwitch) {
|
||||||
} else {
|
this.clearUrlbarData();
|
||||||
this._lastSearch = gURLBar._untrimmedValue || '';
|
} else {
|
||||||
|
this._lastSearch = gURLBar._untrimmedValue || '';
|
||||||
|
|
||||||
if (this._clearTimeout) {
|
if (this._clearTimeout) {
|
||||||
clearTimeout(this._clearTimeout);
|
clearTimeout(this._clearTimeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
this._clearTimeout = setTimeout(() => {
|
||||||
|
this.clearUrlbarData();
|
||||||
|
}, this.urlbarWaitToClear);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._clearTimeout = setTimeout(() => {
|
// Safely restore URL bar state with proper validation
|
||||||
this.clearUrlbarData();
|
if (this._prevUrlbarLabel) {
|
||||||
}, this.urlbarWaitToClear);
|
gURLBar.setURI(this._prevUrlbarLabel, onSwitch, false, false, !onSwitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Safely restore URL bar state with proper validation
|
gURLBar.handleRevert();
|
||||||
if (this._prevUrlbarLabel) {
|
|
||||||
gURLBar.setURI(this._prevUrlbarLabel, onSwitch, false, false, !onSwitch);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gURLBar.handleRevert();
|
|
||||||
|
|
||||||
if (gURLBar.focused) {
|
if (gURLBar.focused) {
|
||||||
gURLBar.view.close({ elementPicked: onSwitch });
|
gURLBar.view.close({ elementPicked: onSwitch });
|
||||||
gURLBar.updateTextOverflow();
|
gURLBar.updateTextOverflow();
|
||||||
|
Reference in New Issue
Block a user