Commit graph

9230 commits

Author SHA1 Message Date
bors-servo
a94b92f8c4 Auto merge of #11791 - craftytrickster:11712/pipeline-lookup, r=asajeffrey
Pipeline lookup in webdriver

Fixes #11712

<!-- Please describe your changes on the following line: -->

Removed a method that seemed to duplicate already existing functionality, and returned BrowsingContextErrors in the web_handler file where panics were previously occurring.

I am not sure if I like all the unwrapping that occurs in the script thread, but the current methods are not set up to return Option/Result.

Also, should line the method on line 37 `find_node_by_unique_id` of components/script/webdriver_handlers.rs return None if the context is not found like I have it currently? Or should it return a `Result<Option...>` instead?

<!-- 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 #11712 .

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I simply removed a method that duplicated already existing functionality. On the other part, I added better error sending instead of forcing a panic, which does not require testing to my knowledge.

<!-- 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/11791)
<!-- Reviewable:end -->
2016-07-26 00:44:28 -05:00
David Raifaizen
2475dc1d21 Removed some sources of panic from script thread and devtools, using Option values instead to indicate when a pipeline context is missing where appropriate. Additionally, removed erroneous method get_browsing_context. 2016-07-25 22:28:04 -04:00
bors-servo
4e18c230d0 Auto merge of #12501 - mephisto41:worker-close-impl, r=KiChjang
Implement DedicatedWorkerGlobalScope.close

<!-- Please describe your changes on the following line: -->
Implement DedicatedWorkerGlobalScope.close().
---
<!-- 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 #12466 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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/12501)
<!-- Reviewable:end -->
2016-07-25 19:34:36 -05:00
bors-servo
2746c476d3 Auto merge of #11967 - metajack:windows-package, r=larsbergstrom
Add Windows packaging to create an MSI installer

<!-- 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: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they require manual testing

<!-- 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/11967)
<!-- Reviewable:end -->
2016-07-25 16:48:33 -05:00
Jack Moffitt
d8c0b87eb2 Add Windows packaging to create an MSI installer 2016-07-25 14:58:33 -06:00
Emilio Cobos Álvarez
702445a3ec
script: Don't hold the stderr lock while doing sync operations with the constellation.
Otherwise if you enable debug logging, you deadlock.
2016-07-25 10:51:53 -07:00
Emilio Cobos Álvarez
e6958d3947
script: Fix a few load related bugs.
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.
2016-07-25 10:51:52 -07:00
Emilio Cobos Álvarez
d81fe27b11
style: Avoid propagating the restyle flag all through the dom when a node gets dirty.
This puts us in pair with stylo.
2016-07-25 10:50:04 -07:00
Zhen Zhang
9c8ebd3ce1 Chunked ReadFile from file manager 2016-07-25 19:39:16 +02:00
Zhen Zhang
49ed453a59 Fix FileAPI's refcount implementation 2016-07-25 17:48:03 +02:00
Pu Xingyu
62dd3f4df4 Refator 'box-sizing' calculation into a method
The 'box_sizing_boundary()' method return the border_padding width in
certain direction if fragment has property 'box-sizing: border-box'. The
'border_padding' field should be initialized before.
2016-07-25 20:59:04 +08:00
UK992
06142b37b8 Support tinyfiledialogs on Windows 2016-07-25 14:43:06 +02:00
Morris Tseng
d23ef77645 Implementing Close function and mark success tests. 2016-07-25 11:59:32 +08:00
Guillaume Gomez
5e010027d5 Update to last video-metadata crate version 2016-07-25 01:42:49 +02:00
Guillaume Gomez
95362ba3ce Update cargo libc 2016-07-25 01:42:48 +02:00
ggomez
1d9d77ee78 Implement video-metadata check 2016-07-25 01:42:45 +02:00
ggomez
20ab47cb1a Add video-metadata-rs dependencies 2016-07-25 01:41:33 +02:00
bors-servo
2d0178863d Auto merge of #12560 - djc:layout-threads-hoist, r=emilio
Hoist retrieval of layout_threads from opts into Constellation

<!-- Please describe your changes on the following line: -->

This makes the lower-level crates less dependent on `util::opts`.

---
<!-- 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 refactoring only

<!-- 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/12560)
<!-- Reviewable:end -->
2016-07-24 14:53:34 -05:00
Emilio Cobos Álvarez
96ea1a335c
stylo: don't double check that the root node is dirty in restyle_tree, since now we ensure it in the caller. 2016-07-24 12:51:58 -07:00
Emilio Cobos Álvarez
a3020419d9
stylo: Don't traverse the whole dom every restyle, propagate the dirty flag down the DOM.
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
might rely on a full bottom up reconstruction of the flows. I'll need to double
check and implement that separately.
2016-07-24 12:51:58 -07:00
Dirkjan Ochtman
e182d29441 Hoist retrieval of layout_threads from opts into Constellation 2016-07-24 21:45:31 +02:00
Pu Xingyu
7df5974456 Rename enum 'Mode' to 'Direction'
Rename the 'Mode' enum to 'Direction' and move it to 'model.rs', thus it
can be used to indicate logical direction.
2016-07-24 14:58:02 +08:00
Nikhil Shagrithaya
8a05e7a413 Implemented name for Runnable trait in WebSocket Runnables 2016-07-23 23:27:31 +05:30
Kuba Birecki
2c5ea6bd0d Partial fix for #12415: expose interfaces only where necessary 2016-07-23 14:48:33 +02:00
Kuba Birecki
fa8c407191 Partial fix for #12415: expose interfaces only where necessary 2016-07-23 11:09:48 +02:00
Jean SIMARD
e70f68046e
partial-fix #12415: incorrect exposure of Window,Worker in webidl
* HTMLTableCaptionElement.webidl
* HTMLTableCellElement.webidl
* HTMLTableColElement.webidl
* HTMLTableDataCellElement.webidl
* HTMLTableElement.webidl
* HTMLTableHeaderCellElement.webidl
* HTMLTableRowElement.webidl
* HTMLTableSectionElement.webidl
2016-07-23 00:05:40 -04:00
bors-servo
07fcaf48f6 Auto merge of #12526 - woshilapin:fix-12415/htmlp-htmls, r=jdm
partial-fix #12415: incorrect exposure of Window,Worker in webidl

<!-- 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 fix (partially) #12415 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they don't add any feature

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

* HTMLParagraphElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlparagraphelement
)]
* HTMLParamElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlparamelement)]
* HTMLPreElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlpreelement)]
* HTMLProgressElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlprogresselement)]
* HTMLQuoteElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlquoteelement)]
* HTMLScriptElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlscriptelement)]
* HTMLSelectElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlselectelement)]
* HTMLSourceElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlsourceelement)]
* HTMLSpanElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlspanelement)]
* HTMLStyleElement.webidl [[spec](https://html.spec.whatwg.org/multipage/#htmlstyleelement)]

<!-- 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/12526)
<!-- Reviewable:end -->
2016-07-22 20:14:55 -05:00
bors-servo
ccc4b41d36 Auto merge of #12533 - woshilapin:fix-12415/htmlt-htmlv, r=jdm
partial-fix #12415: incorrect exposure of Window,Worker in webidl

<!-- 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 fix (partially) #12415 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they don't add any feature

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

* HTMLTemplateElement.webidl [[spec](https://html.spec.whatwg.org/multipage/scripting.html#htmltemplateelement)]
* HTMLTextAreaElement.webidl [[spec](https://html.spec.whatwg.org/multipage/forms.html#htmltextareaelement)]
* HTMLTimeElement.webidl [[spec](https://html.spec.whatwg.org/multipage/semantics.html#htmltimeelement)]
* HTMLTitleElement.webidl [[spec](https://html.spec.whatwg.org/multipage/semantics.html#htmltitleelement)]
* HTMLTrackElement.webidl [[spec](https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement)]
* HTMLUnknownElement.webidl [[spec](https://html.spec.whatwg.org/multipage/semantics.html#htmlunknownelement)]
* HTMLUListElement.webidl [[spec](https://html.spec.whatwg.org/multipage/semantics.html#htmlulistelement)]
* HTMLVideoElement.webidl [[spec](https://html.spec.whatwg.org/multipage/embedded-content.html#htmlvideoelement)]

<!-- 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/12533)
<!-- Reviewable:end -->
2016-07-22 19:17:34 -05:00
Jean SIMARD
2aed5b9781
partial-fix #12415: incorrect exposure of Window,Worker in webidl
* HTMLTemplateElement.webidl
* HTMLTextAreaElement.webidl
* HTMLTimeElement.webidl
* HTMLTitleElement.webidl
* HTMLTrackElement.webidl
* HTMLUnknownElement.webidl
* HTMLUListElement.webidl
* HTMLVideoElement.webidl
2016-07-22 17:10:36 -04:00
bors-servo
0e887ca8d3 Auto merge of #12552 - ConnorGBrewster:history_interface, r=asajeffrey
History interface Go, Back, and Forward

<!-- Please describe your changes on the following line: -->
r? @asajeffrey

---
<!-- 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 #5670 (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. -->

implement go, forward, back

<!-- 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/12552)
<!-- Reviewable:end -->
2016-07-22 15:34:14 -05:00
Jean SIMARD
99b82529a8
partial-fix #12415: incorrect exposure of Window,Worker in webidl
* HTMLParagraphElement.webidl
* HTMLParamElement.webidl
* HTMLPreElement.webidl
* HTMLProgressElement.webidl
* HTMLQuoteElement.webidl
* HTMLSelectElement.webidl
* HTMLSourceElement.webidl
* HTMLSpanElement.webidl
* HTMLStyleElement.webidl
2016-07-22 16:07:57 -04:00
Connor Brewster
8d7a0c2cda Add History interface
implement go, forward, back
2016-07-22 14:07:51 -06:00
bors-servo
cdf225c26e Auto merge of #12559 - jdm:parallel-codegen, r=Ms2ger
Generate multiple DOM bindings in parallel.

Reduces the time for a build after touching `CodegenRust.py` by 58s for me.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12529 (github issue number if applicable).
- [X] These changes do not require tests because it's a build performance optimization

<!-- 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/12559)
<!-- Reviewable:end -->
2016-07-22 12:07:40 -05:00
Pu Xingyu
a70d2bbed8 Flex elements in a row flex container
Iterate over the items, create lines from them, resolve flex lengths
against them, set their inline size and margin lengths, and align them
according to 'justify-content', 'align-content' and 'align-self'.
2016-07-23 01:07:22 +08:00
Jim Berlage
7952bd00b6 Add linting for shell scripts
This changes tidy to check shell scripts for the proper shebang and
options.  It does not check that variables are formatted correctly.  It
also adds a check for the MPL 2.0 license in shell scripts.
2016-07-22 11:53:14 -05:00
Josh Matthews
015a52b149 Generate multiple DOM bindings in parallel. 2016-07-22 12:18:14 -04:00
Pu Xingyu
bc8d22a5e7 Make the width of block customizable by its parent
Add a 'IS_FLEX' flag to bitflags of block flow, and when it is set, the
block will use the inline size and margins set by its parent.
2016-07-22 16:06:59 +08:00
Pu Xingyu
05cf52cb0b Filter abs-pos children and sort by 'order' field
As the flexbox spec change in May 2016, the absolutely positioned
children painting order no longer follow the `order` property, thus we
can simply filter them out.

Also sort items by the order field of 'FlexItem', no longer do two
vtable lookups in each compare.
2016-07-22 16:06:59 +08:00
Pu Xingyu
196d19a311 Add 'get_flex_line()' method to flex flow
The method returns 'Option<FlexLine>', can be used to obtain a line in
flex container.
2016-07-22 16:06:59 +08:00
Pu Xingyu
87a041d416 Add FlexLine and its method for flex resolving
Add the 'FlexLine' struct to represent a line in flex container, and the
'flex_resolve()' method for flex lengths resolving.
2016-07-22 16:06:59 +08:00
Pu Xingyu
bf5805f2a6 Add flags 'is_wrappable' and 'cross_reverse'
These 'is_wrappable' flag can be used to determine if a flex flow can be
multi-line. The 'is_reverse' flag is replaced by 'main_reverse' and
'cross_reverse' since flex flow can go reverse individually in main and
cross direction.
2016-07-22 16:06:59 +08:00
Pu Xingyu
5da880e2c2 Extend fields of FlexItem and add methods
Extend fields of `FlexItem` struct with values that are necessary to
resolve flexible lengths, and the 'order' property. Add other methods
for size computing to make the code more modular.
2016-07-22 16:06:14 +08:00
bors-servo
9c0e7b1cf2 Auto merge of #12544 - izgzhen:patch-file-api, r=Manishearth
Patches of File API

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

<!-- Either: -->
- [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/12544)
<!-- Reviewable:end -->
2016-07-22 01:09:58 -05:00
bors-servo
05cc76370f Auto merge of #11866 - ConnorGBrewster:joint_session_history, r=asajeffrey
Implement joint session history

<!-- Please describe your changes on the following line: -->
This is cleaned up and should align with the patches on https://github.com/ConnorGBrewster/ServoNavigation/blob/master/notes/notes.pdf
r? @asajeffrey

---
<!-- 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 #11669 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this is not testable until the History API is added.

<!-- 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/11866)
<!-- Reviewable:end -->
2016-07-21 22:40:56 -05:00
Connor Brewster
f131818763 Implement beginnings of joint session history
Fix backward navigation

make use of history iterator

Add frame iterator
add different back logic

cleanup navigation_info

Add extra explanation for iter logic

Remove forward history on full frame tree

Rename navigation to traversal where appropriate

check full tree for can go back/forward

simplify frame iter logic

remove FrameIterator

cleanup history iter

reduce amount of vec allocations

removed extra parenthesis

Remove history iterator

cleanup after rebasing

avoid recursive vec allocation
remove full_frame_tree
remove_forward_history_in_frame_tree -> clear_joint_session_future
2016-07-21 20:51:38 -06:00
bors-servo
6064f31f19 Auto merge of #12546 - malisas:malisa-bytestring-unions, r=KiChjang
Union types now allow ByteString

<!-- Please describe your changes on the following line: -->
This PR addresses issue #12527 to allow ByteStrings in union types.
---
<!-- 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 #12527  (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/12546)
<!-- Reviewable:end -->
2016-07-21 21:25:42 -05:00
Malisa Smith
56bdc002fc Union types now allow ByteString 2016-07-21 19:19:12 -07:00
bors-servo
1e0321f7dd Auto merge of #12469 - emilio:stylo, r=bholley
style: Rewrite the restyle hints code to allow different kinds of element snapshots.

<!-- 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 refactoring.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This is a rewrite for how style interfaces with its consumers in order to allow
different representations for an element snapshot.

This also changes the requirements of an element snapshot, requiring them to
only implement MatchAttr, instead of MatchAttrGeneric. This is important for
stylo since implementing MatchAttrGeneric is way more difficult for us given the
atom limitations. This also allows for more performant implementations in the
Gecko side of things.

I don't want to get this merged just yet, mainly because the stylo part is not
implemented, but I'd like early feedback from @bholley and/or @heycam: How do
you see this approach? I don't think we'll have much problem to implement
MatchAttr for our element snapshots, but... worth checking.

r? @heycam

<!-- 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/12469)
<!-- Reviewable:end -->
2016-07-21 16:54:34 -05:00
Emilio Cobos Álvarez
f44e31aa58
stylo: Update generated bindings 2016-07-21 14:24:05 -07:00
Emilio Cobos Álvarez
611e611215
style: Rewrite the restyle hints code to allow different kinds of element snapshots, and use it for Gecko.
This is a rewrite for how style interfaces with its consumers in order to allow
different representations for an element snapshot.

This also changes the requirements of an element snapshot, requiring them to
only implement MatchAttr, instead of MatchAttrGeneric. This is important for
stylo since implementing MatchAttrGeneric is way more difficult for us given the
atom limitations. This also allows for more performant implementations in the
Gecko side of things.
2016-07-21 14:24:04 -07:00