mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 747668. (Av1a) XPFE autocomplete.xml: Regroup nsIAutoCompleteInput properties, Fix some nits. r=neil.
DONTBUILD (a=npotb).
This commit is contained in:
parent
76d1d026bf
commit
7db3a7b38d
@ -77,7 +77,96 @@
|
||||
window.top.removeEventListener("DOMMenuBarActive", this.mMenuBarListener, true);
|
||||
this.mInputElt.controllers.removeController(this.mPasteController);
|
||||
]]></destructor>
|
||||
|
||||
|
||||
<!-- =================== nsIAccessibleProvider =================== -->
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Will be exposed as nsIAccessible::ROLE_AUTOCOMPLETE
|
||||
return Components.interfaces.nsIAccessibleProvider.XULCombobox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- =================== nsIAutoCompleteInput =================== -->
|
||||
<!-- XXX: This implementation is currently incomplete. -->
|
||||
|
||||
<!-- reference to the results popup element -->
|
||||
<field name="popup"><![CDATA[
|
||||
document.getAnonymousElementByAttribute(this, "anonid", "popup");
|
||||
]]></field>
|
||||
|
||||
<!-- option to turn off autocomplete -->
|
||||
<property name="disableAutoComplete"
|
||||
onset="this.setAttribute('disableautocomplete', val); return val;"
|
||||
onget="return this.getAttribute('disableautocomplete') == 'true';"/>
|
||||
|
||||
<!-- if the resulting match string is not at the beginning of the typed string,
|
||||
this will optionally autofill like this "bar |>> foobar|" -->
|
||||
<property name="completeDefaultIndex"
|
||||
onset="this.setAttribute('completedefaultindex', val); return val;"
|
||||
onget="return this.getAttribute('completedefaultindex') == 'true';"/>
|
||||
|
||||
<!-- option for completing to the default result whenever the user hits
|
||||
enter or the textbox loses focus -->
|
||||
<property name="forceComplete"
|
||||
onset="this.setAttribute('forcecomplete', val); return val;"
|
||||
onget="return this.getAttribute('forcecomplete') == 'true';"/>
|
||||
|
||||
<property name="minResultsForPopup"
|
||||
onset="this.setAttribute('minresultsforpopup', val); return val;"
|
||||
onget="var t = this.getAttribute('minresultsforpopup'); return t ? parseInt(t) : 1;"/>
|
||||
|
||||
<!-- maximum number of rows to display -->
|
||||
<property name="maxRows"
|
||||
onset="this.setAttribute('maxrows', val); return val;"
|
||||
onget="return parseInt(this.getAttribute('maxrows')) || 0;"/>
|
||||
|
||||
<!-- toggles a second column in the results list which contains
|
||||
the string in the comment field of each autocomplete result -->
|
||||
<property name="showCommentColumn"
|
||||
onget="return this.getAttribute('showcommentcolumn') == 'true';">
|
||||
<setter><![CDATA[
|
||||
this.popup.showCommentColumn = val;
|
||||
this.setAttribute('showcommentcolumn', val);
|
||||
return val;
|
||||
]]></setter>
|
||||
</property>
|
||||
|
||||
<!-- number of milliseconds after a keystroke before a search begins -->
|
||||
<property name="timeout"
|
||||
onset="this.setAttribute('timeout', val); return val;"
|
||||
onget="return parseInt(this.getAttribute('timeout')) || 0;"/>
|
||||
|
||||
<!-- =================== nsIDOMXULMenuListElement =================== -->
|
||||
|
||||
<property name="editable" readonly="true"
|
||||
onget="return true;" />
|
||||
|
||||
<property name="crop"
|
||||
onset="this.setAttribute('crop', val); return val;"
|
||||
onget="return this.getAttribute('crop');"/>
|
||||
|
||||
<property name="label" readonly="true"
|
||||
onget="return this.mInputElt.value;"/>
|
||||
|
||||
<property name="open"
|
||||
onget="return this.getAttribute('open') == 'true';">
|
||||
<setter>
|
||||
<![CDATA[
|
||||
var historyPopup = document.getAnonymousElementByAttribute(this, "anonid", "historydropmarker");
|
||||
if (val) {
|
||||
this.setAttribute('open', true);
|
||||
historyPopup.showPopup();
|
||||
} else {
|
||||
this.removeAttribute('open');
|
||||
historyPopup.hidePopup();
|
||||
}
|
||||
]]>
|
||||
</setter>
|
||||
</property>
|
||||
|
||||
<!-- =================== PUBLIC PROPERTIES =================== -->
|
||||
|
||||
<property name="value"
|
||||
@ -92,7 +181,7 @@
|
||||
return val;
|
||||
]]></setter>
|
||||
</property>
|
||||
|
||||
|
||||
<property name="focused"
|
||||
onget="return this.getAttribute('focused') == 'true';"/>
|
||||
|
||||
@ -145,56 +234,23 @@
|
||||
<!-- the number of sessions currently in use -->
|
||||
<field name="sessionCount">0</field>
|
||||
|
||||
<!-- number of milliseconds after a keystroke before a search begins -->
|
||||
<property name="timeout"
|
||||
onset="this.setAttribute('timeout', val); return val;"
|
||||
onget="var t = parseInt(this.getAttribute('timeout')); return t ? t : 0;"/>
|
||||
|
||||
<!-- number of milliseconds after a paste before a search begins -->
|
||||
<property name="pasteTimeout"
|
||||
onset="this.setAttribute('pastetimeout', val); return val;"
|
||||
onget="var t = parseInt(this.getAttribute('pastetimeout')); return t ? t : 0;"/>
|
||||
|
||||
<!-- maximum number of rows to display -->
|
||||
<property name="maxRows"
|
||||
onset="this.setAttribute('maxrows', val); return val;"
|
||||
onget="var t = parseInt(this.getAttribute('maxrows')); return t ? t : 0;"/>
|
||||
|
||||
<!-- option for filling the textbox with the best match while typing
|
||||
and selecting the difference -->
|
||||
<property name="autoFill"
|
||||
onset="this.setAttribute('autofill', val); return val;"
|
||||
onget="return this.getAttribute('autofill') == 'true';"/>
|
||||
|
||||
<!-- if the resulting match string is not at the beginning of the typed string,
|
||||
this will optionally autofill like this "bar |>> foobar|" -->
|
||||
<property name="completeDefaultIndex"
|
||||
onset="this.setAttribute('completedefaultindex', val); return val;"
|
||||
onget="return this.getAttribute('completedefaultindex') == 'true';"/>
|
||||
|
||||
<!-- if this attribute is set, allow different style for
|
||||
non auto-completed lines -->
|
||||
<property name="highlightNonMatches"
|
||||
onset="this.setAttribute('highlightnonmatches', val); return val;"
|
||||
onget="return this.getAttribute('highlightnonmatches') == 'true';"/>
|
||||
|
||||
<!-- toggles a second column in the results list which contains
|
||||
the string in the comment field of each autocomplete result -->
|
||||
<property name="showCommentColumn"
|
||||
onget="return this.getAttribute('showcommentcolumn') == 'true';">
|
||||
<setter><![CDATA[
|
||||
this.popup.showCommentColumn = val;
|
||||
this.setAttribute('showcommentcolumn', val); return val;
|
||||
]]></setter>
|
||||
</property>
|
||||
|
||||
|
||||
<!-- option for completing to the default result whenever the user hits
|
||||
enter or the textbox loses focus -->
|
||||
<property name="forceComplete"
|
||||
onset="this.setAttribute('forcecomplete', val); return val;"
|
||||
onget="return this.getAttribute('forcecomplete') == 'true';"/>
|
||||
|
||||
<!-- option to show the popup containing the results -->
|
||||
<property name="showPopup"
|
||||
onset="this.setAttribute('showpopup', val); return val;"
|
||||
@ -206,11 +262,6 @@
|
||||
onset="return this.setAttribute('tabscrolling', val); return val;"
|
||||
onget="return this.getAttribute('tabscrolling') == 'true';"/>
|
||||
|
||||
<!-- option to turn off autocomplete -->
|
||||
<property name="disableAutoComplete"
|
||||
onset="this.setAttribute('disableautocomplete', val); return val;"
|
||||
onget="return this.getAttribute('disableautocomplete') == 'true';"/>
|
||||
|
||||
<!-- option to completely ignore any blur events while
|
||||
searches are still going on. This is useful so that nothing
|
||||
gets autopicked if the window is required to lose focus for
|
||||
@ -221,16 +272,12 @@
|
||||
onset="this.setAttribute('ignoreblurwhilesearching', val); return val;"
|
||||
onget="return this.getAttribute('ignoreblurwhilesearching') == 'true';"/>
|
||||
|
||||
<property name="minResultsForPopup"
|
||||
onset="this.setAttribute('minresultsforpopup', val); return val;"
|
||||
onget="var t = this.getAttribute('minresultsforpopup'); return t ? parseInt(t) : 1;"/>
|
||||
|
||||
<!-- state which indicates the current action being performed by the user.
|
||||
Possible values are : none, typing, scrolling -->
|
||||
<property name="userAction"
|
||||
onset="this.setAttribute('userAction', val); return val;"
|
||||
onget="return this.getAttribute('userAction');"/>
|
||||
|
||||
|
||||
<!-- state which indicates if the last search had no matches -->
|
||||
<field name="noMatch">true</field>
|
||||
|
||||
@ -241,51 +288,6 @@
|
||||
<property name="isWaiting"
|
||||
onget="return this.mAutoCompleteTimer != 0;"/>
|
||||
|
||||
<!-- reference to the results popup element -->
|
||||
<field name="popup"><![CDATA[
|
||||
document.getAnonymousElementByAttribute(this, "anonid", "popup");
|
||||
]]></field>
|
||||
|
||||
<!-- nsIAccessibleProvider -->
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Will be exposed as nsIAccessible::ROLE_AUTOCOMPLETE
|
||||
return Components.interfaces.nsIAccessibleProvider.XULCombobox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- nsIDOMXULMenuListElement properties -->
|
||||
|
||||
<property name="editable" readonly="true" onget="return true;" />
|
||||
|
||||
<property name="crop" onset="this.setAttribute('crop',val); return val;"
|
||||
onget="return this.getAttribute('crop');"/>
|
||||
|
||||
<property name="label" readonly="true" onget="return this.mInputElt.value;"/>
|
||||
|
||||
<property name="open">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return this.getAttribute('open') == 'true';
|
||||
]]>
|
||||
</getter>
|
||||
<setter>
|
||||
<![CDATA[
|
||||
var historyPopup = document.getAnonymousElementByAttribute(this, "anonid", "historydropmarker");
|
||||
if (val) {
|
||||
this.setAttribute('open',true);
|
||||
historyPopup.showPopup();
|
||||
}
|
||||
else {
|
||||
this.removeAttribute('open');
|
||||
historyPopup.hidePopup();
|
||||
}
|
||||
]]>
|
||||
</setter>
|
||||
</property>
|
||||
|
||||
<!-- =================== PRIVATE PROPERTIES =================== -->
|
||||
|
||||
<field name="mSessions">({})</field>
|
||||
@ -510,7 +512,7 @@
|
||||
return this.view.rowCount;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
|
||||
<!-- get a session object by index -->
|
||||
<method name="getSession">
|
||||
<parameter name="aIndex"/>
|
||||
@ -608,7 +610,7 @@
|
||||
</method>
|
||||
|
||||
<!-- =================== PRIVATE METHODS =================== -->
|
||||
|
||||
|
||||
<!-- ::::::::::::: session searching ::::::::::::: -->
|
||||
|
||||
<!-- -->
|
||||
@ -1493,7 +1495,7 @@
|
||||
<handler event="mousedown" phase="capturing"
|
||||
action="if ( !this.mMenuOpen ) this.finishAutoComplete(false, false, event);"/>
|
||||
</handlers>
|
||||
</binding>
|
||||
</binding>
|
||||
|
||||
<binding id="autocomplete-result-popup" extends="chrome://global/content/bindings/popup.xml#popup">
|
||||
<resources>
|
||||
@ -1510,7 +1512,7 @@
|
||||
<xul:treechildren anonid="treebody" class="autocomplete-treebody"/>
|
||||
</xul:tree>
|
||||
</content>
|
||||
|
||||
|
||||
<implementation implements="nsIAutoCompletePopup">
|
||||
<constructor><![CDATA[
|
||||
if (this.textbox && this.textbox.view)
|
||||
@ -1740,7 +1742,7 @@
|
||||
|
||||
<field name="mLastMoveTime">Date.now()</field>
|
||||
</implementation>
|
||||
|
||||
|
||||
<handlers>
|
||||
<handler event="mouseout" action="this.popup.selectedIndex = -1;"/>
|
||||
|
||||
@ -1769,7 +1771,7 @@
|
||||
<stylesheet src="chrome://global/content/autocomplete.css"/>
|
||||
<stylesheet src="chrome://global/skin/autocomplete.css"/>
|
||||
</resources>
|
||||
|
||||
|
||||
<implementation>
|
||||
<method name="removeOpenAttribute">
|
||||
<parameter name="parentNode"/>
|
||||
@ -1787,7 +1789,7 @@
|
||||
</binding>
|
||||
|
||||
<binding id="history-dropmarker" extends="chrome://global/content/bindings/general.xml#dropmarker">
|
||||
|
||||
|
||||
<implementation>
|
||||
<method name="showPopup">
|
||||
<body><![CDATA[
|
||||
@ -1800,7 +1802,7 @@
|
||||
]]></body>
|
||||
</method>
|
||||
</implementation>
|
||||
|
||||
|
||||
<handlers>
|
||||
<handler event="mousedown"><![CDATA[
|
||||
this.showPopup();
|
||||
|
Loading…
Reference in New Issue
Block a user