Граф коммитов

62 Коммитов

Автор SHA1 Сообщение Дата
Daniel Holbert d724bbe121 Bug 1754105: Fix non-unified build errors in layout/xul, and mark it as safe to build in non-unified mode. r=emilio
Build errors being fixed here:

layout/xul/nsDeckFrame.cpp:164:43: error: unknown type name 'nsSetAttrRunnable'

layout/xul/nsMenuBarListener.cpp:45:7: error: cannot initialize a member subobject of type 'mozilla::dom::EventTarget *' with an rvalue of type 'nsINode::Document *' (aka 'mozilla::dom::Document *')
(...where "Document" is not defined; this patch includes the header that defines it, which fixes this.)

layout/xul/nsBoxFrame.cpp:270:10: error: 'return' will never be executed [-Werror,-Wunreachable-code-return]

dist/include/nsIRollupListener.h:36:38: error: no type named 'LayoutDeviceIntPoint' in namespace 'mozilla'
(For this error, this patch is changing a header outside of layout/xul, but
it's still required in order for layout/xul to build properly, since it's
#included by layout/xul/nsXULPopupManager.cpp (indirectly, via its .h file).

Differential Revision: https://phabricator.services.mozilla.com/D138092
2022-02-08 20:16:55 +00:00
Iulian Moraru 5d2d64aa7e Backed out changeset c43ced1d19d9 (bug 1754105) for causing bp-hybrid bustages on nsBoxFrame. 2022-02-08 07:46:15 +02:00
Daniel Holbert dbdeaeabaf Bug 1754105: Fix non-unified build errors in layout/xul, and mark it as safe to build in non-unified mode. r=emilio
Build errors being fixed here:

layout/xul/nsDeckFrame.cpp:164:43: error: unknown type name 'nsSetAttrRunnable'


layout/xul/nsMenuBarListener.cpp:45:7: error: cannot initialize a member subobject of type 'mozilla::dom::EventTarget *' with an rvalue of type 'nsINode::Document *' (aka 'mozilla::dom::Document *')
(...where "Document" is not defined; this patch includes the header that defines it, which fixes this.)


dist/include/nsIRollupListener.h:36:38: error: no type named 'LayoutDeviceIntPoint' in namespace 'mozilla'
(For this error, this patch is changing a header outside of layout/xul, but
it's still required in order for layout/xul to build properly, since it's
#included by layout/xul/nsXULPopupManager.cpp (indirectly, via its .h file).

Differential Revision: https://phabricator.services.mozilla.com/D138092
2022-02-08 01:04:19 +00:00
Masayuki Nakano 2efcda6dc7 Bug 1335347 - Make `nsMenuBarListener::KeyUp` wait replay event if a content process has focus r=smaug
`keyup` event of `Alt` key should be fired in content process even if it'll
activate the menubar, and it should be cancelable as same as before enabling
e10s.

Unfortunately, the new test is complicated even they test simple things.
The reason is, this test requires the window running it is the active window.
However, the window may become inactive on Linux, therefore, this test
needs to manage window state by itself.

And another reason is, after inactivating the menubar, somebody keeps
consuming keyboard events in chrome.  Although, popups shouldn't be
opened by this test, but waiting all popups hidden makes the remaining
intermittent failure gone.  Therefore, this patch waits all popups become
hidden after inactivating the menubar and before new test.

Differential Revision: https://phabricator.services.mozilla.com/D95984
2020-11-20 03:49:55 +00:00
Csoregi Natalia 511fc14c29 Backed out changeset e176bd45edd8 (bug 1335347) for failures on browser_alt_keyup_in_content.js. a=backout 2020-11-19 11:47:55 +02:00
Masayuki Nakano 1e8bac4c18 Bug 1335347 - Make `nsMenuBarListener::KeyUp` wait replay event if a content process has focus r=smaug
`keyup` event of `Alt` key should be fired in content process even if it'll
activate the menubar, and it should be cancelable as same as before enabling
e10s.

Unfortunately, the new test is complicated even they test simple things.
The reason is, this test requires the window running it is the active window.
However, the window may become inactive on Linux, therefore, this test
needs to manage window state by itself.

And another reason is, after inactivating the menubar, somebody keeps
consuming keyboard events in chrome.  Although, popups shouldn't be
opened by this test, but waiting all popups hidden makes the remaining
intermittent failure gone.  Therefore, this patch waits all popups become
hidden after inactivating the menubar and before new test.

Differential Revision: https://phabricator.services.mozilla.com/D95984
2020-11-17 23:09:25 +00:00
Narcis Beleuzu 28a919e715 Backed out changeset 6d71d0556c40 (bug 1568130) for mochitest failures on test_focus_menu.xhtml 2020-08-17 05:43:25 +03:00
Jared Wein b119a66052 Bug 1568130 - Stop consuming key events on keyup since webpages may be listening for them. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D86861
2020-08-16 23:45:36 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kristen Wright 6de3ea1964 Bug 1626388 - Convert ui.key.menuAccessKeyFocuses to static pref r=njn
Converts `ui.key.menuAccessKeyFocuses` to a static pref and removes `nsMenuBarListener::InitializeStatics()`. This pref sets to `true` in windows and linux, which may affect behavior in SeaMonkey and Thunderbird.

Differential Revision: https://phabricator.services.mozilla.com/D69617

--HG--
extra : moz-landing-system : lando
2020-04-07 17:10:30 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55443

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
Sylvestre Ledru d264b841c9 Bug 1576502 - Fix some wording issues r=mhoye
Differential Revision: https://phabricator.services.mozilla.com/D43363

--HG--
extra : moz-landing-system : lando
2019-08-27 15:38:58 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Boris Zbarsky 9748db120d Bug 1455676 part 8. Remove nsIDOMNode usage from layout/. r=qdot 2018-05-29 22:58:48 -04:00
Boris Zbarsky 93af0eea13 Bug 1455674 part 14. Remove use of nsIDOMElement in layout. r=qdot 2018-04-26 23:37:33 -04:00
Boris Zbarsky 89afe72cf5 Bug 1455052 part 7. Remove nsIDOMEvent use from layout. r=masayuki
MozReview-Commit-ID: 2OfAXBR8G5M
2018-04-20 12:53:17 -04:00
Boris Zbarsky b198cf2c31 Bug 1455055 part 2. Clean up HandleEvent implementations in layout/xul. r=masayuki
They take Event now so we can simplify some things.

MozReview-Commit-ID: HUbn7QWqRAQ
2018-04-20 00:49:29 -04:00
Boris Zbarsky 2b6097ae6d Bug 1455055 part 1. Convert nsIDOMEventListener to taking an Event, not an nsIDOMEvent. r=masayuki
This does no cleanup other than what's needed to compile.  Cleanup coming up in
later patches.

MozReview-Commit-ID: 3sOnkj71n09
2018-04-20 00:49:29 -04:00
Neil Deakin 6a995d0462 Bug 1448018, remove ContainerBoxObject which is only used to access the docshell, but bug 1448018 made the docshell accessible from the frameloader instead so the container box object is no longer being used. Change some editor tests which just access the docShell directly rather than through the box object, r=bz 2018-03-29 10:44:52 -04:00
Boris Zbarsky 92bbd744e1 Bug 1436508 part 11. Remove the use of the nsIDOMKeyEvent::DOM_VK* constants in C++. r=masayuki
MozReview-Commit-ID: Honw0NrVMuV
2018-02-09 11:17:09 -05:00
Boris Zbarsky 7e7ef3c600 Bug 1436508 part 6. Switch layout/xul from nsIDOMKeyEvent to KeyboardEvent. r=masayuki
MozReview-Commit-ID: Cp4krHgxXzQ
2018-02-09 11:17:09 -05:00
Neil Deakin 0538f8c6ce Bug 1427449, don't close the menu in nsMenuBarFrame::FindMenuWithShortcut when just checking if such a menu shortcut key exists from the keydown event handler, also for extra safety this should only happen for menus not panels, r=felipe 2018-01-15 15:16:56 -05:00
Colomban Wendling 155453c3df Bug 1166825, do not focus the first item in the menu when open with F10, helped by Samuel Thibault, r=enndeakin
This is consistent with other apps and toolkits (GTK, LibreOffice), and
gives blind people a better experience by providing a consistent
desktop experience, and consistent behavior of the right arrow key
regardless of the first focusable element.

---
 layout/xul/nsMenuBarListener.cpp                 |    2 +-
 layout/xul/nsXULPopupManager.cpp                 |   17 ++++++++++++++++-
 toolkit/content/tests/widgets/window_menubar.xul |   14 ++++++++------
 3 files changed, 25 insertions(+), 8 deletions(-)
2017-12-08 08:38:23 -05:00
Chris Peterson 0e8425b401 Bug 1416164 - Replace NS_ABORT with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: DRdYlOYqZpN

--HG--
extra : rebase_source : b20fb24abf0f2ce648c12a827532c0dbeefb6c63
2017-10-24 23:52:56 -07:00
Neil Deakin 52d3f646c7 Bug 380637, when an Alt+accesskey for a menubar menu is pressed, check if the user has blocked sites from overriding keyboard shortcuts, and don't send the event to the page if so. Add a similar check for the F10 key which focuses the menubar. An additional capturing keydown listener is added because the key needs to be blocked before content sees it. r=masayuki 2017-11-09 18:42:40 -05:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Masayuki Nakano 6f633adbf8 Bug 1347351 - nsMenuBarListener::KeyPress() should wait reply event for handling F10 key r=smaug
Currently, nsMenuBarListener::KeyPress() handles F10 key before remote content handles it.  However, if a remote process has focus, the keyboard event should be handled in the content first.  Then, only when it's not consumed in the remote process, menubar should handle the F10 key press.

MozReview-Commit-ID: GDf4POAPsTy

--HG--
extra : rebase_source : a450755d89bc410d17fef55fad98533169e2eff5
2017-07-20 17:54:44 +09:00
Sebastian Hengst a010ae81b9 Backed out changeset ec113974cdd9 (bug 1347351) for bustage at nsMenuBarListener.cpp:336: 'class mozilla::WidgetKeyboardEvent' has no member named 'MaybePostedToRemoteProcessLater'. r=backout 2017-07-23 19:42:56 +02:00
Masayuki Nakano 9c0b7b936b Bug 1347351 - nsMenuBarListener::KeyPress() should wait reply event for handling F10 key r=smaug
Currently, nsMenuBarListener::KeyPress() handles F10 key before remote content handles it.  However, if a remote process has focus, the keyboard event should be handled in the content first.  Then, only when it's not consumed in the remote process, menubar should handle the F10 key press.

MozReview-Commit-ID: GDf4POAPsTy

--HG--
extra : rebase_source : e016bc6dd7b5499458b6abc365f4879c1639f841
2017-07-14 23:45:03 +09:00
Masayuki Nakano 0ebdc75b7b Bug 1333459 - part2-3: Make nsMenuBarListener::KeyPress() wait reply from remote process if the eKeyPress event will be sent to a remote process later r=smaug
nsMenuBarListener::KeyPress() is eKeyEvent listener in the system event group.  If the target is a remote process, it shouldn't handle accesskey immediately because preceding eKeyDown event may be consumed in the remote process or eKeyPress event itself may be consumed in the remote process.

This patch makes nsMenuBarListener::KeyPress() mark eKeyPress event as "waiting reply from remote process" only when the event matches with a menu item's accesskey and it will be send to a remote process later.  Then, reply event should be handled in this method if it's available.

MozReview-Commit-ID: KOpCVgElnca

--HG--
extra : rebase_source : 881ec01f5c8e21c790bf9a8c3167d6c3f932524a
2017-07-19 18:39:34 +09:00
Masayuki Nakano 44d5a33919 Bug 1333459 - part2-2: EventStateManager should check if it needs to wait reply from remote content before handling access keys r=smaug
Currently, access key is handled in EventStateManager::PreHandleEvent() with eKeyPress event, i.e., before dispatching it into the DOM tree, if the access key is registered in EventStateManager.  So, the main process does not check if the preceding eKeyDown event is consumed in focused remote process.

When preceding eKeyDown event is consumed in the main process, eKeyPress event won't be dispatched by widget.  However, if remote process has focus, it's impossible widget to stop dispatching eKeyPress event because preceding eKeyDown event hasn't been handled in the focused remote process yet.  Therefore, main process needs to post eKeyPress event to check if preceding eKeyDown event was consumed.  When eKeyPress event is marked as "waiting reply from remote process", TabChild sends it back to the main process only when preceding eKeyDown event wasn't consumed.  So, only when eKeyPress event is back to the main process, main process should handle accesskey with it.

This patch makes EventStateManager::PreHandleEvent() check if a remote target has focus before handling accesskey.  If a remote process has accesskey and there is an accesskey matching with eKeyPress event, it marks the event as "waiting reply from remote content" and stop propagation in the process.

Finally, when eKeyPress event is sent back to TabParent, TabParent::RecvReplyKeyEvent() calls EventStateManager::HandleAccessKey() before dispatching the reply event into the DOM tree.

MozReview-Commit-ID: KsOkakaIVzb

--HG--
extra : rebase_source : 7e0c6966a1bde085e34d45bca4b0166b9fc2f3f1
2017-07-22 10:50:41 +09:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Daniel Holbert 378098fbfc Bug 1351217: Add missing includes to fix latent unified bustage in layout/xul. r=mats
MozReview-Commit-ID: WJoMxmGYnt

--HG--
extra : rebase_source : 9e975c3110fe7b25e76dc2366c52394f12a82a85
2017-03-28 00:46:22 -07:00
Masayuki Nakano 4abe7fe67d Bug 1284825 part.3 nsMenuBarListener should clear its accesskey state when its top level window is deactivated rather than it receives a blur event r=enndeakin+6102
This patch makes nsMenuBarListener clear its accesskey state when it receives a "deactivate" event of its top level window and reverts the change of nsMenuBarListener::Blur() by bug 625151.

"blur" event may be caused by focus move in the contents after "mosuedown" event.  Therefore, mAccessKeyDownCanceled may be cleared unexpectedly.  Listening to "deactive" event keeps bug 625151's fix because it's a bug after deactivating the window with Alt+Tab.

MozReview-Commit-ID: 4mAmXpxmDdv

--HG--
extra : rebase_source : 1bd9299a37bc5a1feccb61ba6c3db6b389560ec0
2016-12-26 16:22:13 +09:00
Masayuki Nakano 5fa1166c18 Bug 1284825 part.2 nsMenuBarListener should add/remove event listeners by itself r=enndeakin+6102
Let's move the code adding/removing event listers to nsMenuBarListener because it makes what we maintain them easier.

This patch makes nsMenuBarListener store event target which is composed document node of the menubar content as a weak reference but this must be safe because when nsMenuBarFrame (stored as mMenuBarFrame) is being destroyed, OnDestroyMenuBarFrame() which clears the storing event target reference is always called.  We should be able to assume that the content and its composed document has never gone before destroying its frame...

MozReview-Commit-ID: DdOtRzUAL1Z

--HG--
extra : rebase_source : bfc337aaad447ad4a9d78b2f3a9e49c72db1498e
2016-12-26 16:19:02 +09:00
Andi-Bogdan Postelnicu fb9e09b56b Bug 1276901 - prevent null pointer dereference on |nativeKeyEvent|. r=dholbert
MozReview-Commit-ID: J3GtMQDU1Yq

--HG--
extra : rebase_source : 7c4ea962e66be1a084cfc2d765cdee79d726d40e
2016-05-31 15:41:12 +03:00
Xidorn Quan 9cd4a13d78 Bug 1274868 - Deactive opened menu when entering fullscreen. r=enn
MozReview-Commit-ID: 9VOMfDQZ0eZ

--HG--
extra : amend_source : 4bb215e2d9256725293ecc8fe66d9b93590af526
2016-06-27 10:42:37 +10:00
Carsten "Tomcat" Book d8d1e0b986 Backed out changeset d4e94246b3b4 (bug 1274868) for wrong reviewer name 2016-06-30 06:32:37 +02:00
Xidorn Quan 1ee9809437 Bug 1274868 - Deactive opened menu when entering fullscreen. r=dao
MozReview-Commit-ID: 9VOMfDQZ0eZ

--HG--
extra : transplant_source : %FF%5D%E8%94%D9A%9D%C7%28%E7%C4%B5Yy%40%89%3B%BD%DE%1A
2016-06-27 10:42:37 +10:00
Andi-Bogdan Postelnicu 7ee9eb0799 Bug 1273128 - prevent null pointer dereference on |nativeKeyEvent|. r=janv
MozReview-Commit-ID: IOnUZfZHcnG

--HG--
extra : rebase_source : 3007958b2a0a5d3aa2b3e232cfebd9b7005ed7d5
2016-05-16 16:19:23 +03:00
Neil Deakin 405358d4b3 Bug 1101975, handle access keys in content process before menus, r=masayuki 2016-05-11 08:56:42 -04:00
Masayuki Nakano e9a1bcb370 Bug 1259658 Rename WidgetInputEvent::modifiers to WidgetInputEvent::mModifiers r=smaug
MozReview-Commit-ID: 7avEiqKfaHA

--HG--
extra : rebase_source : ffb6fbe424a4d5c2799444223608e03237e7c7a2
2016-03-31 17:03:00 +09:00
Masayuki Nakano 963976b46d Bug 1154183 part.1 Move shortcut/access key candidate list creators from nsContentUtils to WidgetKeyboardEvent r=smaug
MozReview-Commit-ID: Ied6qEUc2Kz
2016-03-18 11:22:37 +09:00
Aidin Gharibnavaz 6863090c8a Bug 1235830 - Renaming GetInternalNSEvent to WidgetEvent, in nsIDOMEvent r=smaug
MozReview-Commit-ID: Hm8Owq17KXn

--HG--
extra : transplant_source : 2%82%D5%89%19%94%7C%E7%CA1%99%B5%24%1F5%E1%C0%1F%DE%07
2016-02-12 19:10:07 +03:30
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Aidin Gharibnavaz e6606278c0 Bug 1230216 - Changing nsIDOM*Event interfaces so that they don't inherit nsIDOMEvent. r=smaug
All the event interfaces changed except for nsIDOMUIEvent and its inheritors.

--HG--
extra : transplant_source : %A5U%3F%80%2B%DD%01%F4%D8%21%F2%E9z%C1%D6%AA%CC%D4%EC%F8
2016-01-12 07:49:08 +03:30