aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkTextBlob.cpp
Commit message (Collapse)AuthorAge
* text-blob: Fix OOM issues during blob deserialization.Gravatar Khushal2018-05-07
| | | | | | | | | | | | Limit the number of glyphs allowed during blob deserialization. Allocating for an arbitrary number can lead to OOM issues. Bug: 840096 Change-Id: I1673fd312438b99ff76dadcfdc9f9427acdca13b R=bsalomon@chromium.org Reviewed-on: https://skia-review.googlesource.com/126603 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Reland "Remove devKerning"Gravatar Herb Derby2018-05-02
| | | | | | | | | | | | | | | | | | | | | | This is a reland of c86c5c0144b85d0bc8ec791f9609ee2d4e7d835a Original change's description: > Remove devKerning > > Dev kerning is not supported by any scalers. This is > mostly removed. The remaining fields fRsbDelta and > fLsbDelta are kept to keep Android compiling. > > Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809 > Reviewed-on: https://skia-review.googlesource.com/124921 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> Change-Id: Ibf5fac5f1442c7e62392d5146ad460da27b10d5c Reviewed-on: https://skia-review.googlesource.com/125300 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Remove devKerning"Gravatar Mike Klein2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c86c5c0144b85d0bc8ec791f9609ee2d4e7d835a. Reason for revert: 4 of 5 Original change's description: > Remove devKerning > > Dev kerning is not supported by any scalers. This is > mostly removed. The remaining fields fRsbDelta and > fLsbDelta are kept to keep Android compiling. > > Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809 > Reviewed-on: https://skia-review.googlesource.com/124921 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=bungeman@google.com,herb@google.com,reed@google.com Change-Id: If865f702868192a1b72cd811baa996dd1282bbce No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/125263 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Remove devKerningGravatar Herb Derby2018-05-01
| | | | | | | | | | | Dev kerning is not supported by any scalers. This is mostly removed. The remaining fields fRsbDelta and fLsbDelta are kept to keep Android compiling. Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809 Reviewed-on: https://skia-review.googlesource.com/124921 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Remove SkPaint::kGenA8FromLCD_Flag.Gravatar Ben Wagner2018-04-16
| | | | | | | | | | | | | The original intent of this flag is now handled by SkPixelGeomety on SkSurfaceProps on SkSurface. BUG=skia:7515 Change-Id: I54bb1be072b5b5b2164a59196bfeacac254823c7 Reviewed-on: https://skia-review.googlesource.com/121346 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Add API for SkTextBlob serialization into caller's memory.Gravatar Khushal2018-04-04
| | | | | | | | | | R=reed@google.com Change-Id: Iaeb67504aabf0dc036e81fa23c1a3c949b72b2b9 Reviewed-on: https://skia-review.googlesource.com/114262 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Harden size check during textblob deserializationGravatar Wei Li2018-03-09
| | | | | | | | | | | | | Check the text size read from a buffer should not exceed the size of the input buffer. This is to avoid memory allocation errors such as out of memory. BUG=chromium:809200 Change-Id: I47824f6e8122bd550ee97ac83e2251b7725865e7 Reviewed-on: https://skia-review.googlesource.com/113289 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add GetTypefaceOrDefault to SkPaintPrivGravatar Herb Derby2018-03-06
| | | | | | | | | | | | Remove most uses of GetDefaultTypeface. SkTypeface has fewer friends. BUG=skia:7515 Change-Id: Iedec5b39b9ef8c638772be4971075491b59b740b Reviewed-on: https://skia-review.googlesource.com/112300 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Revert "remove legacy support for old old picture versions""Gravatar Mike Reed2018-01-03
| | | | | | | | | | | | This reverts commit 6f1151140f331c78d99ede3cac10462dc8b32cde. Chrome has been updated, so this should be able to land. Bug: skia: Change-Id: I5a66782a39fecfac00edeb66fbd03dae4df1712c Reviewed-on: https://skia-review.googlesource.com/90205 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "remove legacy support for old old picture versions"Gravatar Mike Reed2017-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f3504d430cec35330017aa2af3a51083801c7dd9. Reason for revert: breaks unittest in Printing unittest in chrome Original change's description: > remove legacy support for old old picture versions > > Bug: skia: > Change-Id: Ieb97eabdb18e8c7bfa86e6a1fc6e0389cd096daa > Reviewed-on: https://skia-review.googlesource.com/89860 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: I9f90da5dcfb9543f2f575fa7dc3b9c82996b041d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/90020 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove legacy support for old old picture versionsGravatar Mike Reed2017-12-29
| | | | | | | | Bug: skia: Change-Id: Ieb97eabdb18e8c7bfa86e6a1fc6e0389cd096daa Reviewed-on: https://skia-review.googlesource.com/89860 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* no asserts in deserialization, just failGravatar Mike Reed2017-12-21
| | | | | | | | Bug:796820 Change-Id: I33ef94aab094b8041626fc3152af001042335fde Reviewed-on: https://skia-review.googlesource.com/88480 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* simple version of serialization for SkTextBlobGravatar Mike Reed2017-12-19
| | | | | | | | Bug: skia: Change-Id: I5c7d6a74ecf6079440fe5fc758e444a16764c7aa Reviewed-on: https://skia-review.googlesource.com/87460 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Send TextBlobCache purge messages only to owning cache.Gravatar Jim Van Verth2017-12-14
| | | | | | | | Bug: 703297 Change-Id: I95cdaa5bdebadd5ce88ae3ee468c59baa08353c6 Reviewed-on: https://skia-review.googlesource.com/85046 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "use serialprocs for typefaces""Gravatar Mike Reed2017-12-08
| | | | | | | | | | | | | | This reverts commit 1a104bce20adc47a343fa910899ca6c4f261be40. Change (from first version) is - only signal error in readbuffer for corrupt stream, not default fonts - change test to ensure a non-null typeface (i.e. MakeDefault()) Bug: skia: Change-Id: I325445b56b0a402e1b89a2439df06e92314c793f Reviewed-on: https://skia-review.googlesource.com/82687 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "use serialprocs for typefaces"Gravatar Mike Reed2017-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b681972e79993e37adb9de9666cc9064b528db8b. Reason for revert: need to handle null typeface in new procs Original change's description: > use serialprocs for typefaces > > Bug: skia: > Change-Id: Ibf59a0fdcf68e8555bd4241e9473e733f6a30993 > Reviewed-on: https://skia-review.googlesource.com/81840 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: Id69500fbc291ecee753e7ee6b80abc2a7cd60d18 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/82341 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* use serialprocs for typefacesGravatar Mike Reed2017-12-07
| | | | | | | | | Bug: skia: Change-Id: Ibf59a0fdcf68e8555bd4241e9473e733f6a30993 Reviewed-on: https://skia-review.googlesource.com/81840 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* upgrade SkReadBuffer to always validateGravatar Mike Reed2017-12-06
| | | | | | | | Bug: skia: Change-Id: I054560b66c6cde346d939015326d8547879d2c4b Reviewed-on: https://skia-review.googlesource.com/81160 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Use SkSafeMath for text blob storage calculationsGravatar Florin Malita2017-11-22
| | | | | | | Change-Id: I028895dee81d99b1fa2a9acfa3db3f4bcb0f8f64 Reviewed-on: https://skia-review.googlesource.com/73823 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Fix SkTextblob deserialization fuzzer issuesGravatar Florin Malita2017-11-22
| | | | | | | | | | | | | | | | | | 1) ../../src/core/SkTextBlob.cpp:778:27: runtime error: load of value 143, which is not a valid value for type 'bool' 2) ../../src/core/SkValidatingReadBuffer.cpp:208:16: runtime error: null pointer passed as argument 1, which is declared to never be null BUG=skia:7337 Change-Id: I1df163ad378fdd2f3e4d918eb511d9f32ff41d25 Reviewed-on: https://skia-review.googlesource.com/75380 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Harden SkTextBlob deserializationGravatar Florin Malita2017-11-20
| | | | | | | | | | | | | | | | 1) validate allocInternal args - these can originate either from users or deserialization 2) skip invoking SkTypefaceResolverProc if we failed to read a valid id in SkTypefaceResolverReadBuffer::readTypeface 3) validate textSize and buffer sanity in MakeFromBuffer before attempting to allocate runs BUG=chromium:786524 Change-Id: I6cf80dc60bc3ca6fcad7198d36dacf84d091b779 Reviewed-on: https://skia-review.googlesource.com/73521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* use validating readbufferGravatar Mike Reed2017-11-15
| | | | | | | | | Bug:784869 Change-Id: Iaf43e14ec2ad72d061e7de25364fb481229d7651 Reviewed-on: https://skia-review.googlesource.com/71764 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove trailing whitespace.Gravatar Ben Wagner2017-10-09
| | | | | | | | | | | Also adds a presubmit to prevent adding trailing whitespace to source code in the future. Change-Id: I41a4df81487f6f00aa19b188f0cac6a3377efde6 Reviewed-on: https://skia-review.googlesource.com/57380 Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Fix whitespace in SkTextBlob.Gravatar Ben Wagner2017-08-30
| | | | | | Change-Id: I44cfe4095f68de3cb0647c01a716a6a7b7fddda9 Reviewed-on: https://skia-review.googlesource.com/41161 Reviewed-by: Ben Wagner <bungeman@google.com>
* Convert NULL and 0 to nullptr.Gravatar Ben Wagner2017-08-28
| | | | | | | | | | | | | | This was created by looking at warnings produced by clang's -Wzero-as-null-pointer-constant. This updates most issues in Skia code. However, there are places where GL and Vulkan want pointer values which are explicitly 0, external headers which use NULL directly, and possibly more uses in un-compiled sources (for other platforms). Change-Id: Id22fbac04d5c53497a53d734f0896b4f06fe8345 Reviewed-on: https://skia-review.googlesource.com/39521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Replace SkFAIL with SK_ABORT.Gravatar Ben Wagner2017-08-16
| | | | | | | | | | | | SkFAIL is a legacy macro which is just SK_ABORT. This CL mechanically changes uses of SkFAIL to SK_ABORT in preparation for its removal. The related sk_throw macro will be changed independently, due to needing to actually clean up its users. Change-Id: Id70b5c111a02d2458dc60c8933f444df27d9cebb Reviewed-on: https://skia-review.googlesource.com/35284 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* remove dead code around SK_SUPPORT_LEGACY_TEXTBLOB_SERIAL_APIGravatar Mike Reed2017-07-22
| | | | | | | | Bug: skia: Change-Id: Ifcf6054871d907efeb2fcf2815bc4c25671525b6 Reviewed-on: https://skia-review.googlesource.com/25944 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* switch away from std::function in public apiGravatar Mike Reed2017-07-21
| | | | | | | | Bug: skia: Change-Id: I181382dc1f9d8671b814134c1a787185745b90a8 Reviewed-on: https://skia-review.googlesource.com/25643 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add serialize + catalog api to SkTextBlobGravatar Mike Reed2017-07-11
| | | | | | | | Bug: skia:6836 Change-Id: I858cf936b015c14f12a41a4912e19bb15de8abaa Reviewed-on: https://skia-review.googlesource.com/21730 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Purge GrTextBlobCache entries on SkTextBlob deletionGravatar Florin Malita2017-03-14
| | | | | | | | | Similar to the SkImage purge mechanism. Change-Id: I0b7fb1bad507a3c7f30a4f7514bedd894d1748ac Reviewed-on: https://skia-review.googlesource.com/9631 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Remove run count field from SkTextBlob.Gravatar Florin Malita2017-03-13
| | | | | | | | | | | | | We can flag the last run record instead. Run iteration is always sequential, so no penalty. As a side effect, we can no longer allow instantiation of zero-run text blobs - but that seems like a good idea anyway. Change-Id: I7ca80c4780623d5a188f92dfe6d6fe152f20f666 Reviewed-on: https://skia-review.googlesource.com/9149 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Revert "Revert[2] "hide deprecated underline and strikethru"""Gravatar Mike Reed2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cfd3d9ff8f370e3a4a53e2aba84dc4d682501f4c. Reason for revert: derek is fixing caller Original change's description: > Revert "Revert[2] "hide deprecated underline and strikethru"" > > This reverts commit aab68c56ef8fc88b0d1536f99aa1cc9ae7a0573a. > > Reason for revert: android still broken RecordingCanvasTests.cpp > > Original change's description: > > Revert[2] "hide deprecated underline and strikethru" > > > > android now updated. > > > > This reverts commit e005edd3a5deb602beec59f59cdc8b14d3764d58. > > > > BUG=skia:6250 > > > > Change-Id: If08d344cdd863fde1d9955dc3fab671a83be0f73 > > Reviewed-on: https://skia-review.googlesource.com/8815 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Mike Reed <reed@google.com> > > > > TBR=reed@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:6250 > > Change-Id: I954575a0e4b9aca8414e10901a7be03a2d7e6396 > Reviewed-on: https://skia-review.googlesource.com/8900 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=reviews@skia.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6250 Change-Id: Ie518b64219a0262cd343644754940774bf42faec Reviewed-on: https://skia-review.googlesource.com/8901 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert[2] "hide deprecated underline and strikethru""Gravatar Mike Reed2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit aab68c56ef8fc88b0d1536f99aa1cc9ae7a0573a. Reason for revert: android still broken RecordingCanvasTests.cpp Original change's description: > Revert[2] "hide deprecated underline and strikethru" > > android now updated. > > This reverts commit e005edd3a5deb602beec59f59cdc8b14d3764d58. > > BUG=skia:6250 > > Change-Id: If08d344cdd863fde1d9955dc3fab671a83be0f73 > Reviewed-on: https://skia-review.googlesource.com/8815 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6250 Change-Id: I954575a0e4b9aca8414e10901a7be03a2d7e6396 Reviewed-on: https://skia-review.googlesource.com/8900 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert[2] "hide deprecated underline and strikethru"Gravatar Mike Reed2017-02-22
| | | | | | | | | | | | | android now updated. This reverts commit e005edd3a5deb602beec59f59cdc8b14d3764d58. BUG=skia:6250 Change-Id: If08d344cdd863fde1d9955dc3fab671a83be0f73 Reviewed-on: https://skia-review.googlesource.com/8815 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "hide deprecated underline and strikethru"Gravatar Leon Scroggins2017-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a01bf9ab748836fc4bf271bd5024151bf1ce2e88. Reason for revert: Breaking Android merge. They access setUnderlineText on their <shudder> subclass of SkPaint. Original change's description: > hide deprecated underline and strikethru > > BUG=skia:6250 > > Change-Id: I85395e4960b16ab91237a74ff35e5b7588965512 > Reviewed-on: https://skia-review.googlesource.com/8600 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=bungeman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6250 Change-Id: If55f69f061dc4439ca2faa62807a9c5694ebbeb4 Reviewed-on: https://skia-review.googlesource.com/8687 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* hide deprecated underline and strikethruGravatar Mike Reed2017-02-17
| | | | | | | | | BUG=skia:6250 Change-Id: I85395e4960b16ab91237a74ff35e5b7588965512 Reviewed-on: https://skia-review.googlesource.com/8600 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* src/core: s/SkAutoTUnref/sk_sp/gGravatar Hal Canary2016-11-07
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4492 Change-Id: I753ad01b03e891221965252e3befe280d09cdb9f Reviewed-on: https://skia-review.googlesource.com/4492 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Use sk_sp text blob APIsGravatar fmalita2016-09-13
| | | | | | | | | | | SkTextBlobBuilder::build() -> make() SkAutoTUnref<const SkTextBlob> -> sk_sp<SkTextBlob> drawTextBlob(const SkTextBlob*) -> drawTextBlob(const sk_sp<SkTextBlob>&) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2335493005 Review-Url: https://codereview.chromium.org/2335493005
* SkTextBlob: Begin implementing Extended TextBlob APIGravatar halcanary2016-08-30
| | | | | | | BUG=skia:5434 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084533004 Review-Url: https://codereview.chromium.org/2084533004
* update textblob api to use sk_spGravatar reed2016-08-10
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236013002 NOTREECHECKS=True Review-Url: https://codereview.chromium.org/2236013002
* Move SkTypeface to sk_sp.Gravatar bungeman2016-05-12
| | | | | | | Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933393002 Review-Url: https://codereview.chromium.org/1933393002
* Revert of Move SkTypeface to sk_sp. (patchset #5 id:80001 of ↵Gravatar scroggo2016-05-12
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1933393002/ ) Reason for revert: fontmgr_iterAndroid failing to draw emoji. E.g. https://gold.skia.org/search2?blame=6296da736fbf40aae881650c239420f64e576c3f&unt=true&head=true&query=source_type%3Dgm Original issue's description: > Move SkTypeface to sk_sp. > > Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f TBR=reed@google.com,fmalita@chromium.org,tomhudson@google.com,bungeman@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/1974783002
* Move SkTypeface to sk_sp.Gravatar bungeman2016-05-11
| | | | Review-Url: https://codereview.chromium.org/1933393002
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* detach -> releaseGravatar mtklein2016-03-16
| | | | | | | | | | | | | The C++ standard library uses the name "release" for the operation we call "detach". Rewriting each "detach(" to "release(" brings us a step closer to using standard library types directly (e.g. std::unique_ptr instead of SkAutoTDelete). This was a fairly blind transformation. There may have been unintentional conversions in here, but it's probably for the best to have everything uniformly say "release". BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1809733002 Review URL: https://codereview.chromium.org/1809733002
* SkTextBlob should store per-run text alignmentGravatar fmalita2015-11-17
| | | | | | | | | | SkPaint::Align is only observed for kDefault_Positioning AFAICT, but part of the run logical font nevertheless. BUG=skia:4567 R=mtklein@google.com,halcanary@google.com Review URL: https://codereview.chromium.org/1447403003
* Make SkTextBlob::RunIterator public.Gravatar halcanary2015-10-27
| | | | | | | | | Motivation: This will be easier than adding a friend every time I want to create a one-off SkCanvas subclass or SkRemote::Encoder subclass. See also: SkPath::Iter. Review URL: https://codereview.chromium.org/1411723005
* [SkTextBlob] Remove incorrect builder assertGravatar fmalita2015-10-13
| | | | | | | | | | | | | | At the end of TightRunBounds, glyphPosX cannot exceed the start of the next run. But glyphPosY is running ahead of glyphPosX (for kFull_Positioning) => the glyphPosY assert is incorrect. Since the two pointers advance in lock-step, there isn't much value in the glyphPosY assert anyway - we might as well remove it. BUG=chromium:542643 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1405463004
* [TextBlob] Fall back to TightRunBounds when the font bounds are emptyGravatar fmalita2015-10-09
| | | | | | | | | | | | | | Empty font bounds are likely an indication of a font bug. As a best effort, we can use TightRunBounds in this easily detectable case. Since TightRunBounds only supports kDefault_Positioning currently, the CL also reinstates handling of kFull_Positioning and kHorizontal_Positioning (removed in http://crrev.com/858153007). BUG=507022 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1399123002
* Validate text blob runs after SkTextBlob construction.Gravatar fmalita2015-10-05
| | | | | | | | | This avoids tripping CFI when casting uninitialized SkTextBlob ptrs. BUG=chromium:538754 R=bungeman@google.com,reed@google.com,krasin@google.com Review URL: https://codereview.chromium.org/1388543005