Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upImages loaded from file:// urls are not meaningfully cached #24720
Comments
|
@highfive assign me |
|
Hey @nmvk! Thanks for your interest in working on this issue. It's now assigned to you! |
|
@nmvk are you still working on this issue? If not I'd like to give it a try. |
|
@kunalmohan It's been several months with no update; I think you can start working on it :) |
|
Thanks @jdm! I'll get started with it right away. |
|
@jdm I am going to need some help here. I am trying to understand the flow of things that are happening here. Here's in brief of what I have understood-
Am I right here? |
|
Yes, that is correct. |
bors-servo
added a commit
that referenced
this issue
Feb 17, 2020
Take origin from current window instead of creating a new one in event of reflow Everytime a new `LayoutContext` was created, it created a new origin which caused endless stream of image loads to occur in case of reflow. The reason for this was that the existing image, although cached successfully, was not used because the entry in hashmap did not match because of different(new) origin. This is solved by storing the origin of a window in enum `ScriptReflow` and used in creating new `LayoutContext` in case of reflow. <!-- Please describe your changes on the following line: --> r?@jdm --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #24720 (GitHub issue number if applicable) <!-- Either: --> - [X] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
bors-servo
added a commit
that referenced
this issue
Feb 19, 2020
Take origin from current window instead of creating a new one in event of reflow Everytime a new `LayoutContext` was created, it created a new origin which caused endless stream of image loads to occur in case of reflow. The reason for this was that the existing image, although cached successfully, was not used because the entry in hashmap did not match because of different(new) origin. This is solved by storing the origin of a window in enum `ScriptReflow` and used in creating new `LayoutContext` in case of reflow. <!-- Please describe your changes on the following line: --> r?@jdm --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #24720 (GitHub issue number if applicable) <!-- Either: --> - [X] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
bors-servo
added a commit
that referenced
this issue
Feb 19, 2020
Take origin from current window instead of creating a new one in event of reflow Everytime a new `LayoutContext` was created, it created a new origin which caused endless stream of image loads to occur in case of reflow. The reason for this was that the existing image, although cached successfully, was not used because the entry in hashmap did not match because of different(new) origin. This is solved by storing the origin of a window in enum `ScriptReflow` and used in creating new `LayoutContext` in case of reflow. <!-- Please describe your changes on the following line: --> r?@jdm --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #24720 (GitHub issue number if applicable) <!-- Either: --> - [X] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
RUST_LOG=net ./mach run tests/wpt/mozilla/tests/css/background_size_zero_a.htmlshows an endless stream of image loads happening because there's a new opaque origin provided every time. This is fallout from #24340, presumably because file:// urls generate a new opaque origin. This happens because when we create a LayoutContext in layout_thread/lib.rs, we passself.url.origin()as the origin that gets used in get_or_request_image_or_meta, when we should be obtaining it from the window when kicking off reflow instead.