While setTab does end up setting the label and icon, it also does completely different and more crucial things. This call really doesn't belong in updateTabLabelAndIcon.
MozReview-Commit-ID: 9HXYS0fXgRN
--HG--
extra : rebase_source : f11e283bdc487f8df4ba8013f420158b6f356dbe
This Photon-specific workaround styles the zoom and edit
button combinations when the user switches back to the
old menu panel. Before this patch, it used to apply the
panel style even if the buttons were in the toolbar.
This patch fixes that by not even updating the style if
the buttons are not in the panel.
MozReview-Commit-ID: JZZUTudSDeZ
--HG--
extra : rebase_source : 6ea20aba09bfe12a558dc20a6e65f324292ca0f2
This was working around some old XUL layout weirdness, but nowadays this uses the same scroll frame implementation as HTML and tabStrip.scrollPosition + tabStrip.scrollClientSize > tabStrip.scrollSize cannot be true.
MozReview-Commit-ID: F5fOEpXn8ay
--HG--
extra : rebase_source : 5dcd0282e1054aad1c1a4946dd98dc33549bd2d6
This patch implements chrome-only Selection#setColors and
Selection#resetColors methods, and use it to set the background color of
the preferences search highlight.
MozReview-Commit-ID: 2U92aBCAyeh
--HG--
extra : rebase_source : b07af1f37309d8184584b298a720cd5c1382929a
UAOverridesBootstrapper.js is introduced to delay the initialization of
UserAgentOverrides.jsm until the creation of nsHttpHandler in chrome process.
Uninit will be triggered at profile-change-net-teardown because no network
traffice after this point.
MozReview-Commit-ID: F8Lpn6RyZEm
--HG--
extra : rebase_source : b516209f96ec81deb54aab3c038803beb3cea441
It's ok to cache the padding size of the main view and re-use it in this case,
because the padding is maintained for each view consistently.
The performance characteristics are therefore maintained.
MozReview-Commit-ID: GYT59NIiBET
--HG--
extra : rebase_source : 5bf7962367f1ff48f4e61a20535a4fbda82f419e
This CSS rule made certain actions on MacOS look strange, e.g.
active without hover, and it doesn't appear to be needed on the
other platforms since the background is always overriden when needed.
MozReview-Commit-ID: Af6WnEspW5q
--HG--
extra : rebase_source : 2e8ba5bb849c202ffe7f42e1594c80b4ce9cd4bf
This patch adds customizemode attribute data validation when saving tabs to disk.
MozReview-Commit-ID: 2GFXpApi0iQ
--HG--
extra : rebase_source : ce82001fbdabfda88621277fa750d60c8f1ccd6b
Make the onboarding being opt-in or opt-out depending on the default value of the
browser.urlbar.sugges.searches pref.
In both cases respect userMadeSearchSuggestionChoice though, so we won't further nag users that
made a choice already.
MozReview-Commit-ID: D4rRMRbdMrW
--HG--
rename : browser/base/content/test/urlbar/browser_urlbarSearchSuggestionsNotification.js => browser/base/content/test/urlbar/browser_urlbarSearchSuggestions_opt-in.js
extra : rebase_source : 819ba7a77998940fb230fb531dd9fcf1301cfcd5
Make the onboarding being opt-in or opt-out depending on the default value of the
browser.urlbar.sugges.searches pref.
In both cases respect userMadeSearchSuggestionChoice though, so we won't further nag users that
made a choice already.
MozReview-Commit-ID: D4rRMRbdMrW
--HG--
rename : browser/base/content/test/urlbar/browser_urlbarSearchSuggestionsNotification.js => browser/base/content/test/urlbar/browser_urlbarSearchSuggestions_opt-in.js
extra : rebase_source : 2eb22b5965734d9702b115bc653ce55174003221
If the tab was resumed before, it could start playing any autoplay media without user's
permission after session restore.
MozReview-Commit-ID: C3DHIIsLtJA
--HG--
extra : rebase_source : 9517525aa242bff3150a902070544cf64c5ba6c1
Previous design allows us calling resume/block from both front-end and back-end,
it's not easy to know who called these operations.
So move all these logic to frond-end side, it's more clear than before.
One important thing is that we should block tab before loading the content.
If we block the tab after loading, the media might not be blocked because it had
already started (that is one situation I observed from test).
The value of block state would be stored in the outer window, before media want
to start, it would check this value to know whether it can start playing or not.
---
In addition, introduce new attribute "media-blocked".
The "media-blocked" attribute indicates that whether the tab is allowed to play autoplay media.
The "activemedia-blocked" attribute indicates whether the tab has blocked the autoplay media.
MozReview-Commit-ID: FnNh3zmItxo
--HG--
extra : rebase_source : cdc890c0c47a4a03ea8dbbdfee24c66b52945c60
The "blocked" attribute is too general to indicate the real usage, so rename it
to "activemedia-blocked".
This attribute indicates that whether the tab has blocked the autoplay media.
MozReview-Commit-ID: EAmq6OuBYjq
--HG--
extra : rebase_source : e8e9321854b80736f0959fbfecbc8bf9a83b0712
This patch adds a visual UX cue to visually distinguish the user agent
sessions that are under remote control from those used for normal
browsing sessions. The new hue helps the user identify windows that
are under automation.
browser/base/content/browser.js will now query Marionette to find out if
the remote protocol is running when starting a new <xul:browser>.
The remote-control system notification will also be sent when the
Marionette remote protocol is running, activating any already opened
<xul:browser>s. The message is sent from testing/marionette/server.js.
MozReview-Commit-ID: AsjGmLL1Rl1
--HG--
extra : rebase_source : b46137b3b620c8216e3f4cc532a35149edb8dcf7
Robot favicon (image/png) is currently only used in about:robots
(browser/base/content/aboutRobots.xhtml), but we intend to re-use this
resource for indicating that the browser is under remote (robot) control.
MozReview-Commit-ID: 4eTNbAITPQx
--HG--
extra : rebase_source : 765e4e2d7abe95ecc48b6a55582bde73fb689d5e
This adds a minimal XPCOM interface to access Marionette as a service.
All it does for now is to expose whether the Marionette server is
running, which will report true when the TCP listener socket is open and
false otherwise.
This will be used in browser/base/content/browser.js to determine
whether or not to add a visual UX cue on newly started <xul:browser>s.
MozReview-Commit-ID: 4Q9Oy2B9GQ1
--HG--
extra : rebase_source : 350fc1281ff2aa58e8c0ec1566c55f033878e850
This made the back arrow icon resize to 18x18,
it resizes fine automatically, without the width rule.
MozReview-Commit-ID: 8zdUKG3RgO8
--HG--
extra : rebase_source : 342d4a05bc54eba29202b9c9776b740c648be8d7
The "platform" chrome flag requires an irrelevant "content" chrome
manifest entry, while it's only used for locales. It only has exactly
one use, which can actually be replaced by uses of the "os" flag.
Note, we're doing something similar with the "os" flag for skins in
e.g. browser/extensions/pocket/jar.mn.
Unfortunately, for determinism reasons, the chrome manifest entries from
jar.mn are sorted (per bug 982075), so keeping global-platform/unix
would leave it appearing after /mac, and would override it on mac
because of the lack of "os" flag on the /unix entry (we can't put "os"
flags on that entry because we can't do something like os!=Darwin &&
os!=WINNT). So we move it to /gtk such that it always comes before /mac.
--HG--
extra : rebase_source : aaace8147ea54f74aef8a7b2314ad022e9f9be23
This avoids some known hazard from replace-malloc itself, and unhides
--disable-replace-malloc hazards if there are any (and there is one from
bug 1361258), which wouldn't be caught until riding trains
(replace-malloc being only enabled on nightly).
The hazard from bug 1361258 that disappears is this one:
Error: Indirect call malloc_hook_table_t.jemalloc_thread_local_arena_hook
Location: replace_jemalloc_thread_local_arena @memory/replace/replace/ReplaceMalloc.cpp#261
Stack Trace:
jemalloc_thread_local_arena @ memory/build/replace_malloc.c#287
Gecko_SetJemallocThreadLocalArena @ layout/style/ServoBindings.cpp#2062
The new hazard from that bug is:
Error: Variable assignment jemalloc.c:arenas_map
Location: jemalloc_thread_local_arena @memory/mozjemalloc/jemalloc.c#3068
Stack Trace:
Gecko_SetJemallocThreadLocalArena @ layout/style/ServoBindings.cpp#2048
Where arenas_map is a thread-local variable, so there really is no
hazard.
--HG--
extra : rebase_source : bea3d2f862ede8c0b90775b6ec9cebb657b9b455
While setTab does end up setting the label and icon, it also does completely different and more crucial things. This call really doesn't belong in updateTabLabelAndIcon.
MozReview-Commit-ID: 1ZSY17ThNx
--HG--
extra : rebase_source : 7406be1314e50665b2a4aa612916e93846ac32f1
This causes Gecko to collect telemetry as to whether we can create H.264/AAC
decoders off main thread in the parent process. This means we won't do the I/O
required to load decoding libraries on the main thread any more, and we'll only
do this at a time that doesn't affect the user.
MozReview-Commit-ID: Ih5D5wOZ9ii
--HG--
extra : rebase_source : acc63a3f0f4f1e165d23323ad754e83df1009945
Right now notifications displayed in non-focused windows are causing that window to be focused. This is annoying. We could work to make the doorhangers not focus the other windows, but a simpler solution is to just not show the doorhanger until the window is focused. This has the added benefit of ensuring that the doorhangers entry animation is seen by the user, increasing the likelihood that they will notice it.
Additionally, some existing tests involving extra windows were refactored. I stripped the old tests of their extra windows and created new tests specifically to test the behavior of background windows. These tests were modeled off of the background window tests of PopupNotifications.jsm, which create a new window knowing that this will cause the existing window to be the background, rather than explicitly manipulating the focus of the two windows.
According to the spec, content from loopback addresses should no longer
be treated as mixed content even in secure origins. See:
- 349501cdaa
- https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy
Note that we only whitelist '127.0.0.1' and '::1' to match Chrome 53 and
later. See:
- 130ee686fa
It is unclear if HTTPS origins should be able to use workers and WebSocket
connections through a loopback HTTP address. They are not supported in Chrome
(whether this is intentional or not is uncertain) so lets just ignore them for
now.
See also: https://github.com/w3c/web-platform-tests/pull/5304
This also disables the menu button and overflow button correctly in
customize mode, and fixes an issues where the overflow button state
would stay 'open' when closing the panel by clicking the button
a second time.
MozReview-Commit-ID: BNTkE6zvv9Q
--HG--
extra : rebase_source : caa6ca5376c0b0e6c5d3190ffaed0b34e5292fb4
This reuses the logic we have for toolbar dragging and uses it for the photon panel (ie overflow panel)
to do vertical space-making animations.
It explicitly doesn't address the styling or permanently showing the overflow button (for which we have other bugs on file).
MozReview-Commit-ID: 4qrWC0H30xi
--HG--
extra : rebase_source : 57c413620aff496069b8cf371b8980a1fa432d72
extra : histedit_source : 60f65f3cb81ba0c64553bdac4dc502a6a704be90