Commit Graph

2877 Commits

Author SHA1 Message Date
Aaron Klotz
3f59ae6aa7 Bug 1213567: Prevent neutering from occurring during CreateWindow(Ex) calls; r=jimm 2015-10-17 13:28:53 -06:00
Nicholas Nethercote
e49efba560 Bug 1216020 - Comment all ALLOW_COMPILER_WARNINGS lines. r=glandium.
DONTBUILD because it only changes comments.

This will hopefully prevent confusion like that in bug 1215903.
2015-10-19 18:05:20 -07:00
Jonas Sicking
2552a4d194 Bug 1182571: Fix nsILoadInfo->GetContentPolicyType API to be less ambigious. Audit and fix all users of it. r=ckerschb 2015-10-19 11:14:54 -07:00
Carsten "Tomcat" Book
dc00b1c5b1 merge b2g-inbound to mozilla-central a=merge 2015-10-19 11:30:00 +02:00
Cervantes Yu
8d471ca9f6 Bug 1215508: Fix the race in accessing the unopened IPC channels in TabChild::PreloadSlowThings(). r=khuey 2015-10-19 14:27:01 +08:00
Nathan Froyd
e4e2da55c9 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
2015-10-18 01:24:48 -04:00
Nathan Froyd
5254890206 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Andrew McCreight
cc1601432e Bug 1215151 - Add XPCOM leak checking for base::Thread. r=jld 2015-10-16 09:02:00 -07:00
Nathan Froyd
b739a8d30c Bug 1212027 - part 7 - modify IPDL codegen to store sub-protocols in a hashtable rather than an array; r=jld,nical,cpearce,billm 2015-10-07 14:30:33 -04:00
Nathan Froyd
dcfc4cc6da Bug 1212027 - part 5 - add LoneManagedOrNull for simplifying a lot of upcoming code; r=jld
A lot of existing code has variations on:

  if (ManagedPFooChild().Length()) {
    ...(ManagedPFooChild()[0])...
  }
  // Do something with nullptr, or some other action.

It's pretty reasonable to repeat this code when the managed protocols
are stored in an array; the code gets much less nice when managed
protocols are stored in a hashtable.  Let's write a small utility
function to handle those details for us.  Then when we change the
underlying storage, we only need to update this function, rather than a
bunch of callsites.

ProtocolUtils.h is included by all the generated IPDL headers, so
LoneManagedOrNull should be available everywhere the above pattern would
be encountered.
2015-10-07 20:15:56 -04:00
Nathan Froyd
62eb1c8109 Bug 1212027 - part 4 - use class interfaces when destroying managees; r=jld
Similar to the last patch, we copy any sub-protocols a protocol owns
before destroying the sub-protocols.  We do this to ensure a stable
iteration over the sub-protocols, as destroying a sub-protocol may
trigger other sub-protocol deletions.  Let's permit an existing
interface method to do the copying for us, so if the details of how we
store sub-protocols change, this call site is insulated from the
details.
2015-10-07 00:02:27 -04:00
Nathan Froyd
8424392b52 Bug 1212027 - part 3 - use class interfaces when cloning managees; r=jld
In $PROTOCOL::CloneManages, we reach directly into the other protocol's
sub-protocol arrays to copy them.  It would be better, from a
fewer-places-to-modify-when-things-change point of view if we used the
$PROTOCOL::Managed$SUBPROTOCOL array getter that already exists for this
purpose.  A good compiler should be able to remove the function call
overhead...but cloning managees is probably expensive anyway, so a
function call here doesn't matter much.

It's not immediately obvious to me why we clone and then iterate over
the clone, rather than iterating directly, but perhaps there are subtle
IPDL dragons lurking hereabouts.
2015-10-06 23:59:32 -04:00
Nathan Froyd
801db98dac Bug 1212027 - part 2 - add a C++ AST type for 'auto'; r=jld
This type will come in handy when we have to add iteration over
hashtables, since it would be a pain to write out the iterator type.
2015-10-06 21:33:13 -04:00
Nathan Froyd
315db35974 Bug 1212027 - part 1 - rename ipdl lowering helpers to reflect intent, not function; r=jld
The functions:

- _callCxxArrayInsertSorted
- _callCxxArrayRemoveSorted
- _callCxxArrayClear
- _cxxArrayHasElementSorted

are only ever used to touch the managed sub-protocol arrays of a
protocol.  It would be better if they reflected the *intent* of what
they were doing, rather than what C++ function they were calling, since
we're about to change that.
2015-10-06 21:20:07 -04:00
Wes Kocher
a72bfcbb91 Backed out 2 changesets (bug 1182571) for being a likely cause of the Android S4 errors
Backed out changeset e2b3064dcace (bug 1182571)
Backed out changeset 8153ae231d16 (bug 1182571)
2015-10-15 14:07:06 -07:00
Jonas Sicking
f497803f4e Bug 1182571: Fix nsILoadInfo->GetContentPolicyType API to be less ambigious. Audit and fix all users of it. r=ckerschb 2015-10-15 12:18:20 -07:00
Andrew McCreight
84e1dc8636 Bug 1213320 - Detect IPC::Channel leaks with the XPCOM leak checker. r=jld 2015-10-14 11:03:47 -07:00
Andrew McCreight
196a8da88a Bug 1212986 - Background ChildImpl should delete its Transport. r=mrbkap 2015-10-14 11:03:47 -07:00
Trevor Saunders
1c0f450eca bug 1212906 - don't handle windows messages while waiting for a sync a11y ipc message r=billm
Windows messages can trigger sync ipc messages to the child process.  That
means if we handle windows messages while waiting for the response to a sync
a11y ipc message we can end up reentering the code to send ipc messages which
is bad.  Try and avoid this situation by not handling windows messages while
waiting for a sync a11y message.
2015-10-14 14:02:47 -04:00
Bill McCloskey
97f026f94b Back out bug 1191143 - Cancel CPOWs from both sides 2015-10-07 11:15:11 -07:00
Bill McCloskey
0da2af979f Back out bug 1191145 - Stop blocking scripts in CPOW IPCs 2015-10-07 11:15:11 -07:00
Carsten "Tomcat" Book
d7f143eaad Backed out 2 changesets (bug 1202902) to recking bug 1202902 to be able to reopen inbound on a CLOSED TREE
Backed out changeset 647025383676 (bug 1202902)
Backed out changeset d70c7fe532c6 (bug 1202902)
2015-10-07 14:03:21 +02:00
Carsten "Tomcat" Book
b9e5717f50 Backed out 1 changesets (bug 1202902) for causing merge conflicts to mozilla-central
Backed out changeset cfc1820361f5 (bug 1202902)
2015-10-07 12:13:45 +02:00
Shu-yu Guo
b5f316de44 Bug 1202902 - Scripted fix the world. 2015-10-06 14:00:31 -07:00
Wes Kocher
444f5f33ec Merge m-c to inbound, a=merge 2015-10-06 12:16:50 -07:00
Carsten "Tomcat" Book
46abb3fbc6 Merge m-c to b2g-i 2015-10-06 12:24:42 +02:00
Aaron Klotz
83d462aee4 Bug 1209464: Fix missing neutered window region in MessageChannel::WaitForInterruptNotify. Regression from bug 1189709; r=jimm 2015-10-04 22:17:20 -06:00
Bill McCloskey
186bf03026 Bug 1210821 - Fix possible IPC cancellation bug (r=dvander) 2015-10-05 13:15:15 -07:00
Thomas Zimmermann
ffaf0e5ed2 Bug 1209085: Add 6-argument operator () to |UnpackPDUInitOp|, r=joliu 2015-10-06 10:08:14 +02:00
Nicholas Nethercote
226d054499 Bug 1205942 (part 5) - Disallow compiler warnings in ipc/chromium. r=jld. 2015-10-01 17:51:49 -07:00
Nicholas Nethercote
640a0a24a2 Bug 1205942 (part 4) - Remove GetWinVersion(). r=jld.
Like the last patch, the motivation is to remove a GetVersionEx() call which
triggers deprecation warnings.

Because Windows XP SP2 is the earliest Windows version we support, two of the
existing uses of GetWinVersion() could be removed, because they were checking
for XP or earlier. One other Vista check could be replaced with
mozilla::IsVistaOrLater().
2015-10-01 07:11:30 -07:00
Nicholas Nethercote
0fa6cecf74 Bug 1205942 (part 3) - Remove unused OS version detection functions from ipc/chromium/. r=jld.
The motivation here is to remove the GetVersionEx() calls in the
Windows-specific code, because that function is deprecated and causes warnings.
The non-Windows versions come along for the ride.
2015-10-01 07:10:13 -07:00
Yoshi Huang
697bf63dd6 Bug 1167100 - User originAttribute in ContentPrincipalInfo. r=bholley 2015-09-23 18:19:06 +08:00
Wes Kocher
ebed511df3 Merge m-c to inbound, a=merge 2015-09-29 16:13:55 -07:00
Bill McCloskey
6afebf909d Bug 1191145 - Stop blocking scripts in CPOW IPCs (r=dvander) 2015-09-29 16:11:49 -07:00
Bill McCloskey
4dd61c9663 Bug 1191143 - Cancel CPOWs from both sides (r=dvander) 2015-09-29 16:11:49 -07:00
Wes Kocher
832bf936d8 Backed out changeset d0e88c95f3c5 (bug 1167100) for crashes a=backout 2015-09-29 10:25:20 -07:00
George Wright
5c74928ed3 Bug 1207921 - Call makeReply before dtorEpilogue so that we don't end up with a nullptr deref r=billm 2015-09-28 09:17:05 -04:00
Carsten "Tomcat" Book
d4860186ab merge mozilla-inbound to mozilla-central a=merge 2015-09-28 14:13:24 +02:00
Yoshi Huang
4ce0a4b561 Bug 1167100 - User nsIPrincipal.originAttribute in ContentPrincipalInfo. r=bholley 2015-09-23 18:19:06 +08:00
Gian-Carlo Pascutto
e259122ad0 Bug 1205164 - Detect message races in Mach Shmem implementation. r=blassey 2015-09-25 12:30:46 +02:00
Nicholas Nethercote
a99cc91789 Bug 1205942 (part 2) - Fix "always true" warning in child_thread.cc. r=jld.
The warning is "the address of NuwaMarkCurrentThread() will always evaluate to
'true'".
2015-09-23 18:21:19 -07:00
Ted Mielczarek
6f90541da1 bug 1204985 horrible clobber-avoidance bustage fix r=YOLO CLOSED TREE 2015-09-23 22:05:01 -04:00
Ted Mielczarek
aa4e0c8a5e bug 1204985 - make SharedMemoryBasic_mach build on iOS. r=billm 2015-09-22 13:59:00 -04:00
Nicholas Nethercote
7ba9baeaf5 Bug 1206558 (part 6) - Factor out common libevent moz.build stuff. r=mshal.
Two parts.

- Most of the common stuff goes into the new libeventcommon.mozbuild file.

- A little bit of common bsd/linux stuff factored out in
  ipc/chromium/moz.build.
2015-09-22 16:24:51 -07:00
Nicholas Nethercote
e745f99cae Bug 1206558 (part 5) - Give libevent its own moz.build file. r=mshal.
I originally tried putting it in ipc/chromium/src/third_party/libevent/, but
that directory already has a Makefile.in file, which caused problems, so I
moved it down one directory.
2015-09-22 16:24:51 -07:00
Nicholas Nethercote
32e25f4501 Bug 1206558 (part 4) - Factor out include handling in ipc/chromium/moz.build. r=mshal. 2015-09-22 16:24:51 -07:00
Nicholas Nethercote
5a5317d47b Bug 1206558 (part 3) - Move Android-specific code ipc/chromium/moz.build. r=mshal. 2015-09-22 16:24:51 -07:00
Nicholas Nethercote
0bbfee3886 Bug 1206558 (part 2) - Move Linux-specific code ipc/chromium/moz.build. r=mshal.
Just so the OS ordering at the top matches the OS ordering at the bottom.
2015-09-22 16:24:51 -07:00
Nicholas Nethercote
d10bc775ba Bug 1206558 (part 1) - Combine handling of BSDs in ipc/chromium/moz.build. r=mshal.
Also wrap some overlong comment lines.
2015-09-22 16:24:51 -07:00