diff options
author | Andy <webmaster@RealityRipple.com> | 2020-08-04 13:54:01 -0700 |
---|---|---|
committer | Andy <webmaster@RealityRipple.com> | 2020-08-04 13:56:45 -0700 |
commit | 3ed884a6adff46cb5871508612832ab8691752ac (patch) | |
tree | 8325a71298a455591729769b2c6d015e2af77748 /layout/generic/nsImageFrame.h | |
parent | 267d32f4f3360bb583486391d3d9cb620458c5f0 (diff) | |
download | UXP-3ed884a6adff46cb5871508612832ab8691752ac.tar UXP-3ed884a6adff46cb5871508612832ab8691752ac.tar.gz UXP-3ed884a6adff46cb5871508612832ab8691752ac.tar.lz UXP-3ed884a6adff46cb5871508612832ab8691752ac.tar.xz UXP-3ed884a6adff46cb5871508612832ab8691752ac.zip |
Issue #1620 - Use Intrinsic Aspect Ratio for Images
https://bugzilla.mozilla.org/show_bug.cgi?id=1547231
https://bugzilla.mozilla.org/show_bug.cgi?id=1559094
https://bugzilla.mozilla.org/show_bug.cgi?id=1633434
https://bugzilla.mozilla.org/show_bug.cgi?id=1565690
https://bugzilla.mozilla.org/show_bug.cgi?id=1602047
Make use of Aspect Ratios in Image frames before Images are loaded.
- Check for width and height HTML properties and create a ratio with them.
- Overwrite HTML size values with actual image dimensions on load.
- Collapse any frames with srcless images.
Comments:
dom/html/nsGenericHTMLElement.cpp:1483
layout/generic/nsImageFrame.cpp:289
Diffstat (limited to 'layout/generic/nsImageFrame.h')
-rw-r--r-- | layout/generic/nsImageFrame.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/layout/generic/nsImageFrame.h b/layout/generic/nsImageFrame.h index 2414d89df..5e9b67274 100644 --- a/layout/generic/nsImageFrame.h +++ b/layout/generic/nsImageFrame.h @@ -273,21 +273,19 @@ private: void GetDocumentCharacterSet(nsACString& aCharset) const; bool ShouldDisplaySelection(); + // Whether the image frame should use the mapped aspect ratio from width="" + // and height="". + bool ShouldUseMappedAspectRatio() const; + /** * Recalculate mIntrinsicSize from the image. - * - * @return whether aImage's size did _not_ - * match our previous intrinsic size. */ - bool UpdateIntrinsicSize(imgIContainer* aImage); + bool UpdateIntrinsicSize(); /** * Recalculate mIntrinsicRatio from the image. - * - * @return whether aImage's ratio did _not_ - * match our previous intrinsic ratio. */ - bool UpdateIntrinsicRatio(imgIContainer* aImage); + bool UpdateIntrinsicRatio(); /** * This function calculates the transform for converting between @@ -308,6 +306,12 @@ private: bool IsPendingLoad(imgIRequest* aRequest) const; /** + * Updates mImage based on the current image request (cannot be null), and the + * image passed in (can be null), and invalidate layout and paint as needed. + */ + void UpdateImage(imgIRequest* aRequest, imgIContainer* aImage); + + /** * Function to convert a dirty rect in the source image to a dirty * rect for the image frame. */ |