зеркало из https://github.com/mozilla/gecko-dev.git
0f39d7eda7
On Windows, Windows logo key was mapped to "OS" modifier, and on Linux, it's same and the key is called "Super" and "Hyper". That conformed to the older UI Events spec. However, UI Events declares that they should be mapped to "Meta" now and Chrome handles it as the spec in Windows and Linux. Therefore, we should align the behavior to them. Note that we've treated the legacy "Meta" modifier on Linux as DOM "Meta" modifier state, and we'll keep this as-is because in Sun/Solaris keyboard layout, they keys are mapped to the legacy "Meta". Finally, the following check only `IsMeta()` but not `IsOS()`. I think that they should've checked `IsOS()` too. Therefore, they will behave differently in Windows and Linux. * https://searchfox.org/mozilla-central/rev/9a4666e63199bd1bcfc9095f6efec3488c358458/dom/base/Element.cpp#3287-3288 * https://searchfox.org/mozilla-central/rev/9a4666e63199bd1bcfc9095f6efec3488c358458/dom/html/HTMLInputElement.cpp#3762-3764 * https://searchfox.org/mozilla-central/rev/9a4666e63199bd1bcfc9095f6efec3488c358458/dom/html/HTMLInputElement.cpp#3796-3806 * https://searchfox.org/mozilla-central/rev/9a4666e63199bd1bcfc9095f6efec3488c358458/dom/html/HTMLLabelElement.cpp#127-128 * https://searchfox.org/mozilla-central/rev/9a4666e63199bd1bcfc9095f6efec3488c358458/widget/gtk/nsGtkKeyUtils.cpp#1461-1462 Note that `KEY_NAME_INDEX_OS` will be removed in the patch for bug 1232918. Differential Revision: https://phabricator.services.mozilla.com/D183480 |
||
---|---|---|
.. | ||
crashtests | ||
test | ||
HTMLSelectEventListener.cpp | ||
HTMLSelectEventListener.h | ||
ListMutationObserver.cpp | ||
ListMutationObserver.h | ||
moz.build | ||
nsButtonFrameRenderer.cpp | ||
nsButtonFrameRenderer.h | ||
nsCheckboxRadioFrame.cpp | ||
nsCheckboxRadioFrame.h | ||
nsColorControlFrame.cpp | ||
nsColorControlFrame.h | ||
nsComboboxControlFrame.cpp | ||
nsComboboxControlFrame.h | ||
nsDateTimeControlFrame.cpp | ||
nsDateTimeControlFrame.h | ||
nsFieldSetFrame.cpp | ||
nsFieldSetFrame.h | ||
nsFileControlFrame.cpp | ||
nsFileControlFrame.h | ||
nsGfxButtonControlFrame.cpp | ||
nsGfxButtonControlFrame.h | ||
nsHTMLButtonControlFrame.cpp | ||
nsHTMLButtonControlFrame.h | ||
nsIFormControlFrame.h | ||
nsISelectControlFrame.h | ||
nsITextControlFrame.h | ||
nsImageControlFrame.cpp | ||
nsListControlFrame.cpp | ||
nsListControlFrame.h | ||
nsMeterFrame.cpp | ||
nsMeterFrame.h | ||
nsNumberControlFrame.cpp | ||
nsNumberControlFrame.h | ||
nsProgressFrame.cpp | ||
nsProgressFrame.h | ||
nsRangeFrame.cpp | ||
nsRangeFrame.h | ||
nsSearchControlFrame.cpp | ||
nsSearchControlFrame.h | ||
nsSelectsAreaFrame.cpp | ||
nsSelectsAreaFrame.h | ||
nsTextControlFrame.cpp | ||
nsTextControlFrame.h |