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

88 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 3842370ed8 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 3e2bbec4737b696e1c86579ae54be4cb3186c100
2017-10-13 16:12:57 +11:00
Stone Shih de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih 7de447a25a Backed out changeset 46d8f42863af (bug 1351148) 2017-08-11 15:19:44 +08:00
Stone Shih 9d1d77d849 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Carsten "Tomcat" Book de369deb98 Backed out changeset 284af26c1b53 (bug 1351148) 2017-07-28 09:20:27 +02:00
Stone Shih 9573b6e439 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Peter Van der Beken f7f426524e Bug 558184 - Part 7 - Keep track of the content parent that opened a tab so that ContentProcessManager::GetTopLevelTabParent can walk up to the top level tab parent for a JS plugin tab child. r=kanru.
--HG--
extra : rebase_source : 9859cdde73686a8d1405f559842cd9802d579150
extra : source : 1d5fc5a0381a5fca9caa00e4aa0420e40ad378fc
2017-01-16 21:15:11 +01:00
Andrea Marchesini 281c7e8cdd Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini 28479706ea Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Sebastian Hengst 3743249da2 Backed out changeset 3ac94ff745fc (bug 1359718) for bustage in IPCBlobInputStreamChild.cpp. r=backout on a CLOSED TREE 2017-05-23 19:13:14 +02:00
Sebastian Hengst 4ac10ab053 Backed out changeset c3251f5022dd (bug 1359718) 2017-05-23 19:12:25 +02:00
Andrea Marchesini f512688b0b Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini 9106ae7b59 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Sebastian Hengst 2ac2023c15 Backed out changeset c92612ac17d3 (bug 1359718) for bustage in IPCBlobInputStreamChild.cpp. r=backout on a CLOSED TREE 2017-05-23 18:35:24 +02:00
Sebastian Hengst 89e8ea64b1 Backed out changeset 537abc431472 (bug 1359718) 2017-05-23 18:34:40 +02:00
Andrea Marchesini 7db3365daf Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini af2f7fcbf5 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Samael Wang d5dd0ed263 Bug 1337064 - Remove sync protocol PContent::AllocateTabId. r=kanru
Remove sync protocol AllocateTabId. Instead we generate tabId in
each process with nsContentUtils::GenerateTabId, and register
RemoteFrameInfo in parent process. If the tab id was generated from
a content process, it's sent parent through either PBrowserConstructor
or PContent::CreateChildProcess.

MozReview-Commit-ID: D3W2fK9eCNH

--HG--
extra : rebase_source : 1913f8f586537be1c82a70a19cc8c6351671d0df
2017-04-05 18:42:00 +08:00
Andrea Marchesini db0019c058 Bug 1353629 - PBlob refactoring - part 4 - IPCBlobInputStream, r=smaug
IPCBlobInputStream is a new type of nsIInputStream that is used only in content
process when a Blob is sent from parent to child. This inputStream is for now,
just cloneable.

When the parent process sends a Blob to a content process, it has the Blob and
its inputStream. With its inputStream it creates a IPCBlobInputStreamParent
actor. This actor keeps the inputStream alive for following uses (not part of
this patch).

On the child side we will have, of course, a IPCBlobInputStreamChild actor.
This actor is able to create a IPCBlobInputStream when CreateStream() is
called.  This means that 1 IPCBlobInputStreamChild can manage multiple
IPCBlobInputStreams each time one of them is cloned. When the last one of this
stream is released, the child actor sends a __delete__ request to the parent
side; the parent will be deleted, and the original inputStream, on the parent
side, will be released as well.

IPCBlobInputStream is a special inputStream because each method, except for
Available() fails. Basically, this inputStream cannot be used on the content
process for nothing else than knowing the size of the original stream.

In the following patches, I'll introduce an async way to use it.
2017-04-24 12:09:40 +02:00
Bill McCloskey 5c609727dc Bug 1354249 - Use same TabGroup as original tab for print preview (r=mystor)
MozReview-Commit-ID: 5wmjLgq2j5m
2017-04-12 20:17:50 -07:00
Markus Stange 7c6c13efdf Bug 1348426 - Add profiler labels to RecvSync/Async/RpcMessage that include the message name. r=billm
MozReview-Commit-ID: F7MZhgV12DZ

--HG--
extra : rebase_source : c97e4914f4292ac52338a691dc44810f7dda7486
2017-03-29 17:43:21 -04:00
Andrea Marchesini d99a7dac26 Bug 1340921 - Introduce PMemoryStream for having PBlob and Multi-e10s happy - part 2 - PMemoryStream actor, r=mrbkap 2017-03-29 10:40:38 +02:00
Andrea Marchesini f9cbf66dfd Bug 1274343 - Add parent-to-child pipe streaming to IPCStream - part 2 - PParentToChild, r=smuag
--HG--
rename : ipc/glue/SendStreamAlloc.h => ipc/glue/IPCStreamAlloc.h
rename : ipc/glue/SendStreamChild.cpp => ipc/glue/IPCStreamChild.cpp
rename : ipc/glue/SendStreamParent.cpp => ipc/glue/IPCStreamDestination.cpp
rename : ipc/glue/SendStream.h => ipc/glue/IPCStreamDestination.h
rename : ipc/glue/SendStreamParent.cpp => ipc/glue/IPCStreamParent.cpp
rename : ipc/glue/SendStreamChild.cpp => ipc/glue/IPCStreamSource.cpp
rename : ipc/glue/SendStream.h => ipc/glue/IPCStreamSource.h
rename : ipc/glue/PChildToParentStream.ipdl => ipc/glue/PParentToChildStream.ipdl
2017-03-14 12:29:43 +01:00
Andrea Marchesini 6ced9f8a25 Bug 1274343 - Add parent-to-child pipe streaming to IPCStream - part 1 - renaming PSendStream to PChildToParentStream, r=smaug
--HG--
rename : ipc/glue/PSendStream.ipdl => ipc/glue/PChildToParentStream.ipdl
2017-03-14 12:28:58 +01:00
Andrew McCreight 64fe15162a Bug 1331743 - Create CrossProcessCpowHolder even if there is no message manager. r=smaug
MozReview-Commit-ID: AtRfKQCHofe

--HG--
extra : rebase_source : fd7a7be3c99fcfe47316c863c4b9db0ddd43548b
2017-01-17 11:00:38 -08:00
Ehsan Akhgari dc33b55d94 Bug 1312101 - Part 2: Remove AppProcessChecker and code that depends on it; r=baku 2016-11-16 14:51:08 -05:00
Ehsan Akhgari eac76d9772 Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-16 09:13:38 -05:00
Kan-Ru Chen f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Andrea Marchesini db15f776a7 Bug 1288997 - memory blob should not be shared across processes - part 1 -PSendStream should use nsIContentChild, r=jld, f=bkelly 2016-09-21 12:27:26 +02:00
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Jan de Mooij b066365085 Bug 1292892 part 7 - Remove unnecessary JSContext arguments from IPC classes. r=bz 2016-08-11 14:39:23 +02:00
Jan de Mooij 0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Andrew McCreight 8fc2a0583c Bug 1263235, part 2 - Make PContent::AsyncMessage and PContentBridge::AsyncMessage's data argument last. r=smaug 2016-04-09 06:50:59 -07:00
J. Ryan Stinnett 764b9f1ffa Bug 1238160 - Set frame type on TabContext. r=billm,mayhemer
This change renames TabContext::IsBrowserElement to IsIsolatedMozBrowserElement.
Other methods that pass these values around also have name changes.

Adds TabContext::IsMozBrowserElement which is set by the frame loader for all
browser frames.  This is in contrast to its previous implementation, which has
since been renamed IsIsolatedMozBrowserElement, since it checks isolated state
in OriginAttributes.

TabContext methods related to browser elements (and their callers) are updated
to use IsIsolatedMozBrowserElement when check isolation / origins and
IsMozBrowserElement when checking frame types.

MozReview-Commit-ID: DDMZTkSn5yd
2016-03-02 10:35:56 -06:00
Birunthan Mohanathas 9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Catalin Badea 8255b13467 Bug 1172870 - Part 2 - Enable ServiceWorkerClients::OpenWindow on e10s desktop. r=smaug 2015-10-30 01:30:57 +02:00
Kit Cambridge ec05a62f84 Bug 1212129 - e10s support for disabling site notifications. r=wchen
--HG--
extra : commitid : DPxANWhtVhu
extra : rebase_source : ba1b2c4cc9a93f7acbc4b68936b808dfc3552294
2015-10-22 15:10:14 -06: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
Steven Englehardt c184280166 Bug 1191740 - Add originAttributes in TabContext. r=bholley 2015-10-14 10:52:06 +08:00
Mike Conley 79217d57a8 Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm
--HG--
extra : commitid : 1P8nGwBmyUj
extra : rebase_source : e42c5d8e989e8f53c33cbdfd533e9c7d8e50be3a
2015-09-17 15:15:33 -04:00
Andrea Marchesini cd4473d62f Bug 1203426 - Rename StructuredCloneIPCHelper to StructuredCloneData, r=smaug
--HG--
rename : dom/ipc/StructuredCloneIPCHelper.cpp => dom/ipc/StructuredCloneData.cpp
rename : dom/ipc/StructuredCloneIPCHelper.h => dom/ipc/StructuredCloneData.h
2015-09-10 21:50:58 +01:00
Andrea Marchesini 896e177461 Bug 1201806 - part 1 - Remove OwningSerializedStructuredCloneBuffer and use StructuredCloneIPCHelper everywhere in IPC code, r=smaug 2015-09-09 08:10:32 +01:00
Andrea Marchesini efd3b25c78 Bug 1198795 - ipc/StructuredCloneUtils should be merged with StructuredCloneHelper, r=smaug
--HG--
rename : dom/ipc/StructuredCloneUtils.cpp => dom/ipc/StructuredCloneIPCHelper.cpp
rename : dom/ipc/StructuredCloneUtils.h => dom/ipc/StructuredCloneIPCHelper.h
2015-09-02 17:20:30 +01:00
chunminchang 3ccf001aaa Bug 1114507 - Part 3: Remove PContetBridge channel when grandchild-process is killed. r=kanru 2015-08-31 01:53:00 -04:00
Andrew McCreight 10dd21a3ef Bug 886459, part 3 - Remove simple uses of nsIJSRuntimeService to get the JSRuntime. r=bholley 2015-06-26 18:44:14 -07:00
Andrea Marchesini f4538bb921 Bug 1163387 - Rename FileImpl to BlobImpl, r=ehsan
--HG--
rename : dom/base/MultipartFileImpl.cpp => dom/base/MultipartBlobImpl.cpp
rename : dom/base/MultipartFileImpl.h => dom/base/MultipartBlobImpl.h
2015-05-12 13:11:03 +01:00
Andrea Marchesini 368a198972 Bug 1159401 - Split Blob and File classes, r=bz 2015-05-12 13:09:51 +01:00
Bill McCloskey 751027c648 Bug 803783 - Send message manager results via structured clone (r=bent) 2015-05-11 17:19:10 -07:00
Wes Kocher 983fcabeef Backed out 2 changesets (bug 1159401) for b2g build bustage
Backed out changeset adfee1efb1e1 (bug 1159401)
Backed out changeset 70c63c8546e3 (bug 1159401)
2015-05-11 14:54:02 -07:00