DescriptionRevert of Use Shadow DOM to display fallback content for images (patchset #28 id:540001 of https://codereview.chromium.org/481753002/)
Reason for revert:
Broke accessibility tests on Chrome build
Original issue's description:
> This replaces the use of painting in RenderImage to display an image's alt text
> with an implementation in shadow DOM. This initial implementation is close in
> appearance to the legacy display of alt-text but will ultimately move closer to
> the one seen in Firefox and described in http://hixie.ch/specs/alttext.
>
> The alt-text and broken-image icon is now rendered as:
>
> <style>
> #alttext-container {
> overflow: hidden;
> border: 1px solid silver;
> padding: 1px;
> display: inline-block;
> }
> #alttext { display: none; overflow: hidden;}
> </style>
> <div id="alttext-container">
> <img src="data:png, [broken-image-icon]" width="16" height="16" align="left" style="margin: 0px">
> <div id="alt-text">Alt text in here</div>
> </div>
>
> Some notes on the way the fallback content is now rendered:
>
> - The fallback content is rendered inside an inline-block so it does not calculate
> its dimensions the way a replaced element (i.e. an image) would (as defined by
> http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width). So where one of width
> or height is auto but the other is not, the fallback content will not exactly match
> the dimensions calculated by RenderImage in error mode currently. We do a modest
> imitation of the logic in quirks mode, but in strict mode it will behave exactly like an inline-block.
>
> - Where the image has no src attribute and no alt attribute RenderImage.cpp
> still looks after the painting of the element - no fallback content is generated
> and no broken image is displayed. This is consistent with existing behaviour.
>
> - The only image resource requests that still use the synchronous load path are
> those where the item is cached (and didn't error out), where it's a data: source,
> where its the fallback image for an object element, or where it's the image
> for a main resource load. All other image loads are now asynchronous so that
> fallback content can be loaded outside the style recalc phase.
>
>
> - Instead of aborting an image resource request when the src element is empty
> (i.e. src='') we now allow the request to go through so that it can fail and
> invoke the fallback content in HTMLImageLoader.cpp.
>
> - As you can see in the new result for fast/borders/rtl-border-05.html, since
> the alt-text is displayed as an inline-block it no longer artificially shrinks
> any border on the element to the broken-image icon.
>
> Some notes on the rebaselined test results:
>
> - I've modified inspector/network/network-image-404.html to output the state of
> both the resource requests, i.e. the failed one and the resource request for the
> data:png to display the broken image icon.
>
> - I've added a missing support file for fast/css/counters/complex-before.html -
> its absence meant that the result was polluted by the behaviour of broken image
> rendering.
>
> - Likewise for fast/images/imagemap-polygon* tests - our new rendering of failed
> image loads was interfering with an assumption in the tests that a broken image
> still painted a RenderImage. So I've removed the src attribute to allow the
> assumption hold (img elements without a src attribute are painted by
> RenderImage).
>
> - http/tests/security/local-image-from-remote-whitelisted.html has been masking
> a bug - blink does not load the image even though it is whitelisted. I am
> rebaselining the test to reflect the failure revealed by this CL and tracking
> a fix under crbug.com/410949.
>
> - I have altered fast/forms/state-restore-to-non-edited-controls.html to wait
> 100ms before submitting the form as the image load in the input element is now
> asynchronous.
>
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184770
TBR=esprehn@chromium.org
NOTREECHECKS=true
NOTRY=true
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184773
Patch Set 1 #
Created: 6 years, 1 month ago
(Patch set is too large to download)
Messages
Total messages: 3 (0 generated)
|