mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
Bug 1332699 - Don't check handler of legacy version if the event is not trusted. r=smaug
MozReview-Commit-ID: A7G4bkyNsOe --HG-- extra : rebase_source : b5831d05588fa5ca98430d606591ea05e42fd672
This commit is contained in:
parent
eacdb7c6e3
commit
70377f6cf6
@ -1314,9 +1314,10 @@ EventListenerManager::HandleEventInternal(nsPresContext* aPresContext,
|
||||
// If we didn't find any matching listeners, and our event has a legacy
|
||||
// version, we'll now switch to looking for that legacy version and we'll
|
||||
// recheck our listeners.
|
||||
if (hasListenerForCurrentGroup || usingLegacyMessage) {
|
||||
// (No need to recheck listeners, because we already found a match, or we
|
||||
// already rechecked them.)
|
||||
if (hasListenerForCurrentGroup ||
|
||||
usingLegacyMessage || !aEvent->IsTrusted()) {
|
||||
// No need to recheck listeners, because we already found a match, we
|
||||
// already rechecked them, or it is not a trusted event.
|
||||
break;
|
||||
}
|
||||
EventMessage legacyEventMessage = GetLegacyEventMessage(eventMessage);
|
||||
|
@ -173,3 +173,4 @@ skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
|
||||
[test_bug1305458.html]
|
||||
[test_bug1298970.html]
|
||||
[test_bug1304044.html]
|
||||
[test_bug1332699.html]
|
||||
|
37
dom/events/test/test_bug1332699.html
Normal file
37
dom/events/test/test_bug1332699.html
Normal file
@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for bug 1332699</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
||||
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
|
||||
<style>
|
||||
#test {
|
||||
color: red;
|
||||
transition: color 100ms;
|
||||
}
|
||||
#test.changed {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<div id="test"></div>
|
||||
<script>
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
window.onload = function () {
|
||||
let $test = document.getElementById('test');
|
||||
is(getComputedStyle($test).color, 'rgb(255, 0, 0)',
|
||||
'color should be red before transition');
|
||||
let numEvents = 0;
|
||||
$test.addEventListener('webkittransitionend', function() {
|
||||
++numEvents;
|
||||
if (numEvents == 1) {
|
||||
is(getComputedStyle($test).color, 'rgb(0, 128, 0)',
|
||||
'color should be green after transition');
|
||||
$test.dispatchEvent(new TransitionEvent('transitionend'));
|
||||
is(numEvents, 1, "Shouldn't receive the prefixed event again");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
});
|
||||
$test.className = 'changed';
|
||||
};
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user