Commit Graph

21 Commits

Author SHA1 Message Date
Boris Zbarsky
5c75dce30c Bug 1449631 part 11. Remove nsIDOMEventTarget::AddSystemEventListener. r=smaug
The security checks outer window did here don't seem right, because the whole
point is that this method is only called by C++ code for its own purposes.
We're not adding random untrusted listeners via addSystemEventListener!

MozReview-Commit-ID: JdS5gTESclu
2018-04-05 13:42:42 -04:00
Boris Zbarsky
1e89238dca Bug 1449631 part 10. Devirtualize AddEventListener. r=smaug
The CanCallerAccess check in the "webidl" version of
nsGlobalWindowOuter::AddEventListener was pointless, because bindings never
call things on outer windows.

MozReview-Commit-ID: 1CGMJ277bPu
2018-04-05 13:42:42 -04:00
Boris Zbarsky
d54406240d Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Boris Zbarsky
bc6b1d8797 Bug 1449631 part 3. Remove nsIDOMEventTarget::RemoveSystemEventListener. r=smaug
MozReview-Commit-ID: F67Od8surQ8
2018-04-05 13:42:40 -04:00
Boris Zbarsky
51e653f001 Bug 1449631 part 2. Remove nsIDOMEventTarget::RemoveEventListener. r=smaug
We can't have a null content in
ScrollbarActivity::StopListeningForScrollAreaEvents, because only viewport
frames have a null GetContent().

MozReview-Commit-ID: 9iAg0ivVqqG
2018-04-05 13:42:40 -04:00
Boris Zbarsky
d0dc82db73 Bug 1379688 part 2. Make the EventTarget interface constructible. r=smaug
MozReview-Commit-ID: 4xrSSqXna7F
2017-11-20 13:59:22 -05:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Nicholas Nethercote
9fda5528d2 Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ
2017-09-26 08:33:21 +10:00
Ryan Hunt
5c1e8e6a54 Bug 1385071 - Add another method to EventTarget for detecting only non-passive key listeners. r=smaug
This is for adding a pref that will allow web content to have key listeners
and use keyboard APZ, if they are marked passive. This commit also reworks
the function names and comments to make them more accurate.

MozReview-Commit-ID: LGDaVQOK1CS
2017-07-27 19:46:44 -04:00
Ryan Hunt
db22ee7c96 Bug 1351783 part 8 - Gather whether there are key listeners on the focused element. r=kats,smaug
This commit updates FocusTarget to collect whether there are key listeners
on the event target chain for the focused element. This is needed because we
cannot do async scrolling when this is the case.

MozReview-Commit-ID: FhSyF6ffZ4
2017-06-05 19:22:16 -05:00
Ryan Hunt
8647454930 Bug 1373285 - Remove keyboard apz telemetry probes. r=smaug
These are no longer needed as we have the data we were looking for.

MozReview-Commit-ID: 3WlPng3mAwt
2017-06-15 13:55:26 -05:00
Ryan Hunt
e519f230c1 Bug 1357880 - Add a telemetry probe for non-passive keyboard event listeners r=smaug, data-review=bsmedberg
This commit adds a telemetry probe to track the percentage of pages that ever
have a non-passive 'keydown' or 'keypress' event that could preventDefault()
APZ key scrolling of the root of a page.

A flag is added to each EventListenerManager to track whether it ever had
a qualifying event listener, and then in nsGlobalWindow::FreeInnerObjects()
the event targets that could preventDefault() a scroll are checked for this
flag. This check is done at nsGlobalWindow::FreeInnerObjects() so that the
DOM is still alive.

MozReview-Commit-ID: EkK3vxehZA5
2017-04-27 18:32:08 -04:00
Boris Zbarsky
7605afb76e Bug 1317990. Remove Event::IsChrome in favor of passing CallerType arguments. r=smaug,bkelly 2016-11-16 14:10:22 -05:00
Stone Shih
8300bd626d Bug 1261673: Handle wheel event when mouse cursor is hovered on a focused number input as increasing/decreasing it's value. r=smaug 2016-05-06 18:39:10 +08:00
Andrea Marchesini
3dbd611f48 Bug 1266194 - Implement boolean or EventListenerOptions as 3rd param to addEventListener, r=smaug 2016-04-26 16:23:17 +08:00
Olli Pettay
47764f1595 Bug 684208 - make dispatchEvent()'s return value to follow the spec, r=masayuki 2016-04-07 15:49:12 +03:00
Nicholas Nethercote
7f7c26ed62 Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm.
do_GetAtom() is currently just a synonym for NS_NewAtom().
2016-03-29 10:09:43 +11:00
Olli Pettay
c52f81f93e Bug 1205466, make HasApzAwareListeners check faster, r=masayuki 2015-09-17 13:16:20 +03:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Masayuki Nakano
e8acfb8a92 Bug 981261 part.5 Rename nsEventListenerManager to mozilla::EventListenerManager r=smaug 2014-03-17 15:56:53 +09:00
Robert O'Callahan
810f469f2d Bug 946065. Part 5: Move content/events to dom/ and flatten away 'src' directory. r=Ms2ger 2014-01-10 16:03:25 +13:00