Commit Graph

638196 Commits

Author SHA1 Message Date
Dzmitry Malyshau
d34bbe138b Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

Differential Revision: https://phabricator.services.mozilla.com/D20608

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-22 22:22:06 +00:00
Alastor Wu
b883bd515b Bug 1277437 - part5 : apply default style on cue when we don't use pseudo element. r=heycam
If cue div is not a pseudo element, which means we don't have a default style applying on it. Therefore, we should set the default css style for it.

Differential Revision: https://phabricator.services.mozilla.com/D19864

--HG--
extra : moz-landing-system : lando
2019-02-21 19:34:51 +00:00
Alastor Wu
d909fc4459 Bug 1277437 - part4 : change font size internally in CueStyleBox. r=heycam
CueStyleBox should handle all css attributes, so it make more sense to adjust font size and style inside CueStyleBox.

Differential Revision: https://phabricator.services.mozilla.com/D19719

--HG--
extra : moz-landing-system : lando
2019-02-19 16:04:38 +00:00
Alastor Wu
fd943edd43 Bug 1277437 - part3 : apply WebVTT cue settings. r=heycam
Follow the spec 7.2 [1] and 7.4 [2] to process cue and apply css setting for the div element.

[1] https://www.w3.org/TR/webvtt1/#processing-cue-settings
[2] https://www.w3.org/TR/webvtt1/#applying-css-properties

Differential Revision: https://phabricator.services.mozilla.com/D19253

--HG--
extra : moz-landing-system : lando
2019-02-19 22:23:10 +00:00
alwu
8d2557c9d9 Bug 1277437 - part2 : make CueStyleBox class-based. r=heycam
Using class syntax for CueStyleBox made us easier to simplify the code and make it more readable.

Differential Revision: https://phabricator.services.mozilla.com/D19252

--HG--
extra : moz-landing-system : lando
2019-02-19 14:25:33 +00:00
alwu
a9d45e7e55 Bug 1277437 - part1 : remove UA agent checkings. r=heycam
There is no need to check whether the code is running on other browser, because we won't upstream the change back to the github repo, as this code uses a lots mozilla-only APIs.

Differential Revision: https://phabricator.services.mozilla.com/D19251

--HG--
extra : moz-landing-system : lando
2019-02-14 07:01:42 +00:00
Rob Wood
1f2bb6f01b Bug 1529079 - Fix Raptor fennec shutdown failure; r=bc
Differential Revision: https://phabricator.services.mozilla.com/D20829

--HG--
extra : moz-landing-system : lando
2019-02-22 21:40:05 +00:00
Thomas Daede
3484d62a4b Bug 1520163 - Add linux64-nasm toolchain. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D20037

--HG--
extra : moz-landing-system : lando
2019-02-22 21:52:41 +00:00
James Willcox
f2d0270ef5 Bug 1526327 - Add GeckoWebExecutor.FETCH_FLAGS_NO_REDIRECT r=geckoview-reviewers,droeh,esawin
Using this flag will cause GeckoWebExecutor.fetch() to not automatically
follow redirects, which is the default behavior if no flag is specified.

Differential Revision: https://phabricator.services.mozilla.com/D19523

--HG--
extra : moz-landing-system : lando
2019-02-22 21:46:14 +00:00
James Willcox
b90839887f Bug 1522705 - Add streaming response support to GeckoWebExecutor r=esawin,agi
Differential Revision: https://phabricator.services.mozilla.com/D19504

--HG--
extra : moz-landing-system : lando
2019-02-22 21:46:05 +00:00
James Willcox
58a8fb5571 Bug 1522705 - Add /data/<count> path to HttpBinHandler r=geckoview-reviewers,esawin
This simply lets you request 'count' random bytes. A SHA-256 digest is
included for verifying the integrity of the response.

Differential Revision: https://phabricator.services.mozilla.com/D19503

--HG--
extra : moz-landing-system : lando
2019-02-22 21:45:57 +00:00
Boris Zbarsky
709be5f5e2 Bug 1528146. Fix how web extensions are injected into about:blank. r=kmag
The basic idea is to make non-initial about:blank fire
document-element-inserted notifications just like every other document.  We
then ensure that there's a notification (initial-document-element-inserted)
that only gets fired once per window for documents that are in a window.  This
notification is what webextensions use to inject into the document.

The old setup which injected into about:blank when its global is created gets
removed in favor of injecting the same way as into every other document.

The changes to Document.cpp are fixing a bug in the "block the parser" stuff
webextensions do.  For about:blank, the blocking happens at a point when the
parser really has nothing else to parse (since it's parsing the empty string).
So the blocking is a no-op.  But we do want to prevent DOMContentLoaded firing,
because otherwise the "end of document" scripts could run before we finish
doing the "beginning of document" work in webextensions.  So we want to make
sure we block DOMContentLoaded, not just the load event.

Differential Revision: https://phabricator.services.mozilla.com/D19892

--HG--
extra : moz-landing-system : lando
2019-02-22 21:27:44 +00:00
Boris Zbarsky
f3849aa8fa Bug 1528762. Don't inject customElements.js into system-principal about:blank. r=bgrins
Otherwise we get a performance regression on tp5o responsiveness and
tp5o_webext responsiveness when about:blank starts firing
document-element-inserted notifications.

Differential Revision: https://phabricator.services.mozilla.com/D20873

--HG--
extra : moz-landing-system : lando
2019-02-22 21:32:09 +00:00
Ciure Andrei
0497e5f2f4 Backed out changeset e89b6e3d3de8 (bug 1520163) for profile-guided optimization builds bustage CLOSED TREE 2019-02-22 23:27:42 +02:00
Jason Laster
e023f5c47c Bug 1529427 - Refactor sources reducer so that all source actors are included.
Differential Revision: https://phabricator.services.mozilla.com/D20592

--HG--
extra : moz-landing-system : lando
2019-02-22 20:37:42 +00:00
Johann Hofmann
408fc31a44 Bug 1527151 - Reset securityUI.contentBlockingEvent on top level location changes. r=Ehsan
We had previously missed to call browser.updateSecurityUIForContentBlockingEvent on
onLocationChange updates, to reset the contentBlockingEvent state. This would mean that
on tab switch the contentBlockingEvent state for benign pages would still be what it was
set to on the last tracker page.

Differential Revision: https://phabricator.services.mozilla.com/D20328

--HG--
extra : moz-landing-system : lando
2019-02-22 19:44:03 +00:00
Jeff Gilbert
2f680de24a Bug 1528396 - More precise GL symbol loading. r=lsalzman
In particular, don't fallback to loading symbols from any loaded
library.

Differential Revision: https://phabricator.services.mozilla.com/D20455

--HG--
extra : moz-landing-system : lando
2019-02-22 21:17:28 +00:00
Nika Layzell
54709dbdd6 Bug 1523631 - Part 5: Avoid GCC warning when including dictionary types in WebIDL, r=bzbarsky
This warning (as an error) is showing up with this patch due to the new
use of AddEventListenerOptions in ChromeUtilsBinding.h. That header is
included in some codegen units which have this warning enabled, which
revealed the issue.

I believe the warning is spurious in this case, but fixing it doesn't
seem like a big deal. Requesting review from Boris, as he added the
comment 6 years ago.

Depends on D20015

Differential Revision: https://phabricator.services.mozilla.com/D20824

--HG--
extra : moz-landing-system : lando
2019-02-22 15:48:44 +00:00
Nika Layzell
db0816364c Bug 1523631 - Part 4: Add tests for event listeners on JS Window Actor Protocols, r=jdai
Depends on D20014

Differential Revision: https://phabricator.services.mozilla.com/D20015

--HG--
extra : moz-landing-system : lando
2019-02-22 15:17:03 +00:00
Nika Layzell
d7f19d9c2e Bug 1523631 - Part 3: Unregister in content processes as well, r=jdai
Depends on D20013

Differential Revision: https://phabricator.services.mozilla.com/D20014

--HG--
extra : moz-landing-system : lando
2019-02-22 15:17:01 +00:00
Nika Layzell
05cfd24507 Bug 1523631 - Part 2: Add support for event listeners to JS Window Actor Protocols, r=jdai,qdot
This patch takes the approach of keeping track of a list of nsWindowRoot
objects in the JSWindowActorService. Listeners are then maintained for
each type of actor for every nsWindowRoot.

Depends on D20012

Differential Revision: https://phabricator.services.mozilla.com/D20013

--HG--
extra : moz-landing-system : lando
2019-02-22 19:28:50 +00:00
Nika Layzell
88e59f7e6e Bug 1523631 - Part 1: Add a JSWindowActorProtocol object for protocol-specific state, r=jdai
Differential Revision: https://phabricator.services.mozilla.com/D20012

--HG--
extra : moz-landing-system : lando
2019-02-22 15:16:51 +00:00
Thomas Daede
4602595bb6 Bug 1520163 - Add linux64-nasm toolchain. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D20037

--HG--
extra : moz-landing-system : lando
2019-02-22 20:41:20 +00:00
Chris Martin
d87dc0790f Bug 1527767 - Make all JS allocator functions accept an arena as an argument r=sfink
Currently, some of the JS allocators accept an 'arena' argument, but some
don't. This change makes it so they all do. This is nice for consistency, but
it also feeds into Bug 1052579, which will need to use arenas for JSString
backing buffers.

Differential Revision: https://phabricator.services.mozilla.com/D19717

--HG--
extra : moz-landing-system : lando
2019-02-22 18:12:05 +00:00
Jeff Gilbert
d8d7ebde0c Bug 1129354 - Implement draft extension OES_fbo_render_mipmap. r=lsalzman,qdot
Differential Revision: https://phabricator.services.mozilla.com/D20397

--HG--
extra : moz-landing-system : lando
2019-02-22 19:25:20 +00:00
Marco Bonardo
a2833729ca Bug 1525035 - Handle IME composition in Quantum Bar. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D20826

--HG--
extra : moz-landing-system : lando
2019-02-22 20:02:35 +00:00
Ciure Andrei
1dac9ae589 Backed out changeset ac316114822b (bug 1527782) for perma failing browser_all_files_referenced.js CLOSED TREE 2019-02-22 21:42:48 +02:00
Rob Wood
2e13f2584d Bug 1520523 - Update Raptor Chromium rev; r=davehunt
Differential Revision: https://phabricator.services.mozilla.com/D20814

--HG--
extra : moz-landing-system : lando
2019-02-22 19:31:52 +00:00
Daniel Holbert
321a0ac1d9 Bug 1529707: Use RelativeLuminanceUtils::Compute() to test for dark GTK themes (ignoring alpha channel). r=karlt
Previously we were using NS_GetLuminosity which asserts for non-opaque colors,
and my system theme happens to use a background color with alpha=0.999.

Luminosity judgements do get a bit more hand-wavy as colors get more
transparent, but it seems like we can still reasonably make an overall
"dark theme" judgement based on the RGB channels.

Differential Revision: https://phabricator.services.mozilla.com/D20748

--HG--
extra : moz-landing-system : lando
2019-02-22 19:32:14 +00:00
Florin Strugariu
8367e1b8cd Bug 1527280 - Add deterministic js and injection script to raptor mitmproxy r=davehunt
Differential Revision: https://phabricator.services.mozilla.com/D19485

--HG--
extra : moz-landing-system : lando
2019-02-22 19:33:13 +00:00
Dana Keeler
c107146bac bug 1526004 - enterprise certs: differentiate between intermediates and roots on MacOS r=jcj,spohl
Differential Revision: https://phabricator.services.mozilla.com/D19721

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:21 +00:00
Nika Layzell
4b1ca2241a Bug 1528493 - Part 2: Move OptionalIPCStream to use new maybe types, r=baku
Depends on D20067

Differential Revision: https://phabricator.services.mozilla.com/D20068

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:14 +00:00
Nika Layzell
fa6f0c132c Bug 1528493 - Part 1: Add support for maybe types to IPDL, r=mccr8,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D20067

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:12 +00:00
Aaron Klotz
28466cb97e Bug 1460433: Part 1 - Change BasicDllServices to not do any dll notification callbacks; r=mhowell
BasicDllServices is used to gain access to the authenticode APIs in non-Gecko
contexts. One feature that WinDllServices provides is the ability to register
a callback interface to be notified when a DLL has been loaded.

This is not particularly useful in the BasicDllServices use case, and in the
"handle a launcher process failure on a background thread" use case, would
actually be harmful.

This patch modifies the DLLServices backend to offer a "basic" option that
omits the callback stuff.

Differential Revision: https://phabricator.services.mozilla.com/D19696

--HG--
extra : moz-landing-system : lando
2019-02-20 06:18:45 +00:00
Kyle Machulis
342d109220 Bug 1529164 - Remove FakePlugin frame loading; r=nika
Remove the ability for fake plugins to create frames. Fake plugins
aren't used anymore, so we can simplify nsFrameLoader a bit by
removing some of the related checks.

Differential Revision: https://phabricator.services.mozilla.com/D20430

--HG--
extra : moz-landing-system : lando
2019-02-20 14:12:05 +00:00
Ciure Andrei
367d689ebc Backed out changeset 0bf221eea049 (bug 1529427) for perma failing browser_dbg-windowless-workers.js CLOSED TREE 2019-02-22 21:18:08 +02:00
Ciure Andrei
f7412ac1f2 Backed out 10 changesets (bug 1474143) for perma failing browser_markup_events_01.js CLOSED TREE
Backed out changeset 1b5d04866585 (bug 1474143)
Backed out changeset 78bfb4dd1f6a (bug 1474143)
Backed out changeset 85ec4f1f5f60 (bug 1474143)
Backed out changeset 5c112b77e489 (bug 1474143)
Backed out changeset 5d35599598bb (bug 1474143)
Backed out changeset 9fd0d7a7946f (bug 1474143)
Backed out changeset 1a83be7a75ca (bug 1474143)
Backed out changeset 2fc9b13171d0 (bug 1474143)
Backed out changeset 3983d7b6d9ad (bug 1474143)
Backed out changeset 9fe55dd58cd8 (bug 1474143)

--HG--
rename : browser/actors/FormValidationChild.jsm => browser/actors/FormSubmitChild.jsm
rename : toolkit/components/satchel/FormSubmitChild.jsm => toolkit/components/satchel/formSubmitListener.js
2019-02-22 21:16:49 +02:00
Jason Orendorff
78e47bd125 Bug 1529607 - Part 7: Rewrite NameFunctions.cpp to use ParseNodeVisitor. r=khyperia
This may lose some tiny amount of performance since the existing code
duplicated a huge amount of code in order to avoid walking bits of the tree
that can't contain functions. I preserved a few of those hacks but some of the
bits seemed too small to bother with.

The expression `nparents_ - 1` is changed to `nparents_ - 2` because, as a
result of how ParseNodeVisitor control flow works, we now call gatherNameable
*after* pushing the current FunctionNode to the stack, rather than before.
(A new assertion checks that this is the case.)

Differential Revision: https://phabricator.services.mozilla.com/D20720

--HG--
extra : moz-landing-system : lando
2019-02-22 18:06:01 +00:00
Jason Orendorff
ee011223cf Bug 1529607 - Part 6: Reuse a single StringBuffer in NameResolver. r=khyperia
This is meant as a sanity patch. Before, buf_ was a pointer to a local
variable, set in resolveFun() and just left dangling on exit. No bug, but
dangling pointers are bad.

I considered removing buf_ and passing around a reference to the local
StringBuffer, but this was quicker and seemed easier to review.

Differential Revision: https://phabricator.services.mozilla.com/D20719

--HG--
extra : moz-landing-system : lando
2019-02-22 18:05:31 +00:00
Jason Orendorff
3c357ae61d Bug 1529607 - Part 5: Style tweaks to existing NameFunctions code. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D20718

--HG--
extra : moz-landing-system : lando
2019-02-22 18:05:07 +00:00
Jason Orendorff
7dc6ef6b25 Bug 1529607 - Part 4: Rename ParseNodeKind::CallSiteObjExpr to CallSiteObj. r=khyperia
The `Expr` suffix is for nodes that can appear anywhere an expression could
appear. This kind of node can't; it's always the direct child of a tagged
template.

Differential Revision: https://phabricator.services.mozilla.com/D20717

--HG--
extra : moz-landing-system : lando
2019-02-22 18:04:42 +00:00
Jason Orendorff
f57af8298f Bug 1529607 - Part 3: Split out ParseNodeVisitor and RewritingParseNodeVisitor. r=khyperia
I tried making ParseNodeVisitor take all nodes as references, but that didn't
work nicely with the existing accept() method templates. That could have been
made to work using more template tricks, but I decided pointers are not so bad.

There still was no way to avoid the code duplication here without contortions.

Differential Revision: https://phabricator.services.mozilla.com/D20716

--HG--
extra : moz-landing-system : lando
2019-02-22 18:04:28 +00:00
Jason Orendorff
4c13f4ebc1 Bug 1529607 - Part 2: Rename ParseNodeVisitor::cx to cx_. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D20715

--HG--
extra : moz-landing-system : lando
2019-02-22 18:04:06 +00:00
Jason Orendorff
acb58a0f00 Bug 1529607 - Part 1: Fix misleading name in existing ParseNodeVisitor code. r=khyperia
Differential Revision: https://phabricator.services.mozilla.com/D20714

--HG--
extra : moz-landing-system : lando
2019-02-22 18:03:46 +00:00
Ashley Hauck
540b673cdf Bug 1499448 - Implement more field functionality. r=jorendorff
Some functionality is intentionally unimplemented to make this patch
smaller and at a faster cadence: field initializers are stored on
this['.initializers'] instead of a local, derived classes are not
supported yet, and constant-folding/inline field initializers are not
implemented.

Differential Revision: https://phabricator.services.mozilla.com/D16343

--HG--
extra : moz-landing-system : lando
2019-02-21 23:48:16 +00:00
Tom Prince
7f180db1a2 Bug 1529948: Fix refernce to mach test-action-callback; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D20846

--HG--
extra : moz-landing-system : lando
2019-02-22 18:05:17 +00:00
Tom Prince
36fb881c16 Bug 1529948: Update action documentation to have correct imports; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D20845

--HG--
extra : moz-landing-system : lando
2019-02-22 18:05:14 +00:00
Tom Prince
53f4e55cf8 Bug 1529948: Remove obsolete documetation about action tasks; r=Callek
Support for them was removed in Bug 1415868 (a891a10ca4d9).

Differential Revision: https://phabricator.services.mozilla.com/D20843

--HG--
extra : moz-landing-system : lando
2019-02-22 18:05:04 +00:00
Tom Prince
b7716b92e9 Bug 1529948: Switch default for actions from task to hook; r=Callek
Support for `kind='task'` is still around to support Thunderbird release
promotion, which uses releaserunner3. Other actions shouldn't be using it.

Differential Revision: https://phabricator.services.mozilla.com/D20842

--HG--
extra : moz-landing-system : lando
2019-02-22 18:05:02 +00:00
Andrew Swan
77e97ae1c0 Bug 1529952 Remove AMO uitour permission r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D20844

--HG--
extra : moz-landing-system : lando
2019-02-22 17:40:07 +00:00