From 882ab5876ef561176db96a4a8355d82242571ef2 Mon Sep 17 00:00:00 2001 From: "joki%netscape.com" Date: Wed, 23 May 2001 06:35:32 +0000 Subject: [PATCH] Part of fix for 55020, add a pref to determine if accesskey causes focus or focus/activation. sr:jst, r:pollmann git-svn-id: svn://10.0.0.236/trunk@95816 18797224-902f-48f8-a5cc-f745e15eee43 --- .../events/src/nsEventStateManager.cpp | 33 ++++++++++++------- mozilla/modules/libpref/src/init/all.js | 1 + 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/mozilla/content/events/src/nsEventStateManager.cpp b/mozilla/content/events/src/nsEventStateManager.cpp index 9c6d3e97d4c..d1618d8e13d 100644 --- a/mozilla/content/events/src/nsEventStateManager.cpp +++ b/mozilla/content/events/src/nsEventStateManager.cpp @@ -736,18 +736,27 @@ nsEventStateManager::PreHandleEvent(nsIPresContext* aPresContext, //A) Set focus ChangeFocus(content, nsnull, PR_TRUE); - //B) Click on it. - nsEventStatus status = nsEventStatus_eIgnore; - nsMouseEvent event; - event.eventStructType = NS_MOUSE_EVENT; - event.message = NS_MOUSE_LEFT_CLICK; - event.isShift = PR_FALSE; - event.isControl = PR_FALSE; - event.isAlt = PR_FALSE; - event.isMeta = PR_FALSE; - event.clickCount = 0; - event.widget = nsnull; - content->HandleDOMEvent(mPresContext, &event, nsnull, NS_EVENT_FLAG_INIT, &status); + nsresult rv = getPrefService(); + PRBool activate = PR_TRUE; + + if (NS_SUCCEEDED(rv)) { + mPrefService->GetBoolPref("accessibility.accesskeycausesactivation", &activate); + } + + if (activate) { + //B) Click on it if the users prefs indicate to do so. + nsEventStatus status = nsEventStatus_eIgnore; + nsMouseEvent event; + event.eventStructType = NS_MOUSE_EVENT; + event.message = NS_MOUSE_LEFT_CLICK; + event.isShift = PR_FALSE; + event.isControl = PR_FALSE; + event.isAlt = PR_FALSE; + event.isMeta = PR_FALSE; + event.clickCount = 0; + event.widget = nsnull; + content->HandleDOMEvent(mPresContext, &event, nsnull, NS_EVENT_FLAG_INIT, &status); + } *aStatus = nsEventStatus_eConsumeNoDefault; } diff --git a/mozilla/modules/libpref/src/init/all.js b/mozilla/modules/libpref/src/init/all.js index 4b59de967ff..fa02359adb5 100644 --- a/mozilla/modules/libpref/src/init/all.js +++ b/mozilla/modules/libpref/src/init/all.js @@ -83,6 +83,7 @@ pref("browser.toolbars.showbutton.search", true); pref("accessibility.browsewithcaret", false); pref("accessibility.usetexttospeech", ""); pref("accessibility.usebrailledisplay", ""); +pref("accessibility.accesskeycausesactivation", true); // Dialog modality issues pref("browser.prefWindowModal", true);