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
This is unfortunate, but in order to keep automated tests working when we flip the pref,
it would be nice to be able to flip the pref at runtime and have things Just Work. This
tries to make that happen. We can remove most of this code post-Photon.
MozReview-Commit-ID: 8zbgCGJautO
--HG--
extra : rebase_source : 2b6df54d24d35294cc547be0b7abe5396ddec6b6
extra : histedit_source : a9b4654bbddc10a933f83a08f34d809a58b80ad9
Calling HTMLMediaElement.canPlayType() on the main thread will cause
us to do disk I/O to load system decoding libraries, so we shouldn't
do it on the main thread, let alone on the parent process' main thread.
I moved the telemetry into an idle service observer off main thread
into Gecko in the previous patch.
MozReview-Commit-ID: CH6LNNLzreJ
--HG--
extra : rebase_source : 7075d0a0e1fd88c51da23ab8ef5860a51bf4b2cd
This also improves the styling of checkbox buttons inside the menu and improves
support for adopting panelviews into the app menu from another area properly.
MozReview-Commit-ID: 1I9CeBx3zrz
--HG--
extra : rebase_source : 2db487c3e8fb56bca20f8bf51367b724c677b10f
We close the dialog using the same code path as when the user presses the ESC key.
MozReview-Commit-ID: LNMDTgMl2L
--HG--
extra : rebase_source : 0f2144523dc1ec2009638f8e6efe3340541d989f
Remove suggested and enhanced tiles along with related campaign, frequency-cap, inadjacency, pings, preferences, strings, styles, tests.
MozReview-Commit-ID: FkjaSpSFQHu
--HG--
extra : rebase_source : 1c58ac542180f0abb290639ec1c61b9edf3d0a51
This should help resolve the grainyness that was due to the
rasterization of a curved 1px border.
MozReview-Commit-ID: A4krkVAxFVS
--HG--
extra : rebase_source : 4eb5145558aaafd7e6bf963b134996cc5fff086d
This patch first adds an argument to the 'do_get_file(...)' function call in 'test_chrome_bookmarks.js' that simply allows the 'chromefiles' folder to be non-existent if it does not exist. The 'CoverageUtils.jsm' file is then modified so that the import of 'osfile.jsm' does not interfere with any tests. So, it is now imported into the script after the test has completed. Two other tests have unwanted behaviour that cause code coverage collection to fail so they are also skipped through this patch.
MozReview-Commit-ID: H42HN1solkh
--HG--
extra : rebase_source : 82706778961cd5d7dee4f66eb691d8ec62bde365
This patch uses the new Photon animation curve for notification bars as well
as supporting `toolkit.cosmeticAnimations.enabled` to disable the animations
on notification bars entirely.
MozReview-Commit-ID: AHSQR32g6hf
--HG--
extra : rebase_source : 9b643a758db07791dbda12f7e6383f193f3fa698
The patch does
- update both the in-content and in-content-old tests
- add the offline test page for appcache testing case
- update tests for switching to Quota Manager from Permission Manager to get sites list
- add one test case of grouping sites across scheme, port and origin attributes by host
- add one test case of list site using quota usage or site using appcache
MozReview-Commit-ID: 6brLVwzmSgf
--HG--
extra : rebase_source : 81ec407bbfd9bb97828db97b2244dee19dbe7eee
__define{Getter,Setter}__ are deprecated, and are not defined on
NonSyntacticVariablesObjects, so these calls get in the way of sharing
globals between different .jsms. Probably only the DownloadUtils.jsm
change is really needed for that.
configurable and enumerable are both set to true to match the existing
behavior. If enumerable is set to false, then tests fail, because some
of the getters overwrite the getter with a regular property.
MozReview-Commit-ID: 1OZF45fIAQ
--HG--
extra : source : 96dd2e2d8d1677fb04c98bb3a063df32478fbc00
If there is an update available but the user can't apply it, we
publish a notification on the update-available topic with the
status "cant-apply". This was previously being ignored by
browser.js. This should fix the bug in question on Windows 10.
MozReview-Commit-ID: 1twRvYEXbiT
--HG--
extra : rebase_source : c116239a35db022f7be13e693702fdff58882fc5
This patch reverts a change that bug 1352364 accidentally introduced
that led to the bookmark menu button shrinking in the bookmarks toolbar.
MozReview-Commit-ID: AkamENzseK2
--HG--
extra : rebase_source : ffb0a821b274562f60a2ee3fbcd5302c511694c8
restoreWindow only opens new tabs rather than re-use pre-existing tabs, so
there's no point in calling showTab anymore. hideTab also will not hide the
selected tab, so the "all tabs to be restored are hidden" case can't happen.
MozReview-Commit-ID: FzmRcjprkuN
--HG--
extra : rebase_source : 9e7bbdb4c56220b148636e332c4d518b46c71a37
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.
MozReview-Commit-ID: 1fjrDOhEKCw
--HG--
extra : rebase_source : 954ace7e43da90fcee3da2d70c4bdbcda8456d77
This patch does:
- remove codes about counting and removing http cache per site
- group and list sites based on host across scheme, port and origin attributes
- list sites using quota usage or appcache
- sort sites descending by usage by default
MozReview-Commit-ID: 29zZTzOsC7c
--HG--
extra : rebase_source : 72788954efc917ca95e6749ba81ea90cc098e88c
We recently switched the button icon to SVG but forgot to remove
a redundant moz-image-region rule.
MozReview-Commit-ID: 6FjlOwWtwnb
--HG--
extra : rebase_source : 31379b69529c05f925deb9e78b91084d20cc5ef7
Calling HTMLMediaElement.canPlayType() on the main thread will cause
us to do disk I/O to load system decoding libraries, so we shouldn't
do it on the main thread, let alone on the parent process' main thread.
I moved the telemetry into an idle service observer off main thread
into Gecko in the previous patch.
MozReview-Commit-ID: CH6LNNLzreJ
--HG--
extra : rebase_source : 9219c63b4f8e18d127988d1debcc8712037e5406
The actual dropmarker's list-style-image was forced to none while animating, with another one overlayed on top of it.
Setting fill: transparent; accomplishes the goal of hiding the default icon without affecting layout.
MozReview-Commit-ID: 9AhlfYR9SV9
--HG--
extra : rebase_source : 74cbac351fe96277441fc0252fc4b1ba3e4521b8
This is easy to test:
Green tick marks (gcli_sec_good.svg) and Red Crosses (gcli_sec_bad.svg):
1. Go to https://csp-evaluator.withgoogle.com/
2. Shift+F2
3. security csp
I couldn't find a way to show the Orange Minus (gcli_sec_moderate.svg) but the path is changed in line with the other images and I did test it programatically so it will be fine.
MozReview-Commit-ID: 5897IV7epax
--HG--
rename : browser/base/content/gcli_sec_bad.svg => devtools/client/themes/images/gcli_sec_bad.svg
rename : browser/base/content/gcli_sec_good.svg => devtools/client/themes/images/gcli_sec_good.svg
rename : browser/base/content/gcli_sec_moderate.svg => devtools/client/themes/images/gcli_sec_moderate.svg
extra : rebase_source : b550cd4184f2c9e77b1d5df2cf5c67c1296b8ade