aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
Commit message (Collapse)AuthorAgeFilesLines
* Implement Window.postMessage for same-origin windows.Josh Matthews2016-08-043-2/+92
|
* Auto merge of #11318 - mitchhentges:1471-cache-tag-name, r=noxbors-servo2016-08-041-11/+59
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compute tag_name a maximum of once per document owner 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 --faster` does not report any errors - [X] These changes fix #1471 (github issue number if applicable). Either: - [X] These changes do not require tests because no new functionality was added, just a reorganization and caching of existing functionality 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11318) <!-- Reviewable:end -->
| * Compute tag_name a maximum of once per document ownerMitchell Hentges2016-08-031-11/+59
| |
* | Auto merge of #12682 - creativcoder:fire-fetch, r=jdmbors-servo2016-08-042-4/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dispatch lifecycle events to service worker object and refactor html tests <!-- Please describe your changes on the following line: --> Changes introduced to dispatch `controllerchange`, `activate` and `fetch` simple events to Service Worker interfaces. The html tests under `tests/html/service-workers` was also updated to demo the changes. 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 - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [X] These changes do not require tests because refactor. <!-- 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/12682) <!-- Reviewable:end -->
| * | Dispatch events to service worker object and refactor html testsRahul Sharma2016-08-022-4/+9
| | |
* | | Auto merge of #12685 - ConnorGBrewster:history_length, r=asajeffreybors-servo2016-08-032-1/+11
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement history.length <!-- 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: --> - [X] `./mach build -d` does not report any errors - [X] `./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 _____ <!-- 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/12685) <!-- Reviewable:end -->
| * | Implement history.lengthConnor Brewster2016-08-032-1/+11
| | | | | | | | | | | | | | | Add full frame tree iter to reduce code duplication Add FrameId field to the Frame struct.
* | | Fire load event for external stylesheetsMike MacDonald (crazymykl)2016-08-031-4/+15
| | | | | | | | | | | | | | | | | | Do not load stylesheets with the wrong Content-Type Fixes #11912, #11910
* | | Auto merge of #11726 - sjmelia:7720_add_target_selector, r=mbrubeckbors-servo2016-08-032-1/+29
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue 7720: Add target selector and update when scrolling to fragment <!-- Please describe your changes on the following line: --> Add the target pseudo selector and set/unset it during scrolling to fragment. This change is not complete as no repaint is triggered after the selector is added - it will only take effect after a repaint is triggered by e.g. hovering over another element. (See manual test) I would like some help because i'm not sure how to resolve this; I can only think to call window.reflow. I added a manual test case, don't think this counts really! I think the applicable automated test is in /tests/wpt/web-platform-tests/dom/nodes/Element-matches.html but it currently fails, I think due to the above. --- <!-- 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 #7720 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11726) <!-- Reviewable:end -->
| * | Issue 7720: Add target selector and update when scrolling to fragmentSteve Melia2016-08-032-1/+29
| | |
* | | Add cancellability to file manager load and related refactoringZhen Zhang2016-08-024-24/+21
|/ /
* | Auto merge of #12536 - izgzhen:form-file, r=Manishearthbors-servo2016-08-023-89/+149
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add form submission for file type input and related fixings r? @Manishearth --- <!-- 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] There are tests for these changes OR <!-- 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/12536) <!-- Reviewable:end -->
| * Add form submission for file type input and related fixingsZhen Zhang2016-08-023-89/+149
| |
* | Auto merge of #12557 - creativcoder:sw-scope, r=noxbors-servo2016-08-022-6/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring back run_with_memory_reporting in serviceworkerglobalscope <!-- 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: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [X] These changes do not require tests because its a refactor. <!-- 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/12557) <!-- Reviewable:end -->
| * | Bring back run_with_memory_reporting in serviceworkerglobalscopeRahul Sharma2016-07-292-6/+9
| | |
* | | Auto merge of #12579 - izgzhen:fix-fileapi-ref, r=Manishearthbors-servo2016-08-021-61/+79
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix FileAPI's refcount implementation Revise several intricate parts of FileAPI's internal refcounting-related implementation. Goal: Get it done right once and for all. r? @Manishearth <!-- 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: --> - [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 it is internal logic change <!-- 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/12579) <!-- Reviewable:end -->
| * | | Fix FileAPI's refcount implementationZhen Zhang2016-07-251-61/+79
| | | |
* | | | Auto merge of #12679 - johannhof:image-inject, r=Manishearthbors-servo2016-08-011-2/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent injection vulnerability in image page This is taking up nox' suggestion from #12542 and creates an img element using Rust code instead of escaping the URL. I will look at the neterror.html URL strings separately, we might do those in a similar way. To reproduce, visit e.g. the following URL with your vulnerable Servo: ``` https://servo.org/screenshot.png?'onload='document.body.innerHTML=`hacked`' ``` --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #12542 - [x] These changes do not require tests because this is just fixing up existing behavior and I'm not sure how to test it r?@jdm <!-- 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/12679) <!-- Reviewable:end -->
| * | | | Prevent injection vulnerability in image pageJohann Hofmann2016-08-011-2/+14
| | | | |
* | | | | Add FileReaderSync skeletonZhen Zhang2016-07-313-0/+50
| | | | |
* | | | | Auto merge of #12634 - malisas:malisa-headersAPI, r=jdmbors-servo2016-07-302-28/+144
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Headers API constructor and methods <!-- Please describe your changes on the following line: --> This PR fills out the constructor and the delete, get, has, and set methods for the Headers API. Addresses issue #11897 . The PR also rewrites the append method to support `hyper::header::Headers`'s HashMap `insert` method, which overwrites entries instead of appending. As a result of this, for a given header name there is at most one value in the inner "header list"/HashMap. Multiple values for the same name are comma-delimited. There are still a few TODOs: - Support `OpenEndedDictionary<ByteString>` as a possible `HeadersInit` value. [OpenEndedDictionary<T> is a future IDL construct.](https://fetch.spec.whatwg.org/#headers-class) - Support `iterable<ByteString, ByteString>`. Related issue: #12628 - Values are comma-delimited, except for values with the name `set-cookie`, which are newline-delimited. This is because values for `set-cookie` are [allowed to contain](https://tools.ietf.org/html/rfc7230#section-3.2.2) inner commas. This violates the [spec](https://fetch.spec.whatwg.org/#concept-header-value-combined). - The TODOs from PR #12467 regarding value parsing also still need to be resolved. --- <!-- 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 - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because tests for the Headers API already exists, but this commit does not implement the interface fully. The tests will fail. <!-- 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/12634) <!-- Reviewable:end -->
| * | | | Headers API constructor and methodsMalisa Smith2016-07-302-28/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Reworked the append method to support the inner `hyper::header::Headers`'s HashMap `insert` method, which overwrites entries instead of appending. - Filled out constructor as well as delete, get, has, and set methods. - Updated relevant test expectations
* | | | | Auto merge of #12186 - GuillaumeGomez:video-metadata, ↵bors-servo2016-07-292-7/+49
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=larsbergstrom,jdm,KiChjang Implement video-metadata check <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12186) <!-- Reviewable:end -->
| * | | | Change tests results to set timeout/failure expectedGuillaume Gomez2016-07-301-2/+1
| | | | |
| * | | | Add condition to not use video-metadata on aarch64 architecture as wellGuillaume Gomez2016-07-281-3/+3
| | | | |
| * | | | Disable video-metadata build on arm architecture as wellGuillaume Gomez2016-07-271-3/+4
| | | | |
| * | | | Remove video-metadata from android platformGuillaume Gomez2016-07-271-18/+30
| | | | |
| * | | | Implement video-metadata checkggomez2016-07-252-5/+35
| | |/ / | |/| |
* | | | Auto merge of #12502 - avadacatavra:devtools, r=jdmbors-servo2016-07-291-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added devtools support to fetch for XHR <!-- Please describe your changes on the following line: --> Added devtools support for fetch for XHR, but devtools can't show the request in the XHR tab. I've attached a picture of an XHR request in devtools. <img width="694" alt="screenshot 2016-07-19 11 07 55" src="https://cloud.githubusercontent.com/assets/11877868/16944480/210b0e8a-4da1-11e6-8288-48005ede33f6.png"> --- <!-- 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 #11774 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because I don't know how to automate devtools testing for this <!-- 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/12502) <!-- Reviewable:end -->
| * | | | Added devtools support to fetch for XHR + Manish's XHR ident fixddh2016-07-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added unit test for request fetch with devtools added devtools/fetch test
* | | | | Auto merge of #12649 - Ms2ger:update-script, r=Manishearthbors-servo2016-07-291-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some fixes to the script crate. <!-- 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/12649) <!-- Reviewable:end -->
| * | | | Remove an unused argument to ErrorInfo::from_dom_exception.Ms2ger2016-07-291-2/+2
| | | | |
* | | | | Auto merge of #12648 - heycam:store-extra-data, r=Manishearthbors-servo2016-07-291-1/+2
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store UrlExtraData in {specified,computed}::Image::Url. <!-- Please describe your changes on the following line: --> This stores a `UrlExtraData` object in `specified::Image::Url` and `computed::Image::Url`, so that geckolib can use the base/principal to create Gecko `ImageValue`s. (I'll do that in the followup to support background-image; want to get this in first.) r? @Manishearth --- <!-- 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 - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because existing tests should be sufficient <!-- 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/12648) <!-- Reviewable:end -->
| * | | | Store UrlExtraData in {specified,computed}::Image::Url.Cameron McCormack2016-07-291-1/+2
| | | | |
* | | | | Implement HTMLLIElement#valuevrod2016-07-284-1/+46
|/ / / /
* | | | Auto merge of #12617 - mskrzypkows:expose_interfaces, r=Ms2gerbors-servo2016-07-2810-10/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partial fix for #12415: expose interfaces of some HTML Elements <!-- Please describe your changes on the following line: --> Fix for interfaces: HTMLHeadingElement.webidl HTMLHRElement.webidl HTMLHtmlElement.webidl HTMLHyperlinkElementUtils.webidl HTMLIFrameElement.webidl HTMLImageElement.webidl HTMLInputElement.webidl HTMLLabelElement.webidl HTMLLegendElement.webidl HTMLLIElement.webidl --- <!-- 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 #12415 <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- 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/12617) <!-- Reviewable:end -->
| * | | | Partial fix for #12415: expose interfaces of some HTML ElementsMaciej Skrzypkowski2016-07-2810-10/+2
| | | | |
* | | | | Auto merge of #12255 - servo:smup, r=jdmbors-servo2016-07-285-111/+220
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update SpiderMonkey to m-c bcf4ff0c3eef. This currently breaks Servo on Android, because there are a number of interdependent changes that cannot easily land serially in a way that keeps it working throughout. We expect to fix this in the near future. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12255) <!-- Reviewable:end -->
| * | | | Update SpiderMonkey to m-c bcf4ff0c3eef.Ms2ger2016-07-285-111/+220
| |/ / / | | | | | | | | | | | | | | | | | | | | This currently breaks Servo on Android, because there are a number of interdependent changes that cannot easily land serially in a way that keeps it working throughout. We expect to fix this in the near future.
* | | | Auto merge of #12538 - szeged:error-refactor, r=noxbors-servo2016-07-285-21/+33
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor Bluetooth error handling <!-- Please describe your changes on the following line: --> Replace the error messages with an enum in `net/bluetooth_thread.rs`. Rename `bluetooth_blacklist.rs` to `bluetooth_utils.rs` and put the error conversion in it. With this the returned errors in DOM classes follow the specification. <!-- 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 do not require tests because there is no Web Bluetooth test API implementation yet. <!-- 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/12538) <!-- Reviewable:end -->
| * | | Refactor Bluetooth error handlingzakorgy2016-07-275-21/+33
| | |/ | |/|
* | | Auto merge of #12603 - zakorgy:write-value, r=KiChjangbors-servo2016-07-271-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebBluetooth writeValue new Step <!-- Please describe your changes on the following line: --> There is a new step in the writeValue function of the BluetoothRemoteGATTCharacteristic: https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetoothremotegattcharacteristic-writevalue Step 6.1 --- <!-- 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 do not require tests because, there is no WebBluetooth test API implementation yet. <!-- 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/12603) <!-- Reviewable:end -->
| * | | WebBluetooth Specification Changezakorgyula2016-07-261-0/+6
| | | |
* | | | Auto merge of #12563 - emilio:stylo, r=bholley,jdm,pcwaltonbors-servo2016-07-273-39/+48
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stylo: Improve restyling performance This commit adds hooks to the Servo style traversal to avoid traversing all the DOM for every restyle. Additionally it changes the behavior of the dirty flag to be propagated top down, to prevent extra overhead when an element is dirtied. This commit doesn't aim to change the behavior on Servo just yet, since Servo does extra job when dirtying the node related with DOM revision counters that might be necessary. CC @asajeffrey for the DOM revision counters stuff. When a node is dirty, do all its descendants really need to increment the revision counter, or is this an unintended effect? My intuition is that this is hurting performance quite a lot for servo. r? @bholley <!-- 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: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors <!-- Either: --> - [x] These changes do not require tests because no geckolib tests yet. <!-- 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/12563) <!-- Reviewable:end -->
| * | | | script: Unify LoadComplete and DOMLoad messages.Emilio Cobos Álvarez2016-07-271-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | See the PR in which this commit landed and also https://github.com/servo/servo/pull/6415#issuecomment-122294169
| * | | | style: Remove a few more unuseful traversals now we can.Emilio Cobos Álvarez2016-07-271-11/+25
| | | | |
| * | | | Some debugging improvements and code style nits across gfx and constellation.Emilio Cobos Álvarez2016-07-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * Propagate the RUST_LOG env var to the child process * Add debug information when a recv() fails in paint thread's select!.
| * | | | script: Don't hold the stderr lock while doing sync operations with the ↵Emilio Cobos Álvarez2016-07-251-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constellation. Otherwise if you enable debug logging, you deadlock.
| * | | | script: Fix a few load related bugs.Emilio Cobos Álvarez2016-07-251-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what was making me hit the new test failures. So turns out that when the DOMContentLoaded event is fired we fired no messages to the constellation, but we fired the DOMLoad message from the DocumentProgressHandler, effectively after having dispatched the Load message from script thread. This also fixes the possibility of a subframe navigation not blocking the load event of the parent document, for example.
| * | | | style: Avoid propagating the restyle flag all through the dom when a node ↵Emilio Cobos Álvarez2016-07-251-13/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | gets dirty. This puts us in pair with stylo.