diff --git a/components/gfx/text/glyph.rs b/components/gfx/text/glyph.rs index 73a66ff19bf..ea5a009959e 100644 --- a/components/gfx/text/glyph.rs +++ b/components/gfx/text/glyph.rs @@ -254,10 +254,10 @@ impl<'a> DetailedGlyphStore { let i = self.detail_lookup.binary_search(&key) .expect("Invalid index not found in detailed glyph lookup table!"); - - assert!(i + (count as usize) <= self.detail_buffer.len()); + let main_detail_offset = self.detail_lookup[i].detail_offset; + assert!(main_detail_offset + (count as usize) <= self.detail_buffer.len()); // return a slice into the buffer - &self.detail_buffer[i .. i + count as usize] + &self.detail_buffer[main_detail_offset .. main_detail_offset + count as usize] } fn detailed_glyph_with_index(&'a self, @@ -274,9 +274,9 @@ impl<'a> DetailedGlyphStore { let i = self.detail_lookup.binary_search(&key) .expect("Invalid index not found in detailed glyph lookup table!"); - - assert!(i + (detail_offset as usize) < self.detail_buffer.len()); - &self.detail_buffer[i + (detail_offset as usize)] + let main_detail_offset = self.detail_lookup[i].detail_offset; + assert!(main_detail_offset + (detail_offset as usize) < self.detail_buffer.len()); + &self.detail_buffer[main_detail_offset + (detail_offset as usize)] } fn ensure_sorted(&mut self) { diff --git a/tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini b/tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini deleted file mode 100644 index b2b3212943b..00000000000 --- a/tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[word-break-break-all-007.htm] - type: reftest - expected: FAIL