New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement DOMImplementation.hasFeature. #4010
Labels
A-content/dom
Interacting with the DOM from web content
E-less-complex
Straightforward. Recommended for a new contributor.
I-enhancement
No impact; the issue is a missing or proposed feature.
Comments
Ms2ger
added
A-content/dom
Interacting with the DOM from web content
E-less-complex
Straightforward. Recommended for a new contributor.
I-enhancement
No impact; the issue is a missing or proposed feature.
labels
Nov 16, 2014
znewman01
added a commit
to znewman01/servo
that referenced
this issue
Nov 18, 2014
znewman01
added a commit
to znewman01/servo
that referenced
this issue
Nov 18, 2014
bors-servo
pushed a commit
that referenced
this issue
Nov 18, 2014
Fixes #4010. This is my first Servo contribution, so let me know if I missed anything!
srm09
pushed a commit
to shanil-puri/servo
that referenced
this issue
Dec 3, 2014
Rename LoadIframeUrlMsg to CreateIFrameAndLoadUrlMsg This better reflects what the message does. Small fix to variable name This is a more accurate name for the script pipeline. Add some factory methods for frame tree types Send incremental frame tree updates to the compositor This allows the compositor to add frames after the call to SetIds, where the initial frame tree is created. There are still some issues preventing proper late frame creation, but this prevents crashes when it happens. Fixes servo#3738. Rebase commit Move code related to json packet reading to JsonPacketSender trait fixup! Move code related to json packet reading to JsonPacketSender trait Fix servo#3933 Clip display list based on frame viewport Instead of creating a display list for the entire page, only create one for an area that expands around the viewport. On my machine this makes incremental layout of http://timecube.com 50% faster. Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a Fix unit test compile error. Fix CEF build cargo.lock file Disable cors tests for now as they break the rust upgrade. Rebase and fix up compile errors for rust upgrade. Disable event-timeout for rustc upgrade. See servo#3396. Pass all key events to the current constellation frame. Add KeyboardEvent stub. Fill in KeyboardEvent. Dispatch keydown, keyup, and keypress events at appropriate times. Implement document focus context and hook it up to click events. Add single-line text input with no visible cursor. Flush layout after executing timers. More documentation. Fix interfaces test Short-circuit initFooEvent while dispatching events. Update html5ever ref in Android Cargo.lock Download Cargo over HTTPS. Fix servo#3582. embedding: rename string_list internal function to string_list instead of string_map embedding: cef_string_utf8_cmp() embedding: replace transmutes with manual casts in cef_string_utf8_cmp() embedding: fix conflicts from rustup embedding: begin cef string_map api cef_string_map_alloc() embedding: cef_string_map_size() embedding: cef_string_map_append() embedding: cef_string_map_find() embedding: cef_string_map_key() embedding: cef_string_map_value() embedding: cef_string_map_clear() embedding: cef_string_map_free() embedding: address various review nitpicks for string_map embedding: add eutil::slice_to_str() convenience function converts a *u8+length to &str and returns c_int embedding: replace all occurrences of slicing to &str with slice_to_str() embedding: address most recent critic review Don't overwrite redirected URL in script_task (fixes servo#3970) Remove unused arguments from LoadComplete and LoadCompleteMsg Add contentDocument support for HTMLIFrameElement. Fixes servo#3808. Iframe resource file moved to resources dir so it's not picked up by test harness (and does not fail). Update Cargo.lock files for Android rustup fixes r? @glennw Update GLUT for rustup fixes Pulls in servo/rust-glut#49 Use Cell::as_unsafe_cell in Reflector::rootable. Use RefCell in DOMRefCell to reduce duplicated code. empty enum replaces c_void fix incorrect type aliasing logic remove trailing semicolons remove trailing semicolons embedding: empty enum replaces c_void embedding: remove eutil::fptr_is_null, fix servo#3967, add Option<> to fptrs embedding: change Option<> unwrapping for fptrs to use match embedding: convert callback Option<> matching to map() Mark vertical-lr-blocks.html as flaky to ease the pain while it's being investigated. servo#3926 Disable the iframe content test due to servo#3986. M1456, Implement MIME sniffing initial Step Fix binding generation for Callback Functions and Callback Interfaces Allow passing arguments to setTimeout/setInterval callbacks Update web-platform-tests. Fix wpt readme for mach changes Use freetype-sys on Linux. See: servo/libfreetype2#2 servo/skia#38 servo/rust-azure#114 Let’s close servo#3867, even though this only works around and doesn’t fix the underlying issue. List bzip2 as a requirement in README.md … but not for Homebrew or MacPorts, OS X which apparently ships with it. Fix Table Caption infinite recursion. Add test. Correct the checks in step 5 of Node::pre_insert. Including webstorage folder in tests Update gleam submodule, and use glfw to load OpenGL function pointers. gfx: Rewrite display list construction to make stacking-contexts more first-class. This implements the scheme described here: https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg This commit changes Servo to generate one display list per stacking context instead of one display list per layer. This is purely a refactoring; there are no functional changes. Performance is essentially the same as before. However, there should be numerous future benefits that this is intended to allow for: * It makes the code simpler to understand because the "new layer needed" vs. "no new layer needed" code paths are more consolidated. * It makes it easy to support CSS properties that did not fit into our previous flat display list model (without unconditionally layerizing them): o `opacity` should be easy to support because the stacking context provides the higher-level grouping of display items to which opacity is to be applied. o `transform` can be easily supported because the stacking context provides a place to stash the transformation matrix. This has the side benefit of nicely separating the transformation matrix from the clipping regions. * The `flatten` logic is now O(1) instead of O(n) and now only needs to be invoked for pseudo-stacking contexts (right now: just floats), instead of for every stacking context. * Layers are now a proper tree instead of a flat list as far as layout is concerned, bringing us closer to a production-quality compositing/layers framework. * This commit opens the door to incremental display list construction at the level of stacking contexts. Future performance improvements could come from optimizing allocation of display list items, and, of course, incremental display list construction. Redirect android resource folder (user-agent.css and friends) to /sdcard/servo. This is a temporary solution, until they are packaged properly. Update green-rs submodule to get android tls fix. Add missing gfx dependency, that was causing a race in cargo on the build machine. key[board]event args for Document#createEvent Sending exit message to devtools to exit. Accepted and closed incoming streams Added header to for constant use. Removed extra spaces. Corrected spacing to conform to coding standards. Corrected spacing to conform to coding standards. Corrected spacing to conform with coding standards. Moving new import next to old import for devtools_traits as specified in comment. Removed method definition to include as inline code and changed to iter_mut. Using loops to exit devtools on server exit message and disconnected message to simply break as suggested in the comment. Removing TODO comment for completed functionality. Moved the operation for exit of devtools on servo closing outside the match loop. Removing trailing ';' and adding new line before connection closing loop. Spacing changes corrected. Update README for Homebrew. glfw3 is in the `homebrew/homebrew-versions` repository. Reformat sniffer_task.rs. Fix freetype build, pick up servo/libfreetype2#3 Use the correct Rust path in Android packaging Various cleanup in constellation.rs. Lower case the type attribute before checking if it's JS Update behavior of Document.createElement Fixes servo#4009. Only lower-case the argument to Document#createElement if it's a HTML document. Implement DOMImplementation.hasFeature Fixes servo#4010. Stop including the element during Element.getElementsByClassName. servo#3995 wide form buttons fixes servo#3972 Remove bitfield! macro in favour of bitflags! embedding: begin cef string_multimap api cef_string_multimap_alloc() embedding: cef_string_multimap_size() embedding: cef_string_multimap_find_count() embedding: cef_string_multimap_append() embedding: cef_string_multimap_enumerate() embedding: cef_string_multimap_key() embedding: cef_string_multimap_value() embedding: cef_string_multimap_clear() embedding: cef_string_multimap_free() embedding: replace usage of deprecated find*() with get*() address review comments Add glutin port (supported on Linux only currently). Default build uses glfw, but glutin can be enabled via: ./mach cargo build --no-default-features --features=glutin layout: Eliminate the virtual `is_float()` in favor of the flow flags layout: Incrementalize reflow of block formatting contexts impacted by floats, and make float placement idempotent. This moves float placement outside sequential block size computation. Improves the maze solver. Remove rust-alert as it's broken on mac, and unimplemented on other platforms. Remove some code duplication in the Compositor It is possible to share the code which creates root layers. cef: Don't link against librustc in the final build artifact Update web-platform-tests. Added libbz2-dev to Debian based prerequisites Encountered this when building for the first time today: ``` note: /usr/bin/ld: cannot find -lbz2 collect2: error: ld returned 1 exit status error: aborting due to previous error Could not compile `servo`. ``` Installing the libbz2-dev packaged fixed it. Added bzip to Fedora and Arch prereqs Added a mach command for cargo update As proposed in servo#3736 Example usage: ``` sh $ ./mach update-cargo -p rust-xml . Updating git repository `https://github.com/netvl/rust-xml` ports/cef Updating git repository `https://github.com/netvl/rust-xml` ports/android/glut_app Updating git repository `https://github.com/netvl/rust-xml` ``` Update web-platform-tests. embedding: add some commonly used string constants from chromium embedding: implement cef_execute_process() stub this is missing signal handler functionality in rust and we currently have no use case for actual execution of secondary processes embedding: cef_string_wide_cmp() embedding: cef_string_utf8_to_wide() embedding: cef_string_wide_to_utf8() embedding: cef_string_ascii_to_utf16() embedding: cef_string_ascii_to_wide() Remove unused exit after load option. This simplifies some upcoming changes to how event handling works. Implement Attr#nodeValue Fixes servo#4047 Updated to expect tests that are now passing Allow reftests to be run directly w/ relative path Fixes servo#3521 No longer need for local variable in PropertyDeclaration::parse Arc::make_unique is now stable Make glutin work on mac. - Update glutin, and update rust-cocoa to use the servo fork now that upstream is up to date. - Many events and resizing are still not working correctly on mac yet. embedding: fix type decls embedding: add cef_display_handler_t decl embedding: add cef_life_span_handler_t decl embedding: add cef_client_t decl embedding: add cef_window_info_t decl util::opts::default_opts() is now pub embedding: redo browser creation and message loop code to be more CEF-like big thanks to @alexcrichton for his help with this embedding: redo browser creation, split after_created COM to separate function this causes the callback to run at the expected time for applications that may depend on the browser loop having started or somesuch Run a single WPT test from a relative path Fixes servo#4055 New commit added. Removing accidental commti. layout: Fix De Morgan's Law error in incremental reflow, allowing float/absolute layout layout to be idempotent again. Fixes the maze solver. implement Document#createAttribute Update rust-layers to fix empty BufferRequest failures rust-layers will now avoid sending empty buffer requests which can cause failures when Servo tries to create empty platform surfaces. Fixes servo#4060. Fixes 4037. Enable backtrace on run cmd. Make sure directories aren't getting tested Adds --release flag to ./mach build-cef Requested by kmc in IRC. ``` 11:36 < kmc> while you're mach-ing about, can you modify build-cef to accept --release like build does? ``` Use an enum to set set_timeout_or_interval's is_interval field. Fixes servo#4059 remove comments now that we have more descriptive names Use atom! in place of Atom::from_slice where necessary Break out of loop if can't send data Fixes servo#4046 Update mach to latest changes from mozilla-central Updates the way mach mixes unrecognized arguments and predefined arguments (see [mozilla bug 1076649](https://bugzilla.mozilla.org/show_bug.cgi?id=1076649) for details on this change). Remove allow_all_args from mach commands Implement HTML{Anchor,Area,Link}Element.relList. servo#3994 mozilla-central modules for debugger detection Borrows two python modules from mozilla-central to give mach the ability to detect and pass arguments to a system's preferred debugger. Links to borrowed files: http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozinfo/mozinfo/mozinfo.py http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozdebug/mozdebug/mozdebug.py Adds --debug and --debugger flags to ./mach run Panic if DOMTokenList#contains is called for an unparsed attribute. Previously, if the attribute was not parsed into a token list, and the tokens() method returned None, DOMTokenList#contains would silently return false. This issue was encountered in <servo#4076> and took quite some time to figure out. Lets `./mach test` infer testsuite from file Usage Example: ``` $ ./mach test tests/wpt/web-platform-tests/dom/interfaces.html 0:00.27 LOG: MainThread INFO Using 1 client processes ... ``` Note that while there is no functionality for `test-ref` to accept individual files, `./mach test tests/ref` will still trigger `test-ref`. Implement a basic WebSocket interface. Fix deprecation in selector matching test The 'find' function was changed to 'get'. Changed to reflect this warning given when running the tests. Add .cargo/config to .gitignore, move content to ports/android This allows using .cargo/config at the root of the repository for local path override, without risk of accidentally committing it. fixes servo#4110, can input text without 'value' attribute present Fix layout on google search results. Fixes servo#3962 Bad HTTP responses now have a 0 status code instead of 200 OK. ports/cef: Use the CEF translator tool to generate the full set of CEF bindings. This replaces hand-implemented CEF bindings with proper Rust wrappers automatically generated from the C++ headers. This means that, whenever CEF's C++ headers change, we can easily generate both the appropriate C API and the appropriate Rust API. It eliminates much of the hand-written unsafe code within the CEF port, because the CEF translator tool now knows how to generate Rust smart pointer wrappers for each class that corrently perform reference counting. Additionally, this commit adds utility macros (located in `macros.rs`) that make it easier to correctly expose Rust objects as CEF objects. They handle the marshaling of objects between Rust and CEF properly. The net result of this is that you can write mostly-natural-looking Rust in the CEF port and interact with it with a natural-looking C++ API on the embedding side. This setup relies on the branch of CEF located here: https://github.com/pcwalton/chromium-embedded-framework To regenerate, follow the instructions in `ports/cef/README.md`. For convenience, and because I don't anticipate the API to change much, I have vendored in all of the appropriate interfaces. Fixes for Linux. Add back API hashes Add mostly-correct (albeit leaky) string marshaling Update to get the reference counting correct Implemented hidden, removed corresponding passed tests Remove default value for params in mach doc servo#4134 Make callers of `${Derived}::${base}()` use casts instead. Remove UIEvent.event(). Remove HTMLElement.element(). Remove Node.eventtarget(). Remove Element.node(). Fixes servo#4131 A slight refactor. Shared Sniffer Task - Added TargetedLoadResponse and ResponseSenders - LoadData constructor contains the next consumer which means SnifferManager doesn't need the next consumer to start - New SnifferTask is created at new resource_task creation - Update Unit Tests Don't abort the sniffer task whenever an error occurs. Also, switch to blocking recv_opt vs. non-blocking try_recv. Fix the panic on runnig with --devtools due to a change in how type_id gets resolved since the last rustc upgrade. style::properties::longhand shouldn’t be public. Remove dead code Adds explicit --name argument to test-ref In addition, `./mach test` will now take advantage of this when inferring test suites from test files. Fixes servo#4123 Fixes servo#4145 layout: Stop having text alignment stomp on layerization flags. Fixes the blank spaces showing up in Wikipedia. [gfx/style] Implement border-radius. This patch is a first stab at implementing border-radius. It looks fine as long as the border isn't an ellipse (that might not even parse yet), and the border-widths around a border-radius are the same. Here's a cool screenshot! ![](https://www.dropbox.com/s/gdtmgjrlnf82gzz/Screenshot%202014-11-12%2018.03.29.png?dl=0) r? @pcwalton @SimonSapin Updated reflect_dom_object to be passed by value ports/cef: Replace calls to malloc with calloc. infer_test_by_dir cleanup No actual change in functionality here. I was just unhappy with the way test-ref was singled out before, and realized an obvious fix. Verify that reftest passes valid servo args Fixes servo#4101 Fixed test filter Fix error in layout trace viewer Move the servo crate from root to components/servo Warn when Cargo is run directly. Fix servo#3957. Make build system more independent of current directory. Have `./mach cargo` not change to `components/servo`. `ports/android/glut` relies on it executing on the current directory. Fix up android/glut port to find its servo dependency. Don’t try to run unit tests for the servo crate. There are none, but the contenttest program fails with: ``` task '<main>' panicked at 'Required option 'source-dir' missing.', ../../tests/contenttest.rs:48 ``` More target path fixup. Implemented modifyAttribute message handling sent acknowledgement of attribute change M1453: Support for separated client & writing M1453: addressed review comments r/3291 M1453: Included unaddressed review comment r/3291 M1453: addressd review comments r/3291
srm09
pushed a commit
to shanil-puri/servo
that referenced
this issue
Dec 3, 2014
Rename LoadIframeUrlMsg to CreateIFrameAndLoadUrlMsg This better reflects what the message does. Small fix to variable name This is a more accurate name for the script pipeline. Add some factory methods for frame tree types Send incremental frame tree updates to the compositor This allows the compositor to add frames after the call to SetIds, where the initial frame tree is created. There are still some issues preventing proper late frame creation, but this prevents crashes when it happens. Fixes servo#3738. Rebase commit Move code related to json packet reading to JsonPacketSender trait fixup! Move code related to json packet reading to JsonPacketSender trait Fix servo#3933 Clip display list based on frame viewport Instead of creating a display list for the entire page, only create one for an area that expands around the viewport. On my machine this makes incremental layout of http://timecube.com 50% faster. Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a Fix unit test compile error. Fix CEF build cargo.lock file Disable cors tests for now as they break the rust upgrade. Rebase and fix up compile errors for rust upgrade. Disable event-timeout for rustc upgrade. See servo#3396. Pass all key events to the current constellation frame. Add KeyboardEvent stub. Fill in KeyboardEvent. Dispatch keydown, keyup, and keypress events at appropriate times. Implement document focus context and hook it up to click events. Add single-line text input with no visible cursor. Flush layout after executing timers. More documentation. Fix interfaces test Short-circuit initFooEvent while dispatching events. Update html5ever ref in Android Cargo.lock Download Cargo over HTTPS. Fix servo#3582. embedding: rename string_list internal function to string_list instead of string_map embedding: cef_string_utf8_cmp() embedding: replace transmutes with manual casts in cef_string_utf8_cmp() embedding: fix conflicts from rustup embedding: begin cef string_map api cef_string_map_alloc() embedding: cef_string_map_size() embedding: cef_string_map_append() embedding: cef_string_map_find() embedding: cef_string_map_key() embedding: cef_string_map_value() embedding: cef_string_map_clear() embedding: cef_string_map_free() embedding: address various review nitpicks for string_map embedding: add eutil::slice_to_str() convenience function converts a *u8+length to &str and returns c_int embedding: replace all occurrences of slicing to &str with slice_to_str() embedding: address most recent critic review Don't overwrite redirected URL in script_task (fixes servo#3970) Remove unused arguments from LoadComplete and LoadCompleteMsg Add contentDocument support for HTMLIFrameElement. Fixes servo#3808. Iframe resource file moved to resources dir so it's not picked up by test harness (and does not fail). Update Cargo.lock files for Android rustup fixes r? @glennw Update GLUT for rustup fixes Pulls in servo/rust-glut#49 Use Cell::as_unsafe_cell in Reflector::rootable. Use RefCell in DOMRefCell to reduce duplicated code. empty enum replaces c_void fix incorrect type aliasing logic remove trailing semicolons remove trailing semicolons embedding: empty enum replaces c_void embedding: remove eutil::fptr_is_null, fix servo#3967, add Option<> to fptrs embedding: change Option<> unwrapping for fptrs to use match embedding: convert callback Option<> matching to map() Mark vertical-lr-blocks.html as flaky to ease the pain while it's being investigated. servo#3926 Disable the iframe content test due to servo#3986. M1456, Implement MIME sniffing initial Step Fix binding generation for Callback Functions and Callback Interfaces Allow passing arguments to setTimeout/setInterval callbacks Update web-platform-tests. Fix wpt readme for mach changes Use freetype-sys on Linux. See: servo/libfreetype2#2 servo/skia#38 servo/rust-azure#114 Let’s close servo#3867, even though this only works around and doesn’t fix the underlying issue. List bzip2 as a requirement in README.md … but not for Homebrew or MacPorts, OS X which apparently ships with it. Fix Table Caption infinite recursion. Add test. Correct the checks in step 5 of Node::pre_insert. Including webstorage folder in tests Update gleam submodule, and use glfw to load OpenGL function pointers. gfx: Rewrite display list construction to make stacking-contexts more first-class. This implements the scheme described here: https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg This commit changes Servo to generate one display list per stacking context instead of one display list per layer. This is purely a refactoring; there are no functional changes. Performance is essentially the same as before. However, there should be numerous future benefits that this is intended to allow for: * It makes the code simpler to understand because the "new layer needed" vs. "no new layer needed" code paths are more consolidated. * It makes it easy to support CSS properties that did not fit into our previous flat display list model (without unconditionally layerizing them): o `opacity` should be easy to support because the stacking context provides the higher-level grouping of display items to which opacity is to be applied. o `transform` can be easily supported because the stacking context provides a place to stash the transformation matrix. This has the side benefit of nicely separating the transformation matrix from the clipping regions. * The `flatten` logic is now O(1) instead of O(n) and now only needs to be invoked for pseudo-stacking contexts (right now: just floats), instead of for every stacking context. * Layers are now a proper tree instead of a flat list as far as layout is concerned, bringing us closer to a production-quality compositing/layers framework. * This commit opens the door to incremental display list construction at the level of stacking contexts. Future performance improvements could come from optimizing allocation of display list items, and, of course, incremental display list construction. Redirect android resource folder (user-agent.css and friends) to /sdcard/servo. This is a temporary solution, until they are packaged properly. Update green-rs submodule to get android tls fix. Add missing gfx dependency, that was causing a race in cargo on the build machine. key[board]event args for Document#createEvent Sending exit message to devtools to exit. Accepted and closed incoming streams Added header to for constant use. Removed extra spaces. Corrected spacing to conform to coding standards. Corrected spacing to conform to coding standards. Corrected spacing to conform with coding standards. Moving new import next to old import for devtools_traits as specified in comment. Removed method definition to include as inline code and changed to iter_mut. Using loops to exit devtools on server exit message and disconnected message to simply break as suggested in the comment. Removing TODO comment for completed functionality. Moved the operation for exit of devtools on servo closing outside the match loop. Removing trailing ';' and adding new line before connection closing loop. Spacing changes corrected. Update README for Homebrew. glfw3 is in the `homebrew/homebrew-versions` repository. Reformat sniffer_task.rs. Fix freetype build, pick up servo/libfreetype2#3 Use the correct Rust path in Android packaging Various cleanup in constellation.rs. Lower case the type attribute before checking if it's JS Update behavior of Document.createElement Fixes servo#4009. Only lower-case the argument to Document#createElement if it's a HTML document. Implement DOMImplementation.hasFeature Fixes servo#4010. Stop including the element during Element.getElementsByClassName. servo#3995 wide form buttons fixes servo#3972 Remove bitfield! macro in favour of bitflags! embedding: begin cef string_multimap api cef_string_multimap_alloc() embedding: cef_string_multimap_size() embedding: cef_string_multimap_find_count() embedding: cef_string_multimap_append() embedding: cef_string_multimap_enumerate() embedding: cef_string_multimap_key() embedding: cef_string_multimap_value() embedding: cef_string_multimap_clear() embedding: cef_string_multimap_free() embedding: replace usage of deprecated find*() with get*() address review comments Add glutin port (supported on Linux only currently). Default build uses glfw, but glutin can be enabled via: ./mach cargo build --no-default-features --features=glutin layout: Eliminate the virtual `is_float()` in favor of the flow flags layout: Incrementalize reflow of block formatting contexts impacted by floats, and make float placement idempotent. This moves float placement outside sequential block size computation. Improves the maze solver. Remove rust-alert as it's broken on mac, and unimplemented on other platforms. Remove some code duplication in the Compositor It is possible to share the code which creates root layers. cef: Don't link against librustc in the final build artifact Update web-platform-tests. Added libbz2-dev to Debian based prerequisites Encountered this when building for the first time today: ``` note: /usr/bin/ld: cannot find -lbz2 collect2: error: ld returned 1 exit status error: aborting due to previous error Could not compile `servo`. ``` Installing the libbz2-dev packaged fixed it. Added bzip to Fedora and Arch prereqs Added a mach command for cargo update As proposed in servo#3736 Example usage: ``` sh $ ./mach update-cargo -p rust-xml . Updating git repository `https://github.com/netvl/rust-xml` ports/cef Updating git repository `https://github.com/netvl/rust-xml` ports/android/glut_app Updating git repository `https://github.com/netvl/rust-xml` ``` Update web-platform-tests. embedding: add some commonly used string constants from chromium embedding: implement cef_execute_process() stub this is missing signal handler functionality in rust and we currently have no use case for actual execution of secondary processes embedding: cef_string_wide_cmp() embedding: cef_string_utf8_to_wide() embedding: cef_string_wide_to_utf8() embedding: cef_string_ascii_to_utf16() embedding: cef_string_ascii_to_wide() Remove unused exit after load option. This simplifies some upcoming changes to how event handling works. Implement Attr#nodeValue Fixes servo#4047 Updated to expect tests that are now passing Allow reftests to be run directly w/ relative path Fixes servo#3521 No longer need for local variable in PropertyDeclaration::parse Arc::make_unique is now stable Make glutin work on mac. - Update glutin, and update rust-cocoa to use the servo fork now that upstream is up to date. - Many events and resizing are still not working correctly on mac yet. embedding: fix type decls embedding: add cef_display_handler_t decl embedding: add cef_life_span_handler_t decl embedding: add cef_client_t decl embedding: add cef_window_info_t decl util::opts::default_opts() is now pub embedding: redo browser creation and message loop code to be more CEF-like big thanks to @alexcrichton for his help with this embedding: redo browser creation, split after_created COM to separate function this causes the callback to run at the expected time for applications that may depend on the browser loop having started or somesuch Run a single WPT test from a relative path Fixes servo#4055 New commit added. Removing accidental commti. layout: Fix De Morgan's Law error in incremental reflow, allowing float/absolute layout layout to be idempotent again. Fixes the maze solver. implement Document#createAttribute Update rust-layers to fix empty BufferRequest failures rust-layers will now avoid sending empty buffer requests which can cause failures when Servo tries to create empty platform surfaces. Fixes servo#4060. Fixes 4037. Enable backtrace on run cmd. Make sure directories aren't getting tested Adds --release flag to ./mach build-cef Requested by kmc in IRC. ``` 11:36 < kmc> while you're mach-ing about, can you modify build-cef to accept --release like build does? ``` Use an enum to set set_timeout_or_interval's is_interval field. Fixes servo#4059 remove comments now that we have more descriptive names Use atom! in place of Atom::from_slice where necessary Break out of loop if can't send data Fixes servo#4046 Update mach to latest changes from mozilla-central Updates the way mach mixes unrecognized arguments and predefined arguments (see [mozilla bug 1076649](https://bugzilla.mozilla.org/show_bug.cgi?id=1076649) for details on this change). Remove allow_all_args from mach commands Implement HTML{Anchor,Area,Link}Element.relList. servo#3994 mozilla-central modules for debugger detection Borrows two python modules from mozilla-central to give mach the ability to detect and pass arguments to a system's preferred debugger. Links to borrowed files: http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozinfo/mozinfo/mozinfo.py http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozdebug/mozdebug/mozdebug.py Adds --debug and --debugger flags to ./mach run Panic if DOMTokenList#contains is called for an unparsed attribute. Previously, if the attribute was not parsed into a token list, and the tokens() method returned None, DOMTokenList#contains would silently return false. This issue was encountered in <servo#4076> and took quite some time to figure out. Lets `./mach test` infer testsuite from file Usage Example: ``` $ ./mach test tests/wpt/web-platform-tests/dom/interfaces.html 0:00.27 LOG: MainThread INFO Using 1 client processes ... ``` Note that while there is no functionality for `test-ref` to accept individual files, `./mach test tests/ref` will still trigger `test-ref`. Implement a basic WebSocket interface. Fix deprecation in selector matching test The 'find' function was changed to 'get'. Changed to reflect this warning given when running the tests. Add .cargo/config to .gitignore, move content to ports/android This allows using .cargo/config at the root of the repository for local path override, without risk of accidentally committing it. fixes servo#4110, can input text without 'value' attribute present Fix layout on google search results. Fixes servo#3962 Bad HTTP responses now have a 0 status code instead of 200 OK. ports/cef: Use the CEF translator tool to generate the full set of CEF bindings. This replaces hand-implemented CEF bindings with proper Rust wrappers automatically generated from the C++ headers. This means that, whenever CEF's C++ headers change, we can easily generate both the appropriate C API and the appropriate Rust API. It eliminates much of the hand-written unsafe code within the CEF port, because the CEF translator tool now knows how to generate Rust smart pointer wrappers for each class that corrently perform reference counting. Additionally, this commit adds utility macros (located in `macros.rs`) that make it easier to correctly expose Rust objects as CEF objects. They handle the marshaling of objects between Rust and CEF properly. The net result of this is that you can write mostly-natural-looking Rust in the CEF port and interact with it with a natural-looking C++ API on the embedding side. This setup relies on the branch of CEF located here: https://github.com/pcwalton/chromium-embedded-framework To regenerate, follow the instructions in `ports/cef/README.md`. For convenience, and because I don't anticipate the API to change much, I have vendored in all of the appropriate interfaces. Fixes for Linux. Add back API hashes Add mostly-correct (albeit leaky) string marshaling Update to get the reference counting correct Implemented hidden, removed corresponding passed tests Remove default value for params in mach doc servo#4134 Make callers of `${Derived}::${base}()` use casts instead. Remove UIEvent.event(). Remove HTMLElement.element(). Remove Node.eventtarget(). Remove Element.node(). Fixes servo#4131 A slight refactor. Shared Sniffer Task - Added TargetedLoadResponse and ResponseSenders - LoadData constructor contains the next consumer which means SnifferManager doesn't need the next consumer to start - New SnifferTask is created at new resource_task creation - Update Unit Tests Don't abort the sniffer task whenever an error occurs. Also, switch to blocking recv_opt vs. non-blocking try_recv. Fix the panic on runnig with --devtools due to a change in how type_id gets resolved since the last rustc upgrade. style::properties::longhand shouldn’t be public. Remove dead code Adds explicit --name argument to test-ref In addition, `./mach test` will now take advantage of this when inferring test suites from test files. Fixes servo#4123 Fixes servo#4145 layout: Stop having text alignment stomp on layerization flags. Fixes the blank spaces showing up in Wikipedia. [gfx/style] Implement border-radius. This patch is a first stab at implementing border-radius. It looks fine as long as the border isn't an ellipse (that might not even parse yet), and the border-widths around a border-radius are the same. Here's a cool screenshot! ![](https://www.dropbox.com/s/gdtmgjrlnf82gzz/Screenshot%202014-11-12%2018.03.29.png?dl=0) r? @pcwalton @SimonSapin Updated reflect_dom_object to be passed by value ports/cef: Replace calls to malloc with calloc. infer_test_by_dir cleanup No actual change in functionality here. I was just unhappy with the way test-ref was singled out before, and realized an obvious fix. Verify that reftest passes valid servo args Fixes servo#4101 Fixed test filter Fix error in layout trace viewer Move the servo crate from root to components/servo Warn when Cargo is run directly. Fix servo#3957. Make build system more independent of current directory. Have `./mach cargo` not change to `components/servo`. `ports/android/glut` relies on it executing on the current directory. Fix up android/glut port to find its servo dependency. Don’t try to run unit tests for the servo crate. There are none, but the contenttest program fails with: ``` task '<main>' panicked at 'Required option 'source-dir' missing.', ../../tests/contenttest.rs:48 ``` More target path fixup. Implemented modifyAttribute message handling sent acknowledgement of attribute change M1453: Support for separated client & writing M1453: addressed review comments r/3291 M1453: Included unaddressed review comment r/3291 M1453: addressd review comments r/3291
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-content/dom
Interacting with the DOM from web content
E-less-complex
Straightforward. Recommended for a new contributor.
I-enhancement
No impact; the issue is a missing or proposed feature.
Blocks #2185.
src/components/script/dom/domimplementation.rs
.dom/nodes/DOMImplementation-hasFeature.html
.The text was updated successfully, but these errors were encountered: