mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Auto merge of #11623 - Ms2ger:str, r=nox
Move some code out of util::str. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11623) <!-- Reviewable:end -->
This commit is contained in:
commit
9a4460bed1
11 changed files with 41 additions and 45 deletions
|
@ -17,6 +17,7 @@ use platform::font_template::FontTemplateData;
|
|||
use std::borrow::ToOwned;
|
||||
use std::collections::HashMap;
|
||||
use std::mem;
|
||||
use std::ops::Deref;
|
||||
use std::sync::{Arc, Mutex};
|
||||
use std::u32;
|
||||
use string_cache::Atom;
|
||||
|
@ -24,7 +25,6 @@ use style::font_face::Source;
|
|||
use style::properties::longhands::font_family::computed_value::FontFamily;
|
||||
use url::Url;
|
||||
use util::prefs;
|
||||
use util::str::LowercaseString;
|
||||
use util::thread::spawn_named;
|
||||
use webrender_traits;
|
||||
|
||||
|
@ -460,3 +460,26 @@ fn is_supported_font_type(toplevel: &TopLevel, sublevel: &SubLevel) -> bool {
|
|||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[derive(Clone, Eq, PartialEq, Hash, Debug, Deserialize, Serialize)]
|
||||
pub struct LowercaseString {
|
||||
inner: String,
|
||||
}
|
||||
|
||||
impl LowercaseString {
|
||||
pub fn new(s: &str) -> LowercaseString {
|
||||
LowercaseString {
|
||||
inner: s.to_lowercase(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Deref for LowercaseString {
|
||||
type Target = str;
|
||||
|
||||
#[inline]
|
||||
fn deref(&self) -> &str {
|
||||
&*self.inner
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ use std::sync::atomic::{AtomicBool, AtomicUsize};
|
|||
use std::sync::mpsc::{Receiver, Sender};
|
||||
use std::time::SystemTime;
|
||||
use string_cache::{Atom, Namespace, QualName};
|
||||
use style::attr::{AttrIdentifier, AttrValue};
|
||||
use style::attr::{AttrIdentifier, AttrValue, LengthOrPercentageOrAuto};
|
||||
use style::element_state::*;
|
||||
use style::properties::PropertyDeclarationBlock;
|
||||
use style::restyle_hints::ElementSnapshot;
|
||||
|
@ -91,7 +91,6 @@ use style::selector_impl::PseudoElement;
|
|||
use style::values::specified::Length;
|
||||
use url::Origin as UrlOrigin;
|
||||
use url::Url;
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
use uuid::Uuid;
|
||||
use webrender_traits::WebGLError;
|
||||
|
||||
|
|
|
@ -85,6 +85,7 @@ use std::mem;
|
|||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||
use string_cache::{Atom, BorrowedAtom, BorrowedNamespace, Namespace, QualName};
|
||||
use style::attr::LengthOrPercentageOrAuto;
|
||||
use style::element_state::*;
|
||||
use style::parser::ParserContextExtraData;
|
||||
use style::properties::DeclaredValue;
|
||||
|
@ -93,7 +94,6 @@ use style::properties::{PropertyDeclaration, PropertyDeclarationBlock, parse_sty
|
|||
use style::selector_impl::{NonTSPseudoClass, ServoSelectorImpl};
|
||||
use style::values::CSSFloat;
|
||||
use style::values::specified::{self, CSSColor, CSSRGBA, LengthOrPercentage};
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
|
||||
// TODO: Update focus state when the top-level browsing context gains or loses system focus,
|
||||
// and when the element enters or leaves a browsing context container.
|
||||
|
|
|
@ -14,7 +14,7 @@ use dom::htmlelement::HTMLElement;
|
|||
use dom::node::Node;
|
||||
use dom::virtualmethods::VirtualMethods;
|
||||
use string_cache::Atom;
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
use style::attr::LengthOrPercentageOrAuto;
|
||||
|
||||
#[dom_struct]
|
||||
pub struct HTMLHRElement {
|
||||
|
|
|
@ -42,10 +42,10 @@ use script_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed};
|
|||
use script_traits::{IFrameLoadInfo, MozBrowserEvent, ScriptMsg as ConstellationMsg};
|
||||
use std::cell::Cell;
|
||||
use string_cache::Atom;
|
||||
use style::attr::LengthOrPercentageOrAuto;
|
||||
use style::context::ReflowGoal;
|
||||
use url::Url;
|
||||
use util::prefs::mozbrowser_enabled;
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
|
||||
#[derive(HeapSizeOf)]
|
||||
enum SandboxAllowance {
|
||||
|
|
|
@ -31,8 +31,8 @@ use script_runtime::ScriptThreadEventCategory::UpdateReplacedElement;
|
|||
use script_thread::Runnable;
|
||||
use std::sync::Arc;
|
||||
use string_cache::Atom;
|
||||
use style::attr::LengthOrPercentageOrAuto;
|
||||
use url::Url;
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
|
||||
#[derive(JSTraceable, HeapSizeOf)]
|
||||
#[allow(dead_code)]
|
||||
|
|
|
@ -16,7 +16,7 @@ use dom::htmltablerowelement::HTMLTableRowElement;
|
|||
use dom::node::Node;
|
||||
use dom::virtualmethods::VirtualMethods;
|
||||
use string_cache::Atom;
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
use style::attr::LengthOrPercentageOrAuto;
|
||||
|
||||
const DEFAULT_COLSPAN: u32 = 1;
|
||||
|
||||
|
|
|
@ -24,8 +24,7 @@ use dom::node::{Node, document_from_node, window_from_node};
|
|||
use dom::virtualmethods::VirtualMethods;
|
||||
use std::cell::Cell;
|
||||
use string_cache::Atom;
|
||||
use style::attr::parse_unsigned_integer;
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
use style::attr::{LengthOrPercentageOrAuto, parse_unsigned_integer};
|
||||
|
||||
#[dom_struct]
|
||||
pub struct HTMLTableElement {
|
||||
|
|
|
@ -10,13 +10,20 @@ use std::ascii::AsciiExt;
|
|||
use std::str::FromStr;
|
||||
use string_cache::{Atom, Namespace};
|
||||
use url::Url;
|
||||
use util::str::{LengthOrPercentageOrAuto, HTML_SPACE_CHARACTERS};
|
||||
use util::str::{read_exponent, read_fraction, read_numbers, split_commas, split_html_space_chars};
|
||||
use util::str::{HTML_SPACE_CHARACTERS, read_exponent, read_fraction};
|
||||
use util::str::{read_numbers, split_commas, split_html_space_chars};
|
||||
use values::specified::Length;
|
||||
|
||||
// Duplicated from script::dom::values.
|
||||
const UNSIGNED_LONG_MAX: u32 = 2147483647;
|
||||
|
||||
#[derive(Clone, Copy, Debug, HeapSizeOf, PartialEq)]
|
||||
pub enum LengthOrPercentageOrAuto {
|
||||
Auto,
|
||||
Percentage(f32),
|
||||
Length(Au),
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Clone, HeapSizeOf)]
|
||||
pub enum AttrValue {
|
||||
String(String),
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use app_units::Au;
|
||||
use num_traits::ToPrimitive;
|
||||
use std::convert::AsRef;
|
||||
use std::iter::{Filter, Peekable};
|
||||
use std::ops::Deref;
|
||||
use std::str::Split;
|
||||
|
||||
pub type StaticCharVec = &'static [char];
|
||||
|
@ -118,35 +116,6 @@ pub fn read_exponent<I: Iterator<Item=char>>(mut iter: Peekable<I>) -> Option<i3
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, HeapSizeOf, PartialEq)]
|
||||
pub enum LengthOrPercentageOrAuto {
|
||||
Auto,
|
||||
Percentage(f32),
|
||||
Length(Au),
|
||||
}
|
||||
|
||||
#[derive(Clone, Eq, PartialEq, Hash, Debug, Deserialize, Serialize)]
|
||||
pub struct LowercaseString {
|
||||
inner: String,
|
||||
}
|
||||
|
||||
impl LowercaseString {
|
||||
pub fn new(s: &str) -> LowercaseString {
|
||||
LowercaseString {
|
||||
inner: s.to_lowercase(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Deref for LowercaseString {
|
||||
type Target = str;
|
||||
|
||||
#[inline]
|
||||
fn deref(&self) -> &str {
|
||||
&*self.inner
|
||||
}
|
||||
}
|
||||
|
||||
pub fn str_join<I, T>(strs: I, join: &str) -> String
|
||||
where I: IntoIterator<Item=T>, T: AsRef<str>,
|
||||
{
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use app_units::Au;
|
||||
use style::attr::{AttrValue, parse_length};
|
||||
use util::str::LengthOrPercentageOrAuto;
|
||||
use style::attr::{AttrValue, LengthOrPercentageOrAuto, parse_length};
|
||||
|
||||
#[test]
|
||||
fn test_parse_double() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue