History log of /external/skia/src/ports/SkFontMgr_win_dw.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8f11d4dcafef4447fa68ea0ab28a72589241e9fd 24-Jan-2018 Mike Klein <mtklein@chromium.org> eliminate SK_BUILD_FOR_WIN32

SK_BUILD_FOR_WIN and SK_BUILD_FOR_WIN32 have long meant the same thing.

Chrome fix is https://chromium-review.googlesource.com/c/chromium/src/+/884007

Change-Id: I0e907b1bcd2a358eabf776f414fd3aeb3c689561
Reviewed-on: https://skia-review.googlesource.com/99340
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
1ef80942b3b2414c862eb1e9ae301442b447c089 04-Dec-2017 Chris Dalton <csmartdalton@google.com> turn on extended Clang warnings on Windows too

Plus some small rearrangements of the various warning lists.

Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641
Reviewed-on: https://skia-review.googlesource.com/67720
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
592273965a7fc7fc403252e420d15f6555b8f25d 26-Sep-2017 Mike Reed <reed@google.com> Revert "Revert "migrate to sk_sp for SkFontMgr API""

This reverts commit f40ae1a4b5365620463bd63b5140bd3fc78894a1.

Bug: skia:
Change-Id: I752606de92ea405d6e50219c98030409b00a2841
Reviewed-on: https://skia-review.googlesource.com/51160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
f40ae1a4b5365620463bd63b5140bd3fc78894a1 25-Sep-2017 Mike Reed <reed@google.com> Revert "migrate to sk_sp for SkFontMgr API"

This reverts commit 4bf296be2821d2bdd0afabae9fdfe18e7e9b59cb.

Reason for revert: need guard for flutter

Original change's description:
> migrate to sk_sp for SkFontMgr API
>
> Bug: skia:
> Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8
> Reviewed-on: https://skia-review.googlesource.com/48740
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,reed@google.com

Change-Id: Ib0b2d00fcbcdb6131444f94d1046df6dae24f551
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/50940
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
4bf296be2821d2bdd0afabae9fdfe18e7e9b59cb 25-Sep-2017 Mike Reed <reed@google.com> migrate to sk_sp for SkFontMgr API

Bug: skia:
Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8
Reviewed-on: https://skia-review.googlesource.com/48740
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
0ca21466da7441baf471966be8c628d408752a72 20-Sep-2017 Mike Reed <reed@google.com> remove dead code for STREAM_API

Bug: skia:
Change-Id: I5c5a65710af443c60a3d13fb309ce31309be7f74
Reviewed-on: https://skia-review.googlesource.com/49460
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
98c5d92ee60f6d395f9591891922aa9852a497ee 16-Sep-2017 Mike Reed <reed@google.com> Revert "Revert "use unique_ptr for stream api""

This reverts commit 7031b247c9fe0cb8fa32129f9bc24fea2043cee2.

Bug: skia:
Change-Id: I24c34bbee703f02994be8e206bcb9c10b5427d84
Reviewed-on: https://skia-review.googlesource.com/47541
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
7031b247c9fe0cb8fa32129f9bc24fea2043cee2 15-Sep-2017 Mike Reed <reed@google.com> Revert "use unique_ptr for stream api"

This reverts commit 49f1f34438d3431f6d7e32847accd2ba96948a73.

Reason for revert: broke win-chrome

../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): error C2228: left of '.release' must have class/struct/union
../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: type is 'SkStreamAsset *'
../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: did you intend to use '->' instead?


Original change's description:
> use unique_ptr for stream api
>
> Bug: skia:6888
> Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8
> Reviewed-on: https://skia-review.googlesource.com/26740
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@chromium.org,mtklein@google.com,bungeman@google.com,reed@google.com

Change-Id: Ic1e4af557317abd06b7f6b7f5056645df7e469f0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6888
Reviewed-on: https://skia-review.googlesource.com/47440
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
49f1f34438d3431f6d7e32847accd2ba96948a73 15-Sep-2017 Mike Reed <reed@google.com> use unique_ptr for stream api

Bug: skia:6888
Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8
Reviewed-on: https://skia-review.googlesource.com/26740
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
7575bb1c389f96db4123783fcd717f3611b3a8eb 01-May-2017 bungeman <bungeman@google.com> SkFontMgr::matchFamily should not crash on nullptr.

While all systems can resolve a font from just a style request
(without a name) almost no systems specify a default font family.

BUG=skia:6574

Change-Id: If7c81808b62cd5d8212bce2eb4d9c476c45af80a
Reviewed-on: https://skia-review.googlesource.com/14902
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
c0128d4683d033f5250c35a22e1f857561b22a4b 08-Mar-2017 Ben Wagner <bungeman@google.com> DW last resort font default name not necessary.

Currently in SkFontMgr_DirectWrite when trying to find some last resort
font SystemParametersInfoW failing is considered a fatal error and so
onLegacyCreateTypeface will return nullptr. Instead, treat failure of
getDefaultFontFamily as ignorable and continue to the default default.

BUG=chromium:697672

Change-Id: I1ea018627487fbd39b1d0eebad4c798346d09c94
Reviewed-on: https://skia-review.googlesource.com/9408
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
e0c9e00cd5ed17a45a988b8b57fa9c09f3574921 01-Mar-2017 Ben Wagner <bungeman@google.com> Remove SK_HAS_DWRITE_X defines.

While developing DirectWrite it was ncessary to support building with
older Windows SDKs which may not have certain headers. Now that the
minimum required Windows SDK is 8.1 (0x0603) we can remove these
difficult to use macros to simplify future development.

Change-Id: Ia780466b7c9b86198116c5974c43363f49a0ebac
Reviewed-on: https://skia-review.googlesource.com/9124
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
20d031a6ad7853eec166a4a648c09b12e4f32008 11-Jan-2017 Ben Wagner <bungeman@google.com> Remove SK_LEGACY_FONTMGR_FACTORY.

SkFontMgr factories now return sk_sp and the legacy factories are no
longer used and can be removed.

BUG=skia:5077

Change-Id: Ieaff8555b297d1db157f8b78cdd6e7d07a3b5490
Reviewed-on: https://skia-review.googlesource.com/6894
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
3546ff10c2e1e91f5afe1efaab4e5e14f71689d1 03-Jan-2017 Ben Wagner <bungeman@google.com> Stage SkFontMgr factories to return smart pointers.

All the SkFontMgr factories currently return bare pointers and sometimes
even document the ownership rules. Since such factories can be
implemented by external ports, the ownership rules should be explicit in
order to prevent simple reference counting issues.

Change-Id: I25b598ce0954cd473a3fb1f8adc0cb86331583ca
Reviewed-on: https://skia-review.googlesource.com/6533
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
67b39de70fb5d10caebfc75f418754186e5226c3 07-Nov-2016 Hal Canary <halcanary@google.com> s/SkAutoTUnref/sk_sp/ in src/ part 1

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4480

Change-Id: I7d3219b02ad5094785e1b7635a9482e69aadbc8c
Reviewed-on: https://skia-review.googlesource.com/4480
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
145dbcd165d9d27298eb8888bc240e2d06a95464 03-Nov-2016 Ben Wagner <bungeman@google.com> Remove SkAutoTDelete.

Replace with std::unique_ptr.

Change-Id: I5806cfbb30515fcb20e5e66ce13fb5f3b8728176
Reviewed-on: https://skia-review.googlesource.com/4381
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/ports/SkFontMgr_win_dw.cpp
6bd5284415bd983b0628c4941dff5def40018f5a 27-Oct-2016 bungeman <bungeman@google.com> Remove SkAutoTUnref and SkAutoTDelete from public includes.

This also makes the required changed to src, tests, and tools. The few
public APIs modified by this change appear to be unused outside of Skia.

Removing these from the public API makes it easier to ensure users are
no longer using them.

This also updates GrGpu::wrapBackendXXX and the
::onWrapBackendXXX methods to clarify ownership.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2448593002

Review-Url: https://codereview.chromium.org/2448593002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
f93d71122e4fcfcdc674a0163455990b13855f2f 16-Sep-2016 bungeman <bungeman@google.com> SkFontData to use smart pointers.

The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002

Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c
Review-Url: https://codereview.chromium.org/2339273002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
606add3dfb2f6d1dc3ee4921876e7c9fa01643f9 15-Sep-2016 bungeman <bungeman@google.com> Revert of SkFontData to use smart pointers. (patchset #3 id:40001 of https://codereview.chromium.org/2339273002/ )

Reason for revert:
Killing Mac

Original issue's description:
> SkFontData to use smart pointers.
>
> The SkFontData type is not exposed externally, so any method which uses
> it can be updated to use smart pointers without affecting external
> users. Updating this first will make updating the public API much
> easier.
>
> This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
> std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
> appears that no one outside Skia is currently using SkStream::NewfromFile
> so this is a good time to update it as well.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002
>
> Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c

TBR=mtklein@chromium.org,halcanary@google.com,mtklein@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2343933002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c 15-Sep-2016 bungeman <bungeman@google.com> SkFontData to use smart pointers.

The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002

Review-Url: https://codereview.chromium.org/2339273002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
42943c8aa9c611c18ad0f1a30a27669f3d82239c 12-Sep-2016 reed <reed@google.com> change SkStreams to work with sk_sp<SkData> instead of SkData*

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333713002

Review-Url: https://codereview.chromium.org/2333713002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
73c7c3c2346033e0b5df123f1a6b488015443a55 16-Jun-2016 bungeman <bungeman@google.com> Revert of Support pixel antialising in DirectWrite. (patchset #4 id:60001 of https://codereview.chromium.org/2065833002/ )

Reason for revert:
Moving to the new glyph run analysis changes things anyway, and the Chromium Win 10 bots are having issues with this. Revert until I have time to make the suppression wider.

Original issue's description:
> Support pixel antialising in DirectWrite.
>
> DirectWrite2 supports pixel antialiasing and rendering without hinting.
>
> BUG=skia:5416
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002
>
> TBR=reed
> Will move SkTScopedComPtr into src.
>
> Committed: https://skia.googlesource.com/skia/+/bd770d619553a88eeaa64ff29082f62db5c9b4d2

TBR=reed@google.com,mtklein@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5416

Review-Url: https://codereview.chromium.org/2075913002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
bd770d619553a88eeaa64ff29082f62db5c9b4d2 16-Jun-2016 bungeman <bungeman@google.com> Support pixel antialising in DirectWrite.

DirectWrite2 supports pixel antialiasing and rendering without hinting.

BUG=skia:5416
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002

TBR=reed
Will move SkTScopedComPtr into src.

Review-Url: https://codereview.chromium.org/2065833002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
2af4599b5c514933bf997d4837ddaaf24fc61cd7 08-Jun-2016 lsalzman <lsalzman@mozilla.com> A Mozilla developer ran the µmix static analyzer on its codebase and incidentally found some issues regarding null checks in Skia. This fixes the issues that were found.

Downstream bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1278452

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046563007

Review-Url: https://codereview.chromium.org/2046563007
/external/skia/src/ports/SkFontMgr_win_dw.cpp
b4bb7d825566042ed64697be49457dbac060e6c4 27-Apr-2016 bungeman <bungeman@google.com> Add oblique as a slant.

Some fonts have italic and oblique in the same family, see

http://lucidafonts.com/fonts/family/lucida-sans
http://www.gust.org.pl/projects/e-foundry/latin-modern

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921903002

Chromium side change at https://crrev.com/1921503006/ .

Review-Url: https://codereview.chromium.org/1921903002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
82497f9300432375cb9fd0e0ceca011ea7dce847 15-Apr-2016 kulshin <kulshin@chromium.org> Add option to specify font fallback when creating the skia font manager

This originally existed as https://codereview.chromium.org/1740533003/,
but then got reverted for causing perf problems at startup. This change
avoids that by allowing callers to specify their own font fallback, and
only uses the system fallback if a fallback is needed and none was
provided.

This is part 1 of a three part change.
1: https://codereview.chromium.org/1878843002/
Adds support for specifying a font fallback in skia
2: https://codereview.chromium.org/1846433005/
Implements the fallback proxy in Chromium
3: https://codereview.chromium.org/1883483002/
Adds code to blink to call skia's fallback API

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878843002

Review URL: https://codereview.chromium.org/1878843002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
82a455f0e9a7a50a399a58be906b48c24aeec056 14-Apr-2016 bungeman <bungeman@google.com> Remove requestedStyle from SkTypefaceCache.

The typeface cache contains typefaces which can be compared against to
determine if an already known typeface will work instead of creating a
new typeface id. This is primarily for sharing scaler contexts. How that
typeface was requested is not relevant to this comparison, so don't cache
it. Request caching must be handled separately.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879423002

Review URL: https://codereview.chromium.org/1879423002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
ed2edabd07086bbf60df17ca0bf52d8ba49f2273 13-Apr-2016 bungeman <bungeman@google.com> Remove SK_VERY_LEGACY_CREATE_TYPEFACE.

The flag and code it guards are no longer used.

TBR=reed
This just removes dead code.

Review URL: https://codereview.chromium.org/1882803002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
11a77c6e0634e2feb6fe4e74806db2fdd2a799ec 12-Apr-2016 bungeman <bungeman@google.com> Begin switch to SkFontStyle for legacy calls.

This adds SK_VERY_LEGACY_CREATE_TYPEFACE which, when defined, provides
only the old interface.

Ideally, everyone would switch directly to SkFontMgr and use one of the
newer calls, but there is currently no path for current users to get
there. This updates all the internals to use SkFontStyle, after
switching these over the higher level APIs can be switched.

The Chromium follow on patch can be seen at https://crrev.com/1877673002

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873923002

TBR=reed
This doesn't really change API, just modernizes it.

Review URL: https://codereview.chromium.org/1873923002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
351c0d24f1c093ca48d0d832b1d64df8644f87b7 12-Mar-2016 kulshin <kulshin@chromium.org> Revert "Initialize the font fallback when the direct write font"

This is apparently causing crashes and hangs in Chromium. Possible cause of 593858 and possible cause of 594047.

This reverts commit 042f859c19f71ca9feacddd1cb058ff59eed8963.

Conflicts:
src/ports/SkFontMgr_win_dw.cpp

Review URL: https://codereview.chromium.org/1792473003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
08d739c03623cf471db45e8278cf48b3c81c28ed 09-Mar-2016 robertphillips <robertphillips@google.com> Fix Windows clang compiler complaint

https://codereview.chromium.org/1740533003 ( Initialize font fallback when creating DWrite font manager) seems to have broken the clang/win builds with:

..\..\third_party\skia\src\ports\SkFontMgr_win_dw.cpp(272,11) : error: field
'fLocaleName' will be initialized after field 'fFontFallback'
[-Werror,-Wreorder]
, fLocaleName(localeNameLength)
^
1 error generated.

I have also created skbug.com/5078 (Add Windows clang bot)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1784533002

Review URL: https://codereview.chromium.org/1784533002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
042f859c19f71ca9feacddd1cb058ff59eed8963 09-Mar-2016 kulshin <kulshin@chromium.org> Initialize the font fallback when the direct write font
manager is created.

This ensures that the fallback is initialized prior to
sandbox startup in Chromium.

This enables the use of font fallback when combined with
Chromium change https://codereview.chromium.org/1740593002/

Review URL: https://codereview.chromium.org/1740533003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
69d160326659dcf64e1584018b713631ddbc061c 03-Feb-2016 kulshin <kulshin@chromium.org> Add option to specify a font collection when creating a
DirectWrite font manager.

The corresponding Chromium change can be found at
https://codereview.chromium.org/1591883002/ .

TBR=reed
This is a trivial and long planned addition to the API.

Review URL: https://codereview.chromium.org/1607083003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
f2b340fc885ad2a12d2d73974eff9c8f4c94192c 29-Jan-2016 djsollen <djsollen@google.com> Consolidate SK_CRASH and sk_throw into SK_ABORT

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648343003

Review URL: https://codereview.chromium.org/1648343003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
aa97a84404c7505738713a4c19b42347c7daef9e 22-Jan-2016 djsollen <djsollen@google.com> Revert of Consolidate SK_CRASH and sk_throw into SK_ABORT (patchset #5 id:80001 of https://codereview.chromium.org/1610823002/ )

Reason for revert:
Chrome is calling SK_CRASH

Original issue's description:
> Consolidate SK_CRASH and sk_throw into SK_ABORT
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002
>
> Committed: https://skia.googlesource.com/skia/+/4c5cd7d527ed29aabfa72aa47b23a4496eeda357

TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1620333002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
4c5cd7d527ed29aabfa72aa47b23a4496eeda357 22-Jan-2016 djsollen <djsollen@google.com> Consolidate SK_CRASH and sk_throw into SK_ABORT
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002

Review URL: https://codereview.chromium.org/1610823002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
1ee76510f5dbf632d30975fc3509ef4f609156d2 02-Nov-2015 mtklein <mtklein@chromium.org> Start making all .cpp files compile-able on all platforms.

I sometimes dream to hone our build process down to something as simple as
$ find src -name '*.cpp' | xargs c++ <some cflags> -c -o skia.o

To start, it helps if we can compile all files on all platforms. Each
non-portable file guards itself with defines provided by SkTypes.h. This does
not convert all non-portable code, but it's a good representative chunk.

E.g. instead of having to remember which SkDebug_*.cpp to compile on which
platform we can just compile all three and let the code itself sort it out.

This has the nice side effect of making non-portable code declare the
conditions under which it can compile explicitly.

I've been testing mostly with the CMake build as it's easiest, but this should
apply equally to BUILD, Gyp, and GN files... to any build system really.

BUG=skia:4269
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1411283005
/external/skia/src/ports/SkFontMgr_win_dw.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
1b24933e52f50773de29332387a12721811f3012 07-Jul-2015 mtklein <mtklein@chromium.org> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.

SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc

Review URL: https://codereview.chromium.org/1215393002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
02802f64ea0b1fc9223386328a95280b74092c94 02-Jul-2015 jvanverth <jvanverth@google.com> Revert of Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. (patchset #4 id:60001 of https://codereview.chromium.org/1215393002/)

Reason for revert:
Breaking the roll.

E.g. on android_chromium_gn_compile_dbg:

FAILED: /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -MMD -MF obj/skia/ext/libskia.SkMemory_new_handler.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=1 -DENABLE_NOTIFICATIONS -DENABLE_BROWSER_CDMS -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DDONT_EMBED_BUILD_METADATA -DUSE_OPENSSL=1 -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_CONFIGURATION_POLICY -DENABLE_SUPERVISED_USERS=1 -DENABLE_AUTOFILL_DIALOG=1 -DUSE_PROPRIETARY_CODECS -DV8_USE_EXTERNAL_STARTUP_DATA -DVIDEO_HOLE=1 -DMOBILE_SAFE_BROWSING -DSAFE_BROWSING_SERVICE -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DSKIA_IMPLEMENTATION=1 -DSK_ARM_HAS_OPTIONAL_NEON -DSK_GAMMA_APPLY_TO_A8 -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSK_DEFAULT_FONT_CACHE_LIMIT=1048576 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DXML_STATIC -I../.. -Igen -I../../third_party/skia/include/private -I../../third_party/skia/src/core -I../../third_party/skia/src/image -I../../third_party/skia/src/opts -I../../third_party/skia/src/pdf -I../../third_party/skia/src/ports -I../../third_party/skia/src/sfnt -I../../third_party/skia/src/utils -I../../third_party/skia/src/lazy -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/zlib -I../../third_party/expat/files/lib -I../../third_party/freetype-android/include -I../../third_party/freetype-android/src/include -I../../third_party/android_tools/ndk/sources/android/cpufeatures -fno-strict-aliasing -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mthumb -mthumb-interwork -fno-tree-sra -fno-caller-saves -funwind-tables -fPIC -pipe -ffunction-sections -funwind-tables -fno-short-enums -finline-limit=64 -mfpu=vfpv3-d16 -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fvisibility=hidden --sysroot=/b/build/slave/android_chromium_gn/build/src/third_party/android_tools/ndk/platforms/android-16/arch-arm -Os -fdata-sections -ffunction-sections -fomit-frame-pointer -g1 -Wno-format -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-extra -Wno-ignored-qualifiers -Wno-type-limits -Wno-unused-local-typedefs -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-narrowing -Wno-literal-suffix -Wno-error=c++0x-compat -Wno-non-virtual-dtor -Wno-sign-promo -c ../../skia/ext/SkMemory_new_handler.cpp -o obj/skia/ext/libskia.SkMemory_new_handler.o
../../skia/ext/SkMemory_new_handler.cpp:12:52: fatal error: third_party/skia/include/core/SkThread.h: No such file or directory
#include "third_party/skia/include/core/SkThread.h"

Original issue's description:
> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
>
> SkThread.h doesn't do anything anymore execept include those two,
> and thankfully, it doesn't seem to be mentioned outside Skia.
>
> No public API changes.
> TBR=reed@google.com
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1214603003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
c50acf2321d7a934c80d754e9cbe936dfb8eb4cc 01-Jul-2015 mtklein <mtklein@chromium.org> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.

SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1215393002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
98fc73c7a9fa5f8e4f6fb0a1af0523d4518d6a3a 30-Jun-2015 sammc <sammc@chromium.org> Change initializer list order to match field declaration order.

BUG=chromium:505304

Review URL: https://codereview.chromium.org/1214933004
/external/skia/src/ports/SkFontMgr_win_dw.cpp
c64239a466b6e083ada93c2842d9e48bae606dfe 29-Apr-2015 bungeman <bungeman@google.com> Remove system call in DW for default font.

The last user of the GDI default font in DW is
onMatchFamilyStyleCharacter and it doesn't appear to actually need
to use it. This change removes a system call, making things a bit
faster, as well as eliminating a call blocked in the sandbox.

BUG=chromium:459056

Review URL: https://codereview.chromium.org/1107283003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
9c007f23c17245a242bffe0f6e88719291b8142f 23-Feb-2015 bungeman <bungeman@google.com> Use #if instead of #ifdef with SK_HAS_DWRITE_X.

Review URL: https://codereview.chromium.org/943233004
/external/skia/src/ports/SkFontMgr_win_dw.cpp
28512f7f54bf9783e9ee1c93ae0403ac1c0963b9 23-Feb-2015 bungeman <bungeman@google.com> Use IDWriteFontFallback when available.

This is prefereable to the current IDWriteTextLayout method,
but is only available on Windows 8.1 and later.

Review URL: https://codereview.chromium.org/942083004
/external/skia/src/ports/SkFontMgr_win_dw.cpp
b2bed00ce143363d8192ae96fedf12a06a76b0f5 20-Feb-2015 bungeman <bungeman@google.com> Implement onMatchFamilyStyleCharacter for DirectWrite.

Review URL: https://codereview.chromium.org/946603002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
0babd3c61987428a5c532f65be9d98c7ac583e0d 18-Feb-2015 bungeman <bungeman@google.com> Update DirectWrite streams to SkStreamAsset.

SkTypefaces now deal in terms of SkStreamAsset, but the DirectWrite port
was never fully converted.

Review URL: https://codereview.chromium.org/940563002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
5f213d9627d2eefa7da81cd97f36754f75eb4ae9 27-Jan-2015 bungeman <bungeman@google.com> SkTypeface to use SkStreamAsset.

SkTypeface already requires typeface streams to support SkStreamAsset
in practice, and in practice all users are already supplying them.

Review URL: https://codereview.chromium.org/869763002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
a1193e4b0e34a7e4e1bd33e9708d7341679f8321 21-Jan-2015 scroggo <scroggo@google.com> Make SkStream *not* ref counted.

SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.

Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).

Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.

Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().

Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.

Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.

In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).

Make other pdf rasterizers behave like SkPDFDocumentToBitmap.

SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:

SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF

Requires a change to Android, which currently treats SkStreams as ref
counted objects.

Review URL: https://codereview.chromium.org/849103004
/external/skia/src/ports/SkFontMgr_win_dw.cpp
72c9faab45124e08c85f70ca38536914862d947c 09-Jan-2015 mtklein <mtklein@chromium.org> Fix up all the easy virtual ... SK_OVERRIDE cases.

This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
/external/skia/src/ports/SkFontMgr_win_dw.cpp
33068c19f1b8c18f000c18935ad11f1082534b5a 14-Nov-2014 djsollen <djsollen@google.com> Enforce pure virtual behavior for onMatchFamilyStyleCharacter

All impls that previously did not define the functions have been
updated to return NULL.

NOTRY=true

Review URL: https://codereview.chromium.org/728873002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
60b6e9dbbc492f987a5b887dff60aec107ab70d0 24-Oct-2014 mtklein <mtklein@chromium.org> Remove a pointless use of SkWeakRefCnt.

Can't quite get rid of SkWeakRefCnt yet... SkFontMgr_indirect uses it to cache
SkTypefaces, and I don't quite understand it enough yet to cut out the weak refs.

BUG=skia:3065

Review URL: https://codereview.chromium.org/664173003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
a4c4a2d8cd65abb1e5ac20813831cdb9ace6c7ee 20-Oct-2014 bungeman <bungeman@google.com> Replace SkTypeface::Style with SkFontStyle.

Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

Review URL: https://codereview.chromium.org/488143002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
802ad83dca2efd57fde6c7ba666555ea78b5324c 20-Oct-2014 mtklein <mtklein@google.com> Revert of Replace SkTypeface::Style with SkFontStyle. (patchset #9 id:160001 of https://codereview.chromium.org/488143002/)

Reason for revert:
CrOS GM failures:

[*] 2 ExpectationsMismatch: fontmgr_iter_565.png fontmgr_iter_8888.png

Original issue's description:
> Replace SkTypeface::Style with SkFontStyle.
>
> Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

TBR=reed@google.com,bungeman@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/667023002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
43b8b36b20ae00e2d78421c4cda1f3f922983a20 20-Oct-2014 bungeman <bungeman@google.com> Replace SkTypeface::Style with SkFontStyle.

Review URL: https://codereview.chromium.org/488143002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
d7f846bdd171e4be0c05cfe61bc4446caf5c99c6 19-Jun-2014 bungeman <bungeman@google.com> Add needed virtual destructors.

These were found by the clang on Windows build.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/328303005
/external/skia/src/ports/SkFontMgr_win_dw.cpp
33eb30fed8aa45c47a65e684e1b65da2b2e1fb91 18-Jun-2014 bungeman <bungeman@google.com> Clean up DirectWrite typeface cache matching.

The matching code was difficult to follow due to naming issues,
and performed some duplicate work which is not wanted.
This change will either fix the associated bug or make it possible
to track the cause.

CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Release-DirectWrite-Trybot

BUG=384529
R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/338923003
/external/skia/src/ports/SkFontMgr_win_dw.cpp
b0b0feb71f0841497c041aa4aca2b10e032224e0 06-Jun-2014 Ben Wagner <bungeman@google.com> Fix SK_API for DirectWrite port.

The declaration and definition should have the same calling convention.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/317993002
/external/skia/src/ports/SkFontMgr_win_dw.cpp
51daa25a2b16bca578e78b7ea1e5815b9abb8b0b 05-Jun-2014 bungeman <bungeman@google.com> Split SkFontHost_win_dw.

Split SkFontHost_win_dw into FontMgr, Typeface, and ScalerContext.
This makes working on these files easier, and moves away from the legacy
FontHost naming.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/314193002
/external/skia/src/ports/SkFontMgr_win_dw.cpp