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

676336 Коммитов

Автор SHA1 Сообщение Дата
Jim Blandy b22848cd46 Bug 1586452: Let JSScripts and wasm::Instances own their BreakpointSites and Breakpoints. r=jonco
Prior to this patch, the code marked a Debugger if any of its debuggee globals
were marked, and it had breakpoints set in JSScripts/Instances that were marked.
It cleaned up breakpoints by scanning all JSScripts and wasm::Instances in the
zones being collected, looking for breakpoints set in them, and deleting them if
either the JSScript/Instance or the owning Debugger was about to be finalized.

That byzantine approach is equivalent to having owning edges from
JSScripts/Instances to the breakpoints set in them, and from those breakpoints
to the Debuggers they belong to. Proof: if a script is live, then its global
must be live. If the script has a breakpoint set in it, and its global is live,
then its Debugger will be marked, and hence neither the Debugger nor the script
will be finalized, and hence the breakpoints will be retained.

That second approach handles the situation with a much more traditional tracing
process, wherein tracing a script traces its breakpoints, which traces their
owning Debuggers. We can simply use cross-compartment wrappers for the edges
from the breakpoints to their handlers and Debuggers, which removes a bunch of
special cases for the GC to worry about.

This patch changes things to use the second approach.

- js::DebugScript and js::wasm::DebugState get `trace` and `finalize`/`delete_`
  methods, which get called from the right places. DebugScript and DebugState
  become the owners of their `BreakpointSite`s.

- `BreakpointSite`s get `trace` and `finalize` methods that visit their
  `Breakpoint`s. `JSBreakpointSite`s also trace their scripts, and
  `WasmBreakpointSite`s trace their wasm::Instances.

- `Breakpoint`s get a `trace` method that traces their owning `Debugger` and
  their handler object. They hold these as cross-compartment references, since
  the `Breakpoint` logically belongs to its code's compartment. Code that uses
  these fields wraps/unwraps as appropriate.

- All the specialized breakpoint sweeping code is deleted:

  - `Zone::sweepBreakpoints` and its supporting `DebugAPI` functions are
    deleted.

  - `Debugger::hasAnyLiveHooks` no longer considers breakpoints.

  - `DebugAPI::markIteratively` no longer searches for breakpoints to mark.

  - `DebugAPI::traceAllForMovingGC` no longer traverses breakpoints.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:50:02 +00:00
Jim Blandy 72dead1834 Bug 1586452: Separate removal and destruction of Breakpoints into two methods. r=jonco
Separate `Breakpoint::destroy` into two functions, `Breakpoint::remove`, which
takes care of cleaning up empty sites, and `Breakpoint::delete_`, which only
removes the breakpoint from its linked lists and frees its storage. Call
`Breakpoint::remove` from sites that passed `True` for `destroy`'s
`mayDestroySite` argument, and `Breakpoint::delete_` for those that passed
`False`.

The prior code had a `Breakpoint::destroy` method that took a `mayDestroySite`
flag, which indicated whether the BreakpointSite should also be cleaned up, if
the outgoing breakpoint was the last one left. Given that we never intend to
leave empty BreakpointSites lying around, it was unclear why this option was
needed.

And indeed, it was passed as `True` (yes, please destroy the site if empty) from
all call sites except one, in `js::wasm::DebugState::clearBreakpointsIn`. This
function is used for both deleting individual breakpoints and removing all
breakpoints set in a particular `wasm::Instance`, so it has two nested loops,
the outer visiting all sites in the instance, and the inner visiting each site's
breakpoints. Since `DebugState` stores `WasmBreakpointSites` in a hash table,
allowing `Breakpoint::destroy` to remove empty `BreakpointSite`s would
invalidate the outer loop's iteration, a classic bug. Instead, the inner loop
forbade `Breakpoint::destroy` from removing the site, and cleaned it up itself,
if empty, at the bottom of the outer loop body.

Later patches in this series want a cleaner separation between the high-level
operation of removing a single breakpoint, with whatever followup that entails,
versus the low-level of operation of simply freeing the structure at hand.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:55 +00:00
Jim Blandy 0075d74d79 Bug 1586452: SetBreakpointMatcher: success path should be main line. r=jonco
No effect on behavior.

It's SpiderMonkey's convention that the success path should be the top-level
path through a function, and that failure should be handled by early returns.
This patch makes SetBreakpointMatcher's methods conform to that convention.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:43 +00:00
Jim Blandy 32d1adee67 Bug 1586452: Manage JIT traps when we create and remove breakpoint sites. r=jonco
`Debugger` objects used to have an `enabled` property, which controlled (among
other things) whether breakpoints would fire. This meant that it was possible to
have a BreakpointSite that had breakpoints set in it, but yet should never
trigger. Thus, whether or not the JIT code itself should be patched for the
breakpoint depended on both 1) whether breakpoints were set, and 2) whether any
of those breakpoints' owning Debuggers were enabled.

To manage this, each BreakpointSite had not only a linked list of inserted
breakpoints, but an 'enabled count' of how many of those breakpoints were in
enabled Debuggers. Enabling/disabling a Debugger walked all its breakpoints and
adjusted their sites' counts. When the enabled count was non-zero, the JIT code
needed traps inserted; when it was zero, the trap sites could be filled with
no-ops.

The `enabled` property seemed like an innocent idea, but it turns out to have
introduced all sorts of hair like this throughout the Debugger (for example,
also making it harder for the GC to figure out what could be removed without
observable effect), and then it turned out that the server never really wanted
to toggle them on and off anyway. So we removed 'enabled' in bug 1564168.

But this means that a BreakpointSite's enabled count should be non-zero if and
only if its breakpoint list is non-empty; the count is redundant and can be
removed.

Further, since an empty BreakpointSite should be removed altogether, any
inserted BreakpointSite can be assumed to have a non-zero enabled count. In
other words, JIT code should have traps inserted if and only if a BreakpointSite
is present for that code location.

This means we can tie JIT code trap insertion and removal to BreakpointSite
insertion and removal. Since BreakpointSite is an abstract base class, all the
code that inserts and removes sites knows which concrete class it's creating, so
we know statically how to go about patching the code. This means BreakpointSite
no longer needs a 'recompile' pure virtual method. Its implementations get merged
into the code that's inserting and removing BreakpointSite concrete instances.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:35 +00:00
Jim Blandy 866091f159 Bug 1586452: Make `js::BreakpointSite::remove` the pure virtual method, and hoist `removeIfEmpty' into the base class. r=jonco
The way a breakpoint site is removed depends on the concrete subclass, but
deciding whether the site is empty or not is common to all BreakpointSites.
There's no reason to repeat the condition in every implementation.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:28 +00:00
Jim Blandy 1fd5655214 Bug 1586452: Remove class js::WasmBreakpoint; use plain js::Breakpoint instead. r=jonco
All the information we need specific to Wasm breakpoints is available in the
WasmBreakpointSite now, so there's no need for two different kinds of
breakpoints any more.

Code that used to obtain the wasm instance from the breakpoint now consults the
site instead.

BreakpointSite::allocSize confusingly provided the size of the site's
*breakpoints*, not the site itself; but now it's no longer needed at all, and
can be removed.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:21 +00:00
Jim Blandy 0559cceef1 Bug 1586452: Let WasmBreakpointSite hold a WasmInstanceObject*, not a wasm::Instance*. r=jonco
WasmInstanceObjects and wasm::Instances are 1:1, so this should have no effect.
But the next patch removes WasmBreakpoint altogether, and being able to get
exactly the same information from the site makes that patch more obviously correct.

Why not make them both hold wasm::Instance*? The IsMarkedUnbarriered checks in
DebugAPI::markIteratively and Debugger::traceForMovingGC would really like an
object pointer they can write to, which of course a wasm::Instance will not
provide. Even though using WasmInstanceObject* in both spots requires more
tracing calls, it's a shorter patch overall. (Those checks are deleted in the
end, anyway.)

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:08 +00:00
Jim Blandy 50c9dc0560 Bug 1586452: Make BreakpointSite constructor and destructor protected. r=jonco
As an abstract base class, BreakpointSite can't be constructed except as a base
class. And since BreakpointSites are owned by implementation-specific structures
like js::DebugScript (for JS breakpoints) or js::wasm::DebugState (for Wasm),
only implementation-specific code should be destructing them.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:49:01 +00:00
Jim Blandy edd702cb0c Bug 1586452: Use tighter type JSBreakpointSite where possible. r=jonco
Much of the code in js/src/debugger/DebugScript.{cpp,h} deals only with
breakpoints set in JSScripts, which must be located at js::JSBreakpointSites,
not just any kind of js::BreakpointSite. Using the looser type seems to have
misled people into thinking they need to deal with more cases than they actually
do, resulting in unnecessary dynamic checks and confusing `if` conditions.

This patch changes js::DebugScript::breakpoints into an array of
js::JSBreakpointSite*, not just js::BreakpointSite*, and then propagates the
consequences of that through the code.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 19:48:54 +00:00
Marco Castelluccio 2b99ab19ea Bug 1590714 - Remove unused 'mozbuild_state_path'. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D50203

--HG--
extra : moz-landing-system : lando
2019-10-23 19:37:41 +00:00
Thomas Nguyen cf2f2ec008 Bug 1580462 - Store iframe's FeaturePolicy in browsingContext to inherit cross origin document. r=baku,farre
Differential Revision: https://phabricator.services.mozilla.com/D48825

--HG--
extra : moz-landing-system : lando
2019-10-23 19:39:00 +00:00
Chris Manchester 49a5f408be Bug 1589783 - Update sccache in-tree to the latest version. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D49801

--HG--
extra : moz-landing-system : lando
2019-10-22 16:40:34 +00:00
Cosmin Sabou 9e99d55f30 Backed out changeset e2448f988af9 (bug 1590344) for causing python failures on configure/lint.py. 2019-10-23 22:33:00 +03:00
Jean-Yves Avenard d824757a75 Bug 1590475 - Add batch decoding support for RemoteDataDecoder. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D50087

--HG--
extra : moz-landing-system : lando
2019-10-23 18:20:57 +00:00
Anthony Ramine a6fa34832e Bug 1590344 - Don't unset PYTHONDONTWRITEBYTECODE anymore; r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D50041

--HG--
extra : moz-landing-system : lando
2019-10-22 21:05:53 +00:00
Jeff Gilbert d8be7e29ca Bug 1583970 - Cast sizeof to ptrdiff_t to avoid `-16 / 4 = big`. r=tsmith
Differential Revision: https://phabricator.services.mozilla.com/D50149

--HG--
extra : moz-landing-system : lando
2019-10-23 17:29:30 +00:00
Jeff Walden 87e26cbe4b Bug 1582348 - Implement |WritableStreamAddWriteRequest|. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D49541

--HG--
extra : moz-landing-system : lando
2019-10-23 17:49:49 +00:00
Jeff Walden 8df1e4871d Bug 1582348 - Add resolve/reject helper functions that will wrap the unwrapped promise for the current compartment before performing the desired operation. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D49540

--HG--
extra : moz-landing-system : lando
2019-10-23 17:49:46 +00:00
Jeff Walden 87a3a26dc4 Bug 1582348 - At least in theory, rigorously fix up all compartment mismatches in all presently-written writable streams code. La la la... r=arai
Differential Revision: https://phabricator.services.mozilla.com/D49539

--HG--
extra : moz-landing-system : lando
2019-10-23 17:49:44 +00:00
Jeff Walden 96cc2ae32b Bug 1582348 - Minimize #includes using forward-declarations in WritableStreamWriterOperations.h. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D49538

--HG--
extra : moz-landing-system : lando
2019-10-23 17:49:42 +00:00
Matt Brandt ef37b0d532 Bug 1590795 - Revert iris_firefox to last known good version. moziris == 0.6
Differential Revision: https://phabricator.services.mozilla.com/D50244

--HG--
extra : moz-landing-system : lando
2019-10-23 15:43:25 +00:00
Andrew Sutherland ff5627bc93 Bug 1583859 - ExecutionReadyPromise should not be exclusive. r=perry
Although many Clients API usages are inherently exclusive (a specific claim
or control request), the execution-ready promise is shared by all requests
to get the state of a client that is not yet execution ready.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 17:55:38 +00:00
Ehsan Akhgari cf2f13e03d Bug 1589954 - Implement the rest of nsIClassifiedChannel methods on DocumentChannel; r=jya
Differential Revision: https://phabricator.services.mozilla.com/D49863

--HG--
extra : moz-landing-system : lando
2019-10-23 17:55:32 +00:00
Gabriel Luong fd32c2b962 Bug 1574506 - Migrate usage of gripNodeToFront to toolbox's new getNodeFrontFromNodeGrip function. r=nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D49990

--HG--
extra : moz-landing-system : lando
2019-10-23 04:38:13 +00:00
Brian Hackett 7fabe60cdf Bug 1444064 Part 3 - Add test that OBT web console listens to new processes, r=nchevobbe.
Depends on D48864

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

--HG--
extra : moz-landing-system : lando
2019-10-23 17:39:02 +00:00
Johann Hofmann 839c936e60 Bug 1590749 - Make the update interval for the milestone doorhanger configurable. r=ewright
Differential Revision: https://phabricator.services.mozilla.com/D50218

--HG--
extra : moz-landing-system : lando
2019-10-23 17:05:44 +00:00
Kashav Madan 22681ba7aa Bug 1533895 - Skip browser_broadcast.js with Fission enabled, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D50243

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:02 +00:00
Kashav Madan 9e16b8e1af Bug 1582531 - Re-enable some skipped tests, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D50246

--HG--
extra : moz-landing-system : lando
2019-10-23 16:04:53 +00:00
Jim Blandy 8dc6d87f78 Bug 1586450: Trace Debugger.Frames with hooks for live frames directly. r=jonco
If a Debugger.Frame for a live stack frame has hooks set, it should not be
collected, since the failure to call the hooks would be visible to JS.

The prior code handles tracing Debugger.Frames entirely through an addition to
the iterative weak map marking process: each time through the cycle, we also
check all unmarked Debuggers of marked globals for Debugger.Frames with any
hooks set, and if any such Debugger.Frames exist, we mark the Debugger.

This is a circuitous way to get exactly the same effect as simply marking, once
at the start of GC (like any other root set), all Debugger.Frames for live stack
frames that have hooks set, as if there were an owning edge from each stack
frame to each Debugger.Frame with hooks set.

This patch removes the code from Debugger::hasAnyLiveHooks that checks
Debugger::frames, and adds a new function, DebugAPI::traceFramesWithLiveHooks,
that is called once from root marking.

Although this patch doesn't reduce the number of lines of code, I feel it is
still a simplification, because it replaces a case currently handled in
circuitous way (markIteratively, the markedAny flags, etc.) with a function that
just traces things.

This is one step towards our goal of eliminating (or at least trimming down)
DebugAPI::markIteratively.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 16:20:40 +00:00
Jim Blandy 2f37ae8987 Bug 1586450: Split out DebuggerFrame::isLiveMaybeForwarded. r=jonco
Move odd circumlocution into its own function, to make it clearer what problem
it's trying to address. We'll add another use later in the patch series.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 16:20:40 +00:00
Mark Striemer 0370c1c190 Bug 1586918 - Separate the add row from last pref in about:config r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D49474

--HG--
extra : moz-landing-system : lando
2019-10-23 16:06:17 +00:00
Christian Holler 939671b898 Bug 1590468 - Bump max_oom_hook_version for latest Rust Nightly. r=jseward
Differential Revision: https://phabricator.services.mozilla.com/D50092

--HG--
extra : moz-landing-system : lando
2019-10-23 16:03:17 +00:00
Drew Willcoxon db83772a37 Bug 1582234 - Change the meaning of browser.urlbar.suggest.bookmark = false so that visited bookmarks are autofilled but unvisited bookmarks still are not. r=mak
When suggest.history = true and suggest.bookmark = false, change the inclusion logic from `NOT bookmarked` to `visited OR NOT bookmarked`. That will include visited bookmarks above the autofill threshold but still exclude unvisited bookmarks.

This also renames the various SQL query consts to better reflect when they are used: `HISTORY_BOOKMARK` for when both suggest.history and suggest.bookmark = true, `HISTORY` for when only suggest.history = true, and `BOOKMARK` for when only suggest.bookmark = true.

Finally, it adds a bunch of test tasks consistent with the other existing autofill test tasks.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 16:09:31 +00:00
Brian Hackett c8eedc50b6 Bug 1590703 - Add redirection for CFArrayCreateMutable, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D50182

--HG--
extra : moz-landing-system : lando
2019-10-23 15:55:59 +00:00
Razvan Maries f505e68560 Backed out changeset 3c32d4e19a92 (bug 1582234) for ES Lint failrue on UnifiedComplete.jsm. CLOSED TREE 2019-10-23 19:05:28 +03:00
Christoph Kerschbaumer be72bce5f7 Bug 1590777: Add Null check for referrerinfo within ParseCSPAndEnforceFrameAncestorCheck. r=tnguyen
Differential Revision: https://phabricator.services.mozilla.com/D50239

--HG--
extra : moz-landing-system : lando
2019-10-23 15:21:48 +00:00
Christoph Kerschbaumer a9ab8a0285 Bug 1590784: Move GetHttpChannelHelper into nsContentSecurityUtils. r=jkt
Differential Revision: https://phabricator.services.mozilla.com/D50238

--HG--
extra : moz-landing-system : lando
2019-10-23 15:17:21 +00:00
Andreea Pavel fbb184ec2c Bug 1588284 - disable test_ext_web_accessible_incognito.html on fission r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D50161

--HG--
extra : moz-landing-system : lando
2019-10-23 15:50:16 +00:00
Henrik Skupin e4aa62dc2c Bug 1589625 - [remote] Improve setup and teardown logic for browser chrome tests. r=remote-protocol-reviewers,ato
Currently when browser chrome tests are failing the open tabs, client,
and Remote Agent will never be closed, and as such each failing test
causes massive memory leaks.

Therefore the teardown logic needs to be moved out of the tests into
the "add_task()" function. Only that way we can make sure to run
all the clean-up steps independent of the test success state.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:50:04 +00:00
Henrik Skupin 68ec34ff0c Bug 1589625 - [remote] Start and stop the CDP server outside of the browser chrome tests. r=remote-protocol-reviewers,ato
To ensure that the CDP server connection is always closed after a
test even when it is failing, its lifetime has to be handled inside
the "add_task" function.

Currently if a test fails all the registered events and observer
notifications are getting leaked. This patch ensures that all of
those events and notifications are getting unregistered.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:53 +00:00
Henrik Skupin 0f15d8260b Bug 1589625 - [remote] Improve handling of tabs when closing a chrome window. r=remote-protocol-reviewers,ato
Due to some obvious bugs in the code of TabObserver.jsm the registered
targets for each of the window's tabs haven't been unregistered when
the window has been closed.

It has the effect that when closing the Remote Agent the browsingContext
of the tab target, which has to be destroyed, cannot be retrieved.
Instead an error is raises, because the underlying frameLoader actually
doesn't exist anymore.

Given that "TabClose" events aren't fired when the window closes,
those have to be emulated.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:38 +00:00
Henrik Skupin ac5fe2028c Bug 1589625 - [remote] Add documentation for enabling logging of emitted events. r=remote-protocol-reviewers,ato,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D50230

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:19 +00:00
Drew Willcoxon 6a02500d96 Bug 1582234 - Change the meaning of browser.urlbar.suggest.bookmark = false so that visited bookmarks are autofilled but unvisited bookmarks still are not. r=mak
When suggest.history = true and suggest.bookmark = false, change the inclusion logic from `NOT bookmarked` to `visited OR NOT bookmarked`. That will include visited bookmarks above the autofill threshold but still exclude unvisited bookmarks.

This also renames the various SQL query consts to better reflect when they are used: `HISTORY_BOOKMARK` for when both suggest.history and suggest.bookmark = true, `HISTORY` for when only suggest.history = true, and `BOOKMARK` for when only suggest.bookmark = true.

Finally, it adds a bunch of test tasks consistent with the other existing autofill test tasks.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:44:17 +00:00
Marco Bonardo 690feb6b83 Bug 1586778 - Never end address bar layout extension if the view is open. r=dao
This fixes the cases where we may end urlbar layout extension when the panel is open, causing it to appear as if it has a transparent background.
On dragstart the view is closed, but layout extension is no more ended, because there's no more risk of overlapping toolbar items.
Additionally it stops clearing results when ui.popup.disable_autohide is enabled, so they can be analyzed from the Browser Toolbox.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:10:04 +00:00
Andreea Pavel 76263eb7c7 Bug 1495002 - disable permissions/set.py on win ccov debug for frequent failures r=whimboo
Differential Revision: https://phabricator.services.mozilla.com/D50214

--HG--
extra : moz-landing-system : lando
2019-10-23 15:41:21 +00:00
Mike de Boer efd1aba9d9 Bug 1590775 - Ensure to enable the default private search engine feature for Nightly users only. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D50235

--HG--
extra : moz-landing-system : lando
2019-10-23 14:59:19 +00:00
Mike Conley 7287e93a88 Bug 1567009 - Remove titlebar=no rule for the Picture-in-Picture player window to allow resizing on macOS. r=mstriemer
With titlebar=no, we were falling into this branch:
https://searchfox.org/mozilla-central/rev/8a63fc190b39ed6951abb4aef4a56487a43962bc/widget/cocoa/nsCocoaWindow.mm#344

and the NSBorderlessWindowMask doesn't allow for resizing. I don't actually think
we need titlebar=no, because with the chromemargin attribute set at
https://searchfox.org/mozilla-central/rev/8a63fc190b39ed6951abb4aef4a56487a43962bc/toolkit/components/pictureinpicture/content/player.xhtml#12

we end up drawing into the titlebar anyways.

So setting titlebar=yes means that we get a resizable window. It also gives the window a
dropshadow on macOS and rounded corners. There doesn't appear to be any visual change on
Windows.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:21:52 +00:00
Drew Willcoxon 45c712fc8b Bug 1587867 - Change regexp in looksLikeURL to avoid bad performance for long strings. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D49821

--HG--
extra : moz-landing-system : lando
2019-10-23 07:43:27 +00:00
Belén Albeza c4bf55ef42 Bug 1583705: Fix capitalization of heading when no manifest is available r=jdescottes,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D50045

--HG--
extra : moz-landing-system : lando
2019-10-23 11:15:28 +00:00
Marco Bonardo 1b1163798f Bug 1584253 - Better narrow-window layout for the address bar one-off buttons. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D50053

--HG--
extra : moz-landing-system : lando
2019-10-23 13:22:28 +00:00