These two tiny changes were making WebGL textures not work.
It was not seen in our texturing test since it only used one texture,
we render to a texture by default, and that texture was bound to
`gl::TEXTURE_2D`.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2cfcc26d9e5cc732a7594f0c0d96d4174c6b0a8a
fixes intermittent #8616
This intermittent indicates real problem in code.
Lets consider such code:
```javascript
// timer 1
setTimeout(function() {
//timer 2
setTimeout(function() {}, 0);
}, 0);
```
When we receive event to fire timer 1 it will be selected and extracted from active timers list in fire_timer function. During timer 1 handler execution we will schedule timer 2 and request timer event for it. But it will be executed during same fire_timer call because of 0 timeout. And as a result we will have empty timers list and expecting event for timer 2 that will crash in assert.
I'm not sure that all I've written is clear, but we have something like this:
```
install timer 1 -> [1] in timers list
push and expect timer event 1 -> expected_event=1
received timer event 1
fire_timer()
select timer 1 to execute -> [] in timers list
execute timer 1 handler
install timer 2 -> [2] in timers list
push and expect timer event 2 -> expected_event=2
select timer 2 to execute (because of 0 timeout) -> [] in tiemrs list
execute timer 2 handler
expected_event=2 is dangling
received timer event 2
fire_timer() -> BOOM
```
Source-Repo: https://github.com/servo/servo
Source-Revision: b32128e299212065d298b19106b9b7db970c2f23
Fixes browser.html blocker #8759. r? @pcwalton
This adds a slow path for cases where the compositor's layer-based hit testing is incorrect. If the script task discovers that a mouse event should have been dispatched to an iframe, it bounces the event back to the constellation to be forwarded to the correct pipeline.
This isn't terribly slow (on the slow path, it adds one extra round-trip message between script and constellation), but if we want to optimize this better we could instead replace the compositor's layer hit testing with display list hit testing in the paint task. This would be a more complicated change that I think we should save for a follow-up.
This only fixes mouse input for now. A basically-identical change will be needed for touch-screen input, whether we stick with this approach or switch to the paint task.
Source-Repo: https://github.com/servo/servo
Source-Revision: bc62b5aadb62267582fbd65daa28438ce6c6ac9c
This makes the initial download for skia go from a 300 MB git repository to a 5 MB tarball. This should help with issues like #6132 and #7687.
Fix https://github.com/servo/skia/issues/70
This builds, but the at the moment causes a number of tidy errors for duplicated crates.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b95d7b8d860ec4c0834192083361a9fb78ddbeb
Following changes have been made:
* Added final_mime_type and final_charset helper methods to return the appropriate final mime/charset values
* Modified the text_response method to use the final_charset instead of directly using the response charset
Source-Repo: https://github.com/servo/servo
Source-Revision: 6ec454b7f5926d84099930292ebdcbc8f6d5e89c
This is mostly stolen from Gecko. As there, we define the unforgeable members
on an object stored in the slots of the prototype object. They are then copied
onto instance objects when they are instantiated. It should be noted that
proxy objects see their unforgeable memebers defined on their expando object.
Unforgeable attributes aren't properly inherited in codegen (in a similar
fashion as getters and setters as filed in #5875) and require to be redefined
in derived interfaces. Fortunately, there are currently no such interfaces.
No unforgeable members can be included into the TestBinding interfaces for good
measure because they are not compatible with setters.
Source-Repo: https://github.com/servo/servo
Source-Revision: 20df7fb7c82a5501342ac85278294e4bcb5b1ab7
The 'text' attribute was implemented on `<body>` in #7841
Source-Repo: https://github.com/servo/servo
Source-Revision: 65108348aa543774ade163b25836018fa8f6c00f
Added handlers for https://github.com/servo/servo/issues/8623:
GetWindowSize
IsEnabled(WebElement)
IsSelected(WebElement)
I am not sure how to actually verify my webdriver code works, if someone can give advice I would make the necessary changes.
Thanks!
Source-Repo: https://github.com/servo/servo
Source-Revision: a877a56e0e603c6cc8e9f951c2ad14b6fe8f9b62
I don't know whether there's an issue reported for for this one.
r? @SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 3720e4d5ef09d710deaf846c74356ccea8d7afce
Updated string_cache to 0.2, and updated the dependencies that depend on string_cache.
Removed references to string_cache_plugin.
Import atom! and ns! from string_cache.
Replaced ns!("") by ns!().
Replaced ns!(XML) and co by ns!(xml) and co.
Replaced Atom::from_slice by Atom::from.
Replaced atom.as_slice() by &*atom.
r? @SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 188fa9378c103093f1f8dac24bff0d9d237fd2bc
Sadly calling ExtractContents and discarding the result doesn't do the right thing.
It may be worth having a CutContents method that takes an `Option<DocumentFragment>` and switch the behavior based on it, to share the code between DeleteContents and ExtractContents, like what Gecko does. Maybe a followup.
Source-Repo: https://github.com/servo/servo
Source-Revision: e7b19249489eff7a7fd49bf458ee7bd681f8ad13
Fixes#7120.
This is #7120 by @dzbarsky, with one tidy error fixed.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6ef6d664aab9368e69f0c9bc9c4c37ad22d79897
The document node is always dirty because layout never clears the bit;
instead, check the dirty bit of the root element.
Source-Repo: https://github.com/servo/servo
Source-Revision: a2be34365ae3b3e9a4f7da7a0fb5ed2dbf8426eb
Actually, I'm not sure whether to move `unsafe extern "C" fn shadow_check_callback` from script_task.rs to lib.rs or to keep it there. cc: @wenderen
Source-Repo: https://github.com/servo/servo
Source-Revision: 7ccdc42a660bed7ac3bd3ad110567b79cba012ff
Multiprocess mode is enabled with the `-M` switch, and sandboxing is
enabled with the `-S` switch.
Rebase of #6884.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b39b9afed6ef8a3d7d3e6609fd301a37825d3e1
This intentionally doesn't implement the special handling for boolean
attributes yet, since that requires some kind of exhaustive list of all
such attributes
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f95693288eac546b7b31a51a6fcf80883ae533b