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 need be fetched via ResourceTask #35
Comments
|
We do want to avoid loading images that are not presented, though -- see https://bugzilla.mozilla.org/show_bug.cgi?id=689623. /be |
|
There are a couple of things to note here:
|
|
Note that for background-image the relevant base URI is the base URI of the stylesheet, not of the document (though the two may happen to be equal). So really, only someone who knows what the source of the image is can possibly know what base URI to use for it. A separate discussion to be had is how we want to represent URIs in servo.... |
|
OK, I've written an image cache task, with two operations, Prefetch and GetImage, and I've hooked it up to layout, so now images are being loaded through the resource manager. Right now what happens is that when layout applies a background image style it sends the Prefetch message, at which point the image cache will tell the resource manager to begin loading the file. Later on, when building the display list, we post the GetImage method, wait for the result and store the image in the display list. It's not until GetImage that the image cache actually does the decoding. Because we wait for the image, we are still doing decoding sequentially. What we really want is to store a future in the display list, but I need to rewrite the futures module for that. The burrito kitty test works when loading from a local file, but when loading from the network the image doesn't arrive in time so it doesn't display. We'll need to post a reflow message in this case. |
Audio constructor test
Remove the dependency to compile_msg
# This is the 1st commit message: Don't access the reflector when dropping a Promise (fixes servo#18651) The reflector may be dead already. # This is the commit message servo#2: Run automated test for memory report charter. # This is the commit message servo#3: Run memory charting test on CI. # This is the commit message servo#4: Move the TravisCI test to the quick group. # This is the commit message servo#5: Add timeout pref to the mozilla/worklets wpt tests # This is the commit message servo#6: Added .ini for test_paint_worklet_timeout.html # This is the commit message servo#7: Update the in-tree status of WPT syncing. # This is the commit message servo#8: refactor(window): reference winit where applicable - relates with servo#20299 # This is the commit message servo#9: Update mozangle to 0.1.6. # This is the commit message servo#10: Update to handle WebRender API changes Items now only take a clipping rectangle instead of a LocalClip. # This is the commit message servo#11: Update WR (local clip API change, texture cache optimizations). # This is the commit message servo#12: Update the MULTIPROCESS static when changing default options # This is the commit message servo#13: Add Windows support to the --nightly | -n flag. # This is the commit message servo#14: build(cargo): enable webrender capture feature # This is the commit message servo#15: feat(windowevent): expose CaptureWebRender event # This is the commit message servo#16: feat(window): bind hotkey to trigger capture event # This is the commit message servo#17: Avoid using WPT test runner to update the test manifest. # This is the commit message servo#18: Use typed coordinates. We use Size2D and Point2D across compositing, constellation and script, losing the type of pixels we use (DevicePixel, DeviceIndepententPixel or CSSPixel) along the way, which might lead to bugs like window.outerHeight not taking into account the page zoom (using DeviceIndepententPixel instead of CSSPixel). # This is the commit message servo#19: alias some euclid types # This is the commit message servo#20: remove WindowMethods::size() # This is the commit message servo#21: Remove update-manifest argument that is no longer valid. # This is the commit message servo#22: Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 # This is the commit message servo#23: Add icon to servo.exe # This is the commit message servo#24: Use mozjs 0.3 fork without Heap::new # This is the commit message servo#25: Root JS object members in dictionaries # This is the commit message servo#26: Root `any` members in dictionaries # This is the commit message servo#27: Add key/value iterable HTML benchmark # This is the commit message servo#28: Fix tabs # This is the commit message servo#29: Use upstream mozjs 0.3 # This is the commit message servo#30: Update WR (radial gradient optimizations). # This is the commit message servo#31: CounterBound::Integer made to store an Integer # This is the commit message servo#32: style: Remove unsound Atom From implementations. Fixes servo#20158 # This is the commit message servo#33: style: Cleanup @-moz-document parsing a bit. MozReview-Commit-ID: 7vd0BLAqM0v Bug: 1446470 Reviewed-by: xidorn # This is the commit message servo#34: style: Allow @-moz-document url-prefix() on content. MozReview-Commit-ID: zaT41fpsDT Bug: 1446470 Reviewed-by: xidorn # This is the commit message servo#35: style: Add another pref to control the url-prefix hack. MozReview-Commit-ID: D4qL0oO69Uh Bug: 1446470 Reviewed-by: xidorn # This is the commit message servo#36: style: Update bindings. # This is the commit message servo#37: Update web-platform-tests to revision 790e6601ee8b4b412b6ad9f6fde466b7ccb9cb7e # This is the commit message servo#38: style: Better Shadow DOM assertions. Bug: 1445682 Reviewed-by: xidorn Differential Revision: https://phabricator.services.mozilla.com/D748 # This is the commit message servo#39: Support memory report logs with interleaved non-report output, added automated tests # This is the commit message servo#40: Update WR revision. # This is the commit message servo#41: Add Servo_Property_IsShorthand to geckolib/glue.rs # This is the commit message servo#42: Re-expose webrender debugger feature in components/servo Update ws in debugger to 0.7.3 Update lockfile # This is the commit message servo#43: Update web-platform-tests to revision 3ec34e5a2c8cbeeb7fad521cce0daf923b272a92 # This is the commit message servo#44: Make `type` argument as optional and ignore it in open method # This is the commit message servo#45: Update steps with new spec # This is the commit message servo#46: Make type-argument.window.js test as pass # This is the commit message servo#47: Simplify GetTexParameter # This is the commit message servo#48: Simplify VertexAttribOffset # This is the commit message servo#49: Simplify BufferParameter # This is the commit message servo#50: Simplify GetShaderPrecisionFormat # This is the commit message servo#51: Update web-platform-tests to revision 3a8328470d53c4501e31cec2775c4d33821c2275 # This is the commit message servo#52: Mouse position from glutin is DevicePixel # This is the commit message servo#53: Update servo-websocket to 0.21 # This is the commit message servo#54: Bump ipc-channel and bincode This required bumping uuid too which unfortunately duplicated rand. # This is the commit message servo#55: Remove our dependency on the gcc crate # This is the commit message servo#56: Blobs support typed arrays now # This is the commit message servo#57: Bump parking_lot to 0.5 # This is the commit message servo#58: initial shot at initial steps # This is the commit message servo#59: Second shot at initial steps # This is the commit message servo#60: Progress on initial steps # This is the commit message servo#61: initial shot at initial steps
# This is the 1st commit message: resolved merge conflict # This is the commit message servo#2: style(capture_webrender): use eprintln for error output # This is the commit message servo#3: Fix some more WebGL methods # This is the commit message servo#4: Implement OES_element_index_uint (fixes servo#20384) # This is the commit message servo#5: Use mozjs 0.4 # This is the commit message servo#6: Add safe `handle` function for rooted heap values # This is the commit message servo#7: Use unsafe Heap::handle wherever needed # This is the commit message servo#8: Change WebGL function signatures accepting typed arrays # This is the commit message servo#9: Adapt function bodies for usage with typed array args # This is the commit message servo#10: Adapt uniform[fv] and similar to accept typed array args # This is the commit message servo#11: Appease test-tidy # This is the commit message servo#12: Fix sanity check in vertex attrib # This is the commit message servo#13: Fix indentation # This is the commit message servo#14: Unify argument auto rooting in codegen # This is the commit message servo#15: Add codegen test for function overloads taking typed array args # This is the commit message servo#16: Use safe to_vec() for typed arrays in WebGL bindings # This is the commit message servo#17: Bug 1448138 - Rename string DataFlags::SHARED to REFCOUNTED to make it clearer to those reading the code. (Servo changes.) r=erahm # This is the commit message servo#18: Used the zip function to iterate over both vectors simultaneously instead of an index variable and unwrapping the result. # This is the commit message servo#19: Implement HTMLCanvasElement.toDataURL for WebGL canvas (fixes servo#19147) # This is the commit message servo#20: Update web-platform-tests to revision d04a8fc02b85bd32799691759c8c05ead07cd939 # This is the commit message servo#21: Implement missing checks in WebGLRenderingContext::GetBufferParameter # This is the commit message servo#22: Implement WebGLRenderingContextBase.getAttachedShaders # This is the commit message servo#23: Implement missing WebGLShader checks Methods compileShader and getShaderParameter should emit an error when the shader has been deleted. # This is the commit message servo#24: Add constructors for typed arrays in DOMMatrix and DOMMatrixReadOnly # This is the commit message servo#25: feat(webidl): expose arraybuffer overload in body idl # This is the commit message servo#26: feat(consume_body): implement consume_body accepts arraybuffer # This is the commit message servo#27: refactor(consume_body): json stored in roottraceablebox # This is the commit message servo#28: test(wpt): update fetch test metadata # This is the commit message servo#29: Implement gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE) # This is the commit message servo#30: TextDecoder's Decode now receives a BufferSource as input # This is the commit message servo#31: Update mozjs. # This is the commit message servo#32: Switches WriteValue to use BufferSource # This is the commit message servo#33: Switches characteristic to use BufferSource # This is the commit message servo#34: Updates Bluetooth type to use BufferSource # This is the commit message servo#35: Websockets send typed arrays now # This is the commit message servo#36: Dedupe lazy_static🎉 🎉 🎉 # This is the commit message servo#37: Statically allocate static atoms. # This is the commit message servo#38: Update web-platform-tests to revision d04a8fc02b85bd32799691759c8c05ead07cd939 # This is the commit message servo#39: refactor(websocket): do not borrow sender anymore
images are loaded by apply_style directly from disk. In order to use the resource manager to load the image we need to know the url of the current document (in order to resolve relative paths), and that url isn't available to the layout task currently.
It seems like layout shouldn't be responsible for loading images anyway, so something needs to be reconsidered here.