Help: why won't Thunderbird display mail in mochitest conditions?

2019-08-26 Thread Geoff Lankow

Hi

Over the past year or so, I've been adding mochitests for new 
Thunderbird features. It's recently occurred to me that in a mochitest, 
Thunderbird does not display mail messages. Not even the message header 
list, just a blank rectangle where the message should be.


Obviously this is quite important as displaying messages is 
Thunderbird's primary function. But I don't understand the reason.


I expect that it has something to do with message URLs, which are of the 
form mailbox:///path/to/mailbox?number=1234.


I know that mochitest does things to network access to prevent tests 
from accessing the internet, but that doesn't seem to be the reason as I 
can load the URL using fetch.


Is there some logic in docshell that behaves differently in a test? As 
far as I can work out, this code [1] is a part of the loading process, 
and if docShell->LoadURI fails that would explain why nothing further 
happens. (IANA core hacker, excuse my ignorance!)


GL

[1] 
https://searchfox.org/comm-central/rev/753e6d9df9d7b9a989d735b01c8b280eef388bab/mailnews/local/src/nsMailboxService.cpp#205

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Intent to ship: multi-keyword values on the CSS 'display' property

2019-08-26 Thread Mats Palmgren

On 8/26/19 4:42 PM, Boris Zbarsky wrote:

On 8/19/19 3:42 PM, Mats Palmgren wrote:
Sure.  I'm just saying that I suspect some of the combinations may be hard 
to implement using anon boxes, depending on what combinations are allowed.


For example, can one have a thing which is "table-cell" on the outside and 
"flex" on the inside, per spec?


No, 'table-cell' is currently a  keyword and those
can't be combined with other keywords at all. [1]

However, I'm proposing in [2] that 'table-cell'/'table-caption'
should instead be  keywords [3], which would allow
'display:table-cell flex' etc.

I've written proof-of-concept code to implement that and it was
fairly straight-forward now that we support multi-keyword values
in general.  I didn't see any signs of additional complications
regarding anon boxes from this. (To be concrete, removing the inner
anon box we currently have for table cells wouldn't become harder,
nor easier, by any of these changes.)

(I'll add a disclaimer for 'run-in' though.  It's not implemented
by anyone yet so it's hard to speculate about.  I'll also add that
I (and others) have doubts about it...)


It's worth trying to find out, and in particular to find out whether what 
we plan to ship is compatible with what they plan to ship.


Well, the CSS spec is public and being actively discussed in various
github issues / www-style.  I would expect them to file a spec issue
if they have objections or intend to implement something different.

/Mats

[1]
https://drafts.csswg.org/css-display-3/#the-display-properties

[2]
https://github.com/w3c/csswg-drafts/issues/3940

[3]
https://drafts.csswg.org/css-display-3/#typedef-display-outside
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Intend to deprecate: XLink attributes on MathML elements

2019-08-26 Thread Frédéric Wang
On 25/08/2019 00:33, Cameron McCormack wrote:

> Thank you for cleaning this up, Frédéric.  What are the use counter 
> thresholds you are looking for with these MathML deprecations?  A certain 
> percentage of all pages, or of pages with any MathML?

Emilio re-enabled for Mozilla 68 [1] a counter of pages that contained
MathML content rendered by Gecko. This is what we plan to use as
a reference. We haven't decided about the exact threshold yet though.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1538985

-- 
Frédéric Wang
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: JS testing functions and compartments in mochitest-plain

2019-08-26 Thread Bobby Holley
On Mon, Aug 26, 2019 at 12:02 AM Henri Sivonen  wrote:

> If in a plain mochitest I do
>   var rope =
> SpecialPowers.Cu.getJSTestingFunctions().newRope(t.head, t.tail);
>   var encoded = (new TextEncoder()).encode(rope);
> the encode() method doesn't see the rope. Instead, the call to
> encode() sees a linear string that was materialized by a copy in a
> cross-compartment wrapper.
>
> Does SpecialPowers always introduce a compartment boundary in a plain
> mochitest?


For posterity: It does. Components.utils can't be exposed to an
unprivileged content compartment directly.


> In what type of test does
> SpecialPowers.Cu.getJSTestingFunctions().newRope() actually return a
> rope within the calling compartment such that passing the rope to a
> WebIDL API really makes the rope enter the WebIDL bindings instead of
> getting intercepted by a cross-compartment wrapper first?
>
> Alternatively: What kind of string lengths should I use with normal JS
> string concatenation to be sure that I get a rope instead of the right
> operand getting copied into an extensible left operand?
>
> --
> Henri Sivonen
> hsivo...@mozilla.com
> ___
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Intent to ship: multi-keyword values on the CSS 'display' property

2019-08-26 Thread Boris Zbarsky

On 8/19/19 3:42 PM, Mats Palmgren wrote:

Your point is well taken but it's an independent issue.


Sure.  I'm just saying that I suspect some of the combinations may be 
hard to implement using anon boxes, depending on what combinations are 
allowed.


For example, can one have a thing which is "table-cell" on the outside 
and "flex" on the inside, per spec?



I don't know what their plans are.  I haven't seen any public
announcements one way or another.


It's worth trying to find out, and in particular to find out whether 
what we plan to ship is compatible with what they plan to ship.


-Boris
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: JS testing functions and compartments in mochitest-plain

2019-08-26 Thread Henri Sivonen
On Mon, Aug 26, 2019 at 1:37 PM Jan de Mooij  wrote:
>
> On Mon, Aug 26, 2019 at 12:25 PM Henri Sivonen  wrote:
>>
>> Thanks. Since SpecialPowers doesn't exist in xpcshell tests, is there
>> another way to reach JS testing functions from there?
>
>
> I think just Cu.getJSTestingFunctions() should work.

Thanks. This worked.

-- 
Henri Sivonen
hsivo...@mozilla.com
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Shipped - MOZ_LOG_FILE filenames automatically appended `.moz_log` extension

2019-08-26 Thread Honza Bambas
Bug 1574882 has landed and will ship in Firefox 70.  Our XPCOM (MOZ_LOG 
driven) log files now all have .moz_log extension.  The extension cannot 
be changed.


-hb-


On 2019-08-19 18:59, Honza Bambas wrote:
I'm about to land a patch that will automatically add `mozlog` 
extension to all log files from all processes produced with 
MOZ_LOG/_FILE env vars, command line args or via 
about:networking#logging.  It **will not** be possible to remove that 
extension by setting custom extensions, like `MOZ_LOG=my-log.log`.  
The resulting filename will be `my-log.log.mozlog`.


Please let me know if there is anything we have to fix (test infra, 
for instance) before doing so.  Note that when using `rotate`, the 
trailing number will still be appended at the end, after the `mozlog` 
extension.


The bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1574882

Thanks.
-hb-

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: JS testing functions and compartments in mochitest-plain

2019-08-26 Thread Jan de Mooij
On Mon, Aug 26, 2019 at 12:25 PM Henri Sivonen  wrote:

> Thanks. Since SpecialPowers doesn't exist in xpcshell tests, is there
> another way to reach JS testing functions from there?
>

I think just Cu.getJSTestingFunctions() should work.

Jan


>
> --
> Henri Sivonen
> hsivo...@mozilla.com
>
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: JS testing functions and compartments in mochitest-plain

2019-08-26 Thread Henri Sivonen
On Mon, Aug 26, 2019 at 11:27 AM Jan de Mooij  wrote:
>
> On Mon, Aug 26, 2019 at 9:02 AM Henri Sivonen  wrote:
>>
>> In what type of test does
>> SpecialPowers.Cu.getJSTestingFunctions().newRope() actually return a
>> rope within the calling compartment such that passing the rope to a
>> WebIDL API really makes the rope enter the WebIDL bindings instead of
>> getting intercepted by a cross-compartment wrapper first?
>
>
> An xpcshell test or mochitest-chrome is probably easiest

Thanks. Since SpecialPowers doesn't exist in xpcshell tests, is there
another way to reach JS testing functions from there?

-- 
Henri Sivonen
hsivo...@mozilla.com
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


[desktop] Bugs logged by Desktop Release QA in the last 7 days

2019-08-26 Thread Mihai Boldan

Hello,

Here's the list of new issues found and filed by the Desktop Release QA 
team in the last 7 days.
Additional details on the team's priorities last week, as well as the 
plans for the current week are available at: https://tinyurl.com/y3ww45m3.

Bugs logged by Desktop Release QA in the last 7 days:

Firefox: New Tab Page
NEW - https://bugzil.la/1575586 - Links from a Pinned NewTab page open 
in a new tab instead of the same one


Firefox: Session Restore
NEW - https://bugzil.la/1575761 - [Ubuntu] Pages not loaded after 
pave-over update


Firefox: Site Identity and Permission Panels
* NEW - https://bugzil.la/1575778 - "Show Full Report" is displayed in 
the privacy panel instead of "Show Report"
* RESOLVED FIXED - https://bugzil.la/1575798 - Missing items in the 
"Blocked" section if deselecting the Cookies checkbox
* RESOLVED FIXED - https://bugzil.la/1575812 - [Strict/Custom mode] When 
Tracking Protection is off the panel is not displayed correctly


Firefox: Tracking Protection
* RESOLVED FIXED - https://bugzil.la/1575813 - [Custom mode] 
Cryptominers/Fingerprinters section doesn’t appear in the allowed sections
* NEW - https://bugzil.la/1575814 - [Custom Mode] When Cross-Site 
Tracking Cookies are not blocked, the list for them is empty in the panel
* NEW - https://bugzil.la/1576178 - [Windows] The icons inside the 
Firefox Monitor cards are slightly offset


Core: Canvas: WebGL
* NEW - https://bugzil.la/1575205 - Crash in [@ raise | _IO_vasprintf]
* NEW - https://bugzil.la/1575211 - [Linux] WebGL animations from 
threejs.org doesn't work properly


Core: Document Navigation
NEW - https://bugzil.la/1575163 - [Fission] Crash in [@ 
mozilla::ipc::IPDLParamTraits::Write]


Core: Privacy: Anti-Tracking
NEW - https://bugzil.la/1575811 - Disabling protections on a site makes 
first-party social trackers show up in the content blocking log


Toolkit: Crash Reporting
* NEW - https://bugzil.la/1575187 - Invalid emails are allowed inside 
the Mozilla Crash Reporter
* NEW - https://bugzil.la/1575192 - [win][Crash reporter] Text for email 
in Allow Mozilla not properly centered


Toolkit: Form Autofill
NEW - https://bugzil.la/1576186 - Credit Card text field titles are 
spilling out of their designated area when selected


Toolkit: Password Manager
* NEW - https://bugzil.la/1575220 - [Windows] Breach notifications are 
not displayed while High Contrast Mode is applied
* NEW - https://bugzil.la/1576175 - [about:logins] Tab key doesn't 
select anything from the warning panel
* NEW - https://bugzil.la/1576177 - [about:logins] There is no hover 
effect for "Learn more about this breach" hyperlink inside the warning 
banner.


Toolkit: Password Manager: Site Compatibility
NEW - https://bugzil.la/1576181 - User can login with incorrect password 
into Facebook even after Update with incorrect credentials


Mozilla Localization: es-ES / Spanish
RESOLVED FIXED - https://bugzil.la/1575508 - Quotation marks instead of 
colon is displayed at the end of Default for all websites string for 
es-Es locale


Mozilla Localization: ar / Arabic
RESOLVED FIXED - https://bugzil.la/1575815 - Brand-product name' is 
displayed in the about:welcome and on supercharge cards for ar locale


This is available as a Bugzilla bug list as well: 
https://tinyurl.com/y4oqpb56.


Regards,
Mihai Boldan














___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: JS testing functions and compartments in mochitest-plain

2019-08-26 Thread Jan de Mooij
On Mon, Aug 26, 2019 at 9:02 AM Henri Sivonen  wrote:

> In what type of test does
> SpecialPowers.Cu.getJSTestingFunctions().newRope() actually return a
> rope within the calling compartment such that passing the rope to a
> WebIDL API really makes the rope enter the WebIDL bindings instead of
> getting intercepted by a cross-compartment wrapper first?
>

An xpcshell test or mochitest-chrome is probably easiest.. Or a system
Sandbox/evalInSandbox but that becomes more complicated. Strings are copied
across zone boundaries so any global in the system zone should work. You
can use the isSameCompartment JS testing function to test/assert the
following is true in your test:
testingFunctions.isSameCompartment(testingFunctions.newRope, this)
(same-compartment is a stronger invariant than same-zone but for system
compartments it should be fine).


> Alternatively: What kind of string lengths should I use with normal JS
> string concatenation to be sure that I get a rope instead of the right
> operand getting copied into an extensible left operand?
>

js::ConcatStrings creates a rope if both sides have length > 0 and the
result doesn't fit in a JSFatInlineString (limits there are 11 and 23 for
Latin1 vs TwoByte chars). The extensible-string optimization applies to
rope flattening (we still create a rope first in that case).

Hope this helps,
Jan


>
> --
> Henri Sivonen
> hsivo...@mozilla.com
> ___
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


JS testing functions and compartments in mochitest-plain

2019-08-26 Thread Henri Sivonen
If in a plain mochitest I do
  var rope =
SpecialPowers.Cu.getJSTestingFunctions().newRope(t.head, t.tail);
  var encoded = (new TextEncoder()).encode(rope);
the encode() method doesn't see the rope. Instead, the call to
encode() sees a linear string that was materialized by a copy in a
cross-compartment wrapper.

Does SpecialPowers always introduce a compartment boundary in a plain
mochitest? In what type of test does
SpecialPowers.Cu.getJSTestingFunctions().newRope() actually return a
rope within the calling compartment such that passing the rope to a
WebIDL API really makes the rope enter the WebIDL bindings instead of
getting intercepted by a cross-compartment wrapper first?

Alternatively: What kind of string lengths should I use with normal JS
string concatenation to be sure that I get a rope instead of the right
operand getting copied into an extensible left operand?

-- 
Henri Sivonen
hsivo...@mozilla.com
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform