This addresses #849. This PR cannot land until the corresponding PR (https://github.com/servo/html5ever/pull/91) in html5ever lands. I've done some simple testing of this code, but I don't consider it thorougly tested yet. I wanted to start getting feedback about the overall design before I spend more time polishing the details, and testing.
Currently the system memory measurements ("resident", "vsize", etc.) are
not reported through the generic memory reporting mechanism, simply
because they pre-date that mechanism. This changeset removes that
special-casing.
One consequence of this is that previously if a platform didn't
implement one of the basic measurements, a '???' entry would be printed.
Now nothing will be printed. This is no great loss and matches what
Firefox does.
Another consequence is that the order in which the measurements are
printed is changed. I plan to fix this soon so that reports are sorted
in a more sensible fashion.
Currently the system memory measurements ("resident", "vsize", etc.) are
not reported through the generic memory reporting mechanism, simply
because they pre-date that mechanism. This changeset removes that
special-casing.
One consequence of this is that previously if a platform didn't
implement one of the basic measurements, a '???' entry would be printed.
Now nothing will be printed. This is no great loss and matches what
Firefox does.
Another consequence is that the order in which the measurements are
printed is changed. I plan to fix this soon so that reports are sorted
in a more sensible fashion.
This fixes a bug in finding the top left corner of an RTL block in physical coordinates. (The old code used the `start` point of the `position` rect, which is not always the top left.)
It also fixes the setting of `position.start.i` in certain mixed LTR/RTL cases.
There is still a bug related to `position.size` for RTL blocks with margins. See the FIXME comments for details.
r? @pcwalton or @SimonSapin
This fixes a bug in finding the top left corner of an RTL block in physical
coordinates. (The old code used the `start` point of the `position` rect,
which is not always the top left.)
It also fixes the setting of `position.start.i` in certain mixed LTR/RTL
cases.
There is still a bug related to `position.size` for RTL blocks with margins.
See the FIXME comments for details.
Implements view-source protocol by having a view-source handler, and modifying the content type to be text/plain if that is used.
Implements text/plain handling. This allows view-source content to display as plain text.
Example usage:
./mach run http://cd.pn/x.txt
./mach run view-source:http://tinyvid.tv/
This fixes issue #4181. Issue #3649 includes "support text/plain" so this possibly fixes some of that issue as well.
This fixes#5234, in that the huge memory spike disappears. It still takes ~15 seconds for the window to actually disappear after that first `Quit` event is received by the IOCompositor. Maybe that's a pre-existing problem.
There may be better ways to do this, like handling it on the sending side (i.e. within glutin) instead of the receiving side. I just did it this way because it seemed like the easiest thing.