Commit graph

3647 commits

Author SHA1 Message Date
bors-servo
a3bad43e8a auto merge of #978 : ryanhc/servo/renderbox-cache, r=metajack 2013-09-25 20:06:42 -07:00
Ryan Choi
9fa389938c Update submodule 2013-09-26 11:42:15 +09:00
Ryan Choi
9a3a6f2829 Cache font-style and text-decoration to speed up can_merge_with_box() 2013-09-25 15:50:38 +09:00
bors-servo
c246188605 auto merge of #826 : metajack/servo/android-darwin, r=jdm
This cleans up configure and Makefile.in so that things build correctly on Darwin.

This needs https://github.com/mozilla-servo/nss/pull/6 before it can be merged. Please hold any r+ until that lands and I push the submodule update.
2013-09-24 13:09:40 -07:00
bors-servo
b7d186dec2 auto merge of #977 : kmcallister/servo/redirect, r=jdm 2013-09-24 12:45:44 -07:00
bors-servo
401176b72d auto merge of #966 : tikue/servo/master, r=metajack
Fixes #967 and #965 

This has been wrong for a long time. Previously, only the pipeline associated with the root frame evicted would be shut down. 1) It shouldn't necessarily be closed, because there could be references to it still in the navigation context, and 2) Presumably none of the children pipelines of the root frame were ever exiting.

It's hard to test this right now because #965 covers up other pipeline exiting issues, but when that's fixed, a pathological case in which things would have broken down would be:

1) Load a page with an iframe that contains a link
2) Click the link
3) Press backspace to navigate back
4) Navigate to any new page, at which point the forward page would be evicted from the navigation context, and the outer frame's pipeline would be shut down improperly.
5) Press backspace, at which point there is no longer a pipeline for the old page, because it was shut down prematurely. Presumably this would cause a crash.

I also changed the FrameTree function ```find_mut``` to ```find``` because find_mut implies it's doing something to cause mutability, but the mutability is caused by the type of object being iterated over, nothing else.

Additionally, script was exiting completely when receiving an exit message. Instead, it needs to handle exit messages according to who sent it. It should only close the subframes of the frame whose pipeline sent the exit message. This is now fixed.

Inexplicably, script was also closing the compositor upon receiving an exit message. This doesn't seem like it'd ever be the right thing to do. *Edit: this is _only_ the right thing to do when received from the window.* I've fixed that. I don't think anyone shuts down the compositor now. *Edit: the script shuts down the compositor only when receiving an exit from the window.*
2013-09-23 21:24:42 -07:00
Tim Kuehn
103cd6255d split script_task::ExitMsg into WindowExitMsg and PipelineExitMsg 2013-09-24 00:15:35 -04:00
Tim Kuehn
99f125bb64 script task only exits when the root pipeline exits 2013-09-24 00:03:52 -04:00
Tim Kuehn
c56b015623 find_mut ==> find. it's only mut because of the data type iterated over 2013-09-24 00:03:51 -04:00
Tim Kuehn
d77a07388f exit the correct evicted pipelines 2013-09-24 00:03:51 -04:00
Keegan McAllister
1c6de361b7 Handle HTTP 3xx redirects
Fixes #973.
2013-09-23 14:50:50 -07:00
Keegan McAllister
9bd0e2a3ac Remove an unneeded helper function 2013-09-23 14:50:50 -07:00
Keegan McAllister
69473b6c9c Make some debug prints more useful 2013-09-23 14:50:50 -07:00
bors-servo
d6769de467 auto merge of #972 : metajack/servo/parbuild-bugs, r=kmcallister
This fixes several makefile issues around parallel builds as well as some general cleanup.
2013-09-23 11:27:43 -07:00
Jack Moffitt
7ee000f613 Make rust submodules depend on rust. 2013-09-23 10:40:34 -06:00
Jack Moffitt
59151ad3dc Add *.dSYM to clean targets. 2013-09-23 10:40:09 -06:00
Jack Moffitt
3f9ce9b55e Build rustc with debugging enabled. 2013-09-23 10:39:58 -06:00
Jack Moffitt
194864af97 Fix nss/nspr depdency chain. 2013-09-23 10:38:46 -06:00
Jack Moffitt
3de7a1e4f6 Fix huge bug in makefile prevent rust from building with debugging or with -O. 2013-09-23 10:38:26 -06:00
bors-servo
0096d119f0 auto merge of #968 : luisbg/servo/master, r=larsbergstrom
update_window_title() is called constantly in the compositor loop. This function
always changes the title to "Servo" when in idle state so it is spamming the X
server with constant changes. But this isn't necessary because updating the
title is taken care of when the Rendering or Ready state are changed in
set_ready_state() and set_render_state().

Fixes #830

Happy Software Freedom Day
2013-09-22 16:54:46 -07:00
Luis de Bethencourt
5a95a30e14 Removing unnecessary constant window title update
update_window_title() is called constantly in the compositor loop. This function
always changes the title to "Servo" when in idle state so it is spamming the X
server with constant changes. But this isn't necessary because updating the
title is taken care of when the Rendering or Ready state are changed in
set_ready_state() and set_render_state().

Fixes #830

Happy Software Freedom Day
2013-09-22 19:25:48 -04:00
bors-servo
4f8b20ecc1 auto merge of #953 : saneyuki/servo/test, r=jdm 2013-09-21 07:54:45 -07:00
Tetsuharu OHZEKI
795c07209b Enable to pass a test message. 2013-09-21 15:15:46 +09:00
bors-servo
e576a1cf7e auto merge of #961 : tikue/servo/master, r=kmcallister
* Profiler is now close to a no-op when ```-p``` is not passed in
* The profiler's printing ```Timer``` now stops looping when the profiler is closed
* Most task ```Chans``` are now newtype ```structs```
* Some more ```Cell``` removals in places where ```spawn_with``` is appropriate
2013-09-20 15:39:46 -07:00
Tim Kuehn
5f600f0ec0 fix constellation being inundated with messages from script.
script task sent RendererReadyMsg after every reflow.
now, the renderer sends RendererReady at the appropriate time,
and _only_ if it doesn't have paint permission.
2013-09-20 18:36:26 -04:00
Tim Kuehn
84d731712f cleaned up code in constellation to make it more maintainable 2013-09-20 18:36:15 -04:00
Tim Kuehn
9df66ff021 workaround for broken cross-crate generic newtype structs
add issue number for newtype struct issue
2013-09-20 17:25:08 -04:00
Tim Kuehn
c804db0f93 deactive profiler when not in use; use newtype structs for task chans 2013-09-20 17:25:08 -04:00
bors-servo
17864cb25d auto merge of #963 : larsbergstrom/servo/summit, r=jdm
We need to figure out what we need to implement/fix for the summit, and this page pulls together all of the elements we want to show.
2013-09-20 09:51:57 -07:00
Lars Bergstrom
ee4a468c13 Start pulling together summit demo elements 2013-09-20 11:40:36 -05:00
bors-servo
dafb2c3d7f auto merge of #959 : luisbg/servo/master, r=jdm
Issue #924
2013-09-19 21:09:14 -07:00
Luis de Bethencourt
cfd726f7d6 Rename the node field of the DOM node hierarchy
Renamed the Node elements

Fixes #924
2013-09-19 19:39:38 -04:00
Luis de Bethencourt
2dbd065d91 Rename the element field of the DOM Node hierarchy
Renamed htmlelement, and element

Fixes #924
2013-09-19 19:39:38 -04:00
bors-servo
0ca4c19b57 auto merge of #957 : kmcallister/servo/inline-js, r=jdm 2013-09-19 15:03:52 -07:00
bors-servo
b85497b76a auto merge of #958 : tikue/servo/master, r=pcwalton
Cells are generally less readable, and spawn_with makes many of them unnecessary.
2013-09-19 14:36:56 -07:00
Tim Kuehn
6c28b5cc9c use spawn_with in lieu of cells 2013-09-19 17:28:49 -04:00
Keegan McAllister
3bc7aa52cb Fix some missing end-of-file newlines 2013-09-19 14:00:32 -07:00
Keegan McAllister
62d402f668 Move test JS into HTML files
Fixes #896.
2013-09-19 13:58:04 -07:00
bors-servo
7ffcc29d54 auto merge of #955 : kmcallister/servo/bindings, r=metajack 2013-09-18 19:39:47 -07:00
bors-servo
849ff1b754 auto merge of #954 : jgraham/servo/clear_timeout, r=metajack 2013-09-18 18:45:53 -07:00
Keegan McAllister
73c1a12f30 bindings: Return errors in Result rather than setting an out parameter
Fixes #909.
2013-09-18 18:07:37 -07:00
James Graham
29a75daa66 Add support for clearTimeout. 2013-09-19 00:02:41 +01:00
Keegan McAllister
4b0680a136 Replace our rust_box with std::unstable::raw::Box
This will keep us in sync with compiler changes.  In fact we had the 'prev' and
'next' fields in the wrong order (but we aren't using them).
2013-09-18 14:57:12 -07:00
Keegan McAllister
68ddc6b4ab Make DOMString an alias for Option<~str>
Fixes #898.
2013-09-18 14:46:42 -07:00
bors-servo
5be084a3b6 auto merge of #951 : kmcallister/servo/debug-skia, r=metajack
Fixes #921.
2013-09-17 18:15:50 -07:00
Keegan McAllister
d8667a553b configure: Control Skia debugging with a separate --enable-debug-skia
Fixes #921.
2013-09-17 17:46:01 -07:00
bors-servo
1bc68f7eff auto merge of #944 : larsbergstrom/servo/iframe_display, r=pcwalton
The quadtree was checking to see if a window's position was within the clip region before drawing it. However, the window's position is in page-relative coordinates whereas the clip region is in window-relative coordinates. So, unless the iframe happened to fall in the clip range, it would never have tiles returned.

If an iframe had enough content that it spilled outside of its clip range, different logic was triggered that would cause it to receive a ReRenderMsg anyway, which circumvented all of this.

@eschweic, can you please review this if you have a minute? I believe that I've correctly captured the four checks we want to make (two each for ```x``` and ```y``` directions to determine if the window is in or out, but I'd appreciate another set of eyes on it.

For some example data, in a call to ```get_tile_rects``` for an iframe that is sized to 400x400 and is 428-ish pixels down the page, with a browser frame that is 600 total pixels tall, that function is called with:
window origin geom::point::Point2D<f32>{x: 9f32, y: 428.6000061f32}
window size geom::size::Size2D<f32>{width: 400f32, height: 171.3999939f32}
self origin geom::point::Point2D<f32>{x: 0f32, y: 0f32}
self size 512f32" 
clip: size::Size2D<f32>{width: 400f32, height: 400f32}
2013-09-17 17:04:13 -07:00
Lars Bergstrom
d6141edfd4 Change retrieval of buffers from sublayers to both clip relative
to the scrolled position of its parent layer and to offset the
origin, since each layer assumes that its origin is 0,0.
2013-09-17 17:40:56 -05:00
bors-servo
b77c3eaaa0 auto merge of #950 : jdm/servo/matrixmath, r=metajack 2013-09-17 10:24:49 -07:00
Josh Matthews
49f54377d3 Add large matrix multiplication demo. 2013-09-17 12:56:58 -04:00