Commit Graph

355 Commits

Author SHA1 Message Date
Chris Peterson
f7ceeaf5cf Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr
2018-06-17 22:43:11 -07:00
Andi-Bogdan Postelnicu
8c946b61e4 Bug 1453795 - Dom/Plugins - Initialize member fields in classes/ structures. r=jmathies 2018-06-14 08:38:21 +03:00
Kris Maglione
187318b0b7 Bug 1462937: Update callers to use nsIFile::GetDirectoryEntries as a nsIDirectoryEnumerator. r=froydnj
MozReview-Commit-ID: Iv4T1MVAF5
2018-05-19 20:17:45 -07:00
Nika Layzell
fbd3b168bb Bug 1455217 - Part 3: Use the new xpidl Promise type instead of nsISupports, r=bz 2018-05-14 17:55:54 -04:00
Boris Zbarsky
599ef690cf Bug 1455674 part 16. Remove most use of nsIDOMElement in dom. r=qdot 2018-04-26 23:37:34 -04:00
Kris Maglione
fab8e5086a Bug 1456677: Make the blocklist service a JSM, with an XPCOM service stub. r=Gijs
Aside from making things easier for JS callers, this also makes it harder to
accidentally trigger an early load of the service, which can be expensive
during startup.

This also makes a slight change to nsPluginHost to initially preserve the
previous blocklist state when a plugin is updated, to avoid the risk of the
possible additioanl asynchrony unblocking a plugin that should stay blocked.

MozReview-Commit-ID: 4EvIGJ1Ke0Z
2018-04-24 17:46:44 -07:00
Kris Maglione
5c0caddb7a Bug 1456324: Part 2 - Mark infallible nsIPluginTag getters as infallible. r=Gijs
MozReview-Commit-ID: B7fkZVeDfJZ
2018-04-24 15:04:11 -07:00
Kris Maglione
5c195fd47b Bug 1456324: Part 1 - Update tests to use nsIFakePluginTag rather than JS mocks. r=Gijs
This will allow us to make nsIPluginTag a builtin class.

This patch also factors out some common logic from AOM plugin tests.

MozReview-Commit-ID: FbXlSE8sjyK
2018-04-25 12:31:25 -07:00
Gijs Kruitbosch
82d0a77d46 Bug 1456171 - make getPluginBlocklistState API asynchronous, r=kmag
MozReview-Commit-ID: KcDWtkdkNKs
2018-04-23 17:11:34 +01:00
Sebastian Hengst
d91e9954eb Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
6095241db8 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Gijs Kruitbosch
2c52d17c20 Bug 1371888 - cache plugin information in pluginreg.dat to avoid sync startup load, r=florian,mossop
This changes the pluginreg.dat format to include the blocklist state.

There is now only the saved blocklist state in a plugin tag instance, rather than
looking it up from in there using the blocklist service, so it was renamed from
mCachedBlocklistState to mBlocklistState. We pass the 'right' state to the plugin
instance when the plugintag is constructed. If we don't have state, we mark it as
unblocked.

mCachedBlocklistStateChanged was never read so it's being removed.

Bug 1439519 adds a 'blocklist-loaded' notification that is fired once the blocklist is loaded.
The plugin host implementation will listen to this in the parent process and update the
blocklist state of all the plugins, and broadcast changes to the child process, just like when
we update the blocklist from the server. We now also avoid re-sending plugin content to the
content processes if the plugin state hasn't changed as a result of the blocklist having been
loaded.

Finally, because new plugins should still get an up-to-date blocklist state, and
telemetry should get up-to-date data about which plugins are and aren't enabled
once we have that data, we ensure that once we've loaded the blocklist async,
we schedule an idle task to parse it and consider it loaded.

All this means that plugin blocklist information could be mistaken between the points where
a new plugin is installed and we first run Firefox with the new plugin, and the point where
we load the blocklist. Given the trade-offs, that size of window (tiny) seems OK, also given
that there's already a much larger window in blocklist updates (which only happen once every 24h).

MozReview-Commit-ID: 1gsojRkUzTw
2018-02-20 16:53:48 +00:00
Andrea Marchesini
3faaf5a84b Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug
* * *
Bug 1425458 - Resource timing entries Workers - part 10 - Correct parameters in NS_NewChannel in nsDataObj.cpp, r=me
2018-01-24 17:17:31 +01:00
Brindusan Cristian
1153f2c09e Backed out 12 changesets (bug 1425458) for mochitest failures on WorkerPrivate.cpp on a CLOSED TREE
Backed out changeset 11997de13778 (bug 1425458)
Backed out changeset 100b9d4f36bc (bug 1425458)
Backed out changeset a29e9dbb8c42 (bug 1425458)
Backed out changeset b96d58fd945c (bug 1425458)
Backed out changeset f140da44ba68 (bug 1425458)
Backed out changeset af56400233d9 (bug 1425458)
Backed out changeset 7034af4332e4 (bug 1425458)
Backed out changeset f70500179140 (bug 1425458)
Backed out changeset 793bbfc23257 (bug 1425458)
Backed out changeset 2efb375a8ffc (bug 1425458)
Backed out changeset 07e781e37451 (bug 1425458)
Backed out changeset e875f3702a5f (bug 1425458)
2018-01-24 20:47:48 +02:00
Andrea Marchesini
b434804b93 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug 2018-01-24 17:17:31 +01:00
Kris Maglione
edc98f08f3 Bug 1412726: Clean up XPCOM singleton constructor refcount handling. r=froydnj
This is a follow-up to bug 1409249. There are a lot of places where our
factory singleton constructors either don't correctly handle their returned
references being released by the component manager, or do handle it, but in
ways that are not obvious.

This patch handles a few places where we can sometimes wind up with dangling
singleton pointers, adds some explanatory comments and sanity check
assertions, and replaces some uses of manual refcounting with StaticRefPtr and
ClearOnShutdown.

There are still some places where we may wind up with odd behavior if the
first QI for a getService call fails. In those cases, we wind up destroying
the first instance of a service that we create, and re-creating a new one
later.

MozReview-Commit-ID: ANYndvd7aZx
2017-10-29 16:02:40 -07:00
Gabriele Svelto
de4cc6a7cf Bug 1402519 - Remove MOZ_CRASHREPORTER directives from dom; r=peterv
MozReview-Commit-ID: 4G2C9y6csvc
2017-10-10 12:43:09 +02:00
shindli
f90a73f3c0 Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
44aa02b094 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from dom; r=peterv
MozReview-Commit-ID: 4G2C9y6csvc
2017-10-10 12:43:09 +02:00
Marco Castelluccio
c66949f9b1 Bug 1413845 - Remove PluginPRLibrary as it is unused. r=jimm 2017-11-02 11:03:24 +01:00
Kris Maglione
7cdbf75d48 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu
2017-10-15 23:15:40 -07:00
Alex Gaynor
16eb099477 Bug 1405312 - Remove dead code from nsPluginHost; r=jimm
MozReview-Commit-ID: BsZIoTeZrNL
2017-10-03 09:53:08 -04:00
Nicholas Nethercote
0f7417bf0b Bug 1352573 (part 2) - Remove NPN_PluginThreadAsyncCall() and related machinery. r=bsmedberg.
* * *
[mq]: rm-checkGCRace
2017-08-03 22:12:51 +10:00
Nicholas Nethercote
42d8740878 Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
James Willcox
998cd74d67 Bug 1381916 - Remove support for plugins on Android r=jchen,bsmedberg
MozReview-Commit-ID: AcAIC1QQew2
2017-07-31 12:25:16 -05:00
Sebastian Hengst
74df0dca4f merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-07-31 11:28:37 +02:00
Nicholas Nethercote
09493fcbcf Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
Kyle Machulis
74bf40ac81 Bug 1279218 - Additional applet tag logic removal; r=bz
I've been having problems with interdiffs on mozreview lately, so for
ease of review, this patch is being submitted as a seperate patch for
review. Once it is r+'d, it will be folded into the first patch in
this set before landing.

MozReview-Commit-ID: CS9MngaXlBd
2017-07-28 16:44:39 -07:00
Kyle Machulis
84ae1a8100 Bug 1279218 - Remove Java Test Plugin and rest of Java references; r=bsmedberg
MozReview-Commit-ID: IzqYDED7Tui
2017-07-17 16:45:48 -07:00
Bevis Tseng
59627df038 Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm 2017-07-27 02:18:20 +08:00
Kyle Machulis
1627fac44e Bug 1350640 - Send blocklist state on plugin list update; r=bsmedberg
Instead of synchronously checking the blocklist, package each plugin's
blocklist state with it when sending the information to the content
process. Whenever the blocklist is changed, just resend the whole
plugin list.

MozReview-Commit-ID: 1AX1EDdTRqb
2017-07-13 17:11:55 -07:00
Nicholas Nethercote
359128054c Bug 1352575 (part 18) - Remove PluginAsyncSurrogate. r=jimm.
The patch also removes PluginDataResolver and various other things that are no
longer necessary.
2017-04-18 16:56:45 +10:00
Nicholas Nethercote
e20e423748 Bug 1352575 (part 5) - Remove PluginModuleParent::mIsStartingAsync. r=jimm.
This allows a bunch of other things to be removed too, including
PluginModuleParent::mSurrogateInstances,
PluginModuleChromeParent::sInstantiated, and NS_PLUGIN_INIT_PENDING.

The patch also removes the AsyncPluginInit crash annotation.
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
9dbfde4d50 Bug 1352575 (part 2) - Remove nsPluginTag::mSupportsAsyncInit. r=jimm.
It's not used in any useful way.
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
fcd4f4fa21 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.
2017-06-30 19:05:41 -07:00
Nicholas Nethercote
a58025002f 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.
2017-06-22 17:08:53 +10:00
Wes Kocher
7a6bc6dbdb Backed out 6 changesets (bug 1371699) for various failures including frequent img-blobURI-2.html failures and leaks a=backout
Backed out changeset 67a27cf0ab80 (bug 1371699)
Backed out changeset 7e494fa90087 (bug 1371699)
Backed out changeset 30405ec37e1e (bug 1371699)
Backed out changeset 2d67624a01dc (bug 1371699)
Backed out changeset 503c9d22e6bb (bug 1371699)
Backed out changeset eedcb67a9fb6 (bug 1371699)

MozReview-Commit-ID: 4HydLjK7Ond
2017-06-13 17:50:11 -07:00
Boris Zbarsky
72d950c0c2 Bug 1371699 part 3. Make nsIStringInputStream not inherit from nsIInputStream anymore. r=bkelly
This will prevent ambiguous nsIInputStream inheritance once we also inherit from nsIAsyncInputStream.
2017-06-13 16:16:23 -04:00
Kyle Machulis
ba0fbe562b Bug 1370237 - Always increment plugin epoch when creating nsPluginHost in parent; r=bsmedberg
If we don't increment the plugin epoch in the parent process before
the first call to LoadPlugins, and all plugin info is already cached,
the epochs will match and we'll never get a complete plugin list in
the child. This patch makes sure our first parent/child epoch check
never matches, so we always update correctly.

MozReview-Commit-ID: Jj1F8m3aeGx
2017-06-06 18:29:32 -07:00
Kyle Machulis
0dd99d6bad Bug 1337058 - Remove FindPlugins IPC message; r=bsmedberg 2017-06-06 18:29:32 -07:00
Ryan VanderMeulen
066903527a Backed out changeset 0ff4ad45f99c (bug 1337058) for causing bug 1370237. 2017-06-05 20:14:55 -04:00
Kyle Machulis
8b6cc02b09 Bug 1337058 - Remove FindPlugins IPC message; r=bsmedberg
MozReview-Commit-ID: GQVHEeQp1dx
2017-06-01 15:33:23 -07:00
Peter Van der Beken
fe2b8da9d6 Bug 558184 - Part 10 - Only allow JS plugins for Flash and PDF. r=bz. 2017-05-02 11:56:23 +02:00
Peter Van der Beken
7002bb3bff Bug 558184 - Part 9 - Optionally load a script in a sandbox in the content process for every plugin instance. r=bz. 2016-09-27 18:28:36 +08:00
Peter Van der Beken
664ad944ee Bug 558184 - Part 6 - Return fake plugins in e10s too. r=bz. 2015-05-21 15:15:08 +02:00
Nathan Froyd
3b526b2200 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
Łukasz Kędziorski
5d6f7cf220 Bug 1357578 - Convert PRCList usage in nsPluginHost to mozilla::LinkedList. r=erahm,r=bsemdberg 2017-05-02 17:12:00 -07:00
Lie Ryan
64d3997e86 Bug 1352572 - Remove unused code that implement NPN_PostURLNotify(file=true) and NPN_PostURL(file=true); r=bsmedberg
- Remove nsNPAPIPlugin.cpp:MakeNewNPAPIStreamInternal(file) parameter
- Remove nsPluginHost::PostURL(isFile) parameter
- Remove nsPluginHost::CreateTempFileToPost() unused function

MozReview-Commit-ID: 7bCBzGz9oSM
2017-04-12 14:28:50 +00:00
Kyle Machulis
89d9648295 Bug 1351490 - Only load either flash and/or test plugins. Period. r=bsmedberg
Before this patch, mochitests could still load ALL plugins, meaning
MIME type checking would fail when another plugin snuck in. We should
only load exactly the plugins we expect to be there now.

MozReview-Commit-ID: KowCihZuceH
2017-04-11 13:53:58 -07:00
Kyle Machulis
d84088f8ca Bug 1351490 - Only run plugin finding on flash mime types/extensions; r=bsmedberg
Now that we only support the flash plugin, we should only run plugin
finding if the flash mime type is requested.

MozReview-Commit-ID: CrHkTe2aEyz
2017-04-11 13:53:58 -07:00