Commit Graph

536677 Commits

Author SHA1 Message Date
Mike Hommey
f10295dbae Bug 1363811 - Replace all uses of delayed_getattr(a, 'b') with a.b. r=cmanchester+432261
And remove delayed_getattr.
2017-05-19 07:03:40 +09:00
Mike Hommey
59f1035ec6 Bug 1363811 - Allow "direct" access to namespace attributes from DependsFunctions. r=cmanchester+432261
To make things simpler in configure code, as well as to allow the linter
to skip bugging about some --help dependencies, we make the following
work:

    something.some_attr

where the result is equivalent to, currently:

    delayed_getattr(something, 'some_attr')
2017-05-19 07:03:39 +09:00
Mike Hommey
853aefa3b4 Bug 1363811 - Allow to combine two DependsFunctions with "&". r=cmanchester+432261
Similar to how they can be combined with "|", we now allow using "&".
As for "|", it would have been better if it were "and", but it's not
possible to override "and" in python ; __and__ is for "&".
2017-05-19 07:03:39 +09:00
Mike Hommey
91e718c2f2 Bug 1363811 - Modify the name of the DependsFunction.__or__ implementation method. r=cmanchester+432261
Like the test change, it makes the intent clearer.
2017-05-19 07:03:39 +09:00
Mike Hommey
fafb6f8f44 Bug 1363811 - Change TestConfigure.test_depends_or to test more cases. r=cmanchester+432261
Also, test the results match what a normal "or" of the returned values
would be. This makes it clearer how the feature is meant to work.
2017-05-19 07:03:39 +09:00
Mike Hommey
57258bd4bf Bug 1365786 - Avoid missing --help dep error when a @depends function uses builtins. r=chmanchester
--HG--
extra : rebase_source : cb79f4f67bcc1c5b271ec430733143a385cf8360
2017-05-18 09:32:39 +09:00
Mike Hommey
ef3f9aa89b Bug 1365477 - Ensure all callers of CommandLineHandler() pass a complete argv. r=chmanchester
CommandLineHandler() expects argv to be like sys.argv, containing the
command name in argv[0], but various tests weren't doing that, in some
cases even leading to ignored arguments passed as argv[0].

In turn, that made lint.py only test browser/moz.configure instead of
all the project moz.configures as intended.

--HG--
extra : rebase_source : 8a87216edaa4a2fd27abb9ef74d38a254a2bbeed
2017-05-17 12:10:46 +09:00
Mike Hommey
a79246698a Bug 1365477 - Use default=is_nightly instead of default=delayed_getattr(...). r=chmanchester
Per bug 1363811 comment 1, it's actually a bug that the linter doesn't
complain about it like it did in bug 1358215.

--HG--
extra : rebase_source : 68f0d022fb4f2c4e2de38edbafa314db42b7e103
2017-05-17 12:08:33 +09:00
Sebastian Hengst
88f80f3cdf Backed out changeset 515c3f15cf30 (bug 1364594) for failing test_window_maximize.py TestWindowMaximize.test_maximize on Linux. r=backout 2017-05-18 23:38:30 +02:00
Kirk Steuber
e74f1cd513 Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr r=bz
In order to facilitate the movement of code with side-effects called by Element::SetAttr to Element::BeforeSetAttr and Element::AfterSetAttr, Element::AfterSetAttr should have access to the old value of the attribute. This includes information about whether there was previously a value set or not.

Accomplishing this involved passing an additional argument through functions that find and change the old attribute value in order to ensure that we can differentiate between an empty old value and an absent old value (attribute was not set).

Note that while I tried to ensure that accurate values (and their absence) are reported to Element::AfterSetAttr, I largely ignored SVG. While the old value reported for SVG values should be however accurate the value already being reported to SetAttrAndNotify was, SVG elements do not currently report unset values properly because they will never pass a null pointer to SetAttrAndNotify.

MozReview-Commit-ID: K1mha8CNFZP

--HG--
extra : rebase_source : 42776eb01451d371e4aebcc17fe3dd112c8d268b
2017-05-18 14:09:01 -07:00
Anthony Ramine
d0eb7074d3 servo: Merge #16937 - Fix calc() clamping issues (from nox:clamp-calc); r=emilio
Fix calc() clamping issues

Source-Repo: https://github.com/servo/servo
Source-Revision: b4204b5e2d8b2981408e2c092130af40ad3170bb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ea4587dcbce7b4bcb1d1977a734ee0d012fdb13a
2017-05-18 15:15:04 -05:00
Emilio Cobos Álvarez
fd7ec9d535 servo: Merge #16938 - stylo: Don't mess up traversal drivers (from emilio:traversal-assert); r=bzbarsky
Right now it's harmless, but it trips assertions that are nice to have, just in
case it stops being the case.

Source-Repo: https://github.com/servo/servo
Source-Revision: e1ecd3b89cd9c78b6ce2e936064681df52d265ab

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f7343d32ffb14a9cd90698a35e41164a9c8ffd92
2017-05-18 13:38:41 -05:00
cku
4b27190a36 Bug 1351440 - Part 5. typedef DrawResult in nsDisplayItem to avoid the image:: qualification. r=jwatt
MozReview-Commit-ID: 1l8DUL1z6U2
2017-05-18 22:03:54 +02:00
cku
4790d4da73 Bug 1351440 - Part 4. Pass imgDrawingParams to nsSVGPaintServerFrame::GetPaintServerPattern. r=jwatt
The reason of this change is the same as for Part 2, except that this commit fixes
nsSVGPaintServerFrame::GetPaintServerPattern rather than PaintSVG.

Commit-ID: 691YrKZ0Lm9
MozReview-Commit-ID: KSnFhCndFUk
2017-05-18 22:03:50 +02:00
cku
51288e6cfe Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs
2017-05-18 22:03:45 +02:00
cku
d85d3ab378 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF
2017-05-18 22:03:41 +02:00
cku
d26418ab50 Bug 1351440 - Part 1. Implement imgDrawingParams. r=jwatt
A struct used during painting to provide input flags to determine how
imagelib draw calls should behave, plus an output DrawResult to return
information about the result of any imagelib draw calls that may have
occurred.

MozReview-Commit-ID: 3jGEh5vEPF
2017-05-18 22:03:36 +02:00
Andrew McCreight
21f4802365 Bug 1365417 - mozJSComponentLoader::FindTargetObject() is infallible. r=kmag
MozReview-Commit-ID: Iw4ke16CTKg

--HG--
extra : rebase_source : b2c6f5b0dec1849e1bd814ecdcde78b376ffb8ca
2017-05-16 14:27:50 -07:00
Andrew McCreight
f7b4214e05 Bug 1365760 - Fix two tiny issues in mozJSComponentLoader::ImportInto(). r=kmag
MozReview-Commit-ID: 84I37uRi11H

--HG--
extra : rebase_source : 144b88771956c29c5de58e75dd57aab5d6e2dc1f
2017-05-16 15:51:14 -07:00
David Burns
8e371b7fb3 Bug 1364594: Exit fullscreen when Set Window Rect is invoked. r=ato
If the browser is in fullscreen mode and Set Window Rect is called
we need to exit fullscreen mode and then continue to manipulate the
browser.

As described in https://w3c.github.io/webdriver/webdriver-spec.html#set-window-rect
Step 10

MozReview-Commit-ID: 5ixhGOXVBE4

--HG--
extra : rebase_source : 8502233bc79452df4755dea08b04ab6423cf91ed
2017-05-18 09:23:08 +01:00
Chris Pearce
61c23b5287 Bug 1355252 - Reject navigator.requestMediaKeySystemAccess if no MediaCapabilities supplied. r=jwwang
As required by step 15 of EME's Get Supported Configuration and Consent algorithm,
https://www.w3.org/TR/encrypted-media/#get-supported-configuration-and-consent

MozReview-Commit-ID: 8c24VrmygBx

--HG--
extra : rebase_source : cccb8c05cefc06396683317f3827885f6b91ba0e
2017-05-17 17:10:14 +12:00
Chris Pearce
5064845788 Bug 1355252 - Don't assume default codecs for MP4 and WebM in EME MediaCapabilities r=jwwang
Step 10 of EME's "Get Supported Capabilities for Audio/Video Type" algorithm
says we can assume default codecs only if a container normatively implies a
specific set of codec and codec constraints. Our code assumes that WebM implies
Vorbis/VP8 and MP4 implies AAC/H.264, but those aren't actually normatively
required by either of these containers' specifications. So we shouldn't assume
these containers imply those codecs.

MozReview-Commit-ID: G9TDOmrjhpp

--HG--
extra : rebase_source : 2f040d76c8cb240359401fe1dc1e3eefa029d77b
2017-05-11 14:23:33 +12:00
Gerald Squelart
0078b05711 Bug 1365538 - Postpone FileBlockCache writes while reading - r=cpearce
While inside FileBlock::Read, the mIsReading flag is set, which in turn
prevents starting the writer task, or makes it exit as soon as possible.
This should help multi-block reads (while data is being received) by giving
them priority, so that that blocking call can return faster.
At the end of Read, the writer task is re-dispatched if needed.

MozReview-Commit-ID: J32tHGFRMNU

--HG--
extra : rebase_source : 8eb3e869888cb1f593d3561191bc6b8c5a53f1bd
2017-05-17 17:10:57 +12:00
Gerald Squelart
97557fcddf Bug 1365538 - Use Mutex instead of Monitor in FileBlockCache - r=cpearce
Since both FileBlockCache Monitor's are only used as locks, we should just use
simple Mutex'es (smaller, faster, and tighter API).

MozReview-Commit-ID: DdNNPN1kFrs

--HG--
extra : rebase_source : 5216929b182d08544b3077374955dfb4ac5b7b16
2017-05-17 16:36:26 +12:00
Sebastian Hengst
2ed2e93dc1 Backed out changeset 0065478cc7eb (bug 1351440) under suspicion for causing reftest failures on Stylo debug. r=backout 2017-05-18 21:16:31 +02:00
Sebastian Hengst
41f1727bf4 Backed out changeset f3460d42d23c (bug 1351440) 2017-05-18 21:15:35 +02:00
Sebastian Hengst
635d32e534 Backed out changeset 3240cd94bf4b (bug 1351440) 2017-05-18 21:15:30 +02:00
Sebastian Hengst
00458fa236 Backed out changeset 2ea1279576d2 (bug 1351440) 2017-05-18 21:15:26 +02:00
Sebastian Hengst
68c0ba103f Backed out changeset 3ea48d348482 (bug 1351440) 2017-05-18 21:15:21 +02:00
Gregory Arndt
4604c9234a Bug 1364266 - Specify task priority within task definition r=dustin a=merge
Tasks should be assigned a priority based on the branch they originated from. It
is important that certain branches receive preferential treatment, such as a release
branch task being executed before a task from Try. Branch priority mirrors
the priorities defined within buildbot.

MozReview-Commit-ID: 8qR9F34lzzc

--HG--
extra : source : 6a2176a264959e19e4a4cbcb18fd47b9653745f8
2017-05-05 15:22:03 -05:00
Wes Kocher
0174ce8ebb Merge inbound to m-c a=merge
MozReview-Commit-ID: AVhTkLAYIv7
2017-05-18 17:13:28 -07:00
Wes Kocher
1e6c284b5a Merge autoland to central, a=merge
MozReview-Commit-ID: DVrXsnWhgii
2017-05-18 16:22:07 -07:00
ffxbld
f2272dd703 No bug, Automated HPKP preload list update from host bld-linux64-spot-361 - a=hpkp-update 2017-05-18 08:02:44 -07:00
ffxbld
6a62795f0e No bug, Automated HSTS preload list update from host bld-linux64-spot-361 - a=hsts-update 2017-05-18 08:02:41 -07:00
Sébastien Marie
9461e33846 Bug 1364547 - Followup to fix build on OpenBSD where size_t is an unsigned long (like OSX). r=jonco 2017-05-18 11:00:00 -04:00
Robert Strong
7d35bd00fd Bug 1365861 - Minor gonk cleanup in nsUpdateService.js. r=mhowell
Removes unused gonk code
Changes use of Array.prototype.indexOf(val) != -1 to Array.prototype.includes(val)
Some very minor indentation and logging cleanup
2017-05-18 11:33:24 -07:00
Jan Keromnes
48524055f0 Bug 1365559 - Remove unused pref. r=dao
MozReview-Commit-ID: F3hCiuuk9kx
2017-05-18 19:59:47 +02:00
Michael Layzell
8a302e6be2 Bug 1357829 - Part 4: Remove TickController, r=njn
MozReview-Commit-ID: 2IHa6ybR9ug
2017-05-18 13:56:20 -04:00
Michael Layzell
e62bfa945f Bug 1357829 - Part 3: Remove profiler_get_stack_top, r=njn
MozReview-Commit-ID: C4DvuOvYSrs
2017-05-18 13:56:20 -04:00
Michael Layzell
3a8384acc0 Bug 1357829 - Part 2: Use profiler_suspend_sample_thread in the background hang monitor, r=froydnj
This patch uses the profiler_suspend_sample_thread method which was added in
part 1.

With this patch, we no longer manually run code to pause the target thread,
instead using the profiler's provided code to do so. In addition, we no longer
manually walk the stack to collect native stack frames, instead relying on the
profiler's cross-platform stack walking logic.

This helps remove some of the code from ThreadStackHelper which was redundant
with the profiler. Much of the pseudostack code in ThreadStackHelper is also
redundant, and should hopefully be eliminated in a follow-up.

MozReview-Commit-ID: 4RjLHt6inH9
2017-05-18 13:56:20 -04:00
Michael Layzell
dd07e2a56b Bug 1357829 - Part 1: Expose profiler_suspend_and_sample_thread, r=njn
This patch performs a refactoring to the internals of the profiler in order to
expose a function, profiler_suspend_and_sample_thread, which can be called from a
background thread to suspend, sample the native stack, and then resume the
target passed-in thread.

The interface was designed to expose as few internals of the profiler as
possible, exposing only a single callback which accepts the list of program
counters and stack pointers collected during the backtrace.

A method `profiler_current_thread_id` was also added to get the thread_id of the
current thread, which can then be passed by another thread into
profiler_suspend_sample_thread to sample the stack of that thread.

This is implemented in two parts:

1) Splitting SamplerThread into two classes: Sampler, and SamplerThread.

Sampler was created to extract the core logic from SamplerThread which manages
unix signals on android and linux, as well as suspends the target thread on all
platforms. SamplerThread was then modified to subclass this type, adding the
extra methods and fields required for the creation and management of the actual
Sampler Thread.

Some work was done to ensure that the methods on Sampler would not require
ActivePS to be present, as we intend to sample threads when the profiler is not
active for the Background Hang Reporter.

2) Moving the Tick() logic into the TickController interface.

A TickController interface was added to platform which has 2 methods: Tick and
Backtrace. The Tick method replaces the previous Tick() static method, allowing
it to be overridden by a different consumer of SuspendAndSampleAndResumeThread,
while the Backtrace() method replaces the previous MergeStacksIntoProfile
method, allowing it to be overridden by different consumers of
DoNativeBacktrace.

This interface object is then used to wrap implementation specific data, such as
the ProfilerBuffer, and is threaded through the SuspendAndSampleAndResumeThread
and DoNativeBacktrace methods.

This change added 2 virtual calls to the SamplerThread's critical section, which
I believe should be a small enough overhead that it will not affect profiling
performance. These virtual calls could be avoided using templating, but I
decided that doing so would be unnecessary.

MozReview-Commit-ID: AT48xb2asgV
2017-05-18 13:56:20 -04:00
Carsten "Tomcat" Book
24c443a440 merge mozilla-inbound to mozilla-central a=merge 2017-05-18 14:19:18 +02:00
Jordan Lund
9bf70967d9 Bug 1365588 - fix l10n repacks for DevEdition on Beta, gecko, DONTBUILD, r=rail
MozReview-Commit-ID: 1arksrFhsv9

--HG--
rename : browser/config/mozconfigs/linux32/l10n-mozconfig => browser/config/mozconfigs/linux32/l10n-mozconfig-devedition
rename : browser/config/mozconfigs/linux64/l10n-mozconfig => browser/config/mozconfigs/linux64/l10n-mozconfig-devedition
rename : browser/config/mozconfigs/macosx64/l10n-mozconfig => browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition
rename : browser/config/mozconfigs/win32/l10n-mozconfig => browser/config/mozconfigs/win32/l10n-mozconfig-devedition
rename : browser/config/mozconfigs/win64/l10n-mozconfig => browser/config/mozconfigs/win64/l10n-mozconfig-devedition
rename : testing/mozharness/configs/single_locale/dev-mozilla-beta.py => testing/mozharness/configs/single_locale/dev-mozilla-beta_devedition.py
rename : testing/mozharness/configs/single_locale/linux64.py => testing/mozharness/configs/single_locale/linux64_devedition.py
rename : testing/mozharness/configs/single_locale/linux.py => testing/mozharness/configs/single_locale/linux_devedition.py
rename : testing/mozharness/configs/single_locale/macosx64.py => testing/mozharness/configs/single_locale/macosx64_devedition.py
rename : testing/mozharness/configs/single_locale/mozilla-beta.py => testing/mozharness/configs/single_locale/mozilla-beta_devedition.py
rename : testing/mozharness/configs/single_locale/win32.py => testing/mozharness/configs/single_locale/win32_devedition.py
rename : testing/mozharness/configs/single_locale/win64.py => testing/mozharness/configs/single_locale/win64_devedition.py
extra : rebase_source : c1242ce513624d519756d1628896f3343a047d00
extra : amend_source : f434761fe2f88cfc4af97229d5bdbe07becf75a2
extra : source : 9cee0e8b00d28d7e977df6ee3e1adc9680004b8d
2017-05-17 17:24:01 -07:00
Ryan VanderMeulen
96f477fd99 Bug 1366004 - Update pdf.js to version 1.8.363. r=bdahl 2017-05-18 13:40:06 -04:00
Lee Salzman
b138a8ec44 Bug 1365935 - add Moz2D Factory methods for making an FT_Library. r=jrmuizel
MozReview-Commit-ID: 7gQuVrl38aT
2017-05-18 13:16:06 -04:00
L. David Baron
51adf3206b Bug 1365831 - Replace assertion that non-display SVG containers are only reflowed with NS_FRAME_IS_DIRTY with a real test of the condition. r=heycam
The primary patch in bug 1308876 causes frames to be reflowed less often
with NS_FRAME_IS_DIRTY, particularly when multiple passes of reflow are
required for the frame or one of its ancestors (which is generally the
case for a document that ends up not having scrollbars).  This change
causes this assert to fire on various SVG tests such as
layout/reftests/svg/svg-integration/conditions-outer-svg-01.xhtml .
This happens because the outer SVG with conditional processing (in this
test, systemLanguage="x") is reflowed due to its parent resizing,
without NS_FRAME_IS_DIRTY set.  This is a relatively normal thing to
happen during reflow; we just didn't have any tests that exercise it.

This patch adds a crashtest that triggers the assertion through the same
mechanism, but with a dynamic change, rather than depending on the
non-dirty reflow triggered by bug 1308876.  (I confirmed locally that
this test does trigger the assertion without this patch, when run in the
crashtest harness.)

I think fundamentally the assertion isn't valid, and we should instead
be testing the condition that it asserts.

MozReview-Commit-ID: D8hjAbjKyuL

--HG--
extra : transplant_source : %98C%3A%B1%93jb%E7%3D%81%19%97%A6%04%0F%88%8B%D2%A35
2017-05-18 09:24:33 -07:00
Henry Chang
8091c86b7e Bug 1364857 - Reject pending promises for actor when it's going to be destroyed. r=kanru
The lifetime of async IPDL returned promise may be longer than its actor.
That is, the handler (receiver) may have not resolve/reject the promise when the actor
is destroyed. In this case, we have to reject all the pending promises before
ActorDestroy() is called on the "sender" side.

Besides, the handler (receiver) can reject with reason "ActorDestroyed" to silently
cancel the promise without trying to reply to the remote actor which may
have died. The sender-side promise is responsible for rejecting the pending promises,
which will be done in MessageChannel::RejectPendingPromisesForActor().

MozReview-Commit-ID: 4XjmquZzDBO

--HG--
extra : rebase_source : 48539e35e4587e09be1d66497b1ea32d1a95ee9a
2017-05-17 16:59:48 +08:00
Carsten "Tomcat" Book
e5197b271a Merge mozilla-central to autoland 2017-05-18 15:00:43 +02:00
Dão Gottwald
378e125974 Bug 1365846 - Use context-fill for identity, connection and tracking protection icons in the site identity block. r=johannh
MozReview-Commit-ID: 87EuHr7TvUs

--HG--
extra : rebase_source : 73972750da2df8ddb8848b249638a6fe0dd97e9c
2017-05-18 14:43:51 +02:00
cku
d528aa4d56 Bug 1205475 - Part 2. Prevent multiple EffectSet property look up. r=mattwoodrow
Functions like BuildDisplayListForStackingContext or BuildDisplayListForChild look
up EffectSet property several times in callees, such as IsTransformed() or
HasOpacity(), which is time wasting.

We should look up EffectSet just once, and pass the found one to all callees
that need it.

MozReview-Commit-ID: GZywm2UcpU7

--HG--
extra : rebase_source : 21f5dd0076a90d876a6df35eee2b886844b44f0a
2017-05-17 15:13:12 +08:00