Permalink
Commits on Oct 22, 2017
  1. Auto merge of #18983 - emilio:reformat-selector-parser, r=jdm

    bors-servo committed Oct 22, 2017
    selectors: Reformat signatures in the parser module.
    
    I was doing something unrelated with this code, and each signature uses a
    different style. This PR unifies them.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18983)
    <!-- Reviewable:end -->
  2. selectors: Reformat signatures in the parser module.

    emilio committed Oct 22, 2017
    I was doing something unrelated with this code, and each signature uses a
    different style. This PR unifies them.
Commits on Oct 21, 2017
  1. Auto merge of #18255 - CYBAI:prevent-reentrancy-pr18218, r=jdm

    bors-servo committed Oct 21, 2017
    Update concept of node filter algorithm
    
    Implement new [filter](https://dom.spec.whatwg.org/#concept-node-filter) algorithm from specification
    
    ---
    - [X] `./mach build -d` does not report any errors
    - [X] `./mach test-tidy` does not report any errors
    - [X] These changes fix #18218 (github issue number if applicable).
    - [X] These changes do not require tests because changes are minimal and the error was triggered by a test
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18255)
    <!-- Reviewable:end -->
  2. Auto merge of #18972 - mbrubeck:ok, r=emilio

    bors-servo committed Oct 21, 2017
    Remove unnecessary Result::ok calls
    
    - [x] `./mach build -d` does not report any errors
    - [x] `./mach test-tidy` does not report any errors
    - [x] These changes do not require tests because they are code cleanup only
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18972)
    <!-- Reviewable:end -->
  3. Auto merge of #18971 - mbrubeck:var, r=emilio

    bors-servo committed Oct 21, 2017
    Use env::var_os to read paths from the environment
    
    This avoids unnecessary UTF-8 validation on OsStrings that we just pass
    back to the OS.
    
    ---
    - [x] `./mach build -d` does not report any errors
    - [x] `./mach test-tidy` does not report any errors
    - [x] These changes do not require tests because they are code cleanup only
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18971)
    <!-- Reviewable:end -->
  4. Auto merge of #18973 - MortimerGoro:offscreen_v12, r=jdm

    bors-servo committed Oct 21, 2017
    Update offscreen_gl_context to v0.12
    
    <!-- Please describe your changes on the following line: -->
    
    Update offscreen_gl_context to v0.12. Includes:
    
    - Support for OpenGL version selection. It's required for WebGL 2.
    - Support for iOS EAGLContext. WebGL should work out of the box once Servo is fully built on iOS.
    
    ---
    <!-- 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
    - [ ] `./mach test-tidy` does not report any errors
    - [ ] These changes fix #__ (github issue number if applicable).
    
    <!-- Either: -->
    - [x] There are tests for these changes OR
    - [ ] These changes do not require tests because _____
    
    <!-- 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. -->
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18973)
    <!-- Reviewable:end -->
  5. Auto merge of #18968 - mbrubeck:try, r=emilio

    bors-servo committed Oct 21, 2017
    Use try syntax for Option where appropriate
    
    - [x] `./mach build -d` does not report any errors
    - [x] `./mach test-tidy` does not report any errors
    - [x] These changes do not require tests because they are refactoring only
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18968)
    <!-- Reviewable:end -->
  6. Auto merge of #18966 - chenpighead:Bug1399049-transform-animate-refac…

    bors-servo committed Oct 21, 2017
    …toring, r=hiikezoe
    
    stylo: Avoid using InterpolateMatrix as a fallback for matched transform function pair
    
    In the current implementation, if there is any interpolation error in a matched
    transform function pair, we fall-back to use InterpolateMatrix unconditionally.
    However, the error could be caused by:
    
    1. mismatched transform function pair
    2. matched transform function pair within at least one undecomposable matrix.
    
    Using InterpolateMatrix for case 1 makes sense, however, using InterpolateMatrix
    for case 2 does not. According to the spec, we should just report error for
    case 2, and let the caller do the fallback procedure. Using InterpolateMatrix
    for case 2 will go through more unnecessary code path, and produce more memory
    usage and calculation cost, which should be avoidable.
    
    In this patch, we add an extra pass to check if a transform function pair have
    matched operations in advance. With this information, we can easily tell whether
    the interpolation error in a equal-length transform function pair is caused by
    case 1 or case 2. So, we can avoid the unnecessary cost.
    
    ---
    <!-- 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 [Bug 1399049](https://bugzilla.mozilla.org/show_bug.cgi?id=1399049)
    - [X] These changes do not require tests because the change is for some performance gain, and we have tests to ensure that we won't regress the existing behavior already.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18966)
    <!-- Reviewable:end -->
  7. Auto merge of #18959 - glennw:css-run, r=jdm

    bors-servo committed Oct 21, 2017
    Add iterpath and iterdir to CSS test runner.
    
    This allows running a subset of the CSS tests again, by specifying
    a directory or single test.
    
    Fixes #18931.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18959)
    <!-- Reviewable:end -->
  8. Auto merge of #18957 - mhaessig:fire-mouse-event-enum, r=jdm

    bors-servo committed Oct 21, 2017
    Made fire_mouse_event take an enum for event_name
    
    Added an enum with the mouse event options for `fire_mouse_event` and refactored the `event_name` parameter to take the enum as argument.
    I also added two options (Leave and Enter) which are noted as todo in the comments.
    
    - [x] `./mach build -d` does not report any errors
    - [X] `./mach test-tidy` does not report any errors
    - [X] These Changes fix #18943.
    - [X] These changes do not require tests because the issue said a clean build suffices.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18957)
    <!-- Reviewable:end -->
  9. Auto merge of #18952 - jdm:no-leak-on-shutdown, r=nox

    bors-servo committed Oct 21, 2017
    Do not trace Rust values when thread is shutting down.
    
    This addresses a paint point when using debug-mozjs builds. jonco says that it is considered a leak when objects stored in side tables in a SpiderMonkey embedding are traced right before shutting down. This PR adds a per-thread flag that controls whether to run the Rust-side trace hooks, which is automatically toggled before the final GC occurs when destroying a JS runtime.
    
    ---
    - [x] `./mach build -d` does not report any errors
    - [x] `./mach test-tidy` does not report any errors
    - [x] These changes fix #18948 and fix #18947.
    - [x] These changes do not require tests because we don't use debug-mozjs on CI
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18952)
    <!-- Reviewable:end -->
Commits on Oct 20, 2017
  1. Auto merge of #18977 - Manishearth:map-len, r=Gankro

    bors-servo committed Oct 20, 2017
    Include map length in diagnostics
    
    If this doesn't match with the size it's more likely for anything caught
    t be hardware corruption. If it does the situation is more interesting.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18977)
    <!-- Reviewable:end -->
  2. Include map length in diagnostics

    Manishearth committed Oct 20, 2017
  3. Auto merge of #18956 - glennw:update-wr-ellipse-bs, r=jdm

    bors-servo committed Oct 20, 2017
    Update WR (box shadows + per-corner radii, elliptical clips).
    
    <!-- Reviewable:start -->
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18956)
    <!-- Reviewable:end -->
  4. made fire_mouse_event take an enum for event_name

    mhaessig committed Oct 19, 2017
  5. Auto merge of #18975 - emilio:gecko-backout-manually, r=emilio

    bors-servo committed Oct 20, 2017
    Backed out changeset 196206f129ef (bug 1403213) for referencing non-e…
    
    …xisting xpcom/rust/gtest/moz.build in xpcom/moz.build. r=backout on a CLOSED TREE
    
    Backs out #18941
    
    Manual backout because moz-servo-sync is drunk.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18975)
    <!-- Reviewable:end -->
  6. Backed out changeset 196206f129ef (bug 1403213) for referencing non-e…

    Gecko Backout committed with moz-servo-sync Oct 20, 2017
    …xisting xpcom/rust/gtest/moz.build in xpcom/moz.build. r=backout on a CLOSED TREE
    
    Backs out #18941
  7. Do not trace Rust values when thread is shutting down.

    jdm committed Oct 19, 2017
  8. Auto merge of #18941 - mystor:nsstring, r=mystor

    bors-servo committed Oct 20, 2017
    Move nsstring from gecko into servo/support/gecko/nsstring
    
    This is the servo side of bug 1403213.
    
    This cannot merge until https://bugzilla.mozilla.org/show_bug.cgi?id=1377351 merges. It is currently on inbound. This will break autoland when it merges until the gecko-side part has also landed.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18941)
    <!-- Reviewable:end -->
  9. Update offscreen_gl_context to v0.12

    MortimerGoro committed Oct 20, 2017
  10. Remove unnecessary Result::ok calls

    mbrubeck committed Oct 20, 2017
  11. Use env::var_os to read paths from the environment

    mbrubeck committed Oct 20, 2017
    This avoids unnecessary UTF-8 validation on OsStrings that we just pass
    back to the OS.
  12. Use try syntax for Option where appropriate

    mbrubeck committed Oct 20, 2017
  13. Auto merge of #18953 - servo:keep, r=jdm

    bors-servo committed Oct 20, 2017
    Fix './mach clean-nightlies --keep 3' not keeping anything.
    
    This affects CI, re-downloading Nightly for every build.
    
    <!-- Reviewable:start -->
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18953)
    <!-- Reviewable:end -->
  14. Move nsstring from gecko into servo/support/gecko/nsstring

    mystor committed Oct 17, 2017
    This is the servo side of bug 1403213.
    
    MozReview-Commit-ID: HFdQiuMnGhJ
  15. Auto merge of #18946 - cynicaldevil:update-h5e, r=nox

    bors-servo committed Oct 20, 2017
    Update h5e version
    
    <!-- Please describe your changes on the following line: -->
    
    ---
    <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
    - [ ] `./mach build -d` does not report any errors
    - [ ] `./mach test-tidy` does not report any errors
    - [ ] These changes fix #__ (github issue number if applicable).
    
    <!-- Either: -->
    - [ ] There are tests for these changes OR
    - [ ] These changes do not require tests because _____
    
    <!-- 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. -->
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18946)
    <!-- Reviewable:end -->
  16. Report hash value at HashMap corruption location.

    Gankro committed with emilio Oct 20, 2017
  17. Auto merge of #18942 - servo:static.rlo, r=jdm,mbrubeck

    bors-servo committed Oct 20, 2017
    Bootstrap from more permanent URLs
    
    The `rust-lang-ci` S3 bucket is ephemeral. `static-rust-lang-org.s3.amazonaws.com` is not going away soon, but using `static.rust-lang.org` when possible keeps things working if it ever does.
    
    https://internals.rust-lang.org/t/updates-on-rusts-ci-uploads/6062
    https://internals.rust-lang.org/t/public-stable-rust-services/6072
    
    We’ll still need to find a solution for "alt" rustc builds. In the meantime, this is a step.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18942)
    <!-- Reviewable:end -->
  18. Auto merge of #18955 - servo:jdm-patch-4, r=emilio

    bors-servo committed Oct 20, 2017
    Set up llvm for osmesa.
    
    This fixes #18954.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18955)
    <!-- Reviewable:end -->
  19. Auto merge of #18963 - heycam:rm-property-id, r=upsuper

    bors-servo committed Oct 20, 2017
    geckolib: Make Servo_DeclarationBlock_RemovePropertyById return whether it did remove a property.
    
    From https://bugzilla.mozilla.org/show_bug.cgi?id=1408311, reviewed there by Xidorn.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18963)
    <!-- Reviewable:end -->
  20. Auto merge of #18962 - upsuper:tree-pseudos, r=emilio

    bors-servo committed Oct 20, 2017
    Support matching for ::-moz-tree-* pseudo-elements
    
    This is the Servo side change of [bug 1397644](https://bugzilla.mozilla.org/show_bug.cgi?id=1397644).
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18962)
    <!-- Reviewable:end -->
  21. Auto merge of #18936 - heycam:document-state, r=emilio

    bors-servo committed Oct 20, 2017
    style: Keep track of document state dependencies.
    
    Servo half of https://bugzilla.mozilla.org/show_bug.cgi?id=1390694, reviewed there by Emilio.
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18936)
    <!-- Reviewable:end -->
  22. stylo: Avoid using InterpolateMatrix as a fallback for matched transf…

    chenpighead committed Oct 18, 2017
    …orm function pair.
    
    In the current implementation, if there is any interpolation error in a matched
    transform function pair, we fall-back to use InterpolateMatrix unconditionally.
    However, the error could be caused by:
    
    1. mismatched transform function pair
    2. matched transform function pair within at least one undecomposable matrix.
    
    Using InterpolateMatrix for case 1 makes sense, however, using InterpolateMatrix
    for case 2 does not. According to the spec, we should just report error for
    case 2, and let the caller do the fallback procedure. Using InterpolateMatrix
    for case 2 will go through more unnecessary code path, and produce more memory
    usage and calculation cost, which should be avoidable.
    
    In this patch, we add an extra pass to check if a transform function pair have
    matched operations in advance. With this information, we can easily tell whether
    the interpolation error in a equal-length transform function pair is caused by
    case 1 or case 2. So, we can avoid the unnecessary cost.
    
    Gecko bug: Bug 1399049
  23. geckolib: Add FFI function for checking document state dependencies.

    heycam committed Oct 18, 2017