This is as much a perf issue as it is a UX issue. We should be passing a HWND to
ShellExecuteEx because it can show UI, and that UI should have a proper
parent-child relationship with the Mozilla window. We should do that on the
main thread because of the GUI stuff. OTOH, we want the ShellExecuteEx call to
be a lightweight as possible, hence the SEE_MASK_ASYNCOK flag.
MozReview-Commit-ID: 7VLkWTRWPoe
--HG--
extra : rebase_source : ce16bc0c926a299d9b9103ad0697e3cd07b9157d
Implemented by short-circuiting calls to RequestVideoData in MDSM so no
frames are decoded. Resuming playback when video moves to foreground by
using the SeekTask/SeekJob/Seek in MDSM with result of GetMediaTime().
Special consideration is made to only seek the video part of Seek() to
remove an audible glitch in the audio playback when the video becomes
visible again.
MozReview-Commit-ID: 7YFDTanslXu
In two places we fail to check if we successful obtained the crash reporter
before we use it.
--HG--
extra : rebase_source : f757b8320788220b5a4d5242a0264d577d92f15e
Having the Impl suffix isn't really necessary, and if we start creating
instances of these classes directly, it's also rather ugly. Let's get
rid of them.
As well as adding MOZ_MUST_USE to a number of functions, this patch:
- Changes the return type of nsObserverList::GetObserverList() from |nsresult|
to |void|, because it always returned NS_OK and none of the callers checked
the result.
- Removes an unnecessary |new| check in nsSupportsArray::Enumerate().
--HG--
extra : rebase_source : 3a93124ef2a7db3929119194ceacbc56bc80d2c6
A few callers of NS_NewISupportsArray() didn't use the return value to detect
failure, but instead checked if the |array| argument was null after the call.
This is inconsistent with the majority of the calls to NS_NewISupportsArray().
This patch changes them to be checked in the normal way.
--HG--
extra : rebase_source : bf91836d7c3b159833c303a3716f4d9366f8b76a
It's always NS_OK. The patch also removes an unnecessary failure check as a
result.
--HG--
extra : rebase_source : 3a0c30f9ca0e838682204ed1a8d46d6ab35e20b8
This makes things clearer and removes some unnecessary nsresult checks.
The patch also:
- removes some unnecessary |new| and moz_xmalloc() checks;
- adds MOZ_MUST_USE to some fallible nsVariant methods.
--HG--
extra : rebase_source : fd0bd0c55c22ebf194246ec9997fe971cf282e69
It looks like VC++ doesn't like comparisons of nsCOMPtr to 0 after this
change, but those are bad style anyway, so I removed them from
TestCOMPtr.cpp instead of trying to make them work.
It's an annotation that is used a lot, and should be used even more, so a
shorter name is better.
MozReview-Commit-ID: 1VS4Dney4WX
--HG--
extra : rebase_source : b26919c1b0fcb32e5339adeef5be5becae6032cf