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

82 Коммитов

Автор SHA1 Сообщение Дата
Margareta Eliza Balazs 7b416abaf1 Backed out 10 changesets (bug 1470783, bug 1463587) for causing multiple leakcheck failures on a CLOSED TREE
Backed out changeset cd2080bd727a (bug 1463587)
Backed out changeset 5866137afd9a (bug 1463587)
Backed out changeset d64e1c150db2 (bug 1463587)
Backed out changeset 669f084e8914 (bug 1463587)
Backed out changeset 8074c985095c (bug 1470783)
Backed out changeset 49ed13196e9f (bug 1463587)
Backed out changeset c052042a66cf (bug 1463587)
Backed out changeset cebf1f055d1d (bug 1463587)
Backed out changeset 2ebaf5f8c605 (bug 1463587)
Backed out changeset c27295337b4c (bug 1463587)
2018-07-12 11:27:45 +03:00
Kris Maglione 830989c99a Bug 1463587: Part 2 - Add a shared-memory structured clone key-value store. r=erahm,bz
This class allows one read-write copy of a map in the parent process to share
data with multiple read-only copies in child processes. The maps only hold
onto data as structured clone blobs, and deserialize them each time a key is
read.

This commit only provides the bare-bones data structures. Follow-ups will add
bindings, change events, and automatic flushes.

MozReview-Commit-ID: LimwfmFBNOi

--HG--
extra : rebase_source : a6959c9f3186af7252ac2899f6801d5e02b62222
2018-06-22 20:35:49 -07:00
Kris Maglione 8751f930ce Bug 1471091: Avoid cloning and caching process scripts. r=mccr8
We only run process scripts once per process, so there's no need to compile
them for the compilation scope, or to keep a separate cloned copy alive for
the length of the session.

This patch changes the caching behavior of message managers to compile
single-use scripts directly for the target global, and avoid caching them for
the rest of the session. It also changes the preloader to drop references to
these scripts after they've been executed and/or encoded, as appropriate.

MozReview-Commit-ID: EfKo2aYbBxl

--HG--
extra : rebase_source : aebc5812bef4413d497ac4fdb59aced00a5a4c8e
extra : absorb_source : cf5795eb0bff47d08b1ab45f002afb3f05109c93
extra : histedit_source : e92619d2a818095241c52d8f1961ccad38300d32
2018-06-29 18:07:46 -07:00
Peter Van der Beken 0dbc31467c Bug 1451973 - Split off process from non-process message managers. r=bz.
Process and non-process managers have different script loader interfaces
(ProcessScriptLoader/GlobalProcessScriptLoader vs FrameScriptLoader). The WebIDL
conversion used the same interface for some process and
non-process managers, but because of the different script loader interfaces they really
should be using separate interfaces.

--HG--
rename : dom/base/ChromeMessageBroadcaster.cpp => dom/base/MessageBroadcaster.cpp
rename : dom/base/ChromeMessageBroadcaster.h => dom/base/MessageBroadcaster.h
rename : dom/base/ChromeMessageBroadcaster.cpp => dom/base/ParentProcessMessageManager.cpp
rename : dom/base/ChromeMessageBroadcaster.h => dom/base/ParentProcessMessageManager.h
rename : dom/base/ChromeMessageSender.cpp => dom/base/ProcessMessageManager.cpp
rename : dom/base/ChromeMessageSender.h => dom/base/ProcessMessageManager.h
extra : rebase_source : c9b0c543f9f367535919a6c6840e5ba038023112
extra : histedit_source : 7749f98e11e25423fcf414cc1f0415104343798a
2018-04-16 15:18:48 +02:00
Peter Van der Beken 188ac76110 Bug 1464474 - Some cleanup in nsFrameMessageManager. r=bz.
--HG--
extra : rebase_source : e081a086588e52dbe9363c8c622522adbff537e5
2018-05-17 16:42:13 +02:00
Peter Van der Beken 0e48ffc2b4 Bug 1457301 - Crash in mozilla::ipc::ProcessLink::SendMessage | IPC_Message_Name=PBrowser::Msg_AsyncMessage. r=mccr8.
Add back code to block big messages in DispatchAsyncMessage that wasn't added to the
codepath used by the WebIDL bindings. Also remove the non-WebIDL version of
DispatchAsyncMessage, as it's now unused.

--HG--
extra : rebase_source : ec7e5663683c98de4275ce05d6ada2f175dcb355
2018-05-16 22:29:37 +02:00
Jan de Mooij 17f3983d0f Bug 1461605 part 1 - Rename CompartmentOptions to RealmOptions. r=luke,bz 2018-05-17 10:59:45 +02:00
Peter Van der Beken 5e6f3328ec Bug 1448850 - Remove nsIMessageListener and nsIMessageListenerManager. r=bz.
--HG--
extra : rebase_source : 2938f6e1cb9078a6d45a8d58db0f6bf70e461b9c
2018-02-16 15:28:31 +01:00
Peter Van der Beken 001dd2aa3b Bug 1448850 - Empty nsIMessageSender. r=bz.
--HG--
extra : rebase_source : 267648b64b9fcfc4217cf59aad524a27fecd5b82
2018-02-16 10:34:21 +01:00
Peter Van der Beken 01a1cdcd31 Bug 1448850 - Remove nsIMessageBroadcaster. r=bz.
--HG--
extra : rebase_source : c9ef8d762347b3c71dd5cfeffafbfbb81eb6e042
2018-02-14 17:35:39 +01:00
Peter Van der Beken 355e71640d Bug 1448850 - Remove nsISyncMessageSender. r=bz.
--HG--
extra : rebase_source : a240b840b0514671565bb4980cf7642ff06749ef
2018-02-10 11:20:51 +01:00
Peter Van der Beken 634aaa5c2e Bug 1448850 - Remove nsIMessageManagerGlobal. r=bz.
--HG--
extra : rebase_source : a1efbc58c4b379b77b9a4e06625597c403053bd1
2018-03-26 16:10:45 +02:00
Peter Van der Beken 94ce46b0ba Bug 1448850 - Remove nsIFrameScriptLoader. r=bz.
--HG--
extra : rebase_source : 51925aa9b2c3cb53f9dff83c0f7f683507fd2683
2018-02-09 23:31:39 +01:00
Peter Van der Beken 02d487b70c Bug 1448850 - Remove nsIProcessScriptLoader. r=bz.
--HG--
extra : rebase_source : 7fe189ba9eafe423ebb710771d3c2be94225e745
2018-02-09 22:26:26 +01:00
Peter Van der Beken 7d074b504a Bug 1448850 - Remove nsIGlobalProcessScriptLoader. r=bz.
--HG--
extra : rebase_source : 8dd0b46ed2f5c6b726275142151f4c165b43fe71
2018-02-09 15:59:02 +01:00
Boris Zbarsky 35d4bc91ec Bug 1444143 part 13. Remove nsIFrameLoader. r=mystor
MozReview-Commit-ID: 4LG8nIePsMH
2018-03-21 22:43:17 -04:00
Peter Van der Beken e673e5f508 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : 0adb349b40a0c51bb3d8f4b9b7d98106a3929cbd
extra : source : a88d94ec010a12c1d829708aaf59a85609478477
2017-07-19 14:59:02 +02:00
Peter Van der Beken 5ad9618d7c Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 4: Convert MessageManager to WebIDL. r=bz.
--HG--
extra : rebase_source : aa7aa3a5f720b5a4f6ff88e41eb9e80ffb9092cd
2017-06-20 11:09:50 +02:00
Peter Van der Beken 50944763eb Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 15d951ed53530387235db2aa1f3dad69d16c9fa7
2017-06-14 16:44:17 +02:00
Sebastian Hengst 3a10644021 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Peter Van der Beken fc804325a9 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : d7c026d8a77634ef2566feba78168beb8a66a552
2017-07-19 14:59:02 +02:00
Peter Van der Beken e9ab02acb0 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 4: Convert MessageManager to WebIDL. r=bz.
--HG--
extra : rebase_source : 21a04b112c838f100afe28bc31265130900703da
2017-06-20 11:09:50 +02:00
Peter Van der Beken 0dc914a027 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 8fb313cbfda3eeec985ba2060abdfe307963a553
2017-06-14 16:44:17 +02:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Nicholas Nethercote d225f7151b 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

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Kris Maglione 0b7f63fe38 Bug 1390010: Part 2 - Allow JS callers to retrieve remoteType of message managers. r=krizsa
This gives JS callers access to the remote type of remote message managers.
There's currently no way for extensions to access this unless they have a
<browser> element to check the remoteType attribute of.

MozReview-Commit-ID: A8Y3ZSG3rt8

--HG--
extra : rebase_source : e024922522da9a30265f05e9a8dbf7529dfe1d81
2017-08-13 18:58:23 -07:00
Bill McCloskey 515899bc76 Bug 1371125 - Stop saving JSContext in nsSameProcessAsyncMessageBase (r=mccr8)
MozReview-Commit-ID: 23kFRobyO2W
2017-06-12 20:21:43 -07:00
Andrew McCreight 099723178a Bug 1365086, part 3 - Make nsMessageManagerScriptExecutor::mGlobal into a raw pointer. r=smaug
MozReview-Commit-ID: JdLV3wIB1gj

--HG--
extra : rebase_source : 6580a4325633e723aff3a37f58c5fc0ccb163ab2
2017-05-15 13:46:28 -07:00
Andrew McCreight ffae1f697d Bug 1365086, part 2 - Add unlink method for nsMessageManagerScriptExecutor. r=smaug
MozReview-Commit-ID: 66qpza5yEZT

--HG--
extra : rebase_source : 290a4102a1e44e6c1a6cf63c48e931130970bd93
2017-05-15 13:05:18 -07:00
Andrew McCreight 7a82b9da0e Bug 1365086, part 1 - Make nsMessageManagerScriptExecutor::GetGlobal return a JSObject pointer. r=smaug
MozReview-Commit-ID: HxMaMyK8fFW

--HG--
extra : rebase_source : 91ca882a6b6e50b23597e69f968aef7115c55496
2017-05-15 12:56:22 -07:00
Michael Layzell 490a6868bf Bug 1348113 - Part 1: Add the IPC_SYNC_JS_LATENCY_MS probe to track JS sync IPC latency from sendSyncMessage/sendRpcMessage, r=billm
MozReview-Commit-ID: 6ROx87BL18p
2017-03-29 10:10:26 -04: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
Gabor Krizsanits b64adac9e4 Bug 1291202 - Link pmm's with fmm's. r=billm 2016-08-22 10:28:04 +02:00
Sebastian Hengst 1785b4b376 Backed out changeset 262a71c958db (bug 1291202) for build bustage. r=backout on a CLOSED TREE 2016-08-22 11:17:14 +02:00
Gabor Krizsanits e3b933cd9a Bug 1291202 - Link pmm's with fmm's. r=billm 2016-08-22 10:28:04 +02:00
Jan de Mooij 536f87ca97 Bug 1294404 - Merge PerThreadDataFriendFields and ContextFriendFields, clean up APIs. r=terrence,bz 2016-08-12 11:39:16 +02:00
Nicholas Nethercote bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Andrew McCreight 2d0dfef092 Bug 1287623, part 1 - Use StaticRefPtr for sScriptCacheCleaner. r=smaug 2016-07-21 09:54:16 -07:00
Wes Kocher 3bba9b339e Backed out 5 changesets (bug 1287623) for static build bustage CLOSED TREE
Backed out changeset a48daec87ec9 (bug 1287623)
Backed out changeset 248153344e15 (bug 1287623)
Backed out changeset 8aa409c9b1ce (bug 1287623)
Backed out changeset 602d4d88e806 (bug 1287623)
Backed out changeset 114da8bdc0b0 (bug 1287623)
2016-07-20 15:40:33 -07:00
Andrew McCreight 6b881b736e Bug 1287623, part 1 - Use StaticRefPtr for sScriptCacheCleaner. r=smaug 2016-07-20 15:19:00 -07:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Alexandre Poirot ff90d0b471 Bug 1258496 - Purge message manager cached scripts on 'message-manager-flush-caches' notification. r=smaug 2016-04-13 11:04:11 -07:00
Mantaroh Yoshinaga 0d77c71c32 Bug 1174624 - Add the Transferable parameter into SendAsyncMessage of nsFrameMessageManager. r=baku 2016-01-31 22:48:00 +01:00
Nathan Froyd 69d27155df Bug 1247362 - move mAnonymousGlobalScope tracing into nsMessageManagerScriptExecutor; r=mccr8 2016-02-09 17:08:53 -05:00
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
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
David Rajchenbach-Teller cbe8e23af4 Bug 1212244 - Same-process sendAsyncMessage can now throw instead of OOM. r=smaug
--HG--
extra : rebase_source : 50d89efacee7103452218782c92a53a7cf07dd9b
2015-10-07 12:42:43 +02:00