Commit Graph

545717 Commits

Author SHA1 Message Date
Mike Hommey
bf7a9e79f6 Bug 1379139 - Instead of not recycling huge chunks, zero them. r=njn
It turns out that not recycling some kinds of chunk can lead to the
recycle queue being starved in some scenarios. When that happens, we end
up mmap()ing new memory, but that turns out to be significantly slower.

So instead of not recycling huge chunks, we force-clean them, before
madvising so that the pages can still be reclaimed in case of memory
pressure.

--HG--
extra : rebase_source : 2dbd028daca92c9cd7c8079eb3dc5a0cfa06495b
2017-07-10 06:41:17 +09:00
Emilio Cobos Álvarez
b141be45cd Bug 1379696: Reftest. r=bholley
MozReview-Commit-ID: 2F4wlganOT

--HG--
extra : rebase_source : 9f03288f6b461034e84338819612a74fade4eade
2017-07-11 05:37:19 +02:00
Cameron McCormack
8bd2257ed4 Bug 1379864 - Followup fix. r=me 2017-07-11 11:33:34 +08:00
cku
8aeea96caf Bug 1379404 - Part 4. Prevent unnecessary AzureState copy in GlyphBufferAzure::Flush. r=mattwoodrow
~AzureState is expensive, especially in GlyphBufferAzure::Flush, which is a high
fan-in function.

MozReview-Commit-ID: 4JfjMje0Kgs

--HG--
extra : rebase_source : bbc2f06871d9bde9130ddb95d053d16a3f2a091d
2017-07-09 00:49:24 +08:00
cku
e9501d8277 Bug 1379404 - Part 3. Prevent using gfxContext::Save/Restore in gfxTextRun. r=mattwoodrow
MozReview-Commit-ID: 5p7vAYHGhdy

--HG--
extra : rebase_source : 76a1d48d67670f43ef7339422340e21034b34a3c
2017-07-09 00:33:54 +08:00
cku
a647b78685 Bug 1379404 - Part 2. Prevent using gfxContext::Save/Restore in gfxFont. r=mattwoodrow
MozReview-Commit-ID: 7uIQDfK8gG2

--HG--
extra : rebase_source : 338a48b0c137d6b70101c5c72231d14a5100e183
2017-07-09 00:24:37 +08:00
cku
6f5fc6f921 Bug 1379404 - Part 1. Prevent using gfxContext::Save/Restore in nsTextFrame. r=mattwoodrow
MozReview-Commit-ID: Aob1J2pXNk1

--HG--
extra : rebase_source : 1e60f60167f54728ee5b604a8923fee7baab00f0
2017-07-08 23:52:00 +08:00
Cameron McCormack
d6733c3803 Bug 1379864 - stylo: Remove <style scoped> warning. r=xidorn
MozReview-Commit-ID: 6hUcdLAeaxs

--HG--
extra : rebase_source : c2a38ca757a1864b060fbbb112881dd9806ac46d
2017-07-11 10:35:54 +08:00
Emilio Cobos Álvarez
150dcfe2d6 servo: Merge #17658 - selectors: Avoid looking at MatchingMode if the selector isn't the topmost (from emilio:nesting-level); r=bholley
Also, switch the hover quirk to the same mechanism.

Bug: 1379696
Reviewed-By: bholley
MozReview-Commit-ID: KrmNqNyASf6
Source-Repo: https://github.com/servo/servo
Source-Revision: 8fa2a262dc8f2dcab884aead38439ba8756518dc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c68725c4b5f088cc4ae280059486b62f6b02c43e
2017-07-10 19:16:35 -07:00
Cameron McCormack
81de43d854 Bug 1376406 - Make ::before and ::after the only pseudos that do parent display-based style fixup. r=dbaron
MozReview-Commit-ID: Hxq8v1NSYvc

--HG--
extra : rebase_source : c5998f82446f078dcead1c6aa49d6b38296929ce
2017-07-11 10:38:23 +08:00
Kartikaya Gupta
e65dbb6e13 Bug 1378355 - Update GetMaxDisplayPortSize to respect the gfx.max-texture-size pref. r=tnikkel
MozReview-Commit-ID: D6wF4QrnGSw

--HG--
extra : rebase_source : 355cc3170a45444c29683b054769326c70672391
2017-07-10 10:15:25 -04:00
Kartikaya Gupta
aa30c63e60 Bug 1378355 - Move the safe-maximum displayport fallback code into the GetMaxDisplayPortSize function. r=tnikkel
MozReview-Commit-ID: LdHQuuunl3E

--HG--
extra : rebase_source : 2db1703245694539b924d8330ddc7bedc1a88216
2017-07-10 10:15:24 -04:00
Kartikaya Gupta
78bfd54626 Bug 1378355 - Extract gfxPlatform wrappers for MaxAllocSize and MaxTextureSize. r=bas
This allows us to reuse the minimum bound guards on the pref values in other
places that want to use the prefs.

MozReview-Commit-ID: 7XKuM5u1GB8

--HG--
extra : rebase_source : 9cf85c7cbe2e8511ad2db59e7bf7ba6e8db79883
2017-07-10 10:15:24 -04:00
Kartikaya Gupta
1fd7214235 Bug 1378355 - Remove unused function. r=bas
MozReview-Commit-ID: H051LFrFMgD

--HG--
extra : rebase_source : 2dca4cfb41a94de9e8fce847b985c9193eadc094
2017-07-10 10:15:23 -04:00
gasolin
345a2f81da Bug 1375775 - test cases for reusable tourset;r=mossop
MozReview-Commit-ID: IlxgYRuFpCc

--HG--
extra : rebase_source : 5fb443a6181e909e6e7dad276e0e5b60ba983936
2017-07-07 11:52:33 +08:00
gasolin
6a631df7f2 Bug 1375775 - Allow reuse existing tours;r=mossop
MozReview-Commit-ID: 4KwLBH5oPXY

--HG--
extra : rebase_source : 3741ce9cc856264774810bd26b727d5fa6ebc2f8
2017-06-26 14:25:55 -07:00
Josh Matthews
5e234de828 Bug 1352669 - Address failing CSS parser error tests. r=emilio
MozReview-Commit-ID: KfcpLYLIIve
2017-07-10 16:24:00 -04:00
Josh Matthews
e0c37f0ed3 Bug 1352669 - Hook up Stylo CSS parser to Gecko error reporter. r=emilio
MozReview-Commit-ID: 3r5Z6KiPgRM
2017-07-10 17:52:00 -04:00
Servo VCS Sync
2004ea3979 No bug - Revendor rust dependencies 2017-07-11 02:17:43 +00:00
Josh Matthews
37c0d145b4 servo: Merge #17655 - Hook up Stylo error reporter to Firefox devtools (from jdm:stylo-error-reporter); r=emilio
Reviewed by @emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1352669.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ddbc92d90ec8df9e5bf4630cd3e93759da81649

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 87c38834194b9cb1d5fdfa4303c0754f866b6613
2017-07-10 18:13:44 -07:00
JW Wang
1e7126b1fc Bug 1378631. P2 - remove AbstractMediaDecoder::CanonicalDurationOrNull(). r=jya
MozReview-Commit-ID: 9zWPcYZndsQ

--HG--
extra : rebase_source : 3c1c03528c21e08fea05b4de6fbfe73cd7d603d5
extra : intermediate-source : 9e5ab9f0ec1bd4536fe157dd530b374a791c600b
extra : source : 4e39231fbed1ea6ea6110b528308b73223878192
2017-07-06 11:38:27 +08:00
JW Wang
031b3932fc Bug 1378631. P1 - move the duration mirror from MediaDecoderReader to MediaDecoderReaderWrapper. r=jya
So we can remove AbstractMediaDecoder::CanonicalDurationOrNull() later.

MozReview-Commit-ID: 6zJCFDsCZPC

--HG--
extra : rebase_source : 66af1674651667a2ab9e82b85e5c730f8eb5c227
extra : intermediate-source : 6c5eccd5fc68bf663e1ffa9d5b57c5a2a2721b14
extra : source : 4b30670e2d75260b21fa953f9c7219e3e485c396
2017-07-06 11:45:02 +08:00
Wes Kocher
1ef5d8834c Merge m-c to autoland, a=merge 2017-07-10 18:51:05 -07:00
Wes Kocher
8e3be4c671 Merge inbound to central, a=merge 2017-07-10 18:43:02 -07:00
Geoff Brown
82199df876 Bug 1314039 - Fix incorrect skip-if for browser_thumbnails_capture.js; r=me,test-only 2017-07-10 17:06:17 -06:00
Boris Zbarsky
d226db3321 Bug 1371259 followup. Fix rooting analysis hazards in UnwrapObjectInternal. r=peterv pending 2017-07-10 18:04:49 -04:00
Wes Kocher
63da779a2d Merge autoland to central, a=merge
MozReview-Commit-ID: Kci93WdqUIO
2017-07-10 14:54:06 -07:00
Wes Kocher
8185294d28 Backed out 2 changesets (bug 1370752) for failures in test_ext_storage.js a=backout
Backed out changeset 42d3c1599af5 (bug 1370752)
Backed out changeset 9c4bf59ab966 (bug 1370752)

MozReview-Commit-ID: 4M6DsJvJ6RI
2017-07-10 14:34:56 -07:00
ffxbld
5dadcbe55b No bug, Automated HPKP preload list update from host bld-linux64-spot-307 - a=hpkp-update 2017-07-10 09:13:32 -07:00
ffxbld
cff6343801 No bug, Automated HSTS preload list update from host bld-linux64-spot-307 - a=hsts-update 2017-07-10 09:13:29 -07:00
Carsten "Tomcat" Book
de712a1cc5 merge mozilla-inbound to mozilla-central a=merge 2017-07-10 12:26:15 +02:00
Carsten "Tomcat" Book
6121e5b902 Backed out changeset 31c43a9ffa8b (bug 1379474) for bustage 2017-07-10 08:06:30 +02:00
Lars T Hansen
814a1042c6 Bug 1373414 - Backout wasm work stealing on JS helper threads. r=shu
--HG--
extra : rebase_source : 8b1dbd5f5885d41c281da137496ac5e268f4029c
extra : source : 55393d7d4f5d8a0d6258cc3035f418a05ba40aea
2017-07-07 16:03:39 -07:00
Wes Kocher
b43f3b0d25 Backed out 2 changesets (bug 1344751) for frequent android crashes in test_fetch_cors_sw_reroute.html a=backout
Backed out changeset ec02a5ecb2b4 (bug 1344751)
Backed out changeset 10c975d4a8f9 (bug 1344751)

MozReview-Commit-ID: GauB18HNj15
2017-07-10 14:17:35 -07:00
Boris Zbarsky
66481a7a29 Bug 1371259 part 9. Make UnwrapReflectorToISupports return already_AddRefed<nsISupports>. r=peterv
The main reason to not do this would be performance (avoiding the
addref/release), but there are two main mitigating factors:

1)  All calls to UnwrapReflectorToISupports that pass in a Web IDL object
    already do the addref (and in fact QI).  So this only affects the
    XPCWrappedNative case.

2)  The vast majority of the callers proceed to QI on the pointer anyway, and a
    second addref is cheap; it's the first addref after a CC that can be
    expensive on a cycle-collected object.

Going through the changes one by one:

* In GlobalObject::GetAsSupports, we do have a change that slightly slows down
  precisely in the XPCWrappedNative global case.  That's the message managers
  and the backstagepass.  And this really only affects calls to Web IDL statics
  from those globals.

* In UnwrapArgImpl we're talking about a Web IDL method taking an "external
  interface" type, and the UnwrapReflectorToISupports call is immediately
  followed by QI anyway.

* In UnwrapXPConnectImpl we're talking about the case when we have a
  non-WebIDL-object implementation of a Web IDL interface.  Again, this is the
  message manager globals, for EventTarget.  And we have a QI call immediately
  after the UnwrapReflectorToISupports.

* In the generated HasInstance hook for EventTarget we will be slightly slower
  when the LHS of the instanceof is an XPCWrappedNative.  And not much slower,
  because again there's an immediate QI.

* In InstallXBLField we're never going to have an XPCWrappedNative as thisObj;
  it's always an Element in practice.  So this is no more expensive than before.

* In sandbox's GetPrincipalOrSOP we now have an extra addref.  But it was
  followed by various QIs anyway.

* In XPCConvert::JSValToXPCException we have an extra addref if someone throws
  an XPCWrappedNative, which is fairly unlikely; our actual Exception objects
  are on Web IDL bindings.  Plus we have an immediate QI.

* In xpc::HasInstance we have an extra addred if the LHS of instanceof is an
  XPCWrappedNative.  But, again, there's an immediated QI after the
  UnwrapReflectorToISupports.

* In xpcJSWeakReference::Init we are likely doing an extra addref, but again
  immediately followed by QI.

I think it's worth making this change just to remove the footgun and that the
perf impact, if any, is pretty minimal.
2017-07-10 16:05:26 -04:00
Boris Zbarsky
9cdb2834a8 Bug 1371259 part 8. Get rid of nsIXPConnect::GetNativeOfWrapper. r=peterv
Most of these changes are just replacements of GetNativeOfWrapper with
UnwrapReflectorToISupports, which is all it did under the hood.

The other changes are as follows:

* In nsDOMClassInfo, we really care whether we have a window, so we can just
  UNWRAP_OBJECT to the Window interface, since Window is always on Web IDL
  bindings now.  Also, the weird compartment check hasn't been needed ever since
  GetNativeOfWrapper stopped returning things off the passed-in object's
  prototype chain (Firefox 22, bug 658909).
* The only use of do_QueryWrapper was to get a Window in nsDocument; again we
  can UNWRAP_OBJECT.
* In XPCJSRuntime, we again just want to check for a Window, so UNWRAP_OBJECT.
2017-07-10 16:05:25 -04:00
Boris Zbarsky
c524a4da7c Bug 1371259 part 7. Root the unwrapped object in XPCConvert code. r=mccr8 2017-07-10 16:05:25 -04:00
Boris Zbarsky
fa152ffab7 Bug 1371259 part 6. Root the unwrapped object in PRE_HELPER_STUB. r=mccr8 2017-07-10 16:05:25 -04:00
Boris Zbarsky
6761a93bcb Bug 1371259 part 5. Use a safer implementation of IsFileList. r=peterv 2017-07-10 16:05:25 -04:00
Boris Zbarsky
cdd8fe10d4 Bug 1371259 part 4. Stop using UnwrapArg to unwrap this values. r=peterv 2017-07-10 16:05:25 -04:00
Boris Zbarsky
5c76874a46 Bug 1371259 part 3. Change UnwrapObject<> and the UNWRAP_OBJECT macro to allow passing in mutable object or value handles for the thing being unwrapped, and do so at various callsites. r=peterv
I did audit all UNWRAP_OBJECT callers to make sure that the lifetimes of all the
temporary Rooted or the RefPtrs they unwrap into are long enough.
2017-07-10 16:05:24 -04:00
Boris Zbarsky
5fd161c633 Bug 1371259 part 2. Change union conversions for non-owning unions to pass a MutableHandle through to the underlying conversion code. r=peterv 2017-07-10 16:05:24 -04:00
Boris Zbarsky
6ed5936b6b Bug 1371259 part 1. Pass maybe-mutable Value handles, not JSObject*, into CastableObjectUnwrapper. r=peterv
The idea is that CastableObjectUnwrapper will want to have a MutableHandle for
the thing it's unwrapping whenever its target is a raw pointer.  Since we have
convenient MutableHandle<Value> in most cases, it's easier to switch
CastableObjectUnwrapper to working with MutableHandle<Value> or Handle<Value>
instead of trying to get MutableHandle<JSObject*> in the right places.

There are basically two changes here:

1) Make CastableObjectUnwrapper work with at thing that looks like a Value.
2) Change various callsites to pass in MutableHandle<Value>, in addition to a
   Handle<Value>, into the JS-to-C++ conversion templates.  The
   MutableHandle<Value> is passed as ${maybeMutableVal}.  It may not actually
   end up being a MutableHandle in some cases.

The reason for passing both a Handle and a MutableHandle is that when the thing
we actually have is a Rooted named "foo" the Handle will be "foo" but the
MutableHandle is most naturally written as "&foo".  This is not a problem if
you're just passing it through, but if you want to test whether it's an object,
say, you have a problem.  Writing "foo.isObject()" is ok, but "&foo.isObject()"
is not, and neither is "(&foo).isObject()".  This could be worked around by
passing the MutableHandle as "JS::MutableHandle<JS::Value>(&foo)" or something,
and then "JS::MutableHandle<JS::Value>(&foo).isObject()" does work.  But it
makes the code very hard to read.

So we just pass both things along; ${val} should be used for readonly access and
${maybeMutableVal} any time you really want a MutableHandle.
2017-07-10 16:05:24 -04:00
Andrea Marchesini
b92fb666a1 Bug 1375659 - FetchConsumer must check if the operation has been aborted before starting, r=bkelly 2017-07-10 22:07:44 +02:00
Michael Layzell
912e6a35f2 Bug 1378201 - Improve the performance of TableRowsCollection, r=ehsan
MozReview-Commit-ID: 4joB73SXNGA
2017-07-10 15:54:55 -04:00
Masayuki Nakano
7edb06b6ab Bug 1367482 NativeKey::HandleCharMessage() should treat a WM_CHAR message for '\r' as a Enter key press r=m_kato
Starting from 52, NativeKey::HandleCharMessage() ignores all control characters.  However, some keyboard layout utilities may send WM_CHAR message whose wParam is '\r' for emulating pressing Enter key.  For supporting such utilities, we should dispatch Enter keypress event when HandleCharMessage() receives such event.

Note that this patch does NOT support a pair of WM_KEYDOWN and WM_CHAR whose wParam is '\r' but the WM_KEYDOWN isn't VK_RETURN.  If there is such case, we need to support it too.  However, it needs a lot of code changes.  So, we shouldn't support it until such bug is filed actually.

MozReview-Commit-ID: CWyvBtLmXgg

--HG--
extra : rebase_source : 6e9b27dc2fb9eb75626cdd5ab339d348a7be3040
2017-07-08 03:08:07 +09:00
Xidorn Quan
aa1f5767c8 Bug 1372464 - Use ComputedValues rather than element to get style rule list. r=heycam
MozReview-Commit-ID: JPBbhrxG0Lh

--HG--
extra : rebase_source : 5bec19320bd8fa04efc37bd9301f6f9ecb95ca19
2017-07-10 09:38:58 +10:00
Xidorn Quan
3fd921b5a3 servo: Merge #17646 - stylo: Use ComputedValues rather than element to get style rule list (from upsuper:bug1372464); r=heycam
This is the Servo side of [bug 1372464](https://bugzilla.mozilla.org/show_bug.cgi?id=1372464).

Source-Repo: https://github.com/servo/servo
Source-Revision: 95a85a301f1d014c45448a4d5d4f5a8497904af6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : be1244951c8d868b79ee09b37d1f26615f6ec89f
2017-07-09 20:07:41 -07:00
Ralph Giles
8151fd3c3c Bug 1379339 - Enable stylo in macOS automation builds. r=gps
Enable stylo in Firefox Nightly builds for macOS so we can
get testing feedback until we have addressed issues blocking
enabling it for developer builds.

MozReview-Commit-ID: 3y0QT4oiBpt

--HG--
extra : rebase_source : 531162da334a6d124dcd7328f45d677cb4933551
2017-07-07 18:42:01 -07:00
Micah Tigley
585c654fe0 Bug 1372745 - Add a pref for max rows/columns for grid outline to render. r=gl
MozReview-Commit-ID: HRlQdEdP5aV
2017-07-06 20:04:02 -06:00