Comments (12)
from the docs: "Your icon declarations should include a mime type of image/png"
@brendankenny is going to verify in the source
also found in //src/chrome/android/java/res/values/dimens.xml
:
<dimen name="webapp_home_screen_icon_size">48dp</dimen>
from lighthouse.
currently required in manifest:
- valid start_url
- valid name
- valid short_name
- icon of size >= 144x144 and png (either type
image/png
or filename ending in.png
)
from lighthouse.
"valid". for url it's valid by chromium's gURL standards, right? and then the two names it checks for exists and not empty?
from lighthouse.
for valid URL, it does appear that's correct. For the name checks, you may technically be able to get away with empty strings (it checks they aren't null), but I'm not sure. The manifest parse step may just covert empty strings to null.
from lighthouse.
Nearly done, but we need to check for 144px icons instead of 192px. (But having 192 icons would allow the test to pass)
brendan said:
. The change shouldn't be long in the icons-192 audit. Split on 'x' (which is required to be lowercase after parsing), parseInt on each, then check that both width and height are >= 144
from lighthouse.
@brendan i have this alsmost complete in a branch on my fork. 1% battery. see you guys.
from lighthouse.
To add to this, on a macbook pro, I get a "256px square icon is required" in Chrome. The 256px appears to come from it not taking the emulated screen into account, but we may need to investigate the "square" part of that.
This seems to discard non-square icons:
https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/manifest/manifest_icon_selector.cc&rcl=1459883706&l=43
but this explicitly tests non-square as OK:
https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/banners/app_banner_data_fetcher_unittest.cc&sq=package:chromium&type=cs&q=%22Non-square%20is%20okay%22%20file:%5Esrc/chrome/browser/banners/
so not sure how these two worlds interact within Chrome.
from lighthouse.
Fixed by the icons PR: #116
from lighthouse.
Just verifying the check here:
validity requires ALL of these:
- manifest is not empty
- manifest has valid start url
- manifest has a valid name and valid shortname
- manifest display property is either
standalone
orfullscreen
- manifest contains icon that's a png and size >=
144
px - SW is registered, and it owns this page and the manifest's start url
- Site engagement score of 2 or higher
Our audit is a little softer in its tests so far. It doesn't look at standalone/fullscreen and doesn't consider SW controlling the starturl. Also it checks for shortname || name
when it should be shortname && name
. Also obviously we don't look at site engagement.
from lighthouse.
manifest has a valid name and valid shortname
this one has been confusing because of the difference in context of use of the short_name
. See #348, for instance. We should add a clear comment on this when we fix this :)
It doesn't look at standalone/fullscreen
IMO we should get rid of the manifest display
audit and rename it chrome-a2hs-display.js
or whatever to make it clear what it is and test only for standalone/fullscreen
from lighthouse.
Looked again at the current implementation (installable_manager.cc and app_banner_manager.cc):
- is secure
- is either localhost or has a valid SSL Certificate
- has a service worker
- it must control the current url and the manifest's start_url
- valid_manifest
- has a valid starturl
- has either a name or shortname (that isn't an empty string)
- display is standalone/fullscreen/minimal-ui
- has a satisfactory icon
- must be a png
- must be square
- must be at least 72px, but chrome much prefers 144px or larger.
- has sufficient engagement
- currently requires a
2
. see at chrome://site-engagement/
- currently requires a
from lighthouse.
k cool
from lighthouse.
Related Issues (20)
- Isolate lantern in preparation for moving to trace engine
- Gathering trace data from iframe targets HOT 5
- Protocol error (Storage.getUsageAndQuota): Quota information is not available HOT 1
- Invalid_url when trying to run in Incognito HOT 2
- Page is hidden at first causing a `visibilitychange` event during testing HOT 11
- INP report in Detail HOT 2
- RootCauses Artifact is slow if there are lots of "SVG changed" invalidations HOT 3
- TraceElements: `impactedNodes` is not iterable HOT 3
- Allow clicking on timeline images to open the full-size image
- Lighthouse SEO section shows "unable to download a robots.txt file" for every site HOT 5
- layout-shifts `details.headings[n].subHeadings` is missing `valueType: 'node'` HOT 1
- zstd not recognized as compression (new in M123)
- Mobile test should also emulate having a `coarse` pointer device. HOT 6
- How to configure triggered of the end of a navigation?
- Utilize localized failure messages from axe HOT 1
- Excessive style recalcs caused by CSS usage tracking HOT 4
- Improve documentation on standalone mode runners HOT 5
- Page crashes when running test from large DOM.getDocument response HOT 4
- Unexpected changes in main thread time reported around March 8th HOT 8
- Sequential network requests are simulated as parallel and the first rtt is ignored
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lighthouse.