Commit Graph

27 Commits

Author SHA1 Message Date
Nicholas Nethercote
dfd3b7e7aa 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

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Boris Zbarsky
600cbb309f Bug 1401848. Remove NS_IMPL_EVENT_HANDLER and its consumers. r=smaug
All of the objects these event handlers hang off of use webidl bindings now.

MozReview-Commit-ID: 3OdVDlcU67I
2017-09-22 18:07:05 -04:00
Andrea Marchesini
b623ab29ec Bug 1354599 - Implement DOMEventTargetHelper::KeepAliveIfHasListenersFor, r=smaug 2017-04-18 13:51:27 +02:00
Stone Shih
1ed10ff082 Bug 1305458 Part1: Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: FM3vDUyLOCb

--HG--
extra : rebase_source : 5a513af84718a6d591f77437a0704984c8fc2b67
2016-10-21 10:11:07 +08:00
Boris Zbarsky
3b1ead601a Bug 1282150 part 5. Kill off all the unused GetJSContextForEventHandlers cruft. r=bholley 2016-07-07 20:08:26 -04:00
Andrea Marchesini
55614d4c60 Bug 1266194 - Implement boolean or EventListenerOptions as 3rd param to addEventListener, r=smaug 2016-04-26 16:23:17 +08:00
Boris Zbarsky
00db6e6eed Bug 1265072 part 1. Add GetWindowIfCurrent and GetDocumentIfCurrent helpers to DOMEventTargetHelper. r=smaug 2016-04-20 18:04:29 -04:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Andrea Marchesini
c72540ed84 Bug 1178261 - make BroadcastChannel CC skippable, r=smaug 2015-06-29 17:42:41 +01:00
Boris Zbarsky
068f758b05 Bug 1163898 part 1. Give DOMEventTargetHelper a sane accessor for getting its nsIGlobalObject. r=smaug 2015-05-12 15:56:39 -04:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Andrea Marchesini
e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ehsan Akhgari
a61a347792 Bug 1123016 - Clarify the ownership of DOMEventTargetHelper::mParentObject/mOwnerWindow; r=smaug
This patch converts DOMEventTargetHelper::mParentObject into an
nsWeakPtr, and adds fatal assertions to ensure that all future
nsIGlobalObject implementations support weak references.  It also marks
DOMEventTargetHelper::mOwnerWindow as a non-owning reference.
2015-01-23 08:37:37 -05:00
Andrea Marchesini
f36b9e5ced Bug 966439 - BroadcastChannel API - patch 1 - BroadcastChannel for main-thread, r=smaug, r=bent 2015-01-15 16:58:40 +00:00
Ryan VanderMeulen
3a9ff448dc Backed out 11 changesets (bug 966439, bug 1121472) for causing widespread test failures and because inbound isn't Try and shouldn't be treated as such.
Backed out changeset e6cd15d43b5a (bug 1121472)
Backed out changeset 4f9788639f3f (bug 966439)
Backed out changeset ac9a967e5a10 (bug 966439)
Backed out changeset 14d322737871 (bug 966439)
Backed out changeset 8f941e519580 (bug 966439)
Backed out changeset b82d1010c6b4 (bug 966439)
Backed out changeset 2c29a52a03bd (bug 966439)
Backed out changeset e4b0802a3f06 (bug 966439)
Backed out changeset bdc9a0310034 (bug 966439)
Backed out changeset 6b3ae19628e6 (bug 966439)
Backed out changeset 3d23e775033a (bug 966439)

CLOSED TREE
2015-01-14 11:46:14 -05:00
Andrea Marchesini
65afdf13d8 Bug 966439 - BroadcastChannel API - patch 1 - BroadcastChannel for main-thread, r=smaug, r=bent 2015-01-14 11:50:31 +00:00
Ehsan Akhgari
a5c15a6ebe Bug 1118546 - Mark virtual overridden functions as MOZ_OVERRIDE in dom/events; r=baku 2015-01-07 10:19:11 -05:00
Boris Zbarsky
d701d92006 Bug 1117162. Give DOMEventTargetHelper a constructor taking nsIGlobalObject. r=smaug 2015-01-05 10:23:36 -05:00
Peter Van der Beken
dcda2ba9bb Bug 1078744 - Replace SetIsDOMBinding with SetIsNonDOMBinding, remove nsWrapperCache::SetIsDOMBinding. r=bz.
--HG--
extra : rebase_source : 89c476cd9436530b2df5acc903909e34188417a0
2014-10-07 11:44:49 +02:00
Ehsan Akhgari
beaa1d2306 Bug 1048247 - Fix more bad implicit constructors in DOM; r=smaug 2014-08-05 09:19:51 -04:00
Nikhil Marathe
77a88e4eeb Bug 983497 - Patch 1: Infrastructure to fire events on ServiceWorkerContainers. r=ehsan,smaug
--HG--
extra : transplant_source : S1z%F3%86%E5%CF%D6%3BWW%8E%1A%90%A3%94%7E%FE%E3z
2014-07-14 14:15:23 -07:00
Benoit Jacob
ec742680c8 Bug 1028588 - Fix dangerous public destructors in the rest of dom/ - r=ehsan 2014-06-23 15:56:07 -04:00
Birunthan Mohanathas
bc0233fe47 Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
Ms2ger
d02b9c0ccb Bug 968804 - Part a: Add inner window assertions to DETH and {Add,Remove}EventTargetObject; r=peterv 2014-05-20 21:50:57 +02:00
Masayuki Nakano
930436ef24 Bug 984269 Rename nsDOMEventTargetHelper to mozilla::DOMEventTargetHelper r=smaug
--HG--
rename : dom/events/nsDOMEventTargetHelper.cpp => dom/events/DOMEventTargetHelper.cpp
rename : dom/events/nsDOMEventTargetHelper.h => dom/events/DOMEventTargetHelper.h
2014-04-01 15:13:50 +09:00