Commit Graph

163 Commits

Author SHA1 Message Date
John Stiles
f07421bcbd Remove unnecessary ctors now that we have C++17 copy-elision.
This CL backs out C++14 compatibility changes from
http://review.skia.org/457298 :

"2. Lack of C++17 copy elision means classes of objects constructed at
function return need a copy or move constructor even if RVO will mean it
isn't called."

Change-Id: I33a833d33b221e757bf6a6459835a7215b4e6b66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501240
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-27 20:26:54 +00:00
Ben Wagner
83c85affad Avoid calling hb_face_set_index with uninitialized value.
If an SkTypeface stream exists and is a memory based stream an hb_face
may be created directly from the memory. In this case the collection
index was set when the stream was retrieved and the hb_face is created
with this index. Otherwise, the hb_face is created by table callback. In
this case the stream may or may not have been successfully retrieved. If
the stream was successfully retrieved the hb_face index should be set to
the collection index retrieved with the stream. Otherwise, the hb_face
index should not be set.

Change-Id: I2568fecb1096d1a2e7f529342668ea443a8615c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499136
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-25 14:15:37 +00:00
Jason Simmons
d8e29e09c8 Call SkFont::getBounds once per run in ShaperHarfBuzz::shape
Change-Id: Ie5d4ff977d5952423f5679387fae98d377489c0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/481796
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-12-09 19:37:03 +00:00
Kevin Lubick
4bd08c52c0 [infra] Add SkParagraph (harfbuzz, ICU) to Canvaskit Bazel build.
As a follow-up to https://skia-review.googlesource.com/c/skia/+/476219,
this sketches out how we can maybe use cc_library for the things
in //modules to make sure something in //src doesn't depend on
anything in //modules, for example.

The following succeeds:
bazel build //modules/skparagraph:skparagraph --config=clang \
  --shaper_backend=harfbuzz_shaper --with_icu

As does `make bazel_canvaskit_debug` in //modules/canvaskit

Suggested Review Order:
 - third_party/BUILD.bazel for ICU and harfbuzz rules. Pay
   special attention to the genrules used to call the python
   script for turning the icu .dat file into .S or .cpp.
 - bazelrc and bazel/ for new flags and defines that control
   use of ICU and harfbuzz. Unlike GN, with the public_defines
   that get added in automatically if icu or harfbuzz is
   depended upon, we need to set the defines at the top level.
   This necessity might go away if we change the atoms to
   depend on //modules/skshaper, which could define that flag.
 - Top level BUILD.bazel files in //modules/skparagraph,
   //modules/skshaper, //modules/skunicode, //modules/canvaskit
 - All other .bazel file changes are automatic.

Bug: skia:12541
Change-Id: I38a9e0a9261d7e142eeb271c2ddb23f362f91473
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478116
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-30 21:01:06 +00:00
Kevin Lubick
9488e0237d [infra] Experiment generating BUILD.bazel files
This uses the gazelle extension from
https://skia-review.googlesource.com/c/buildbot/+/473357

Review Tips:
 - Ignore any changes to .h or .cpp files. Those have been
   pulled out into their own CLs.
 - Start with bazel/macros.bzl.
 - Read the CL with the generation code, if you haven't already.
 - Look at third_party/file_map_for_bazel.json.
 - See experimental/bazel_test for an idea of how a cc_binary
   would be made.
 - Spot check one or two of the BUILD.bazel files.

This CL generates the "atomic" rules for src/, include/ and
modules/skshaper, as a starting point.

`bazel build --config clang //include/...` works

`bazel build --config clang //src/...` starts compiling,
(which verifies that the BUILD.bazel files are all valid),
but runs into errors because not all third_party deps have
been resolved, and there are some files missing from the
toolchain still (e.g. EGL headers).

Change-Id: Ib7e0fb0efdb9f08655f06cbc56e9bb4cf416294b
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474240
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-23 18:53:16 +00:00
Brian Salomon
87a0078b89 Support building on clang with -std=c++14 but no C++17 extension warning.
Classes of issues addressed:

1. static constexpr class variables aren't automatically inline. Already handled in a separate CL

2. Lack of C++17 copy elision means classes of objects constructed at function return need a copy or move constructor even if RVO will mean it isn't called.

3. Nested braced init no longer allowed for base classes of subclasses without constructors.

4. template static constexpr var in template class throws error about redundant initialization. Adding inline and removing defn outside of class fixes it.

5. Some places that should have been including std headers now actually need to include them.

6. No auto template parameters.

7. No lambdas in constexpr funcs.


Bug: chromium:1257145
Change-Id: Icb24c6b4ed039287fb4cf27a21a1bb7dc9821728
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/457298
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-10-12 16:34:30 +00:00
Florin Malita
40f3db41af Reland "Experimental ICU runtime linking"
This is a reland of f4aab0584d

Original change's description:
> Experimental ICU runtime linking
>
> Introduce a build config option where ICU symbols are resolved at
> runtime, against existing system libs.
>
> Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I6f67a5eb842743d2486ccc4519e2d8cb9fac3458
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433277
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-07-27 19:51:31 +00:00
Florin Malita
6cce9615a0 Revert "Experimental ICU runtime linking"
This reverts commit f4aab0584d.

Reason for revert: build failures

Original change's description:
> Experimental ICU runtime linking
>
> Introduce a build config option where ICU symbols are resolved at
> runtime, against existing system libs.
>
> Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=djsollen@google.com,bungeman@google.com,fmalita@chromium.org,fmalita@google.com,jlavrova@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ic252af1d7ba0a72b3c596e61f86746c27a0685b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433276
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-07-27 12:13:39 +00:00
Florin Malita
f4aab0584d Experimental ICU runtime linking
Introduce a build config option where ICU symbols are resolved at
runtime, against existing system libs.

Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-26 21:18:17 +00:00
Ben Wagner
53813ff67c Remove unused ICU include from SkShaper_harfbuzz
SkShaper_harfbuzz should be relying solely on the icu module for
icu like things, and this include is no longer used.

Change-Id: I7b247d9de30646c0002ed8380a96b9a86d84baf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432998
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-07-26 17:24:09 +00:00
Ben Wagner
c4de11b6d7 Don't build hb-icu
Since "Build HarfBuzz without ICU support" e07555f6aa, HarfBuzz in Skia
has not been using ICU. However, hb-icu support files are still being
built. Remove them from the build.

Change-Id: Ib8dcf8a2139255ee1a1019197c38414305ca082e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432997
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-07-26 16:51:44 +00:00
Ben Wagner
7dc26fadc9 Call hb_face_count before hb_face_create
As pointed out at https://github.com/harfbuzz/harfbuzz/issues/248 one
should call hb_face_count to do a sanitizer check before calling
hb_face_create.

Change-Id: I71795962a027188d702274f84e3bfa6c15fcd130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/428322
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-07-15 12:08:25 +00:00
Ben Wagner
5a479e187d Check hb_font_create return value
There are very few ways that hb_font_create can fail. It will do minimal
sanitization if the data begins with a known magic signature, but will
otherwise return a valid hb_font which more or less looks like a valid
font with no glyphs and upem of 1000. This appears to be the reason gfx
is only using hb_face_create_for_tables to avoid the issue where a
system font may be understood by FreeType and otherwise be valid, but
not recognized by HarfBuzz.

Keep the efficiency of hb_font_create when it can be used, but check if
the resulting hb_font has no glyphs. If it has no glyphs attempt to use
hb_face_create_for_tables instead.

See https://github.com/harfbuzz/harfbuzz/issues/248

Change-Id: Iaf82127152cdf6de160274234bcb19b5ccbccc1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419805
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-06-18 22:21:47 +00:00
Ben Wagner
e07555f6aa Build HarfBuzz without ICU support
In addition to reducing the dependency footprint of HarfBuzz as a
library, removing the slow conversion from ICU script to HarfBuzz script
representation should speed things up a bit. Additional clean up to
remove the no longer used SkUnicodeScript parameter will be put off
until later as a separate API change.

Bug: skia:12095
Change-Id: Ib7982a59670cc9c25cb1489b9622a98968ae1a38
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419196
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-06-17 15:44:13 +00:00
Julia Lavrova
10e7e77909 Reland "Switching SkText to UTF16"
This is a reland of a3262aa1d2

Original change's description:
> Switching SkText to UTF16
>
> Required some changes in SkUnicode to support it
> SkShaper still works on UTF8
>
> Change-Id: I76645668e1d9bf95eb4539a066deea2b24ecf5e9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406360
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

Change-Id: Ib21898d4acda8ab78e5e6fd1c7b9b0da41c3fa83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407396
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-05-19 17:54:14 +00:00
John Stiles
154bd1f522 Avoid repeated failure messages in the dm logs.
Successful dm runs on Windows currently include this message many
thousands of times over. This pollutes the logs for no benefit.

Change-Id: I127b4588ed25d8f51ac70d0f87645bd9c28cec5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408057
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-05-13 17:27:45 +00:00
Brian Osman
a5842bc903 Move SkSpan to include/, for use in public API
Change-Id: I674f038600afd6d49316c1ece515941ee5579068
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406939
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-12 13:19:32 +00:00
Brian Osman
2305b7914e Use SkMakeSpan in SkShaper_harfbuzz
Fixes G3 roll

Change-Id: I0d7c3c74f793fb2c22db969fb2a6f93e39931918
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407099
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-11 22:33:59 +00:00
Robert Phillips
0c9962a7c8 Revert "Switching SkText to UTF16"
This reverts commit a3262aa1d2.

Reason for revert: I believe this is blocking the Flutter roll

Original change's description:
> Switching SkText to UTF16
>
> Required some changes in SkUnicode to support it
> SkShaper still works on UTF8
>
> Change-Id: I76645668e1d9bf95eb4539a066deea2b24ecf5e9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406360
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: I68b66dfbc4f3668a8fb765d5f557699e396cd3f5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407177
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-05-11 22:24:20 +00:00
Julia Lavrova
a3262aa1d2 Switching SkText to UTF16
Required some changes in SkUnicode to support it
SkShaper still works on UTF8

Change-Id: I76645668e1d9bf95eb4539a066deea2b24ecf5e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406360
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-05-11 20:31:29 +00:00
Julia Lavrova
98a76eb6ea Add nbsp info to the cache
Change-Id: I9d4cd6f3d7c2871c1279c3a7190187bbfee1b56b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383856
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-19 15:40:31 +00:00
Julia Lavrova
4414f87fa1 Revert the workaround for missing ICU API ubrk_safeClone
Bug: skia:11315
Change-Id: Iee619517b687dc722d99e73821954cadb790d98a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/378977
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-03-08 15:26:25 +00:00
Julia Lavrova
c70f8c331d Using non-breaking spaces as a hint to break too long words
Change-Id: Ic88e961ea3fb08e61340895115f514c6f5dec163
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/379798
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-03-08 04:31:04 +00:00
Ben Wagner
83eed35765 SkShaper_coretext correct dependencies.
Adds proper framework dependencies and moves from using ArenaAlloc
to header only SkAutoSTArray so it can be built in a shared build.

Change-Id: I6467153915e00a28d5569869187aecc3dd1f0112
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380318
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-03-05 22:06:25 +00:00
Ben Wagner
5d9c20ecc9 Make TextBlob 'Text' allocators public.
This will allow users to create PDFs with the actual text embedded. This
will allow for correct search and copy operations on the generated PDF.

Since these are now public, SkTextBlobBuilderPriv is no longer needed
and is removed. For consistency, the allocRunRSXform overload is renamed
to allocRunTextRSXform.

Change-Id: I44be82d9038a433e1221d5cbfd8ed113ecb6d4fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375017
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-24 18:48:44 +00:00
Ben Wagner
0baacb50bc Remove lang parameter from TextBlob alloc methods.
The 'lang' was never stored or used, so this makes no current practical
difference. The original intent was to be able to specify a language so
that it could be emitted as a 'Lang' override in the 'ActualText' when
generating a PDF. However, due to the way 'ActualText' is generally used
this would be impractical. If there is ever a desire to mark up sections
of the PDF with a specific language it would be better handled in a
different way.

Change-Id: Id63596190235fc45ce17249b9b578b6f9b838b2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375060
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-24 17:08:04 +00:00
Ben Wagner
dd9449c23b Add SkShaper::PurgeCaches.
Allows the user to signal that any global outstanding cached data should
be cleaned up to free resources.

Change-Id: I59d4bb2bbb4356920dea8caf912d9cb5f13014cf
Bug: skia:10763
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/360079
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-01-27 17:50:30 +00:00
Ben Wagner
3193ff2716 Remove SK_SHAPER_HARFBUZZ_USE_BAD_SCALE
No longer used. Remove old numerically unstable scaling.

Change-Id: I3aa05369167377e0277eaca155536c2f1e8036b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356379
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-01-22 20:54:25 +00:00
Ben Wagner
e9a8238d3c Avoid division by zero when shaping.
The hb_position is always tracked in 16.16 now, so take direct advantage
of that instead of relying on the ratio of the requested size and size
as known by HarfBuzz. This avoids potential issues with division of zero
by zero when shaping zero sized fonts.

Bug: oss-fuzz:29240
Change-Id: I9715629034008552f88afd4feb1074a11cae15e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/354117
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-01-19 15:53:14 +00:00
Jason Simmons
d8e9436a78 Cache ICU break iterators in SkUnicode_icu
Gate this behind an ifdef that can be disabled in environments where
the ICU ubrk_safeClone API is not available.

Change-Id: Ia1a3f677271622f2b7ae478b4d1ce76c74eed057
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352876
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2021-01-13 18:35:24 +00:00
Mike Reed
f4ea30580c Revert "Cache ICU break iterators in SkUnicode_icu"
This reverts commit 504451c7cc.

Reason for revert: breaking android roll?

external/skia/modules/skshaper/src/SkUnicode_icu.cpp:199:28: error: use of undeclared identifier 'ubrk_safeClone'
            iterator.reset(ubrk_safeClone(cachedIterator->get(), nullptr, nullptr, &status));
                           ^
1 error generated.


Original change's description:
> Cache ICU break iterators in SkUnicode_icu
>
> Change-Id: I2d6abd1a12d629b590a6616d0d1c71d71d5f4812
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344476
> Commit-Queue: Jason Simmons <jsimmons@google.com>
> Reviewed-by: Julia Lavrova <jlavrova@google.com>

TBR=bungeman@google.com,jsimmons@google.com,jlavrova@google.com

Change-Id: Iccc8c630bb2461ca3509144a25961b478e6a634d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-08 02:29:03 +00:00
Jason Simmons
504451c7cc Cache ICU break iterators in SkUnicode_icu
Change-Id: I2d6abd1a12d629b590a6616d0d1c71d71d5f4812
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344476
Commit-Queue: Jason Simmons <jsimmons@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-01-07 19:57:46 +00:00
Julia Lavrova
acace5d7bc Remove static allocattion of UText
Bug: skia:11046
Change-Id: Iaad37b8f664b523b8a8b2a5e1aa895db40332d87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/345038
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-12-17 15:06:15 +00:00
Martin Vejdarski
cd2e148ea4 [skshaper] Fix CoreText segfault and convert UTF16 indices to UTF8
Bug: skia:10899
Bug: skia:10898
Bug: skia:10897

Change-Id: I0a9499b919e27c6fa01f1748b98ebcbcae2ed885
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332896
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-11-10 02:53:01 +00:00
Julia Lavrova
1d1c5c1a18 Yet another workaround Thai \n problem (same as txtlib)
Bug: skia:10881

Change-Id: If451b662646e66e5d699ca0cca3795f5e078b84e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332257
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-11-06 19:33:39 +00:00
Julia Lavrova
36700ef54d ICU project: script iterator in SkShaper
Change-Id: Idcc9290a7666cb590532150a44304d704c8ee34c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319777
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-10-16 16:08:12 +00:00
Herb Derby
a80ce1a36d remove SkMakeSpan use ctor parameter deduction
Change-Id: I3a1b12f7eb906fe105eb7e9f6bc10e3745f61528
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320264
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-10-02 01:41:03 +00:00
Julia Lavrova
6e51d92a02 ICU project: text break iterators in SkShaper
Change-Id: I8a0dd71298331b608fbe874cc610a80fc7815b0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313082
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-09-24 20:17:04 +00:00
Julia Lavrova
b6b7fffc35 Reland "Removing ICU dependencies from skparagraph BUILD.gn file"
This reverts commit 05ce2817f2.

Reason for revert: Fixing the build

Original change's description:
> Revert "Removing ICU dependencies from skparagraph BUILD.gn file"
>
> This reverts commit f1711adb1a.
>
> Reason for revert: Build break
>
> Original change's description:
> > Removing ICU dependencies from skparagraph BUILD.gn file
> >
> > (and from the sources, too)
> >
> > Change-Id: I9d8ff51c91aad4b770b1f183c04734d31252b851
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313148
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> > Reviewed-by: Ben Wagner <bungeman@google.com>
>
> TBR=bungeman@google.com,jlavrova@google.com
>
> Change-Id: I1fce2436855e3e2a4cb7d1d7204b3ae49fd530e8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/314540
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: I13d78d75698df47930adc2514d1328abc556a209
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316444
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-09-11 18:31:24 +00:00
Julia Lavrova
05ce2817f2 Revert "Removing ICU dependencies from skparagraph BUILD.gn file"
This reverts commit f1711adb1a.

Reason for revert: Build break

Original change's description:
> Removing ICU dependencies from skparagraph BUILD.gn file
> 
> (and from the sources, too)
> 
> Change-Id: I9d8ff51c91aad4b770b1f183c04734d31252b851
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313148
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

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

Change-Id: I1fce2436855e3e2a4cb7d1d7204b3ae49fd530e8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/314540
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-09-01 20:51:33 +00:00
Julia Lavrova
f1711adb1a Removing ICU dependencies from skparagraph BUILD.gn file
(and from the sources, too)

Change-Id: I9d8ff51c91aad4b770b1f183c04734d31252b851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313148
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-09-01 20:35:34 +00:00
Julia Lavrova
1798f4f35c Reland "Reland "ICU: SkShaper (bidi iterator only)""
This reverts commit 03cde5f999.

Reason for revert: Fixing the build

Original change's description:
> Revert "Reland "ICU: SkShaper (bidi iterator only)""
>
> This reverts commit 7bc5542a9e.
>
> Reason for revert: breaking Android roll
>
> Original change's description:
> > Reland "ICU: SkShaper (bidi iterator only)"
> >
> > This reverts commit 73f003acfd.
> >
> > Reason for revert: Fixed the build
> >
> > Original change's description:
> > > Revert "ICU: SkShaper (bidi iterator only)"
> > >
> > > This reverts commit 64e3d040e9.
> > >
> > > Reason for revert: Breaking google3
> > >
> > > Original change's description:
> > > > ICU: SkShaper (bidi iterator only)
> > > >
> > > > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > > > Reviewed-by: Ben Wagner <bungeman@google.com>
> > > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> > >
> > > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> > >
> > > Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> > > Reviewed-by: Julia Lavrova <jlavrova@google.com>
> > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> >
> > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> >
> > Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> TBR=bungeman@google.com,jlavrova@google.com
>
> Change-Id: I89e80462edf8e014d7ea273885feeca17748a63a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313378
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Derek Sollenberger <djsollen@google.com>

TBR=djsollen@google.com,bungeman@google.com,jlavrova@google.com

Change-Id: Idce514c64309e7463fa23425d10f1b13dd9c8d18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313407
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-26 17:46:33 +00:00
Derek Sollenberger
03cde5f999 Revert "Reland "ICU: SkShaper (bidi iterator only)""
This reverts commit 7bc5542a9e.

Reason for revert: breaking Android roll

Original change's description:
> Reland "ICU: SkShaper (bidi iterator only)"
> 
> This reverts commit 73f003acfd.
> 
> Reason for revert: Fixed the build
> 
> Original change's description:
> > Revert "ICU: SkShaper (bidi iterator only)"
> >
> > This reverts commit 64e3d040e9.
> >
> > Reason for revert: Breaking google3
> >
> > Original change's description:
> > > ICU: SkShaper (bidi iterator only)
> > >
> > > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > > Reviewed-by: Ben Wagner <bungeman@google.com>
> > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> >
> > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> >
> > Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> > Reviewed-by: Julia Lavrova <jlavrova@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> 
> TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> 
> Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: I89e80462edf8e014d7ea273885feeca17748a63a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313378
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2020-08-26 13:09:15 +00:00
Julia Lavrova
7bc5542a9e Reland "ICU: SkShaper (bidi iterator only)"
This reverts commit 73f003acfd.

Reason for revert: Fixed the build

Original change's description:
> Revert "ICU: SkShaper (bidi iterator only)"
>
> This reverts commit 64e3d040e9.
>
> Reason for revert: Breaking google3
>
> Original change's description:
> > ICU: SkShaper (bidi iterator only)
> >
> > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
>
> Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-25 18:22:52 +00:00
Herb Derby
6e727832b5 remove ArenaAlloc reset() from SkShaper_coretext
Change-Id: I9950c4663e304cda953ab8d17fe76f5e5c3957e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312844
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-24 18:35:13 +00:00
John Stiles
29a803542d Add missing headers to .gn files.
Change-Id: Id2f3ed80c76c4c409afdd2fa86c9b8e7fd1266ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312485
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-21 17:27:30 +00:00
Julia Lavrova
73f003acfd Revert "ICU: SkShaper (bidi iterator only)"
This reverts commit 64e3d040e9.

Reason for revert: Breaking google3

Original change's description:
> ICU: SkShaper (bidi iterator only)
> 
> Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-11 21:06:10 +00:00
Julia Lavrova
64e3d040e9 ICU: SkShaper (bidi iterator only)
Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-11 19:58:08 +00:00
Herb Derby
6e2c56fefc move SkArenaAlloc reset to its own class
SkArenaAlloc has three fields that are used only for reset. Make a
subclass called SkArenaAllocWithReset which has the three
fields, and has the reset functionality.

An example of a reset() that is used instead of using a better scope
is PathOpsAngleAfter in PathOpsAngleTest.cpp.

Change-Id: Ie1965d128dfb7df9e022f4d18460d3f75f33e1a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307348
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-07 18:48:53 +00:00
John Stiles
a6841be235 Enable ClangTidy check llvm-namespace-comment.
This fixes a large number of SkSL namespaces which were labeled as if
they were anonymous, and also a handful of other mislabeled namespaces.
Missing namespace-end comments have been added throughout.
A number of diffs are just indentation-related (adjusting 1- or 3-
space indents to 2-space).

Change-Id: I6c62052a0d3aea4ae12ca07e0c2a8587b2fce4ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308503
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-06 19:07:52 +00:00