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

66 Коммитов

Автор SHA1 Сообщение Дата
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
Cameron McCormack 9133a05c63 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 : 50ca5f2d8af42cfbeb6808aa755a4670bdf293bd
2017-04-30 14:55:22 +08:00
Xidorn Quan c84000415d Bug 1345696 part 2 - Move nsCSSFontFaceRule to a separate header. r=heycam
MozReview-Commit-ID: 5UsODlVQV7a

--HG--
extra : rebase_source : 48ed07a86666fd313786ca03818947b10ca7a2ce
2017-03-29 10:20:40 +11:00
Ting-Yu Lin 44a41925d3 Bug 1338446 Part 6 - Label LoadTimer in nsFontFaceLoader::StartedLoading. r=heycam
Delete #include "mozilla/Logging.h" because it has been included.

Add FontFaceSet::Document() to get valid document for nsFontFaceLoader.

MozReview-Commit-ID: IAXM9UgvjOE

--HG--
extra : rebase_source : e5aa8aadea5e2f9f2e5d73cc718318cf97471d3f
2017-03-14 21:57:34 +08:00
Cameron McCormack ce8648a50f Bug 1337658 - Do less copying when dispatching FontFaceLoadingEvents. r=bz
MozReview-Commit-ID: 8z1Tof8lL4g

--HG--
extra : rebase_source : 9c7abd85f94b481c15d1f30c1773a2eebbe9ec9f
2017-02-07 22:53:00 +08:00
Ehsan Akhgari 97a4ddfbdf Bug 1309867 - Part 1: Create FontFaceSet's ready promise lazily; r=heycam
This should help avoid calling into the JS engine in the middle of
painting.
2016-10-18 16:19:00 -07:00
Ehsan Akhgari c31db08864 Backout bug 1309867 for test failures 2016-10-18 11:35:07 -04:00
Ehsan Akhgari 225c6de9ba Bug 1309867 - Part 1: Create FontFaceSet's ready promise lazily; r=heycam
This should help avoid calling into the JS engine in the middle of
painting.
2016-10-18 09:39:27 -04:00
Xidorn Quan 2f49a48a09 Bug 1304302 part 10 - Replace all uses of StyleSheetHandle. r=heycam
This commit is generated by the following commands with some minor
manual adjustment:

find . \( -name '*.h' -or -name '*.cpp' \) -not -path './layout/style/StyleSheet*' -exec sed -i -b \
  -e '/^\(#include\|using\)/s/StyleSheetHandle/StyleSheet/g' \
  -e 's/\(mozilla::\)\?StyleSheetHandle::RefPtr/RefPtr<\1StyleSheet>/g' \
  -e 's/StyleSheetHandle()/nullptr/g' \
  -e 's/->AsStyleSheet()//g' \
  -e 's/StyleSheetHandle/StyleSheet*/g' {} +
sed -i -b 's/sheet->AsVoidPtr()/sheet.get()/' layout/style/Loader.cpp
sed -i -b 's/AsHandle()/this/' layout/style/StyleSheet.cpp

MozReview-Commit-ID: 7abdvlKHukd

--HG--
extra : source : e5682242db07203b5a91810fe1e243c955310588
2016-09-26 22:03:25 +10:00
Christoph Kerschbaumer 9ab1648f67 Bug 1195172 - Use channel->ascynOpen2 layout/style/FontFaceSet.cpp (r=bz,cam) 2016-03-01 13:06:13 -08:00
Cameron McCormack 0ecd5593cc Bug 1244074 - Part 4: Use StyleSheetHandle instead of concrete style sheet class in most places. r=dholbert 2016-02-24 18:01:12 +11:00
Kyle Huey 91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
John Daggett ade0c810ea Bug 1157064 - implementation of font-display. r=heycam,khuey 2016-01-07 14:03:05 +09:00
John Daggett 14ad4bf8f6 Bug 1224975 - add telemetry for font loading. r=m_kato
--HG--
extra : rebase_source : ef31e321366f6edcc465ad9a4474c1e8287a6054
2015-11-25 14:48:16 +09:00
Cameron McCormack 2f1046d287 Bug 1216043 - Rename nsStyleSheet::sheetType and make it an enum class. r=dbaron
The only substantive change here, apart from a few variables changing in
size from uint16_t to uint8_t, is FontFaceSet's use of SheetType::Unknown
(0xFF) instead of 0 for FontFaceRecords for script-created FontFaces.
2015-10-20 10:16:20 +11:00
John Daggett f4458274bd Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-19 11:16:43 +09:00
Phil Ringnalda adfbc1f710 Back out 2 changesets (bug 543715) because Mulet is why we can't have nice things
Backed out changeset 2d1d8e9b095c (bug 543715)
Backed out changeset bc90276ec090 (bug 543715)
2015-10-18 11:22:22 -07:00
John Daggett 72b6bcd6d6 Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-18 22:17:46 +09:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Cameron McCormack 4872fb60dc Bug 1163877 - Part 3: Update state on, and reflow documents for, all FontFaceSets that contain a FontFace whose user font entry updated. r=jdaggett 2015-10-16 17:10:14 +11:00
Cameron McCormack 38ebbe2248 Bug 1193019 - Rename CSSFontFaceLoadEvent to FontFaceSetLoadEvent. r=khuey
--HG--
rename : dom/webidl/CSSFontFaceLoadEvent.webidl => dom/webidl/FontFaceSetLoadEvent.webidl
2015-08-11 12:19:52 +10:00
Cameron McCormack 00d76a3dd6 Bug 1183484 - Cycle collect FontFaceSetIterator. r=bzbarsky 2015-07-16 17:35:17 +10:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Cameron McCormack 55dbc6f840 Bug 1072102 - Part 1: Implement FontFaceSet load and check. r=jdaggett,bzbarsky 2015-06-27 11:41:10 +10:00
Cameron McCormack 69b3f6b78a Bug 1163879 - Remove FontFaceSet::mUnavailableFontFaces. r=jdaggett 2015-06-27 11:39:54 +10:00
Cameron McCormack 42cdaef960 Bug 1161413 - Part 5: Cancel font loads on FontFaceSet destruction. r=jdaggett 2015-06-27 11:39:54 +10:00
Cameron McCormack 57866b6af6 Bug 1161413 - Part 1: Create FontFaceSet with a document rather than a pres context. r=jdaggett 2015-06-27 11:39:54 +10:00
Cameron McCormack c888a98f5a Bug 1162850 - Don't stop looking for style sheet load finishes after the FontFaceSet gets a DOMContentLoaded. r=jdaggett 2015-05-13 15:06:52 +10:00
Cameron McCormack bf9d92cf41 Bug 1163865 - Remove [Throws] from FontFaceSet.delete. r=smaug 2015-05-13 12:24:34 +10:00
Cameron McCormack 184c096a54 Bug 1154148 - Create a FontFaceSet's UserFontSet eagerly. r=jdaggett 2015-05-09 14:46:49 +10:00
Cameron McCormack b1f66da064 Bug 1072101 - Part 5: Remove indexed property access on FontFaceSet. r=peterv 2015-03-31 14:05:33 +11:00
Cameron McCormack 8f0c4021e3 Bug 1072101 - Part 3: Implement FontFaceSet.forEach. r=peterv 2015-03-31 14:05:33 +11:00
Cameron McCormack 07051e8f27 Bug 1072101 - Part 2: Implement FontFaceSet.{entries,values}. r=peterv 2015-03-31 14:05:33 +11:00
Cameron McCormack d5707c9f36 Bug 1072101 - Part 1: Implement FontFaceSet.size. r=peterv 2015-03-31 14:05:33 +11:00
Andrea Marchesini e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Cameron McCormack 7ad91f675c Bug 1145506 - Make FontFace constructor fail on invalid src strings but otherwise create user font entries immediately. r=jdaggett 2015-03-27 21:13:21 +11:00
Cameron McCormack 49a40c98f7 Bug 1145937 - Don't set FontFaceSet status to Loaded between a font download completion and the document reflow. r=jdaggett 2015-03-27 21:05:22 +11:00
Cameron McCormack 8b9fe566c3 Bug 1144977 - Part 1: Don't include FontFace objects in more than one loadingdone/loadingerror event. r=jdaggett 2015-03-27 21:05:22 +11:00
Cameron McCormack fc1e3c1406 Bug 1144450 - Part 4: Replace uses of mReadyIsResolved with mStatus, as they're equivalent. r=jdaggett 2015-03-24 19:34:32 +11:00
Cameron McCormack 8f5e101baf Bug 1144450 - Part 3: Replace uses of mDispatchedLoadingEvent with mStatus, as they're equivalent. r=jdaggett 2015-03-24 19:34:32 +11:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Boris Zbarsky dc24477d79 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Ehsan Akhgari 8a04f8a90c Bug 1118426 - Mark virtual overridden functions as MOZ_OVERRIDE in layout/style; r=dbaron 2015-01-06 23:33:51 -05:00
Cameron McCormack 3fe0848250 Bug 1092570 - Avoid exposing FontFace(Set) constructors when the Font Loading API pref is not set. r=bzbarsky 2014-11-11 14:53:55 +11:00
John Daggett f1655f6098 Bug 1079422 - eliminate the ptr to FontFace within @font-face rules. r=heycam 2014-10-09 16:03:56 +09:00
John Daggett 8e365c0de8 Bug 1079422 - backout changeset 7fceb8bf84d2. r=heycam 2014-10-09 16:03:28 +09:00
Ehsan Akhgari ee4122c03a Bug 1079324 - Fix some more bad implicit constructors in layout; r=dholbert 2014-09-24 09:16:53 -04:00
Cameron McCormack c47631b0ac Bug 1077746 - Move FontFace pointer from nsCSSFontFaceRule to a table on FontFaceSet. r=jdaggett 2014-10-06 15:29:35 +11:00