"Prior to Android 8.0 (API level 26), if an app requested a permission at
runtime and the permission was granted, the system would also incorrectly
grant the app the rest of the permissions that belonged to the same permission
group, and that were registered in the manifest.
For apps targeting Android 8.0, this behavior has been corrected. The app is
granted only the permissions it has explicitly requested. However, once the
user grants a permission to the app, all subsequent requests for permissions
in that permission group are automatically granted."
https://developer.android.com/about/versions/oreo/android-8.0-changes#rmp
Our FilePicker can delegate other applications to record media files
(photo/audio/video) which are then to be sent to websites. They must be saved
locally before the upload, scenario that wasn't possible anymore on Oreo+
because of the change in how Android handles runtime permissions.
As a way to get around this one could grant the "Storage" permission from
System Settings which would grant the app both READ and WRITE access.
But for actually being prepared to handle all situations our FilePicker must
ask for the WRITE_EXTERNAL_STORAGE permission at runtime.
Differential Revision: https://phabricator.services.mozilla.com/D20821
--HG--
extra : moz-landing-system : lando
Introduces a generation number in dom::base::Document as well
as a cached version of TabSizes we can Get and Set.
When the document is changed, the cache is invalidated.
This change improves about:performance speed by avoiding
a heavy recursive call on big DOM trees via GetTabSizes() calls.
If the page does not change, the cached values are returned.
Differential Revision: https://phabricator.services.mozilla.com/D20526
--HG--
extra : moz-landing-system : lando
The assertions were unneeded as the test above covered the case.
Depends on D21171
Differential Revision: https://phabricator.services.mozilla.com/D21172
--HG--
extra : moz-landing-system : lando
It's easier to see what remains that way. Done with the following script:
```
execfile("layout/style/ServoCSSPropList.py")
for p in data:
if p.type() != "longhand":
continue
if "GetCSNeedsLayoutFlush" in p.flags or "SerializedByServo" in p.flags or "Internal" in p.flags:
continue
print(p.name)
```
Ran like:
```
$ python print.py | sort
```
From the objdir.
Differential Revision: https://phabricator.services.mozilla.com/D20965
Consequently, since we don't readahead jars in child processes, we
don't record jar accesses from child processes. In fact, intertwining
jar accesses from child processes with those from the parent process was
arguably making things less efficient for the parent process. But this
code was written at a time e10s was barely a thing, so it wasn't really
thought for a multi-process world.
Differential Revision: https://phabricator.services.mozilla.com/D20752
--HG--
extra : moz-landing-system : lando
instead of ReadAhead, which does active reading on Windows.
The PrefetchVirtualMemory is a system call that is new to Windows 8.
Back when the readahead code for jar was added, in bug 810151, Windows 8
was still fresh out of the oven. 6 years later, we can do a runtime
check and use the PrefetchVirtualMemory function.
One downside is that the IOInterposer doesn't know about it (but it
doesn't know about madvise on other platforms anyways).
Differential Revision: https://phabricator.services.mozilla.com/D20807
--HG--
extra : moz-landing-system : lando
This test should remind us to regenerate the test certificates next year before they actually expire.
Differential Revision: https://phabricator.services.mozilla.com/D21065
--HG--
extra : moz-landing-system : lando
This doesn't introduce any functional changes. However, it refactors
the way that stacking context coords are converted into reference
frame relative coordinates.
Having a single method to retrieve the current offset will make it
easier to take advantage of the newly added API that allows Gecko
to supply initial scroll offsets for scroll nodes. In turn, this
will allow WR to normalize the local coordinates of primitives, which
will allow future improvements and simplifications to the picture
caching implementation.
Differential Revision: https://phabricator.services.mozilla.com/D21090
--HG--
extra : moz-landing-system : lando
We don't need to copy `dirAndSrcs` when appending it to `outTokens`, and
we can reasonably retain the storage we've built up in `dirSrcs`, so we
don't continually reallocate it.
The skipWhiteSpace* family of functions write the characters they're
skipping, only to truncate the string after skipping. This appending is
needless work, so let's skip it.
This clarifies the descriptions of newCompartment, sameCompartmentAs, and
sameZoneAs.
Differential Revision: https://phabricator.services.mozilla.com/D20910
--HG--
extra : moz-landing-system : lando
Depends on D21007
Adds a Copy All Changes button to the toolbar of the Changes panel.
When pressed, this builds a stylesheet out of the changes for all sources tracked (stylesheets, element styles, etc)
The output format is the same as the now defunct Bug 1524548 with the added code comment as separator between the sources.
Differential Revision: https://phabricator.services.mozilla.com/D21008
--HG--
extra : moz-landing-system : lando
Remove the Copy All and Copy All Changes context menu options form the Changes panel context menu. As decided by PM & UX, they will be replaced with a single Copy All Changes button in the toolbar (part 2 of this series).
Differential Revision: https://phabricator.services.mozilla.com/D21007
--HG--
extra : moz-landing-system : lando
A number of small tweaks to enable the picture caching invalidation
tests. With this in place, we can start adding more test coverage
for various invalidation scenarios.
- Make the reference image render after the test images, so that dirty
region tracking is more intuitive.
- Instead of replaying the same frame in wrench to ensure frames are
caching, try to cache tiles every frame when testing mode is enabled.
- Add a basic invalidation test for a rectangle with color that changes
each frame.
- Make the dirty region index implicit and rename dirty_region to dirty
in reftest format.
- Fix an underflow error when moving to next frame in wrench.
Differential Revision: https://phabricator.services.mozilla.com/D20963
--HG--
extra : moz-landing-system : lando
Adds a button that shows up when hovering selectors in the Changes panel.
When clicked, it invokes the same Copy Rule behavior implemented for the context menu: copies the full content of the rule with changes applied.
The added/changed CSS class names use BEM notation. I intend to refactor the Changes panel stylesheet to BEM in a follow-up patch.
Differential Revision: https://phabricator.services.mozilla.com/D20808
--HG--
extra : moz-landing-system : lando