Граф коммитов

113 Коммитов

Автор SHA1 Сообщение Дата
Boris Zbarsky b21a31cc49 Bug 1535384 part 10. Remove MOZ_CAN_RUN_SCRIPT_BOUNDARY for FontFaceSetForEachCallback. r=heycam
This code should all go away (bug 1311198), but in the meantime...

Differential Revision: https://phabricator.services.mozilla.com/D23781

--HG--
extra : moz-landing-system : lando
2019-03-19 04:36:18 +00:00
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez c6c06c7f48 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 19:07:41 +02:00
Narcis Beleuzu e7a8994c37 Backed out 5 changesets (bug 1496486) for valgrind bustages. CLOSED TREE
Backed out changeset d2f1e35ee4b7 (bug 1496486)
Backed out changeset 7f843f4ee162 (bug 1496486)
Backed out changeset 2f629a60f12c (bug 1496486)
Backed out changeset 4dd15fa31474 (bug 1496486)
Backed out changeset e8d8e2f3f00b (bug 1496486)
2018-10-09 19:44:51 +03:00
Emilio Cobos Álvarez 804148c319 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 17:33:24 +02:00
Brindusan Cristian 3b4ca07db8 Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE
Backed out changeset 6b740afea403 (bug 1496486)
Backed out changeset 5cf44e254ac3 (bug 1496486)
Backed out changeset 8e465202c355 (bug 1496486)
Backed out changeset 86382b2249f6 (bug 1496486)
Backed out changeset ab92ed3e0a23 (bug 1496486)
2018-10-09 16:58:38 +03:00
Emilio Cobos Álvarez d6c743191f Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 15:33:03 +02:00
Jonathan Kew 6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01:00
Brendan Dahl 6a890f9e34 Bug 1473742 - Fix printing fonts loaded with JS API. r=jfkthame
Copy over non-rule font faces to the static clone document that is used
during printing.

MozReview-Commit-ID: 8ggNrCcVpEK

--HG--
extra : rebase_source : 27e270edd28c3ecf19a99f4df5398a89e6c53e6a
2018-08-01 09:40:24 -07:00
Emilio Cobos Álvarez 9e9546ecb2 Bug 1471045: Don't flush layout if the ready promise is not resolved yet. r=heycam
This prevents FOUC, and also matches the chromium logic:

  https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/css/font_face_set_document.cc?l=105&rcl=e70e652d516c7d14d50e547aae2da1690c4ae54c

Differential Revision: https://phabricator.services.mozilla.com/D1827

MozReview-Commit-ID: A6m5fAMXhae
2018-06-26 15:32:03 +02:00
Jonathan Kew 5485dd0a02 Bug 1456547 - When weight/stretch/style descriptor is omitted from a @font-face rule, the corresponding variation axis should not be clamped to the 'normal' value. r=jwatt 2018-04-26 15:32:36 +01:00
Jonathan Kew c57f185cd9 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew 7e27ba83c3 Backed out 4 changesets from bug 1454598 (26e036b1c703, bc910e36a7d7, bac001216577, 5af215d265b6) due to macOS 10.12 font issues. 2018-04-25 10:18:07 +01:00
Jonathan Kew 8489323f79 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Watt 156c4af1ec Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Jonathan Kew 94238d9823 Bug 1452973 - Update NS_FONT_STRETCH_* constants to values based on the percentage definitions in css fonts 4. r=jwatt 2018-04-16 10:00:57 +01:00
Jonathan Watt 1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Xidorn Quan 67fd806b66 Bug 1449087 part 2 - Use Servo data to back @font-face rule. r=emilio
This patch does the following things:
* Create a new class ServoFontFaceRule for CSSOM of @font-face rule
  which mostly follows how nsCSSFontFaceRule was implemented.
* Remove the old nsCSSFontFaceRule and binding code to create it.
* Have FontFace backed by Servo data via making mRule and mDescriptors
  of the class hold RawServoFontFaceRule like ServoFontFaceRule.

To keep this patch small, it effectively just delays the conversion
from Servo data to nsCSSValue from parsing to using. This may cause
worse performance if the font set is flushed repeatedly. Supposing we
don't flush font set very frequently, it may not be a big deal.

We may still want to remove the intermediate nsCSSValue conversion at
some point, and have everything converted to their final form directly
when used, but that can happen in followups.

There are some unfortunate bits from this change:
* We lose style sheet for logging in FontFaceSet. This is probably not
  all that worse, because we wouldn't have that before either if the
  page doesn't use CSSOM to visit it. But we should figure out some
  approach to fix it anyway.
* InspectorFontFace no longer shares the same rule object as CSSOM.
  This isn't really a problem if the @font-face rule isn't very mutable.
  Unless we want to make the rule returned from InspectorFontFace to be
  mutable (i.e. via inspector), not using the same object probably isn't
  too bad.

This patch switches the code we use to serialize stuff in FontFace and
CSSFontFaceRule, which leads to some failures in tests. Specifically,
the expected changes including:
* Value of font-family now can be serialized to identifier sequence like
  font-family property. The old code always serializes it to string,
  but it doesn't seem to have different requirement than the property.
  Blink can serialize to identifier as well.
* Family name inside local() is also changed to use the same way as
  family names elsewhere (i.e. can be identifier sequence). Blink has
  the same behavior as the old code, but I don't think it's a big deal.
* The order of descriptors serialized gets changed. I don't think it
  matters at all.
* Empty string as font-family via using string syntax is no longer
  considered invalid for FontFace. I don't find it is mentioned anywhere
  that it should be specifically treated invalid.


MozReview-Commit-ID: 32Fk3Fi9uTs

--HG--
extra : rebase_source : 6221ec8fc56de357b06dd27e770fb175348a2f77
2018-04-04 08:42:10 +10:00
Emilio Cobos Álvarez a4433a4de8 Bug 1420680: Rework how the loadability of font-faces is computed. r=jfkthame,bz
This reworks bug 1440561 so that we only precompute loads that belong to our
user font set, avoiding messing up with fonts in the cache that belong to other
pages.

The loadability of a font is precomputed in PreTraverse in the same way as we
did, but only for the fonts that we may end up loading. This is stored in
FontFaceSet now.

Also, the principal shenanigans that this code did are reworked to be explicit
about when the document principal changes in ResetToURI, instead of having a
member around and a mutable variable. This makes the code easier to follow.

MozReview-Commit-ID: 9ofTbaLDUF7
2018-04-03 16:22:43 +02:00
Jonathan Kew 5bb5607380 Bug 1435984 - patch 3 - Store variation settings from the @font-face rule in the gfxFontEntry for user fonts. r=jwatt
--HG--
extra : source : 66947639ccc3236ff3e81b535e6a4e5173a8e05f
2018-02-14 22:02:05 +11:00
Boris Zbarsky d608cdf8ba Bug 1434818. Remove unused return value of FontFaceSet::Add. r=jfkthame
MozReview-Commit-ID: JHOpGZM3Scz
2018-02-01 14:23:34 -05:00
Emilio Cobos Álvarez 9a18395a1d Bug 1434474: There's no need to rebuild font / counter styles / font feature values off a runnable. r=bholley
Everything that needs them up-to-date will call flush appropriately, there
should be no need to do it manually.

This way we coalesce all the stylist updates until the next style flush in the
best case, or until one of the consumers actually needs them.

MozReview-Commit-ID: BVsxXxhtcKL

--HG--
extra : rebase_source : a41c14689fdcdb30935e16bdb0e757e7140e88e7
2018-01-31 11:12:36 +01:00
Cameron McCormack 93b3403772 Bug 1425000 - Use a consistent window for CSP, etc. for FontFace loads. r=jfkthame
MozReview-Commit-ID: F2xhsgTBI1V

--HG--
extra : rebase_source : 4bf73e190ba4e90e1f3b828d1f8e1babf3a512c4
2017-12-21 14:07:31 -05:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Cameron McCormack 7713fdd126 Bug 1397626 - Part 2: Replace uses of FontFamilyListRefCnt with SharedFontList. r=xidorn
MozReview-Commit-ID: 7HoBae9UOks

--HG--
extra : rebase_source : c0938e034847e825cab3684b70d097b0e0b8c9f9
2017-10-02 10:24:25 +08:00
Cameron McCormack 004e7071d8 Bug 1384741 - Part 3: Buffer up CSP violation reports when pre-emptively checking cached font loads, and dispatch them when trying to use cached fonts. r=jfkthame
MozReview-Commit-ID: 7hUI160sNqv
2017-08-07 10:12:12 +08:00
Cameron McCormack 0b0b5836f7 Bug 1376964 - Part 9: Use gfxFontSrcPrincipal in the user font set and cache. r=jfkthame
MozReview-Commit-ID: LRRFbkhbgts

--HG--
extra : rebase_source : 19164df382db8a4e5e868c4725a0f7c0968ddaa5
2017-07-08 18:00:24 +08:00
Cameron McCormack 5d2c03ca7b Bug 1376964 - Part 4: Call FontLoadAllowed ahead of time and cache the results for style worker threads. r=jfkthame
Handling a document's node principal changing is done in part 9.

MozReview-Commit-ID: 1gPtRpddys5

--HG--
extra : rebase_source : f0b4d07481ae7215117b86c474f14658b61d6f06
2017-07-07 13:35:28 +08:00
Cameron McCormack ddde8c491b Bug 1376964 - Part 2: Record the docshell's "private browsing" flag on FontFaceSet. r=jfkthame
MozReview-Commit-ID: 3j0RISufybF

--HG--
extra : rebase_source : 1760c11c3f25fc04c0fc6516d8e23d283d567831
2017-07-05 17:41:01 +08:00
Cameron McCormack e0895d8727 Bug 1376964 - Part 1: Record the docshell's "bypass cache" flag on FontFaceSet. r=jfkthame
MozReview-Commit-ID: FW19nms4ZEB

--HG--
extra : rebase_source : d09bfd4fc64cd7c9d9c46b926f8a7d939f98c5c7
2017-07-05 17:33:46 +08:00
Carsten "Tomcat" Book 18f3dbf742 Backed out changeset aaacb772bada (bug 1376964) for bustage - error C2143: syntax error 2017-07-12 12:41:57 +02:00
Carsten "Tomcat" Book 12b87e384a Backed out changeset c0e5f138b42a (bug 1376964) 2017-07-12 12:41:39 +02:00
Carsten "Tomcat" Book 23de9ec977 Backed out changeset 6bfb66a2c03e (bug 1376964) 2017-07-12 12:41:35 +02:00
Carsten "Tomcat" Book 4177255107 Backed out changeset 041b34959d76 (bug 1376964) 2017-07-12 12:41:25 +02:00
Cameron McCormack 82079904e6 Bug 1376964 - Part 9: Use gfxFontSrcPrincipal in the user font set and cache. r=jfkthame
MozReview-Commit-ID: LRRFbkhbgts

--HG--
extra : rebase_source : 1dac8a8e9a817edb086bb75f9f842c1d4df37a1a
2017-07-12 16:36:42 +08:00
Cameron McCormack a6f94afca7 Bug 1376964 - Part 4: Call FontLoadAllowed ahead of time and cache the results for style worker threads. r=jfkthame
Handling a document's node principal changing is done in part 9.

MozReview-Commit-ID: 1gPtRpddys5

--HG--
extra : rebase_source : def889e9ae4a428ccc02f9b5ac18f2ce640dc652
2017-07-12 16:35:46 +08:00
Cameron McCormack bb7733edcd Bug 1376964 - Part 2: Record the docshell's "private browsing" flag on FontFaceSet. r=jfkthame
MozReview-Commit-ID: 3j0RISufybF

--HG--
extra : rebase_source : 265a46c59b14af4d9e66688942408533c1cb94e1
2017-07-12 16:35:44 +08:00
Cameron McCormack 1f2b492e8c Bug 1376964 - Part 1: Record the docshell's "bypass cache" flag on FontFaceSet. r=jfkthame
MozReview-Commit-ID: FW19nms4ZEB

--HG--
extra : rebase_source : c6407c336cd3187ed66781f717bff079616c97ba
2017-07-12 16:35:44 +08:00
Carsten "Tomcat" Book e011fd3d19 Backed out changeset 99c0d338a5f3 (bug 1376964) for bustage 2017-07-12 10:33:05 +02:00
Carsten "Tomcat" Book 071507c082 Backed out changeset 04e9846700ae (bug 1376964) 2017-07-12 10:32:24 +02:00
Carsten "Tomcat" Book 532a99b12a Backed out changeset 20866468f52d (bug 1376964) 2017-07-12 10:32:20 +02:00
Carsten "Tomcat" Book c897b5dc70 Backed out changeset b7424dfa039c (bug 1376964) 2017-07-12 10:32:11 +02:00
Cameron McCormack 2fe9111db4 Bug 1376964 - Part 9: Use gfxFontSrcPrincipal in the user font set and cache. r=jfkthame
MozReview-Commit-ID: LRRFbkhbgts

--HG--
extra : rebase_source : 0fa11b180383795272e7a5daf87a41a5c51ec221
2017-07-12 13:03:35 +08:00
Cameron McCormack b2cd9f4a51 Bug 1376964 - Part 4: Call FontLoadAllowed ahead of time and cache the results for style worker threads. r=jfkthame
Handling a document's node principal changing is done in part 9.

MozReview-Commit-ID: 1gPtRpddys5

--HG--
extra : rebase_source : 5b1d40af5ad0484440075e7229dc9ae3d5a13764
2017-07-12 13:03:35 +08:00
Cameron McCormack 4f22849692 Bug 1376964 - Part 2: Record the docshell's "private browsing" flag on FontFaceSet. r=jfkthame
MozReview-Commit-ID: 3j0RISufybF

--HG--
extra : rebase_source : a4d3ebbed3e0bd8fd9416e44704340dbfbb16dc8
2017-07-12 13:03:35 +08:00
Cameron McCormack e90c1651ea Bug 1376964 - Part 1: Record the docshell's "bypass cache" flag on FontFaceSet. r=jfkthame
MozReview-Commit-ID: FW19nms4ZEB

--HG--
extra : rebase_source : 882032102cc8096556e7607759c0297430ed04cd
2017-07-12 13:03:35 +08:00
Cameron McCormack 2fadc51f72 Bug 1352531 - Make dom::FontFace cache its gfxCharacterMap instead of rebuilding it every time. r=dbaron
MozReview-Commit-ID: INmKPdC9dq5

--HG--
extra : rebase_source : a7f0636168784227fb2b6a381fa72cf652038c12
2017-04-20 17:00:59 +10:00
Cameron McCormack cbeb477e95 Bug 1356103 - Part 8: Use PostTraversalTasks to deal with FontFaceSet's Promise and DOM event dispatch during Servo traversal. r=bholley
The PostTraversalTask does not take a strong reference to the FontFaceSet
object, since as a DOM object, we can't call AddRef/Release on it
from the Servo style worker threads.  The FontFaceSet is held on to
by the nsIDocument, and only cleared during cycle collection, which
should not occur between the font metrics request and the
PostTraversalTask running.

MozReview-Commit-ID: 5aKIg4DIQ4w

--HG--
extra : rebase_source : a7b63582b3610491fbcb4e2b931d55681e626513
2017-04-30 14:55:22 +08:00
Iris Hsiao 0a6db9e69f Backed out 12 changesets (bug 1356103) for build bustage at PostTraversalTask.h
Backed out changeset 9fb487252c28 (bug 1356103)
Backed out changeset 301237c65945 (bug 1356103)
Backed out changeset 7bc3a4861a39 (bug 1356103)
Backed out changeset 2f383d89184b (bug 1356103)
Backed out changeset a03112e1c9d5 (bug 1356103)
Backed out changeset c60b4c9cbd83 (bug 1356103)
Backed out changeset 34280baeaabe (bug 1356103)
Backed out changeset 31a0881cfb47 (bug 1356103)
Backed out changeset 529d037f9c33 (bug 1356103)
Backed out changeset 1c7831db6b07 (bug 1356103)
Backed out changeset 559f06e32df3 (bug 1356103)
Backed out changeset 784865d234cd (bug 1356103)
2017-05-04 17:56:25 +08:00