This patch also includes necessary JS changes to support this. Most commonly, the dialog was accessed with document.documentElement, which needed to be changed now that the dialog is not the top level element.
Differential Revision: https://phabricator.services.mozilla.com/D52411
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.
find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
if [ -n "$interfaces" ]; then
if [[ "$interfaces" == *$'\n'* ]]; then
regexp="\("
for i in $interfaces; do regexp="$regexp$i\|"; done
regexp="${regexp%%\\\|}\)"
else
regexp="$interfaces"
fi
interface=$(basename "$path")
rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
if [ $hits -eq 0 ]; then
echo "Removing ${interface} from ${path2}"
grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
mv -f "$path2".tmp "$path2"
fi
done
fi
done
Differential Revision: https://phabricator.services.mozilla.com/D55443
- align="left" maps to pack="start" for horizontal boxes and align="start" for vertical boxes.
- align="right" maps to pack="end" for horizontal boxes and align="end" for vertical boxes.
Differential Revision: https://phabricator.services.mozilla.com/D55528
This patch ressurects HiddenFrame.jsm and uses it when handling
the --screenshot command line argument to load the requested page
in a content process. The actual logic for grabbing the image is
also ported to a JSWindowActor. The test for this feature remains
suboptimal as described in the bug.
Differential Revision: https://phabricator.services.mozilla.com/D40148
This patch ressurects HiddenFrame.jsm and uses it when handling
the --screenshot command line argument to load the requested page
in a content process. The actual logic for grabbing the image is
also ported to a JSWindowActor. The test for this feature remains
suboptimal as described in the bug.
Differential Revision: https://phabricator.services.mozilla.com/D40148
Bug 1544105 added a default implementation of `GfxInfoBase::FindMonitors` so
`gfxInfo.getMonitors()` no longer throws on Linux, but it only ever returns the
primary monitor there.
Differential Revision: https://phabricator.services.mozilla.com/D30096
When I implemented the no preview for span I did originally try using text in
the canvas, but discarded it when I realised trying to format it to display
nicely (across different languages and text lengths) was a losing proposition.
However just the prohibition symbol without context is confusing to users, and
on reflection the text can easily be included as an element stacked on top of
the canvas.
Also lighten the background of the no preview message, since the pure black was
indistinguishable from the frame sides on Windows and Linux.
Differential Revision: https://phabricator.services.mozilla.com/D29750
This is regression by bug 1502772. Windows 7 doesn't support bitmap v4 format
for wallpaper. So I revert to previous code to write wallpaper bitmap.
Differential Revision: https://phabricator.services.mozilla.com/D27465
Don't use gconf service to get/set default browser as it breaks recent Gnome environment.
Also use XDG_CURRENT_DESKTOP to check actual desktop.
Differential Revision: https://phabricator.services.mozilla.com/D25395
The changes in bug 1507352 caused onLocationChange events to be ignored
when there was an http redirect. This caused the screenshot command to hang
since it never attached an event listener on the page it was redirected to.
Differential Revision: https://phabricator.services.mozilla.com/D22220
Removed all occurences of ondialogaccept.
Removed all occurences of ondialogcancel.
Replaced all removed attributes with event handlers.
Differential Revision: https://phabricator.services.mozilla.com/D21227
Currently for any screen with a ratio 1.6 or above, the preview uses a 16:10
image. However, the majority of Fx users have a screen that is 16:9[0], so for
most users the preview shows images distorted (compressed horizontally).
Originally I just added a new 16:9 version of the monitor image, but then I
realised I could save on filesize _and_ make it responsive to whatever the
user's screen actually is, rather than using arbitrary presets, by using
border-image.
The new image files are just sliced up versions of the original monitor.png
files, zopfli compressed to match (though with the power indicator dropped from
the Linux/Windows version to avoid distorting it). The combined filesize
savings seem to be 8.5KiB on macOS and 6.5KiB on Linux/Windows.
With the removal of the use of margins on the canvas we no longer need the
platform-specific setDesktopBackground.css file.
[0] https://data.firefox.com/dashboard/hardware
As of 3rd March 2019 the top three resolutions, 1366x768, 1080p, & 1600x900,
are all 16:9 and make up 67% of the userbase.
Differential Revision: https://phabricator.services.mozilla.com/D23114
Currently for any screen with a ratio 1.6 or above, the preview uses a 16:10
image. However, the majority of Fx users have a screen that is 16:9[0], so for
most users the preview shows images distorted (compressed horizontally).
Originally I just added a new 16:9 version of the monitor image, but then I
realised I could save on filesize _and_ make it responsive to whatever the
user's screen actually is, rather than using arbitrary presets, by using
border-image.
The new image files are just sliced up versions of the original monitor.png
files, zopfli compressed to match (though with the power indicator dropped from
the Linux/Windows version to avoid distorting it). The combined filesize
savings seem to be 8.5KiB on macOS and 6.5KiB on Linux/Windows.
With the removal of the use of margins on the canvas we no longer need the
platform-specific setDesktopBackground.css file.
[0] https://data.firefox.com/dashboard/hardware
As of 3rd March 2019 the top three resolutions, 1366x768, 1080p, & 1600x900,
are all 16:9 and make up 67% of the userbase.
Differential Revision: https://phabricator.services.mozilla.com/D23114
Usually the brandName is a single word like "Firefox" or "Nightly" but
DevEdition's is "Firefox Developer Edition", so on mozilla-beta the filename can
be written with spaces, which GSettings will return percent encoded in a file://
URL so we need to match that.
Differential Revision: https://phabricator.services.mozilla.com/D22746
Bug 1498274 removed the enclosing groupbox, which also removed the XBL box that
bounded the image size. Add a vbox to do so.
Also add a test that checks the image's sizes match its natural sizes.
Differential Revision: https://phabricator.services.mozilla.com/D20547
It seems like none of the Linux test runners lack GSettings, so effectively this
test hasn't actually been testing anything for a while.
Differential Revision: https://phabricator.services.mozilla.com/D20546
Currently the test fails since it throws "TypeError: content is null". This
hasn't been noticed since this test only runs when gsettings is absent and
presumably all the test machines have it.
Differential Revision: https://phabricator.services.mozilla.com/D20545
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8
This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:
ChromeUtils.import("resource://gre/modules/Services.jsm");
is approximately the same as the following, in the new model:
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs
This was done using the followng script:
https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16750