commit aab3276276bdef5e971310d4b5188d2f62dfacf6
parent 1f4125325679b6c8afd02e03ccf40cda0e7c0b5f
Author: Dan Stillman <dstillman@zotero.org>
Date: Tue, 14 Oct 2014 02:22:44 -0400
Use old-style searchbox in Yosemite pre-Fx34
Yosemite introduces a new search textbox shape, but Firefox still uses
the old focus ring shape until 34, so we fake the old searchbox shape
for earlier versions.
Diffstat:
4 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/chrome/content/zotero-platform/mac/overlay.css b/chrome/content/zotero-platform/mac/overlay.css
@@ -47,6 +47,54 @@
padding: 5px 1px 5px 11px;
}
+
+/*
+ * The searchbox focus ring is incorrect in Yosemite pre-Fx34, so use the old searchbox shape
+ * (with code borrowed from the Fx Add-ons window and icons borrowed from the Fx searchbar).
+ * These styles, the 'oldsearchfield' assignment in zoteroPane.js, and the Search.png icons
+ * can be removed after Fx31 ESR.
+ *
+ * Note: This uses navigator.oscpu in zoteroPane.js to test for Yosemite instead of
+ * -moz-mac-yosemite-theme here because the latter isn't defined in Fx31.
+ */
+#zotero-pane-stack[oldsearchfield] textbox[type=search] {
+ margin: 0;
+ -moz-appearance: none;
+ padding: 3px 5px 2px;
+ border: 1px solid rgba(60,73,97,0.5);
+ border-radius: 10000px;
+ box-shadow: inset 0 1px 1px rgba(0,0,0,0.15), 0 1px rgba(255,255,255,0.25);
+ background-clip: padding-box;
+}
+
+#zotero-pane-stack[oldsearchfield] textbox[type=search][focused] {
+ box-shadow: 0 0 1px -moz-mac-focusring inset, 0 0 4px 1px -moz-mac-focusring, 0 0 1.5px 1px -moz-mac-focusring, inset 0 1px 1px rgba(0,0,0,0.15);
+ border-color: -moz-mac-focusring;
+}
+
+#zotero-pane-stack[oldsearchfield] textbox[type=search] > .textbox-input-box {
+ -moz-padding-start: 15px;
+ background: url("chrome://zotero/skin/mac/moz/Search.png") left no-repeat;
+ background-size: 14px;
+}
+
+@media (min-resolution: 2dppx) {
+ #zotero-pane-stack[oldsearchfield] textbox[type=search] > .textbox-input-box {
+ background: url("chrome://zotero/skin/mac/moz/Search@2x.png") left no-repeat;
+ background-size: 14px;
+ }
+}
+
+#zotero-pane-stack[oldsearchfield] textbox[type=search] > .textbox-input-box:-moz-locale-dir(rtl) {
+ background-position: right;
+}
+
+#zotero-pane-stack[oldsearchfield] textbox[type=search] > .textbox-input-box > html|*.textbox-input::-moz-placeholder {
+ opacity: 1.0;
+}
+/* End searchbox focus fix */
+
+
#zotero-tb-search-menu-button
{
margin: -6px -2px -6px -16px;
diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js
@@ -124,6 +124,12 @@ var ZoteroPane = new function()
document.getElementById('zotero-pane-stack').setAttribute('platform', 'win');
}
+ // Use pre-Yosemite search fields before Fx34
+ // See note in chrome/content/zotero-platform/mac/overlay.css
+ if (Zotero.isMac && Zotero.platformMajorVersion < 34 && Zotero.oscpu.contains(' 10.10')) {
+ document.getElementById('zotero-pane-stack').setAttribute('oldsearchfield', 'true')
+ }
+
// register an observer for Zotero reload
observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
diff --git a/chrome/skin/default/zotero/mac/moz/Search.png b/chrome/skin/default/zotero/mac/moz/Search.png
Binary files differ.
diff --git a/chrome/skin/default/zotero/mac/moz/Search@2x.png b/chrome/skin/default/zotero/mac/moz/Search@2x.png
Binary files differ.