In practice, this shouldn't make a difference -- but C++ allows compilers to
make pointer-usage-after-delete trigger a runtime fault.
MozReview-Commit-ID: J1tZ3TxXR80
--HG--
extra : rebase_source : 046407c3c034b85a5b5d41e4c1a87e4a79c6833e
Before if a key input was handled with APZ we wouldn't dispatch it to content,
because it was guaranteed there wouldn't be any key listeners. Now we are
allowing passive key listeners behind a pref, and so we will sometimes handle
a key input in APZ and dispatch it to content. When this happens, XBL shouldn't
do the default action, otherwise we would double scroll.
MozReview-Commit-ID: 2zfszQ3itkp
--HG--
extra : rebase_source : 724b110fd55c5935df589f1cbcc0b3380028a1ed
This is for adding a pref that will allow web content to have key listeners
and use keyboard APZ, if they are marked passive. This commit also reworks
the function names and comments to make them more accurate.
MozReview-Commit-ID: LGDaVQOK1CS
--HG--
extra : rebase_source : a6bb4b7fff3488dea62b9114aa164814c74561a4
This also changes the Library window to use the newly added back-end object. The only user-visible change should be how the selection behaves when retrying downloads.
MozReview-Commit-ID: 7CQr1m21rcB
--HG--
extra : rebase_source : e36faf63dadeba0c897b769cb7e14a2d01d0f628
extra : amend_source : 2c7a88b6e3d6de50b37c34a5579b3ab6fb0c10dd
Also check that the offset doesn't overflow during reads.
MozReview-Commit-ID: DT5neeZuMZu
--HG--
extra : rebase_source : 1f0de82916ebf770a0ea2570161d607216232dfa
The messages are routed through nsITabParent, nsIWidget, and IAPZCTreeManager
(the latter possibly remoted via PAPZCTreeManager if out-of-process compositing
is used).
MozReview-Commit-ID: 1zXzLa1fqpG
--HG--
extra : rebase_source : c482816ecbaec0a889d817851ee15be186b2a49c
We should check HasName() first because HasName() should be cheaper and would
typically be false.
MozReview-Commit-ID: 8l7WQR7Lcxj
--HG--
extra : amend_source : 2ea6f2bb230367c5f4d5ec0b02a2436372c937c2
Following P1, mNextPlayState is no longer used.
MozReview-Commit-ID: 5ABEYMQ5G9l
--HG--
extra : rebase_source : f4cfb050ae19625bc8f6e54f33bb4f0f4e53d059
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
--HG--
extra : rebase_source : 6a86fd4f7a66e73497a756976a2562d183002a2a
Removes applet tag interfaces, and changes HTML5 parser to output
HTMLUnknownElement when tag is found. Removes tag process from various
places in the browser.
MozReview-Commit-ID: 2zHhK2U2esX
--HG--
extra : rebase_source : d06ecaffd1cb656301e29b900bafde4c68a4606e
All the SizeOf{In,Ex}cludingThis() functions take a MallocSizeOf function
which measures memory blocks. This patch introduces a new type, SizeOfState,
which includes a MallocSizeOf function *and* a table of already-measured
pointers, called SeenPtrs. This gives us a general mechanism to measure
graph-like data structures, by recording which nodes have already been
measured. (This approach is used in a number of existing reporters, but not in
a uniform fashion.)
The patch also converts the window memory reporting to use SizeOfState in a lot
of places, all the way through to the measurement of Elements. This is a
precursor for bug 1383977 which will measure Stylo elements, which involve
Arcs.
The patch also converts the existing mAlreadyMeasuredOrphanTrees table in the
OrphanReporter to use the new mechanism.
--HG--
extra : rebase_source : 2c23285f8b6c3b667560a9d14014efc4633aed51
This is similar like the previous patch, but for the 8-bit string variants.
Also, it changes assignment to Adopt() in GetCString() and GetDefaultCString()
to avoid an extra copy.
--HG--
extra : rebase_source : eba805c3a7b809d5ccd6e853b1c9010db9477667
We are able to remove some dead code for BlockingReadIntoCache,
LastReadFailed, ClearFailedRead, Pin and Unpin have no callers at all.
MozReview-Commit-ID: KkywoKznejB
--HG--
extra : rebase_source : c6124bce6eca0b974767073fe1daf51aa50635f2
Because we want to remove nsAdoptingString. We have other variants that don't
use nsAdoptingString, which can be used instead. There are three basic
patterns.
1. The easiest case is when we don't check for success.
> nsAdoptingString s = Preferences::GetString("foo");
> foo(s);
becomes:
> nsAutoString s;
> Preferences::GetString("foo", s);
> foo(s);
2. The next case is when we check if the result is empty.
> nsAdoptingString s = Preferences::GetString("foo");
> if (s.IsEmpty()) { ... }
becomes:
> nsAutoString s;
> Preferences::GetString("foo", s);
> if (s.IsEmpty()) { ... }
3. The final case is when we null check the result.
> nsAdoptingString s = Preferences::GetString("foo");
> if (s) { ... }
becomes:
> nsAutoString s;
> nsresult rv = Preferences::GetString("foo", s);
> if (NS_SUCCEEDED(rv)) { ... }
The patch also avoids some UTF8/UTF16 conversions in a few places.
--HG--
extra : rebase_source : f339b1a3dda4dc93979d38c30c001fbe77485b55
This is basically a cosmetic change; references are the normal way to do string
outparams.
--HG--
extra : rebase_source : ffc5945f269bdcd3d4116755b56713e87a44b6cd
Currently the cached count is only updated if a table was passed in to keep
track of the window IDs. This changes the behavior to always update the count
regardless of whether a table is passed in.
MozReview-Commit-ID: EkfzLemVJyV
Extract CSSFontFeatureValuesRule from nsCSSFontFeatureValuesRule
class. This is necessary because we will create a FontFeatureValues
rule for Servo side.
MozReview-Commit-ID: GKy5wa6JLv9
--HG--
extra : rebase_source : 015f13da9a776c4ece8aa13655395afbb347b870
This lets us decide whether to defer operations if they might trigger a
reflow.
MozReview-Commit-ID: 4M13HKAuZ7M
--HG--
extra : rebase_source : d30a423b2fb9eb7a189b84d8aebb7263ab0b3f27
This patch replaces four functions of the name AssignWithConversion which
are essentially wrappers around CopyASCIItoUTF16 and LossyCopyUTF16toASCII
with direct calls to the latter two functions. The replaced functions are:
void nsCString::AssignWithConversion( const nsAString& aData )
void nsString::AssignWithConversion( const nsACString& aData )
void nsTString_CharT::AssignWithConversion(
const incompatible_char_type* aData,
int32_t aLength = -1);
The last of the three exists inside the double-included nsTString* world and
so describes two functions, giving four in total.
This has two advantages:
* it removes code
* at the call points, it makes clear (from the replacement name) which
conversion is being carried out. The generic name "AssignWithConversion"
doesn't make that obvious -- one had to infer it from the types.
The patch also removes two commented out lines from
editor/composer/nsComposerCommands.cpp, that appear to be related. They are
at top level, where they would never have compiled. They look like
leftovers from some previous change.
--HG--
extra : rebase_source : fb47bf450771c3c9ee3341dd14520f5da69ec4f5
The image objects used in the TestVideoTrackEncoder.cpp for NV12 and NV21 were
not suitable for storage of these formats. As such the new format detection
code introduced in previous changesets was not correctly be exercised.
MozReview-Commit-ID: 9Tn7Ub4GfeG
--HG--
extra : rebase_source : c40731e0e98fde4ec55e05c899cebf96751317fa
Utilize ImageUtils to detect the bitmap format of images passed to the VP8
encoder, rather than duplicating this functionality in the encoder. Resolve an
issue with incorrect identification of unevenly sized I420 frames that was
breaking screen capture based MediaRecorder. clang-format code which has been
touched.
MozReview-Commit-ID: 4IfKSYxGuAX
--HG--
extra : rebase_source : 837caee9668b935ff9e627479b6e905208cbe4cf
The WebAuthn WD-05 version of the specification defines the Origin field [1]
of the CollectedClientData as being set to the RP ID [2][3].
Note there is some ambiguity in the specification, as [1] says
CollectedClientData.Origin is the document's origin, while the
algorithms [2] and [3] set it to RP ID.
I'm going to stick with the algorithm's definition for this patch; it's
simple to revert when we move to WD-06 (Bug 1384776).
[1] https://www.w3.org/TR/webauthn/#dom-collectedclientdata-origin
[2] https://www.w3.org/TR/webauthn/#createCredential
[3] https://www.w3.org/TR/webauthn/#getAssertion
MozReview-Commit-ID: LW918sIg5wH
--HG--
extra : rebase_source : 799f5fa8878614c45d0def07d01d6c1c0c6e9824
When TextComposition::RequestIMEToCommitComposition() is called but the request is handled by native IME asynchronously, TextComposition synthesizes eCompositionCommit(AsIs) event to commit composition synchronously. (This behavior helps web apps which tries to commit composition from JS.) Then, TextComposition::DispatchCompositionEvent() should ignore following composition events which are actually sent from native IME.
However, if composition is in a remote process, TextComposition::DispatchCompositionEvent() in the main process doesn't discard the following events coming from native IME. Therefore, ContentCacheInParent is confused by this unexpected events. So, TextComposition::DispatchCompositionEvent() shouldn't send the following unnecessary composition events to TabParent.
Note that in remote process, composition is committed synchronously with the hack mentioned above and synthesized eCompositionCommit(AsIs) event of TextComposition::RequestIMEToCommitComposition() in the parent process looks like coming from native IME. Therefore, following composition events coming from native IME are not necessary for the remote process.
MozReview-Commit-ID: 2uKFxcAq88J
--HG--
extra : rebase_source : f4fc3f19c86b03813479e6751cc19424f361d537
nsGenericDOMDataNode::SetData uses GetFlatTextLengthInRange. But GetFlatTextLengthInRange still use nsIDOMNode. It means that we need additional QI twice. So we should use nsINode version directly instead.
MozReview-Commit-ID: 3FX0uPGh53O
--HG--
extra : rebase_source : 1a4689ae8744062af8cc1f112b89075ddf3e1271
This patch fixes a simple mistake which was written when we support IME in e10s mode.
IMEStateManager::OnChangeFocusInternal() already has code which makes the method doesn't set IME state again when focus is not being changed, input context of the widget was already set by a remote process and our process is being activated. However, the condition of checking if input context of the widget was set by which process is reversed.
MozReview-Commit-ID: 61ZH0VnKqPq
--HG--
extra : rebase_source : 14eb8e276e6307ed30d018d4385c454f80c1e831
This patch intends to obtain a 1) rough sense of the percentage of telemetry
population using Web Authentication over time, and 2) whether or not the
Authentication request was successful or errored out as a scalar. It also tracks
3) how long it takes for requests to complete as a histogram.
It counts Register (enrollment) and Sign (login) separately as we would
anticipate there being far, far more Sign uses than Register.
MozReview-Commit-ID: 8DFyKAG8XJw
--HG--
extra : rebase_source : c93eeac7a978a1d1c4b08ff1e18e2548b1045ced
The Web Authentication PublicKeyCredential object has two fields currently
unpopulated which, to be spec-compliant, must be set. These fields duplicate
available data.
[PublicKeyCredential.id] must be set to the base64url encoding with omitted
padding of whatever data is in "rawId".
[PublicKeyCredential.type] must be the literal "public-key".
MozReview-Commit-ID: L6wPYpZdD8A
--HG--
extra : rebase_source : 3ca83598b70f99f4d60f303d113e875046268669
codegen.pp isn't available immediately (there's a rule to generate it),
and so make warns when it's initially not found. But since this is a
depends file, like other dependency files generated by the build
process, we should silently include it so make doesn't even warn about
it.
This introduces filtering to avoid attempting to dispatch notifications
to WebExtensions processes and other types of content processes.
--HG--
extra : source : ebca24a97c779b0b66fa2261e8a771e7220e3cac
Some tests were using "secret" APIs to get at telemetry knowledge from various
processes in various ways. Adjust them so that they work with the new ways of
doing things.
MozReview-Commit-ID: 2iBL00HVGyg
The patch will change the behavior of speechSynthesis API when fingerprinting
resistance is enabled. First, the speechSynthesis.getVoices() will always report
an empty list and the speechSynthesis.onvoiceschanged event will be blocked.
And it will immediately fail when using the speechSynthesis.speak() to speak an
utterance. By doing so, websites can no longer fingerprint users through this
speechSynthesis API.
In addition, this only affect contents, so the chrome can still use this API even
the fingerprinting resistance is enabled.
MozReview-Commit-ID: KxJX8fo30WS
--HG--
extra : rebase_source : 12c14f3ae2d23dacb07796156b4f0fd233bff0f9
We use an increasing player Id as the token between MediaReousrce and MediaDemuxer to
identify which GeckoHlsPlayer should be used.
In this case, playback of 2 HLS content at the same page to make sure the underlying components won't be selected mistakenly
MozReview-Commit-ID: HzrczjsYEoz
--HG--
extra : rebase_source : e749788cb6aabd2bdc1ab005829d9377e9acc653
This requires adding mPendingFlashThrottleMsgs to PluginInstanceChild. It also
requires adding FlashThrottleMsg::mInstance, and a FlashThrottleMsg::Cancel()
function that nulls mInstance.
--HG--
extra : rebase_source : 87e5732ddf2ad57d4f3ff078ab66143797eac49f
* Toggle animate=false attribute on arrow panels when toolkit.cosmeticAnimations.enabled is false
* Use preferences-service component to lookup the pref in the arrowpanel binding
* Disable this pref during tests to remove a source of instability and timing-based test failures in chrome/UI tests.
* Enable cosmeticAnimations for tests which depend on existing behavior
* Re-enable cosmeticAnimations pref for browser_ext_popup_select.js which is known to be more reliable with animations
MozReview-Commit-ID: IvA2ySPPmeJ
--HG--
extra : rebase_source : effd7fab536294de967661be4dcaaadc5b869db7
* Toggle animate=false attribute on arrow panels when toolkit.cosmeticAnimations.enabled is false
* Use preferences-service component to lookup the pref in the arrowpanel binding
* Disable this pref during tests to remove a source of instability and timing-based test failures in chrome/UI tests.
* Enable cosmeticAnimations for tests which depend on existing behavior
* Re-enable cosmeticAnimations pref for browser_ext_popup_select.js which is known to be more reliable with animations
MozReview-Commit-ID: IvA2ySPPmeJ
--HG--
extra : rebase_source : 577f534d2409da76eecd6c36dfa3db50eca50f40
Based on XHR spec 6.1, if one or more event listeners are registered on the
associated XMLHttpRequestUpload object, then set upload listener flag.
Therefore, if any event listeners are added after send(), ignore them.
This fixes the case where ChannelMediaResource::OnStartRequest() calls
mCallback->SetInfinite(true) to report an infinite duration, yet later
we get another duratoin from the metadata.
http://searchfox.org/mozilla-central/rev/8a61c71153a79cda2e1ae7d477564347c607cc5f/dom/media/MediaDecoder.cpp#1179-1185
Note IsInfinite() is checked before other duration sources. We need to call
SetInfinite(false) on the MediaDecoder so we can get the correct duration.
MozReview-Commit-ID: 3BlFNJzlgXo
--HG--
extra : rebase_source : 073b65cbc21f280638054b80f0cc9913a9128a18
While "debugger" is not available yet, we can enable these debugging APIs for
extensions that have the "tabs" privilege, which includes the Media Panel
Devtools extension, so we/webdev will get better media-playback information.
MozReview-Commit-ID: I0MAZH9g0HU
--HG--
extra : rebase_source : 98c21147cb2da4f5f3f1c4dea9d3180b774f8c1a
Currently, IMEStateManager::OnChangeFocusInternal() sends blur notification to IME when a remote process has IME focus and focus is moving from the process. However, if IME wants to keep composition even during deactive and nobody will gets focus (i.e., all windows becomes deactive), IMEStateManager shouldn't send the blur notification because it causes committing composition.
Therefore, it should send blur notification only when focus is moving to a PresContext (that means that not all windows becomes deactive) or IME doesn't want to keep composition during deactive.
Then, even if another window becomes active next time, IMEStateManager can send "stop IME state management" message to the composing remote process and the remote process can commit composition normally.
Additionally, this patch ensures to send blur notification when IME focused TabParent or widget is being destroyed. This fixes new memory leak bug of this patch (sFocusedIMETabParent keeps grabbing the instance until shutting down in some mochitests).
MozReview-Commit-ID: KYiFGo970a8
--HG--
extra : rebase_source : c3de0df442420979414b47d8d20c7988c49b205b