mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-13 18:27:35 +00:00
Bug 517787 Clicking a partially off-screen link shouldn't scroll the page (again) r=enndeakin
This commit is contained in:
parent
468011935d
commit
c673342285
@ -5064,7 +5064,8 @@ nsGenericElement::PostHandleEventForLinks(nsEventChainPostVisitor& aVisitor)
|
||||
nsIFocusManager* fm = nsFocusManager::GetFocusManager();
|
||||
if (fm) {
|
||||
nsCOMPtr<nsIDOMElement> elem = do_QueryInterface(this);
|
||||
fm->SetFocus(elem, nsIFocusManager::FLAG_BYMOUSE);
|
||||
fm->SetFocus(elem, nsIFocusManager::FLAG_BYMOUSE |
|
||||
nsIFocusManager::FLAG_NOSCROLL);
|
||||
}
|
||||
|
||||
aVisitor.mPresContext->EventStateManager()->
|
||||
|
@ -58,6 +58,7 @@ _TEST_FILES = \
|
||||
test_focus_switchbinding.xul \
|
||||
test_focus.xul \
|
||||
window_focus.xul \
|
||||
test_focused_link_scroll.xul \
|
||||
$(NULL)
|
||||
|
||||
libs:: $(_TEST_FILES)
|
||||
|
50
dom/tests/mochitest/chrome/test_focused_link_scroll.xul
Normal file
50
dom/tests/mochitest/chrome/test_focused_link_scroll.xul
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
||||
|
||||
<window title="Focus Scroll Tests"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/MochiKit/packed.js"/>
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
|
||||
|
||||
<body xmlns="http://www.w3.org/1999/xhtml">
|
||||
<div id="div" style="width:500px;height:48px;overflow:auto;font-size:16px;line-height:16px;">
|
||||
aaaaaaaaa<br/>bbbbbbbb<br/>
|
||||
<a href="about:blank;" id="a">ccccccccc<br/>ddddddddd</a>
|
||||
</div>
|
||||
<p id="display">
|
||||
</p>
|
||||
<div id="content" style="display: none">
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
|
||||
<script>
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function runTest()
|
||||
{
|
||||
var fm = Components.classes["@mozilla.org/focus-manager;1"].
|
||||
getService(Components.interfaces.nsIFocusManager);
|
||||
var div = document.getElementById('div');
|
||||
var a = document.getElementById('a');
|
||||
synthesizeMouse(a, 4, 4, { type: "mousedown" }, window);
|
||||
is(fm.focusedElement, a,
|
||||
"The anchor element isn't set focus by the mouse down event");
|
||||
is(div.scrollTop, 0,
|
||||
"The div element was scrolled by the mouse down event");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForFocus(runTest);
|
||||
|
||||
</script>
|
||||
|
||||
</window>
|
Loading…
Reference in New Issue
Block a user