diff --git a/mozilla/layout/forms/nsListControlFrame.cpp b/mozilla/layout/forms/nsListControlFrame.cpp index bf59ee059d8..b8793af033f 100644 --- a/mozilla/layout/forms/nsListControlFrame.cpp +++ b/mozilla/layout/forms/nsListControlFrame.cpp @@ -2649,6 +2649,9 @@ nsListControlFrame::ScrollToFrame(nsIContent* aOptElement) nsresult nsListControlFrame::KeyDown(nsIDOMEvent* aKeyEvent) { + if (nsFormFrame::GetDisabled(this)) + return NS_OK; + nsCOMPtr keyEvent = do_QueryInterface(aKeyEvent); if (keyEvent) { PRUint32 code; @@ -2667,6 +2670,7 @@ nsListControlFrame::KeyDown(nsIDOMEvent* aKeyEvent) if (numOptions == 0) { rv = NS_OK; } else { + if (code == nsIDOMKeyEvent::DOM_VK_UP || code == nsIDOMKeyEvent::DOM_VK_LEFT) { printf("DOM_VK_UP mSelectedIndex: %d ", mSelectedIndex); if (mSelectedIndex > 0) { diff --git a/mozilla/layout/html/forms/src/nsListControlFrame.cpp b/mozilla/layout/html/forms/src/nsListControlFrame.cpp index bf59ee059d8..b8793af033f 100644 --- a/mozilla/layout/html/forms/src/nsListControlFrame.cpp +++ b/mozilla/layout/html/forms/src/nsListControlFrame.cpp @@ -2649,6 +2649,9 @@ nsListControlFrame::ScrollToFrame(nsIContent* aOptElement) nsresult nsListControlFrame::KeyDown(nsIDOMEvent* aKeyEvent) { + if (nsFormFrame::GetDisabled(this)) + return NS_OK; + nsCOMPtr keyEvent = do_QueryInterface(aKeyEvent); if (keyEvent) { PRUint32 code; @@ -2667,6 +2670,7 @@ nsListControlFrame::KeyDown(nsIDOMEvent* aKeyEvent) if (numOptions == 0) { rv = NS_OK; } else { + if (code == nsIDOMKeyEvent::DOM_VK_UP || code == nsIDOMKeyEvent::DOM_VK_LEFT) { printf("DOM_VK_UP mSelectedIndex: %d ", mSelectedIndex); if (mSelectedIndex > 0) {