Re: Finding windows and docshells leaked until shutdown

2019-10-02 Thread Andrew McCreight
On Wed, Oct 2, 2019 at 2:35 PM Geoff Lankow wrote: > Hi all, I need some advice. > > I'm trying to enable Mochitest on debug builds of Thunderbird. It works > fine, except for the leak check, which finds a number of leaked windows > and docshells. Obviously we don't want to leak these things,

Re: Finding windows and docshells leaked until shutdown

2019-10-02 Thread Emilio Cobos Álvarez
Not an expert in leak-hunting, but generally this happens every time you leave something like an observer or such registered and you don't de-register it where the page goes away. It'd keep all the window alive. Probably can also happen with some native event listeners or what not... A recent

Finding windows and docshells leaked until shutdown

2019-10-02 Thread Geoff Lankow
Hi all, I need some advice. I'm trying to enable Mochitest on debug builds of Thunderbird. It works fine, except for the leak check, which finds a number of leaked windows and docshells. Obviously we don't want to leak these things, but I can't find what's holding onto them. I've ruled out

Re: Range-based for and STL-style iterators for nsClassHashtable, nsDataHashtable, nsInterfaceHashtable

2019-10-02 Thread smaug
And as with other data structures, be careful with modifications when using range-based for. We had plenty of crash issue with nsTArray + range-based for when we started to use it. -Olli On 10/2/19 1:15 PM, Simon Giesecke wrote: Hi, I recently [1] added STL-style iterators and

Re: Range-based for and STL-style iterators for nsClassHashtable, nsDataHashtable, nsInterfaceHashtable

2019-10-02 Thread Simon Giesecke
Hi Emilio, right, removing entries isn't possible within a range-based for, and it's neither with STL associative containers such as std::map AFAIK. It would probably be possible to add a method to nsBaseHashtable with signature: const_iterator Remove(const_iterator); to support the idiom used

Re: Range-based for and STL-style iterators for nsClassHashtable, nsDataHashtable, nsInterfaceHashtable

2019-10-02 Thread Emilio Cobos Álvarez
When trying to port some of the usage in layout/style to this, I realized that there's no way to remove entries while iterating, so you can't port [1] to this for example. Is there something I've missed? Should I file a bug about it? Or should we just keep using old style iterators for that?

Re: Range-based for and STL-style iterators for nsClassHashtable, nsDataHashtable, nsInterfaceHashtable

2019-10-02 Thread Emilio Cobos Álvarez
This is great, thanks for doing this! -- Emilio On 10/2/19 12:15 PM, Simon Giesecke wrote: Hi, I recently [1] added STL-style iterators and begin/cbegin/end/cend member functions to nsBaseHashtable. This means that it is now possible to use range-based for and STL algorithms operating on

Intent to ship: Infer aspect-ratio from img width and height attributes.

2019-10-02 Thread Emilio Cobos Álvarez
Hi, As of today I intend to turn this feature on for release and beta channels (it was enabled only on Nightly until now). It's been developed behind the layout.css.width-and-height-map-to-aspect-ratio.enabled pref. Bug to turn on by default:

Range-based for and STL-style iterators for nsClassHashtable, nsDataHashtable, nsInterfaceHashtable

2019-10-02 Thread Simon Giesecke
Hi, I recently [1] added STL-style iterators and begin/cbegin/end/cend member functions to nsBaseHashtable. This means that it is now possible to use range-based for and STL algorithms operating on iterators with all of its subclasses, which include nsClassHashtable, nsDataHashtable,