Contact emails
caval...@chromium.org, a.cava...@samsung.com
Spec
http://www.w3.org/TR/2005/WD-css3-background-20050216/#the-border-image
Summary
Chrome implementation for border-image has a quirk where an element with no border-style defined (i.e. none) will still have the border rendered if it has a border-image property defined.
That is in violation of the spec and is creating interoperability problems with other browser engines, specially in mobile.
The idea is to change the code to follow the spec, thus having the same behavior as other browser engines (e.g. Gecko, IE).
Motivation
This quirk is shared with WebKit and as the dominant mobile OSes have either a WebKit/Blink based browser as default, authors are creating mobile websites that are incompatible with other browser engines.
As an example, Gecko is having issues in both Android and FFOS and recently, MS Edge had to implement this quirk to allow correct rendering of gcalendar/gmail (both teams were notified and there are internal bugs opened).
Interoperability and Compatibility Risk
This change should not impact any website that currently renders correctly in other browser engines or that is using the property in the correct way.
The preliminary numbers in Google Canary for BorderImageWithBorderStyleNone are 0.15% of pages (i.e. 1 in 700 pages). The impact on those websites should be minimal, as the fix is an one liner (i.e. border-style: solid)
The involved parties are supportive (Mozilla, Apple, Microsoft), as the later is willing to revert the quirk in MS Edge to bring it back to compliance (as it was a regression from IE). In case of Mozilla, its contributor has joined the discussions in the bug report and for Apple, the patch fixing this behavior in WebKit has been r+ed already.
Ongoing technical constraints
None.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
OWP launch tracking bug
https://code.google.com/p/chromium/issues/detail?id=559258
Entry on the feature dashboard
https://www.chromestatus.com/features/5542503914668032
Requesting approval to ship?
Yes.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
--
Hi Rick,
On 2/5/16 2:06 PM, Rick Byers wrote:
Do we have compat data on this from any other vendors? Eg. any reason
to believe there aren't thousands of other less popular sites affected
by this? If it's really only mobile Gmail, then I'd support breaking
the behavior anyway - we can't let a single website hold back
interoperability on the web (and as I told the CSS WG, who owns such a
website is irrelevant to the chromium project since our mission is to
advance the web at large). But if mobile GMail / calendar are just the
most obvious broken examples of a long tail of issues, then this may be
futile anyway. Although unfortunate, we know that a large portion of
the mobile web was only really tested with WebKit-based browsers.
GCal and Gmail are the largest on our radar -- it's great that GCal has updated. Perhaps breaking Gmail in Chrome Mobile would motivate some Gmail engineers to use some 10% time for CSS updates. ^_^
48 sites have something called an_scripts.js to detect ad block users, but it just sets -webkit-border-image to the empty string (for some element).
165 are a Wordpress theme called Slide Deck 2, and it looks like these would break, but *only* for the Leather theme. None of the sites I looked at were using that.
.slidedeck-cover-style-leather .slidedeck-cover .slidedeck-cover-wrapper .slidedeck-cover-wrapper-back .slidedeck-cover-wrapper-back-inner {
position: absolute;
display: block;
top: 8px;
right: 0;
bottom: 8px;
left: 108px;
margin: 0;
border-width: 8px 0 8px 8px;
-moz-border-image: url('../images/border-dashed.png') 9 repeat;
-webkit-border-image: url('../images/border-dashed.png') 9 repeat;
-o-border-image: url('../images/border-dashed.png') 9 repeat;
border-image: url('../images/border-dashed.png') 9 repeat;
}
But I heard skeumorphism isn't cool anymore, so maybe not a huge concern.
cssdesk.com would break, for the dropdown style.
But it kinda already looks broken?
https://cloudup.com/cY9fo1X5T1O (ff vs. safari)
And basically everything else I looked at (maybe 30 more individual sites) seemed OK.
Worst case and this change is really not sufficiently web-compatible,
perhaps we should just spec -webkit-border-image
<https://github.com/whatwg/compat/issues/17> to have this quirk? That's
not the end of the world (not quite an alias, but almost all the code
should still be shared).
Obviously I'd prefer to not have to spec this, but if Blink and WebKit aren't willing to move to the spec compliant behavior Gecko will probably need to just for fancy Tier 1 Google properties (so we can get away from the lo-fi HTML version Gmail sends Firefox for Android users by default).
I'm not an API owner, but +1 to matching the spec here. Seems like the risk is low, and the cross browser compatibility is a win. Let's do it! :)
I queried the Jan desktop Chrome dataset. The Android dataset is still tiny AFAIK (probably still testing the data collection pipeline).
--
Yeah this is a tricky one. Due to the unknown influence of GMail on the use counters, I'm considering this similar to the Event property removals where we basically ignored the use counters.
To me the strongest signal is Firefox saying Gmail is now the only site where this causes a problem for them. I believe I also heard the Edge team say they'd revert their copy of the hack if GMail were fixed, but I can't find the source for that so it should be considered only rumour. I see the httparchive data as being consistent with that claim (but far from proof).
Mobile GMail is not actively being developed, so we should assume it will not be fixed proactively (there is no one actively working on a fix).
I think the risk is low enough just to try this. Or perhaps we should do a deprecation period? The only other idea I have is to try to exclude Google domains from the use counter.
Rick
A deprecation warning for one milestone followed by attempted removal sounds good to me. As before we should still be prepared to revert the removal if we discover a bunch more affected sites.
Rick