mirror of
https://github.com/servo/servo
synced 2026-05-11 17:37:21 +02:00
Servo currently completely ignores `<meta charset>` tags. When we find one with an encoding that is incompatible to the current one, then we should reload the page and start over with the new encoding. A common optimization that has even made its way into the specification is to wait for a few bytes to arrive and inspect them for `meta` tags, so the browser is able to use the correct encoding from the very beginng. In practice, I've run into problems with our WPT harness when reloading the page after `meta` tags. Therefore, this change implement the optimization first, so we never have to reload when running WPT. I've implemented prescanning in a way where we wait for 1024 bytes to arrive or for one second to pass, whichever one happens first. This causes a large number of web platform tests to flip around. I've looked at most of the new failures and I believe they're reasonable. Testing: New tests start to pass. Part of https://github.com/servo/servo/issues/6414 --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
32 lines
650 B
Rust
32 lines
650 B
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
#[cfg(test)]
|
|
mod encoding_detection;
|
|
#[cfg(test)]
|
|
mod htmlareaelement;
|
|
#[cfg(test)]
|
|
mod htmlimageelement;
|
|
#[cfg(test)]
|
|
mod origin;
|
|
#[cfg(all(test, target_pointer_width = "64"))]
|
|
mod size_of;
|
|
#[cfg(test)]
|
|
mod textinput;
|
|
#[cfg(test)]
|
|
mod timeranges;
|
|
|
|
/**
|
|
```compile_fail,E0277
|
|
extern crate script;
|
|
|
|
fn cloneable<T: Clone>() {}
|
|
|
|
fn main() {
|
|
cloneable::<script::test::TrustedPromise>();
|
|
}
|
|
```
|
|
*/
|
|
pub fn trustedpromise_does_not_impl_clone() {}
|