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

474077 Коммитов

Автор SHA1 Сообщение Дата
Makoto Kato ca9ba56b72 Bug 1269246 - Remove unnecessary PromiseFlatString. r=hsivonen
MozReview-Commit-ID: HMZfLqE0RXn
2016-05-02 14:30:40 +09:00
L. David Baron 71a0554018 Bug 1270649 - Rename mExceptionHasBeenRisen to mExceptionWasRaised. r=smaug
risen is the past participle of rise; raised is the past participle of
raise, which is what is done to exceptions.

See:
https://en.wiktionary.org/wiki/rise#Verb
https://en.wiktionary.org/wiki/raise#Verb (definition 2, though not sure
  if the use for exceptions is from 2.3 or 2.5)

(I wonder if mExceptionRaised would be simpler, though.)

MozReview-Commit-ID: 8Ynup8aDcLT
2016-05-08 22:16:42 -07:00
L. David Baron 5aafe1d979 Bug 567283 patch 4 - Support #rgba and #rrggbbaa colors in CSS. r=xidorn
This adds support for #rgba and #rrggbbaa colors to CSS.  This feature
is specified in https://drafts.csswg.org/css-color-4/#hex-notation .

This adds new types to nsCSSValue so that we can serialize the syntax
that was specified, as we do for other distinctions in how colors are
specified.

It does not change the behavior of the hashless color quirk, which
continues to support only 3 and 6 digit colors as specified in
https://quirks.spec.whatwg.org/#the-hashless-hex-color-quirk (step 4).

This changes property_database.js to remove various uses of 4 and 8
digit colors as invalid values.  It then adds them in slightly fewer
places as valid values, but more thoroughly testing both initial and
non-initial values on 'color'.

It marks two canvas tests explicitly testing this feature as no longer
known to fail by removing their .ini files.

Finally, it adjusts the web platform test testing the hashless color
quirk to no longer treat 4 and 8 digit colors with hashes as invalid
values.  Removing the relevant test items seems like the right thing
since they're in a section where 3 and 6 digit colors were skipped but
other lengths were tested.  Modifying this imported test is OK since:
  <jgraham> dbaron: Commit the change you want to m-c, it is
    (semi-)automatically upstreamed every so often (typically
    about once a week)

MozReview-Commit-ID: IFq4HxaRkil
2016-05-08 22:16:42 -07:00
L. David Baron 19d420e94b Bug 567283 patch 3 - Make TestColorNames use the new alpha capabilities. r=xidorn
MozReview-Commit-ID: IdAewXMVZct
2016-05-08 22:16:41 -07:00
L. David Baron 9ee89fe42f Bug 567283 patch 2 - Rename NS_HexToRGB to NS_HexToRGBA and add parameter saying whether 4 and 8 digit colors are allowed. r=xidorn
This patch tells all callers to use the existing behavior, so it is
intended not to change behavior.  Callers that will be modified in later
patches are marked with "FIXME" comments that will be removed in those
later patches (patches 3 and 4).

MozReview-Commit-ID: FaLryfxaeHv
2016-05-08 22:16:41 -07:00
L. David Baron bf5666a4c5 Bug 567283 patch 1 - Convert if enclosing most of function into early return. r=xidorn
This conversion just reindents most of the function, but it then avoids
having indentation changes in patch 2.

MozReview-Commit-ID: A5unK4grJ47
2016-05-08 22:16:41 -07:00
Hiroyuki Ikezoe 8fd021fbd4 Bug 1235002 - Skip requesting a restyle when mProperties is empty. r=birtles
The test case here does not check whether requesting restyles for empty
properties are skipped or not.  It just checks that whether restyles happen or
not because there is no way to check each request for restyles yet.

MozReview-Commit-ID: I5XMYfCTYU8

--HG--
extra : rebase_source : 893aaaf2c47e05f37bce9913df4f14e3021f215a
2016-05-09 12:33:52 +09:00
Chris Pearce 817b6c705e Bug 1270689 - Null-check WidevineDecryptor::mCallback before use. r=gerald
We've observed some crashes derefing the callback pointer, which may be
occuring due to shutdown happening before init has setup the callback pointer.

MozReview-Commit-ID: JsOqfjejMVI

--HG--
extra : rebase_source : e175dd8556ad50316bc16232782e593eea3e2ec8
2016-05-09 14:21:26 +12:00
Gerald Squelart a147091776 Bug 1268434 - Mutex-protect and check GMP abstract thread before uses - c?cpearce r=cpearce
GeckoMediaPluginService::mAbstractThread was not reset as expected from
ShutdownGMPThread, meaning it would retain a reference to the GMP thread, and
it would allow dispatch attempts to the GMP thread after shutdown.

Also mAbstractThread was not protected by a mutex (as mGMPThread was), which is
definitely needed now that it can be reset at shutdown time.

As its prefix implies, GetAbstractThread could return a nullptr, so it should
be checked before every use.
Note that this GetAbstractThread call (and its check) has been moved closer to
the start of functions using it, to avoid unnecessary and potentially invariant-
breaking partial work to take place when we can know in advance that it won't
fully succeed because the GMP thread is not available.

MozReview-Commit-ID: B1drOeM65hr

--HG--
extra : rebase_source : 1d389c663e26a25035bf2aa22b2cca478ef954fe
2016-05-06 21:36:22 +10:00
Martin Stransky 14a55c9a93 bug 1234158 add support for GTK 3.20 scrollbars r=karlt
--HG--
extra : transplant_source : %84N%24%B8%1D%80%EE%133%96%B3Y%0B%5D%29%26%18%24%B3%60
extra : histedit_source : 6e54e39b3c2649e4efebb864db2d5ce5d8b7b330
2016-05-09 11:08:26 +12:00
Karl Tomlinson b799dfaa46 bug 1234158 rename GtkThemeWidgetType enum to WidgetNodeType as it will differentiate GTK CSS nodes r=Stránský
--HG--
extra : transplant_source : %11-%01%D8%F3%D6%00%E9%0C%D8%84z%A2%98%7C%F3%B5I%CF%5E
extra : histedit_source : deb6e194d8ea4466976347e24a741ee354dcc331
2016-04-14 17:47:20 +12:00
Sotaro Ikeda 10bd1948ed Bug 1263053 - Enable tiling on BasicCompositor r=nical 2016-05-08 18:29:35 -07:00
Christoph Kerschbaumer 88454785ba Bug 1269271 - Remove SEC_NORMAL from image/decoders (r=seth) 2016-05-08 20:05:51 +02:00
Christoph Kerschbaumer 0b2788ba18 Bug 1269264 - Remove SEC_NORMAL from test_ril_code_quality.py (r=sicking) 2016-05-08 20:06:37 +02:00
Yoshi Huang ba88c1ae58 Bug 1250033 - DocShell shouldn't have any child when setting userContextId. r=sicking 2016-05-08 22:38:09 +08:00
Jonathan Watt 6f1c454a86 Bug 1265744 - Make the "RasterImage::Init failed"/"VectorImage::Init failed" messages include the failing URI. r=seth 2016-05-03 17:16:31 +01:00
Aryeh Gregor b607cb2e71 Bug 1269712 - <track kind=invalid> should behave like metadata, not subtitles; r=bz
This follows a spec change <https://github.com/whatwg/html/issues/293>,
which AFAIK no other browser has implemented, so it has some regression
potential.

The web-platform tests changed are out-of-date and match the old spec,
so I'm changing them here to match the new spec.
2016-05-08 14:46:20 +03:00
Robert Longson 957d0f6704 Bug 1267272 - NULL pointer mozilla::dom::SVGSVGElement::GetIntrinsicHeight. r=seth 2016-05-08 11:17:46 +01:00
Sebastian Hengst 30086ae6de Bug 1263862 - Fix OOM case in ScopeIter::settle: Follow-up: bail out if oomTest is not defined. r=bustage fix for test 2016-05-08 10:33:17 +02:00
Bob Owen b95d020f26 Bug 1255336: Copy DEVMODE details back to print settings in GetDataFromPrinter. r=jimm
nsDeviceContextSpecWin::GetDataFromPrinter is only called with print settings, when the settings aren't properly populated in nsDeviceContextSpecWin::Init.
This only happens when printing silently and the print settings have last been populated with prefs.
We need to copy the final DEVMODE details back in case any were invalid from the prefs and have been overridden by the printer.

MozReview-Commit-ID: EuRTDZTSSJn

--HG--
extra : rebase_source : 338910cec62843a79333ca32e1be2e07fd7a9a11
2016-05-05 13:06:53 +01:00
Shu-yu Guo bcf5ac7ff7 Bug 1269042 - Handle NonSyntacticVariablesObject in Debugger.Environment.object. r=jimb 2016-04-29 16:06:00 +02:00
Shu-yu Guo c77388a279 Bug 1263862 - Fix OOM case in ScopeIter::settle. r=jandem 2016-04-19 19:44:00 +02:00
Tim Huang 5facb5e7d0 Bug 1260917 - Add a 'userContextId' in the sandbox options, and sandbox will reference this when creating from string url. r=bholley 2016-05-04 20:54:00 +02:00
Hiroyuki Ikezoe 74cc42f261 Bug 1258904 - Part 5: Remove redundant tests for animation performance warnings. r=birtles
There were two places run gAnimationsTests in
test_animation_performance_warning.html.

MozReview-Commit-ID: zrD5eMiDsy

--HG--
extra : rebase_source : 250f826daed4440725c0a28fdb1fcd84fd299402
2016-05-07 17:37:58 +09:00
Hiroyuki Ikezoe 4030f03992 Bug 1258904 - Part 4: Set performance warning for small content. r=birtles
MozReview-Commit-ID: 7GyGkPog1Bo

--HG--
extra : rebase_source : c296a35c433af547fe4dd800ec8c8abd3bdba339
2016-05-07 17:37:58 +09:00
Hiroyuki Ikezoe eee73ed64c Bug 1258904 - Part 3: Factor out ToLocalizedStringForKey. r=birtles
This function will be used for the warning of small content as well.
MozReview-Commit-ID: EiUF9CgWGDA

--HG--
extra : rebase_source : 3b6daa713d889f5c51507d4c1f6fd6c51f1e7fb9
2016-05-07 17:37:57 +09:00
Hiroyuki Ikezoe 95f4a2736f Bug 1258904 - Part 2: nsDisplay(Opacity|Transform)::GetLayerState should return LAYER_ACTIVE_FORCE if they have async animations to avoid flattening the layers. r=mattwoodrow
MozReview-Commit-ID: 16QtFJBX97W

--HG--
extra : rebase_source : 3d53df451a5695dcb5967dc3e9723efef36af556
2016-05-07 17:37:57 +09:00
Hiroyuki Ikezoe bce5aea131 Bug 1258904 - Part 1: Don't create layers for compositor animations if the layer size is less than 16x16. r=mattwoodrow
MozReview-Commit-ID: Kb26GeYYr9D

--HG--
extra : rebase_source : ea38aedf3eeb329d86fb1387e8b19ed32ae69ba7
2016-05-07 17:37:57 +09:00
Timothy Nikkel 6d672b7854 Bug 1270997. Send invalidations for the first image frame properly. r=seth
This was caused by http://hg.mozilla.org/mozilla-central/rev/167ceb965079 (bug 1194059). Before that changeset mIsAnimated meant "we currently have more than one frame". After that changeset mIsAnimated was replaced with HasAnimation(). HasAnimation() just looks at the metadata to see if the image is animated. That changeset had the effect of always detected if an image is animated during the metadata decode. Therefore during a full decode we always know the image is animated, even before we've decoded two or more frames.

The fix is to go back to using the actual current frame count to manage invalidations.
2016-05-07 15:54:39 -05:00
Gregory Szorc e13542b72f Bug 1271035 - Disable Places during reftests, preventing 50 GB of I/O; r=dholbert
It was a cold Friday night in San Francisco. Earlier in the day, I
informed Chris AtLee that I was going to start focusing on improving
the efficiency of Firefox automation and asked him where the biggest
capacity issues were. He said "we're hurting most on Windows tests."

As I was casually drinking a barleywine (note to reader: barleywines
are serious beers - there's nothing casual about them), I found myself
tediously clicking through Treeherder looking at logs for Windows jobs,
looking for patterns and other oddities. As I was clicking through,
something stood out to me: the sheer number of reftest jobs. I
recalled a random project I started a few years ago. Its aim was to
analyze buildbot job metadata so we could better understand where time
was spent in automation. I had mostly written off the side project as
a failure and a near complete waste of my time. Not even a stray
random thought of this project had entered my mind in the past year.
But clicking through Treeherder after a few glasses of barleywine
somehow reminded me of one of the few useful findings of that project:
reftest jobs consumed a seemingly disproportiate amount of machine time,
something like 35 or 40% IIRC of the time spent on all jobs.

Now, this finding was several years ago and almost certainly no longer
relevant. But, again, I had a few glasses of barleywine in me and was
bothered by the amount of reftest jobs and their duration, so I thought
"hey, why don't I run reftests and see why they take so long." So I
built Firefox on Windows - the platform Chris AtLee said we're "hurting
most on."

I decided to start my very casual profiling session by recording a
`mach reftest` run using Sysinternals Process Monitor. To my surprise,
it yielded a very obvious and unexpected result: the Places SQLite
database was incurring a lot of I/O. On my i7-6700K Windows 10 desktop
with a high performance SSD, `mach reftest` yielded the following:

File Time  #Events  #Reads   #Writes  RBytes        WBytes          Path
198s       980,872  243,270  669,231  7,971,471,360 20,667,084,080  places.sqlite-wal
165s       645,853  222,407  367,775  7,287,701,820 14.071,529,472  places.sqlite
  2s       377,121        1        0         32,768              0  places.sqlite-shm

The Places SQLite database accounts for 2,003,846 of the total of
3,547,527 system calls (56.49%) recorded by procmon during `mach
reftest` execution. This represents a staggering 49,997,786,732 of the
50,307,660,589 (99.38%) bytes of I/O recorded! Yes, that's 50 GB.

I reckon the reason the Places database accumulates so much I/O load
during reftests is because the reftest suite essentially loads thousands
of pages as quickly as possible. This effectively performs a stress
test against the Places history recording service.

As effective as reftests are at stress-testing Places, it adds no value
to reftests because reftests are testing the layout features, not the
performance of history recording. So these 2M system calls and 50 GB
of I/O are overhead.

This commit disables Places when executing reftests and prevents
the overhead.

After this commit, `mach reftest` has significantly reduced interaction
with the Places SQLite database:

File Time  #Events  #Reads   #Writes  RBytes        WBytes         Path
0.09s          502     138       302     4,521,984      8,961,528  places.sqlite-wal
0.07s          254      20       140       524,604      8,126,464  places.sqlite
0.01s        3,289       1         0        32,768              0  places.sqlite-shm

Of the 948,033 system calls recorded with this change (26.7% of
original), 691,322 were related to I/O. The Places SQLite database
only consumed ~22MB of I/O, <0.01% of original. It's worth noting that
~half of the remaining I/O system calls are related to reftest.log,
which now accounts for the largest percentage of write I/O (only
~53 MB, however). It's worth noting that reftest.log appears to be
using unbuffered writes and is requiring an excessive amount of
system calls for writing. But that's for another bug and commit.

In terms of wall time, the drastic I/O reduction during `mach reftest`
appears to have minimal impact on my machine: maybe 30s shaved from a
~900s execution, or ~3%. But my machine with its modern SSD doesn't
struggle with I/O.

In automation, it is a different story.

I pushed this change to Try along with the base revision and triggered
4 runs of most reftest jobs. The runtime improvements in automation
are impressive. Here are the fastest reported times for various jobs:

Job                     Before      After     Delta
Linux Opt R1               31m        34m       +3m
Linux Opt R2               43m        35m       -8m
Linux Opt Ru1              40m        34m       -6m
Linux Opt Ru2              43m        37m       -6m
Linux Opt R E10s           89m        72m      -17m
Linux Debug R1             52m        40m      -12m
Linux Debug R2             49m        42m       -7m
Linux Debug R3             60m        51m       -9m
Linux Debug R4             42m        37m       -5m
Linux Debug R1 E10s        84m        72m      -12m
Linux Debug R2 E10s        97m        85m      -12m
Linux64 Opt R1             35m        24m      -11m
Linux64 Opt R2             37m        26m      -11m
Linux64 Opt Ru1            32m        29m       -3m
Linux64 Opt Ru2            37m        26m      -12m
Linux64 Opt TC R1          12m        10m       -2m
Linux64 Opt TC R2          10m         7m       -3m
Linux64 Opt TC R3          11m         9m       -2m
Linux64 Opt TC R4          11m         9m       -2m
Linux64 Opt TC R5          13m        11m       -2m
Linux64 Opt TC R6          11m         9m       -2m
Linux64 Opt TC R7           9m         8m       -1m
Linux64 Opt TC R8          11m        10m       -1m
Linux64 Opt TC Ru1         30m        25m       -5m
Linux64 Opt TC Ru2         36m        27m      -11m
OS X 10.10 Opt             31m        27m       -4m
OS X 10.10 Opt E10s        26m        25m       -1m
OS X 10.10 Debug           68m        55m      -13m
Win7 Opt R                 30m        28m       -2m
Win7 Opt Ru                28m        26m       -2m
Win7 Opt R E10S            29m        27m       -2m
Win7 Debug R               85m        76m       -9m
Win7 Debug R E10S          75m        65m      -10m
Win8 x64 Opt R             29m        26m       -3m
Win8 x64 Opt Ru            27m        25m       -2m
Win8 x64 Debug R           90m        71m      -19m
Android 4.3 API15 Opt R1   89m        71m      -18m
Android 4.3 API15 Opt R2   78m        64m      -14m
Android 4.3 API15 Opt R3   75m        64m      -11m
Android 4.3 API15 Opt R4   74m        68m       -6m
Android 4.3 API15 Opt R5   75m        69m       -6m
Android 4.3 API15 Opt R6   91m        86m       -5m
Android 4.3 API15 Opt R7   87m        66m      -21m
Android 4.3 API15 Opt R8   87m        82m       -5m
Android 4.3 API15 Opt R9   80m        66m      -14m
Android 4.3 API15 Opt R10  80m        67m      -13m
Android 4.3 API15 Opt R11  73m        66m       -7m
Android 4.3 API15 Opt R12 105m        91m      -14m
Android 4.3 API15 Opt R13  72m        59m      -13m
Android 4.3 API15 Opt R14  82m        61m      -21m
Android 4.3 API15 Opt R15  73m        62m      -11m
Android 4.3 API15 Opt R16  79m        78m       -1m

The savings total 6+ *hours* or ~15% when running all reftests. I'd
say this isn't bad for a one-line code change!

MozReview-Commit-ID: H1LkACgSpVn

--HG--
extra : rebase_source : 891a5ce8e1f6c3d70fc646f116c2f49f897ad735
2016-05-07 02:53:14 -07:00
Jon Coppeard 5c1f07c15a Bug 1240072 - Test code for loading JS module from chrome r=sicking 2016-05-07 12:46:39 +01:00
Jon Coppeard 8d7ea09706 Bug 1240072 - Implement <script type="module"> for chrome pages only r=sicking 2016-05-07 12:46:38 +01:00
Jon Coppeard 19bcb45545 Bug 1240072 - Add nsJSUtils methods for creating and instantiating modules r=sicking 2016-05-07 12:46:38 +01:00
Jon Coppeard 90e20a8c9f Bug 1240072 - Add public JS APIs related to modules r=shu 2016-05-07 12:46:29 +01:00
Jean-Yves Avenard 9f2e0f2c87 Bug 1269408: P10. Reject promise early if in error state. r=me
Partial revertial of commit 3fa48191a0f (P9).

MozReview-Commit-ID: 2jAW7RLZ2xg
2016-05-07 19:16:34 +10:00
James Graham db0cf2d998 Bug 1270508 - Update web-platform-tests expected data to revision 26663baa852c0b42b91e7e72d3aa940e43371571, a=testonly
MozReview-Commit-ID: 3SZYeNaUf2R
2016-05-07 09:05:39 +01:00
James Graham df2ee20f9e Bug 1270508 - Update web-platform-tests to revision 26663baa852c0b42b91e7e72d3aa940e43371571, a=testonly
MozReview-Commit-ID: JLzeheMYLlz
2016-05-07 09:05:37 +01:00
Carsten "Tomcat" Book 9fd3d75ff7 Backed out changeset e968a9db2350 (bug 1234147) for bustage 2016-05-07 08:24:23 +02:00
Andrea Marchesini 4570d46a36 Bug 1268303 - Better WorkerFeature management in Console API, r=smaug 2016-05-07 07:49:15 +02:00
Jeremiah Orem 0a99a7cc46 Bug 1174254 - Disable FTP protocol guessing. r=mcmanus 2016-04-28 18:00:00 -04:00
Jed Davis 1f75ae7708 Bug 1270328 - Fix use-after-forget in WebSocket. r=mcmanus 2016-05-04 19:22:00 -04:00
Shu-yu Guo 6d9b00c84d Bug 1234147 - Fix height computation for JitcodeSkiplistTower. r=djvj 2016-05-07 00:53:22 -04:00
Ryan VanderMeulen 1fa3a59f0a Bug 1270672 - Re-enable the webgl conformance suite on e10s. r=jgilbert 2016-05-07 00:52:00 -04:00
Nathan Froyd ea473279ae Backout 6d6749bb5c26 (bug 1269408) for being pushed too soon, Executus 2016-05-06 22:08:46 -04:00
David Anderson bfbc7d0ba3 Use gfxConfig for D3D9 preferences. (bug 1270650, r=jrmuizel) 2016-05-06 19:01:58 -07:00
Jean-Yves Avenard 969594ea8c Bug 1269408: P10. Reject promise early if in error state. r=me
MozReview-Commit-ID: 2jAW7RLZ2xg
2016-05-07 11:23:32 +10:00
Morgan Phillips 588ceb1f8d Bug 1270721 - Ensure that error format strings are not null before attempting to use them.;r=jimb
--HG--
extra : rebase_source : d57b0eb1ad935ee6dd5cd655951828e3d3ad30e3
2016-05-06 11:50:45 -07:00
bd339 79bdfc45c8 Bug 1170062 - Use a common base class to simplify APZ gtests. r=botond
The common base class is shared by APZCBasicTester and APZCTreeManagerTester,
and contains several of the functions previously in InputUtils.h.

MozReview-Commit-ID: 85ZRHc1dNQf

--HG--
extra : rebase_source : fe97b9774842944a9a7959350cc642e611b5a8b4
extra : amend_source : 2557604a92b478fbf44b7eaad6bfccfd4b4c8377
2016-05-06 21:30:28 +02:00
Nick Fitzgerald 42225056cf Bug 1211723 and 1260570 - Share JS source text between JSRuntimes; r=jimb
This commit adds `SharedImmutableStringsCache` which allows for de-duplication
and sharing of immutable strings between threads and JSRuntimes.

Each JSRuntime gets a SharedImmutableStringsCache member, but the accessor
always returns the parent runtime's cache. The caches in child JSRuntime's are
not wasting space, however, as initialization and allocation of the table
happens lazily within SharedImmutableStringsCache.

Furthermore, this commit removes `js::ScriptSource::Parent` and the
`CompressedSourceSet`. They are unnecessary because source text is always shared
via the parent runtime's `SharedImmutableStringsCache` now.
2016-05-06 16:53:45 -07:00
Chris Pearce eddc1e9562 Bug 1270968 - Add mechanism to clear GMP storage when its version changes. r=gerald
In bug 1264497 we discovered that Netflix was broken because we'd made a change
to not send the Adobe GMP the device bound nodeId, which it stored in GMP
storage. When the GMP was comparing the nodeId it had stored against what it was
passed (nothing) the comparison was failing. Users could have worked around this
problem by clearing their GMP storage, whereupon the Adobe GMP will have stored
"nothing" as its nodeId.

When bug 1264497 was fixed, users who'd cleared their storage will see Netflix
fail again, as their stored nodeId of "nothing" will again not match what we
pass in. So to fix Netflix for these users, we need to clear GMP storage.

This is another instance of a more general problem that we have occasionally
encountered, namely that sometimes GMP storage becomes incompatible, and we
need to clear it. Having a general mechanism that we can use to clear storage
remotely will be helpful, so this patch adds one, and triggers it to fire.

This mechanism is pref controlled, so that we can issue a hotfix if necessary
to clear GMP storage.


MozReview-Commit-ID: GzSyBj0P2JG

--HG--
extra : rebase_source : b854860ee533b0742a664c862278ce54c9052596
2016-05-07 09:19:15 +12:00