aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_task.rs
Commit message (Collapse)AuthorAgeFilesLines
* Qualify script_traits enums.Ms2ger2015-01-041-5/+12
|
* Qualify resource_task enums.Ms2ger2015-01-041-2/+2
|
* Rename constellation_msg::Msg variants.Ms2ger2015-01-041-10/+9
|
* auto merge of #4535 : servo/servo/pre-rustup_20141221, r=jdmbors-servo2015-01-031-1/+1
|\ | | | | | | This prepares for the rust upgrade currently being conducted.
| * Fix obsolete format traits.Ms2ger2015-01-021-1/+1
| | | | | | | | They are to be removed from the language in the next rust upgrade.
* | Stall PaintTask exit until it can release all buffersMartin Robinson2015-01-021-7/+11
|/ | | | | | | | | | | | | | | | | It is possible for a PaintTask to start exiting soon after sending new buffers to the compositor. In that case, the compositor should return the now unnecessary buffers to the PaintTask so that it can properly free them. To accomplish this, the compositor now keeps a hash map of paint task channels per pipeline id. When a PaintTask exists, the constellation informs the compositor that it can forget about it. Additionally, the PaintTask should not wait for any buffers when the engine is doing a complete shutdown. In that case, the compositor is already halted and has simply let all buffers leak. We pipe through the shutdown type when destroying the pipeline to make this decision. Fixes #2641.
* auto merge of #4526 : servo/servo/deref-1, r=Manishearthbors-servo2015-01-021-53/+56
|\ | | | | | | This is a start towards fixing #3868. Not all callers have been fixed yet, so the `Deref` implementation remains for now.
| * Replace Root::deref() calls by Root::r() calls where possible.Ms2ger2015-01-011-53/+56
| | | | | | | | This changes those calls that were already sound.
* | Stop using ptr.is_not_null() in script.Ms2ger2015-01-011-2/+2
|/ | | | | This method is deprecated in rust master; removing its users in advance will make a future rust upgrade smoother.
* Replace the remaining to_string calls by into_string calls.Ms2ger2014-12-311-1/+1
|
* auto merge of #4057 : jdm/servo/refcountdom, r=Ms2gerbors-servo2014-12-291-14/+35
|\ | | | | | | | | | | | | | | This replaces the specialized TrustedXHRAddress and TrustedWorkerAddress code that was used for the same purpose. A non-zero refcount pins the given DOM object's reflector and prevents it from being GCed even when there are no other outstanding references visible to SpiderMonkey. This will enable us to implement asynchronous operations that refer to particular DOM objects (such as "queue a task to fire a simple event named load at the iframe element" from the spec) safely and conveniently, and paves the way for things like asynchronous network responses. Some concerns about the resulting size of XHR progress messages have been expressed, but I believe optimizations to reduce that can be implemented in subsequent PRs. r? @Ms2ger - note in particular the changes to the worker lifetime code. I couldn't figure out how to achieve an identical lifetime to the previous addref/release pairing, and I also was having trouble figuring out why the existing setup was safe. The new implementation now holds the main script task Worker object alive via the TrustedWorkerAddress field in the dedicated worker global scope, which is a significant difference.
| * Force all messages to worker tasks to send a TrustedWorkerAddress along with ↵Josh Matthews2014-12-291-12/+30
| | | | | | | | the ScriptMsg. This ensures that the main-thread Worker object is rooted for as long as there are events in flight or being processed.
| * Allow refcounting arbitrary DOM objects in concert with the GC to enable ↵Josh Matthews2014-12-291-5/+8
| | | | | | | | safe, asynchronous/cross-task references to pinned objects.
* | Simplify some code in handle_click_event.Ms2ger2014-12-291-6/+5
|/
* script: to_string() -> into_string()Manish Goregaokar2014-12-271-9/+9
|
* auto merge of #4474 : thiagopnts/servo/generic-msgs, r=jdmbors-servo2014-12-241-9/+8
|\ | | | | | | This refs #3735. As discussed in the issue, I did it cloning when I couldn't dereference an attribute. The trait method should be on `&self` for object-safety reasons.
| * Replace XHR events for generic ones in ScriptTaskthiagopnts2014-12-231-9/+8
| | | | | | | | | | | | fixup! Replace XHR events for generic ones in ScriptTask fixup! Replace XHR events for generic ones in ScriptTask
* | This fixes #4259. Dispatching the mousemove event for the top most node when ↵Matt McCoy2014-12-231-0/+28
|/ | | | the mouse moves while on top of it
* auto merge of #4444 : Ms2ger/servo/load-simplify, r=jdmbors-servo2014-12-191-5/+2
|\
| * Simplify some code in ScriptTask::load.Ms2ger2014-12-191-5/+2
| |
* | Make the argument to dispatch_event_with_target non-optional.Ms2ger2014-12-191-1/+1
|/ | | | | The name of the method makes it clear it's supposed to be used with a target override, so we might as well enforce that.
* auto merge of #4434 : saneyuki/servo/glob_script, r=jdmbors-servo2014-12-181-32/+30
|\ | | | | | | #4406
| * script: Remove glob imports added in #4405Tetsuharu OHZEKI2014-12-191-32/+30
| |
* | auto merge of #4403 : pcwalton/servo/back-borrow, r=jdmbors-servo2014-12-181-8/+17
|\ \ | |/ |/| | | | | | | I have verified that back and forward work once again. Sorry about this one. r? @jdm
| * script: Fix double borrow error when going back. Closes #4402.Patrick Walton2014-12-161-8/+17
| | | | | | | | I have verified that back and forward work once again.
* | compositing: Implement `cursor` per CSS3-UI § 8.1.1 in the CEF/Mac port.Patrick Walton2014-12-171-13/+8
| | | | | | | | | | I'm not sure how we want to handle Linux cursors, and GLFW has no ability to set cursors (short of disabling it and managing it yourself).
* | Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d.Ms2ger2014-12-171-49/+57
|/
* auto merge of #4374 : thiagopnts/servo/dispatch-event, r=Ms2gerbors-servo2014-12-161-1/+1
|\ | | | | | | servo/pull/4369 with the right commit.
| * Add auxiliary method to EventTargetHelpers for events without targetthiagopnts2014-12-161-1/+1
| | | | | | | | fixup! Add auxiliary method to EventTargetHelpers for events without target
* | script: Fix double-borrow errorPatrick Walton2014-12-151-1/+1
| | | | | | | | This was my fault. It comes up on almost any page after scrolling a bit.
* | script: Add some workarounds for image cache task racesPatrick Walton2014-12-151-18/+25
| |
* | script: Improve dirty propagation and fix script-layout synchronization.Patrick Walton2014-12-151-38/+15
|/ | | | | This fixes race conditions whereby layout and script could be running simultaneously.
* auto merge of #4356 : servo/servo/msgs, r=jdmbors-servo2014-12-121-29/+73
|\
| * script_trask, handle_msgs: factored out handle_msg_from_devtoolsGilbert Röhrbein2014-12-121-6/+18
| |
| * script_trask, handle_msgs: factored out handle_msg_from_scriptGilbert Röhrbein2014-12-121-11/+28
| |
| * script_trask, handle_msgs: factored out handle_msg_from_constellationGilbert Röhrbein2014-12-121-10/+27
| |
| * script_task, handle_msgs: sort for pattern constructorGilbert Röhrbein2014-12-121-9/+7
| |
* | Return real page titles and URLs for devtools tab choices.Greg Weng2014-12-121-8/+17
|/ | | | Fixes #4167.
* Sending key events through script task before processing them in the compositor.Nathan E. Egge2014-12-121-0/+4
| | | | Fixes #4163
* ports/cef: Implement accelerated compositing for the CEF port.Patrick Walton2014-12-101-3/+14
|
* Reuse the final_url in ScriptTask::load.Ms2ger2014-12-091-5/+4
| | | | | In both the javascript and non-javascript url cases, final_url is set to the same url as is stored by the Page.
* Pass a borrowed Url to parse_html.Ms2ger2014-12-091-1/+1
| | | | | It does not need to take ownership, and I want to reuse final_url in the caller.
* Rename base_url to final_url in ScriptTask::load.Ms2ger2014-12-091-5/+5
| | | | This seems like a clearer name, as it's used for more than just as a base url.
* Remove the url from the InputUrl variant.Ms2ger2014-12-091-2/+2
| | | | | This url is the pre-redirect url, which is not particularly meaningful, and it is used only in a panic message.
* Move the load response into the HTMLInput enum.Ms2ger2014-12-091-4/+4
| | | | | It is None iff the parser input is an InputString variant, so it makes more sense to pass it in the same enum.
* Combine two conditionals in ScriptTask::load.Ms2ger2014-12-091-40/+31
| | | | | Now that the code lives in the same function, I see no reason for them to remain separate.
* Make parse_html's base_url argument non-optional.Ms2ger2014-12-081-6/+3
| | | | It turns out the case where it woul be None can't happen.
* Move the networking code in parse_html into ScriptTask::load.Ms2ger2014-12-081-2/+86
| | | | | | This doesn't really have anything to do with parsing HTML, and fits in better with the code in ScriptTask::load. In particular, all changes to Page's url now go through ScriptTask methods.
* Pass the load data to parse_html directly, rather than in an Option.Ms2ger2014-12-081-1/+1
|
* Cleanup last_loaded_url/last_url handling in ScriptTask::load.Ms2ger2014-12-081-8/+5
|