| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|\
| |
| | |
Add basic support for web fonts. Synchronous loading only
|
| |
| |
| |
| |
| |
| | |
for now, and only deals with TTF format fonts.
For an example, try loading http://icons.marekventur.de
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
This will allow breaking the layout -> compositing dependency
|
| |
|
| |
|
|\
| |
| | |
Font refactoring work - add font cache task, cleanup various code paths.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the font cache task, and adapts client code to use it. It also
cleans up some existing code paths.
- Fonts are only read once from disk while in use (they
are discarded if the reference count reaches zero, however).
This saves memory and prevents unnecessary reading from disk.
- It will be easier to add web font support, as all fonts
are created and managed in a single place and the entire
pipeline ensures that only one in-memory copy of font data
is required.
An overview of how the pieces fit together:
FontTemplate - A structure containing everything that
is required to create (and select) font handles. This
structure is shared among all matching font handles
(via Arc).
FontTemplateData - A platform specific structure that
contains the actual font data inside a template (this is
a byte array on Linux/Android, CTFont on Mac).
FontHandle - An opaque, platform specific handle to
a font instance. Each FontHandle contains an Arc<>
reference to the FontTemplate it was created from.
FontCache - This is a separate task, that is responsible
for loading and caching FontTemplate structures. There
is one FontCache per constellation. It is only ever accessed
via the FontContext described below.
FontContext - This is the public interface to the FontCache
and is used by the layout and render code to create font
handles. These must *not* be shared between threads. There
is typically one FontContext per thread/task.
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
And likewise for |ProfilerChan|, |profiler_chan|, and so on. This
contrasts nicely with the newly added |MemoryProfiler|.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This suppress the following compile warning:
```
compile: servo
src/components/main/layout/context.rs:75:18: 75:26 warning: use of `#[deriving]` with a raw pointer, #[warn(raw_pointer_deriving)] on by default
src/components/main/layout/context.rs:75 pub stylist: *Stylist,
^~~~~~~~
```
|
| |
|
| |
|
| |
|
|\
| |
| | |
Do not display noscript element
|
| | |
|
|\ \
| | |
| | | |
Assorted cleanups in gfx and layout
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Separate "desktop" and "mobile" zoom calculations.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
This ensures that the layout viewport responds to each type of zoom correctly,
and lays the ground for CSS Media Queries and CSS Device Adaption.
Until we have proper touch support, mobile-style "pinch" zoom can be simulated
by holding Ctrl while scrolling with a mousewheel or trackpad gesture.
|
|/ /
| |
| |
| | |
This reverts commit 3f8f065b76d034803bfb666899ef07afce0a1cd9.
|
| |
| |
| |
| |
| | |
This reverts commit 850bd2891de589b95e32dc8f0b59d4043ed1e0a3, reversing
changes made to 5b0feac32a3ef13a76670eb2f5f21e7b598fc890.
|
|\ \
| | |
| | | |
Render in parallel
|
| |/
| |
| |
| | |
I added this to test the impact of green threading.
|
|\ \
| |/
|/| |
Add overflow to child layer size
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When creating child layers it is important to consider overflow when
determining the size of the layer. This also means that overflow should
not be too large, so also shrink block width down to the size of their
contained fragment. This means that a block that has been explicitly
sized to width:100px should be 100 pixels wide instead of the width of
its containing block.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
android building.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where the CSS viewport was too large on high-DPI displays
because it was set to the window size in device pixels, instead of px. This
patch ensures that the window size is converted from device pixels to px
before being passed to script/layout code.
The Window trait now exposes the window size in both device pixels and
density-independent screen coordinates, with clearer method names.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where the CSS viewport was too large on high-DPI displays
because it was set to the window size in device pixels, instead of px. This
patch ensures that the window size is converted from device pixels to px
before being passed to script/layout code.
The Window trait now exposes the window size in both device pixels and
density-independent screen coordinates, with clearer method names.
|
| | |
|