platform/upstream/libSkiaSharp.git
9 years agocomplete overhaul of webtry work partition between jail and host
humper [Wed, 1 Oct 2014 21:27:31 +0000 (14:27 -0700)]
complete overhaul of webtry work partition between jail and host

BUG=skia:

Review URL: https://codereview.chromium.org/619943002

9 years agofix prev change to tooBigForLCD, and add test
reed [Wed, 1 Oct 2014 20:59:33 +0000 (13:59 -0700)]
fix prev change to tooBigForLCD, and add test

BUG=skia:

Review URL: https://codereview.chromium.org/617353003

9 years agoremove suppression for gm
reed [Wed, 1 Oct 2014 19:53:53 +0000 (12:53 -0700)]
remove suppression for gm

TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/617193003

9 years agoDon't adjust the bounds after a restore with the restore's paired saveLayer's paint.
mtklein [Wed, 1 Oct 2014 19:48:58 +0000 (12:48 -0700)]
Don't adjust the bounds after a restore with the restore's paired saveLayer's paint.

It makes no sense for the paint from a saveLayer to effect anything outside its saveLayer/restore block.  But as currently written, we'll adjust the clip bounds just after a restore by that paint.

Turns out the test I wrote for the last CL (which caused this bug) actually had the bug baked into its expectations.  I've updated them and added some notes to explain.

BUG=418417

Review URL: https://codereview.chromium.org/623563002

9 years agoadd baseline for clip_strokerect
reed [Wed, 1 Oct 2014 19:41:12 +0000 (12:41 -0700)]
add baseline for clip_strokerect

BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/618373002

9 years agobaseline new GMs
reed [Wed, 1 Oct 2014 19:18:39 +0000 (12:18 -0700)]
baseline new GMs

TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/623443004

9 years agoavoid extra math work in MackRec
reed [Wed, 1 Oct 2014 19:06:12 +0000 (12:06 -0700)]
avoid extra math work in MackRec

BUG=skia:

Review URL: https://codereview.chromium.org/615053005

9 years agoAdd support for EGL on linux
derekf [Wed, 1 Oct 2014 17:52:52 +0000 (10:52 -0700)]
Add support for EGL on linux

Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

Review URL: https://codereview.chromium.org/604853003

9 years agoRebaseline Unknown-Arm64 GM flakes
robertphillips [Wed, 1 Oct 2014 16:47:11 +0000 (09:47 -0700)]
Rebaseline Unknown-Arm64 GM flakes

These inconsequential changes appeared after (GrResourceCache2 manages scratch texture - https://codereview.chromium.org/608883003) but persisted even after that CL was reverted.

TBR=bsalomon@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/617103005

9 years agoRemove DEPRECATED_beginRecording().
mtklein [Wed, 1 Oct 2014 16:29:35 +0000 (09:29 -0700)]
Remove DEPRECATED_beginRecording().

This removes:
  1) ability to record old pictures with SkPictureRecorder;
  2) a couple tests specific to the old backend.

The functionality of DEPRECATED_beginRecording() now lives in
(private) SkPicture::Backport(), which is the only place we
need it now.

BUG=skia:
TBR=reed@google.com

Review URL: https://codereview.chromium.org/618303002

9 years agoWhitespace change to test Skia's CQ
rmistry [Wed, 1 Oct 2014 16:29:17 +0000 (09:29 -0700)]
Whitespace change to test Skia's CQ

(SkipBuildbotRuns)

TBR=
BUG=skia:2973

Review URL: https://codereview.chromium.org/620783003

9 years agoadd SkRect::joinNonEmptyArg for faster unioning
reed [Wed, 1 Oct 2014 16:24:12 +0000 (09:24 -0700)]
add SkRect::joinNonEmptyArg for faster unioning

BUG=skia:

Review URL: https://codereview.chromium.org/619853005

9 years agoUpdate GrRecordReplaceDraw to use SkTDynamicHash & add ReplaceDraw
robertphillips [Wed, 1 Oct 2014 16:24:06 +0000 (09:24 -0700)]
Update GrRecordReplaceDraw to use SkTDynamicHash & add ReplaceDraw

Having hoisted layers from different pictures invalidates the assumptions of the old GrReplacements object. This is fixed by switching to a SkTDynamicHash-based back-end.

Sub-picture-layers also require that the replacement drawing occur for the sub-pictures too. The ReplaceDraw object is added to make this happen and limit the replacement lookup to saveLayer draw commands.

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

BUG=skia:2315

Review URL: https://codereview.chromium.org/607763008

9 years agoAdd pdf-native textblobshader GM baseline
fmalita [Wed, 1 Oct 2014 16:19:05 +0000 (09:19 -0700)]
Add pdf-native textblobshader GM baseline

BUG=skia:2983
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/615853004

9 years agowebtry: More README doc cleanups.
tfarina [Wed, 1 Oct 2014 16:18:57 +0000 (09:18 -0700)]
webtry: More README doc cleanups.

Puts it much more in sync with the README in perf/.

BUG=None
TEST=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/615313002

9 years agoWhitespace change to test the new CQ trybot
rmistry [Wed, 1 Oct 2014 15:13:45 +0000 (08:13 -0700)]
Whitespace change to test the new CQ trybot

(SkipBuildbotRuns)

TBR=
BUG=skia:2973

Review URL: https://codereview.chromium.org/615423003

9 years agoAdd buggy GPU baselines for MultiPictureDraw Sierpinski GM (with bug label)
robertphillips [Wed, 1 Oct 2014 15:04:28 +0000 (08:04 -0700)]
Add buggy GPU baselines for MultiPictureDraw Sierpinski GM (with bug label)

I am checking in these baseline images even though they are afflicted by a bug (skia:2979).

NOTRY=true
NOTREECHECKS=true
BUG=skia:2979
TBR=jvanverth@google.com

Review URL: https://codereview.chromium.org/619873003

9 years agoNew baselines for image=surface gm
Justin Novosad [Wed, 1 Oct 2014 14:29:16 +0000 (10:29 -0400)]
New baselines for image=surface gm

TBR=robertphillips@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/623473002

9 years agooptimize setRectFan and join -- from profiling drawText
reed [Wed, 1 Oct 2014 14:21:23 +0000 (07:21 -0700)]
optimize setRectFan and join -- from profiling drawText

BUG=skia:
NOTREECHECKS=True
NOTRY=True

Review URL: https://codereview.chromium.org/615993003

9 years agoAdd 8888 & 565 baselines for multipicturedraw Sierpinski GM
robertphillips [Wed, 1 Oct 2014 12:33:25 +0000 (05:33 -0700)]
Add 8888 & 565 baselines for multipicturedraw Sierpinski GM

TBR=jvanverth@google.com
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/614353002

9 years agoArchive more dead code.
mtklein [Tue, 30 Sep 2014 22:22:06 +0000 (15:22 -0700)]
Archive more dead code.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/617003004

9 years agoStrip old backend recording down to essentials
mtklein [Tue, 30 Sep 2014 21:47:10 +0000 (14:47 -0700)]
Strip old backend recording down to essentials

Feature-wise, this removes:
  1) BBH support;
  2) peephole optimizations;
  3) record-time text op specializations;
  4) the guarantee that SkPaints are flattened.

This deletes the optimizations GM, which only exists to test the peepholes of
the old backend.  SkRecord optimizations are unit tested, and if that ever fails we
can think about adding another GM like this, but they're different enough we'd
want to start from scratch anyway.

We need to keep the code that plays back the specialized text ops around for
a while for compatibility with existing .SKPs that have those ops recorded.

BUG=skia:

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/617953002

9 years agoMake "priv" classes for GrTexure and GrSurface.
bsalomon [Tue, 30 Sep 2014 19:18:44 +0000 (12:18 -0700)]
Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002

9 years agoClean up SK_PICTURE_USE_SK_RECORD and SK_PICTURE_OPTIMIZE_SK_RECORD.
mtklein [Tue, 30 Sep 2014 18:43:53 +0000 (11:43 -0700)]
Clean up SK_PICTURE_USE_SK_RECORD and SK_PICTURE_OPTIMIZE_SK_RECORD.

This folds the code through as if they were defined, which is the explicit
state in both our build and Chrome's.

This leaves the EXPERIMENTAL_ and DEPRECATED_ hooks in to be cleaned up or
privatized later.

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot

BUG=skia:
R=reed@google.com, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/616033002

9 years agoAllow previously-hoisted layers to be reused in the same draw
robertphillips [Tue, 30 Sep 2014 18:33:02 +0000 (11:33 -0700)]
Allow previously-hoisted layers to be reused in the same draw

In the Sierpinkski test case there are only a few layers appear in the "to be drawn" lists but they those layers get reused a lot of times with different transforms. This CL adds an additional category to allow such layers to be placed in the GrReplacements object without needing to be rendered.

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/)

BUG=skia:2315
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/616023002

9 years agoRemove support for SkPicture::clone().
mtklein [Tue, 30 Sep 2014 18:14:38 +0000 (11:14 -0700)]
Remove support for SkPicture::clone().

This folds SK_SUPPORT_LEGACY_PICTURE_CLONE through as undefined.

Chrome's not used clone() for a month or two, and we don't use it ourselves.
Don't think Android ever did.

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot

BUG=skia:
R=reed@google.com, mtklein@google.com, robertphillips@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/620533002

9 years agoremove obsolete code for SK_SUPPORT_LEGACY_IMAGEGENERATORAPI
reed [Tue, 30 Sep 2014 17:15:32 +0000 (10:15 -0700)]
remove obsolete code for SK_SUPPORT_LEGACY_IMAGEGENERATORAPI

BUG=skia:
R=reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/613933002

9 years agowebtry: Only create sqlite3 tables if they don't exist yet.
tfarina [Tue, 30 Sep 2014 15:17:10 +0000 (08:17 -0700)]
webtry: Only create sqlite3 tables if they don't exist yet.

Otherwise it will through an error like the following:

2014/09/28 21:22:24 Info: status creating sqlite table for sources:
"table source_images already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for webtry:
"table webtry already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for workspace:
"table workspace already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for workspace
try: "table workspacetry already exists"

To test locally the following was done:

$ ./gyp_skia gyp/webtry.gyp gyp/most.gyp -Dskia_gpu=0
$ ninja -C out/Debug webtry
$ cd experimental/webtry
$ go get -d
$ go build webtry.go
$ ./webtry
$ google-chrome http://localhost:8000

Expected: see no more the above messages.

BUG=None
TEST=see above
R=stephana@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/613593002

9 years agoArchive SkFloat
mtklein [Tue, 30 Sep 2014 15:08:59 +0000 (08:08 -0700)]
Archive SkFloat

https://crrev.com/610153002/ reminded me that it existed, but it's entirely
unused and made moot by hardware FP.  Might as well trim a few K off libskia.

BUG=skia:
R=reed@google.com, mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/619563003

9 years agospecialize setConcat for scale+translate, helps drawText perf
reed [Tue, 30 Sep 2014 14:24:46 +0000 (07:24 -0700)]
specialize setConcat for scale+translate, helps drawText perf

BUG=skia:
R=jvanverth@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/620433002

9 years agoRevert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001...
robertphillips [Tue, 30 Sep 2014 13:58:20 +0000 (06:58 -0700)]
Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/)

Reason for revert:
Breaking the Chrome builds with:

 lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'

(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio)

Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.

R=egdaniel@google.com, joshualitt@google.com, bsalomon@google.com
TBR=bsalomon@google.com, egdaniel@google.com, joshualitt@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/618733002

9 years agoRevert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https...
robertphillips [Tue, 30 Sep 2014 13:54:17 +0000 (06:54 -0700)]
Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/)

Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio)

Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio)

Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/611383003

9 years agoGrResourceCache2 manages scratch texture.
bsalomon [Tue, 30 Sep 2014 13:02:23 +0000 (06:02 -0700)]
GrResourceCache2 manages scratch texture.

BUG=skia:
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/608883003

9 years agoMake "priv" classes for GrTexure and GrSurface.
bsalomon [Mon, 29 Sep 2014 21:20:11 +0000 (14:20 -0700)]
Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com, joshualitt@chromium.org

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002

9 years agoremove alphatype from colortable
reed [Mon, 29 Sep 2014 19:10:27 +0000 (12:10 -0700)]
remove alphatype from colortable

the owning bitmap is (already) responsible for knowing the alphatype

BUG=skia:
R=djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/611093002

9 years agoallow caller to override the default output directory for gyp
humper [Mon, 29 Sep 2014 18:42:25 +0000 (11:42 -0700)]
allow caller to override the default output directory for gyp

BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/614753002

9 years agoMove offset and CTM from LayerCache Key to per-hoisted-layer info
robertphillips [Mon, 29 Sep 2014 18:39:38 +0000 (11:39 -0700)]
Move offset and CTM from LayerCache Key to per-hoisted-layer info

This CL reduces the amount of information used in the layer cache key:
- the stop value isn't needed since the start value uniquely identifies the layer in the picture.
- only the upper-left 2x2 portion of the CTM should be used as a key for looking up cached layers.
- individual layers can be redraw in different locations so the final offset cannot be a part of the key.

Since this data is no longer stored in the cached layer, but is still required to draw the cached layer, it is now stored in the per-layer information (i.e., HoistedLayer).

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

BUG=skia:2315
R=egdaniel@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/609403003

9 years agoRebaselining Win7 image failures (textblob, verttext2)
robertphillips [Mon, 29 Sep 2014 18:17:58 +0000 (11:17 -0700)]
Rebaselining Win7 image failures (textblob, verttext2)

Rebaselining these for now and see if they recur.

R=borenet@google.com
TBR=borenet@google.com

BUG=skia:2956

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/600533003

9 years agoMake writeRenderTargetPixels use draw buffer rather than GrGpu
bsalomon [Mon, 29 Sep 2014 18:01:58 +0000 (11:01 -0700)]
Make writeRenderTargetPixels use draw buffer rather than GrGpu

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/586393005

9 years agoFix some references to non-existant polyfill directory.
tfarina [Mon, 29 Sep 2014 17:50:59 +0000 (10:50 -0700)]
Fix some references to non-existant polyfill directory.

Looks like the name of the directory is "poly" rather than "polyfill".

BUG=None
TEST=None
R=humper@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/610003003

9 years agoMention 'go get' command in the README file.
tfarina [Mon, 29 Sep 2014 17:50:29 +0000 (10:50 -0700)]
Mention 'go get' command in the README file.

This is necessary to build webtry.go as it imports packages from
github.com

BUG=None
TEST=follow the README instructions
R=humper@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/601033004

9 years agoApplying post-commit comments from https://codereview.chromium.org/607993002/
junov [Mon, 29 Sep 2014 17:18:59 +0000 (10:18 -0700)]
Applying post-commit comments from https://codereview.chromium.org/607993002/

BUG=skia:
R=robertphillips@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/612063003

9 years agoTemp fix for crash when generating 16-bit cache for colorTables.
djsollen [Mon, 29 Sep 2014 15:57:49 +0000 (08:57 -0700)]
Temp fix for crash when generating 16-bit cache for colorTables.

BUG=skia:2795
R=reed@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/617443002

9 years agoOverride drawImage*() in SkNWayCanvas
piotaixr [Mon, 29 Sep 2014 15:56:19 +0000 (08:56 -0700)]
Override drawImage*() in SkNWayCanvas

BUG=skia:2947
R=junov@chromium.org, reed@google.com, bsalomon@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/600643002

9 years agoDon't test the old picture backend anymore.
mtklein [Mon, 29 Sep 2014 15:44:46 +0000 (08:44 -0700)]
Don't test the old picture backend anymore.

This saves a bunch of CPU time in DM, and even better, lets us tear it down!

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/612603002

9 years agowebtry database has more than one table.
tfarina [Mon, 29 Sep 2014 15:16:11 +0000 (08:16 -0700)]
webtry database has more than one table.

Fix the wording in the DESIGN doc. Currently it says "the only table" as
implying the database has just a single table.

That is not true, the webtry database has four tables: webtry,
workspace, workspacetry and source_images.

BUG=None
TEST=None
R=jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/611763002

9 years agoSanitize SkMatrixConvolutionImageFilter creation params.
senorblanco [Mon, 29 Sep 2014 14:57:20 +0000 (07:57 -0700)]
Sanitize SkMatrixConvolutionImageFilter creation params.

Apply the same memory limit in the Create() function that we do when
deserializing.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/610723002

9 years agorun the webtry build script instead of using go build
humper [Mon, 29 Sep 2014 14:40:41 +0000 (07:40 -0700)]
run the webtry build script instead of using go build

BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/601203002

9 years agofail on extremely large coincident curves
caryclark [Mon, 29 Sep 2014 13:58:41 +0000 (06:58 -0700)]
fail on extremely large coincident curves

TBR=
BUG=418381

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/607913007

9 years agoRevert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https:...
fmalita [Mon, 29 Sep 2014 13:29:53 +0000 (06:29 -0700)]
Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https://codereview.chromium.org/609223003/)

Reason for revert:
Re-landing: Chromium-side fix to be landed with the roll (https://codereview.chromium.org/607853003/)

Original issue's description:
> Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)
>
> Reason for revert:
> Breaking the Chrome builds with the error:
>
> [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
> [14:54:14.318022]   virtual void drawPosText(const SkDraw& draw,
> [14:54:14.318082]                ^
>
> Original issue's description:
> > Fix SkTextBlob offset semantics.
> >
> > Implement proper x/y drawTextBlob() handling by plumbing a
> > drawPosText() offset parameter (to act as an additional glyph pos
> > translation) throughout the device layer.
> >
> > The new offset superceeds the existing constY, with a minor semantic
> > tweak: whereas previous implementations were ignoring constY in 2D
> > positioning mode (scalarsPerGlyph == 2), now the offset is always
> > observed, in all positioning modes. We can do this because existing
> > drawPosText() clients always pass constY == 0 for full positioning mode.
> >
> > R=reed@google.com, jvanverth@google.com, robertphillips@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2
>
> TBR=jvanverth@google.com,reed@google.com,bsalomon@google.com,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/d46b8d2bab7cfba8458432248e1568ac377429e9

R=jvanverth@google.com, reed@google.com, bsalomon@google.com, robertphillips@google.com
TBR=bsalomon@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/607413003

9 years agoUpdate RecordReplaceDrawTest to generate and pass pictures
robertphillips [Mon, 29 Sep 2014 12:32:49 +0000 (05:32 -0700)]
Update RecordReplaceDrawTest to generate and pass pictures

This CL splits the unit test changes out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

For various reasons GrRecordReplaceDraw now needs to take an SkPicture (rather than an SkRecord and a BBH).

R=egdaniel@google.com, bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/608823002

9 years agoAlways force the bounds of the empty pathref.
mtklein [Mon, 29 Sep 2014 12:27:59 +0000 (05:27 -0700)]
Always force the bounds of the empty pathref.

Chrome's TSAN bots are seeing various races on the bounds of the empty
path ref, and it's a simple fix to just force them on creation.  In
fact, we used to do this for this very reason, but for some reason it
looks like I decided it wasn't necessary.  Maybe not, but it certainly
doesn't hurt, and it's nice to keep TSAN happy.

Reminder to self: merge this into M39 branch too.

BUG=418299
R=fmalita@chromium.org, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/603503003

9 years agoMake pictures in multipicturedraw GM fit in 0,0..W,H range
robertphillips [Mon, 29 Sep 2014 12:07:39 +0000 (05:07 -0700)]
Make pictures in multipicturedraw GM fit in 0,0..W,H range

Having the picture contents not actually reside in the 0,0..W,H range wrecks havoc with the layer hoisting. The hoisting works correctly but since the picture don't fulfill their contract the results look incorrect.

This CL just translates the picture's contents to the right so they are within the picture bound.

R=egdaniel@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/594363003

9 years agoRevert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://coderevie...
robertphillips [Mon, 29 Sep 2014 11:48:52 +0000 (04:48 -0700)]
Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)

Reason for revert:
Breaking the Chrome builds with the error:

[14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
[14:54:14.318022]   virtual void drawPosText(const SkDraw& draw,
[14:54:14.318082]                ^

Original issue's description:
> Fix SkTextBlob offset semantics.
>
> Implement proper x/y drawTextBlob() handling by plumbing a
> drawPosText() offset parameter (to act as an additional glyph pos
> translation) throughout the device layer.
>
> The new offset superceeds the existing constY, with a minor semantic
> tweak: whereas previous implementations were ignoring constY in 2D
> positioning mode (scalarsPerGlyph == 2), now the offset is always
> observed, in all positioning modes. We can do this because existing
> drawPosText() clients always pass constY == 0 for full positioning mode.
>
> R=reed@google.com, jvanverth@google.com, robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2

R=jvanverth@google.com, reed@google.com, bsalomon@google.com, fmalita@chromium.org
TBR=bsalomon@google.com, fmalita@chromium.org, jvanverth@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/609223003

9 years agoAdding test suppression for image-surface GM
Justin Novosad [Fri, 26 Sep 2014 21:41:28 +0000 (17:41 -0400)]
Adding test suppression for image-surface GM

Test needs to be rebaselined on gpu

TBR=bsalomon

Review URL: https://codereview.chromium.org/602203006

9 years agoChange GrContext::copyTexture to go through GrDrawTarget
junov [Fri, 26 Sep 2014 20:09:47 +0000 (13:09 -0700)]
Change GrContext::copyTexture to go through GrDrawTarget

BUG=crbug.com/415100
R=bsalomon@google.com, robertphillips@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/607993002

9 years agoSkMatrix44::preserves2dAxisAlignment()
tomhudson [Fri, 26 Sep 2014 18:45:48 +0000 (11:45 -0700)]
SkMatrix44::preserves2dAxisAlignment()

Convenience function requested for Chrome compositor that may have a performance
advantage.

BUG=skia:1017
R=reed@google.com, danakj@chromium.org, vollick@chromium.org

Author: tomhudson@google.com

Review URL: https://codereview.chromium.org/508303005

9 years agoRename SkImage::draw(_, SkRect, SkRect) in SkImage::drawRect()
piotaixr [Fri, 26 Sep 2014 14:36:26 +0000 (07:36 -0700)]
Rename SkImage::draw(_, SkRect, SkRect) in SkImage::drawRect()

BUG=skia:2947
R=reed@google.com, junov@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/605843002

9 years agoFix SkTextBlob offset semantics.
Florin Malita [Fri, 26 Sep 2014 14:33:37 +0000 (10:33 -0400)]
Fix SkTextBlob offset semantics.

Implement proper x/y drawTextBlob() handling by plumbing a
drawPosText() offset parameter (to act as an additional glyph pos
translation) throughout the device layer.

The new offset superceeds the existing constY, with a minor semantic
tweak: whereas previous implementations were ignoring constY in 2D
positioning mode (scalarsPerGlyph == 2), now the offset is always
observed, in all positioning modes. We can do this because existing
drawPosText() clients always pass constY == 0 for full positioning mode.

R=reed@google.com, jvanverth@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/605533002

9 years agoReplace a forgotten call to SkImage::draw() by SkCanvas::drawImageRect()
piotaixr [Fri, 26 Sep 2014 14:10:38 +0000 (07:10 -0700)]
Replace a forgotten call to SkImage::draw() by SkCanvas::drawImageRect()

BUG=skia:2947
R=reed@google.com, junov@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/599203007

9 years agoSplit GrDrawState and GrOptDrawState into separate classes and remove base class.
egdaniel [Fri, 26 Sep 2014 13:15:04 +0000 (06:15 -0700)]
Split GrDrawState and GrOptDrawState into separate classes and remove base class.

Besides splitting the two classes, there are no logical changes here and mostly moving code around.

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/597323002

9 years agoReinitialize monit to changes take effect.
tfarina [Fri, 26 Sep 2014 13:10:00 +0000 (06:10 -0700)]
Reinitialize monit to changes take effect.

Otherwise changes made to the configuration won't take effect when they
are synced.

BUG=None
TEST=None
R=jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/602293002

9 years agoUpdate SKP version to 112
borenet [Fri, 26 Sep 2014 04:25:26 +0000 (21:25 -0700)]
Update SKP version to 112

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/604983003

9 years agoFix SkTableColorFilter deserialization validation.
senorblanco [Thu, 25 Sep 2014 22:51:35 +0000 (15:51 -0700)]
Fix SkTableColorFilter deserialization validation.

Broken in https://skia.googlesource.com/skia/+/9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187.

R=reed@google.com
TBR=reed@google.com

BUG=skia:

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/604873004

9 years agoAdd doc on SkCanvas::drawImage*() methods
piotaixr [Thu, 25 Sep 2014 21:39:40 +0000 (14:39 -0700)]
Add doc on SkCanvas::drawImage*() methods

BUG=skia:2947
R=junov@chromium.org, reed@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/595043002

9 years agoMake SkImage::draw() private
piotaixr [Thu, 25 Sep 2014 21:30:56 +0000 (14:30 -0700)]
Make SkImage::draw() private

BUG=skia:2947
R=junov@chromium.org, reed@google.com, bsalomon@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/608623002

9 years agoSeems that some of our compliers can't infer this type, though most can.
Mike Klein [Thu, 25 Sep 2014 19:07:55 +0000 (15:07 -0400)]
Seems that some of our compliers can't infer this type, though most can.

BUG=skia:

Review URL: https://codereview.chromium.org/603263002

9 years agoRemove SkPaint dirty bits.
mtklein [Thu, 25 Sep 2014 18:57:53 +0000 (11:57 -0700)]
Remove SkPaint dirty bits.

fDirtyBits is only used by SkPaint::FlatteningTraits, which in turn was
only used as a smaller, faster format to flatten paints in-memory to dedup
them in the old picture backend.

SkRecord obsoleted all this.  Neither flatten()/unflatten() (disk format)
nor FlatteningTraits is used anywhere performance or size matters.

Here I revert the deduping code back to using the disk format for flattened paints.
We stil do have to flatten and unflatten paints while coverting from SkRecord
backend to the old backend, so we can't just delete this all yet, but any
faithful round trip flatten()/unflatten() pair will be fine, however slow.

NOTRY=true

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/604813003

9 years agoSkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
piotaixr [Wed, 24 Sep 2014 20:03:30 +0000 (13:03 -0700)]
SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas

BUG=skia:2947

Committed: https://skia.googlesource.com/skia/+/432789972c1e1f8a66165c75a250dba1853efa08

R=junov@chromium.org, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/583453002

9 years agoFix SkXfermode deserialization.
senorblanco [Wed, 24 Sep 2014 18:09:38 +0000 (11:09 -0700)]
Fix SkXfermode deserialization.

Validation was failing due to an inverted test condition.

BUG=417266
R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/596333002

9 years agoCorrect glyph with non-bmp from typeface on Mac.
bungeman [Wed, 24 Sep 2014 18:04:41 +0000 (11:04 -0700)]
Correct glyph with non-bmp from typeface on Mac.

CTFontGetGlyphsForChars puts the glyph id at the index of the lead
surrogate as is documented in comments, but the code is looking at
the index of the trail surrogate.

BUG=skia:2960
R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/596413002

9 years agoRevert of SkCanvas::drawImage is the new way for drawing an SkImage to a Canvas ...
borenet [Wed, 24 Sep 2014 18:03:35 +0000 (11:03 -0700)]
Revert of SkCanvas::drawImage is the new way for drawing an SkImage to a Canvas (patchset #9 id:160001 of https://codereview.chromium.org/583453002/)

Reason for revert:
Broke ChromiumOS Ozone builder: http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Ozone%20Builder/builds/4087/steps/compile/logs/stdio

Reverting to unblock DEPS roll.

Original issue's description:
> SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
>
> BUG=skia:2947
>
> Committed: https://skia.googlesource.com/skia/+/432789972c1e1f8a66165c75a250dba1853efa08

R=junov@chromium.org, reed@google.com, bsalomon@google.com, piotaixr@chromium.org
TBR=bsalomon@google.com, junov@chromium.org, piotaixr@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2947

Author: borenet@google.com

Review URL: https://codereview.chromium.org/598133002

9 years agoUse OptDrawState instead of DrawState when flushing state in GrGpuGL
egdaniel [Wed, 24 Sep 2014 17:30:12 +0000 (10:30 -0700)]
Use OptDrawState instead of DrawState when flushing state in GrGpuGL

BUG=skia:
R=bsalomon@google.com, joshualitt@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/599963002

9 years agoSwap iteration order in TileGrid::insert().
mtklein [Wed, 24 Sep 2014 15:59:37 +0000 (08:59 -0700)]
Swap iteration order in TileGrid::insert().

Was looking at performance here (it's the record hotspot) and noticed we
iterate through the grid out of order.  This is a tiny little thing, but it's
probably orthogonal to any other performance improvements we'll make in here.

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/598933004

9 years agoUpdate layer hoisting code to correctly render sub-picture layers
robertphillips [Wed, 24 Sep 2014 15:52:18 +0000 (08:52 -0700)]
Update layer hoisting code to correctly render sub-picture layers

The prior code assumed all layers came from a single picture.

BUG=skia:2315
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/595543002

9 years agoRevert "Use draw buffer for texture copy impl."
Brian Salomon [Wed, 24 Sep 2014 15:41:24 +0000 (11:41 -0400)]
Revert "Use draw buffer for texture copy impl."

This reverts commit e3d4bf234a04e14b6b0f33e11b3e1132b560c145.

Conflicts:
src/gpu/GrContext.cpp

9 years agoHave nanobench --verbose mode always just print integer nanoseconds.
mtklein [Wed, 24 Sep 2014 13:34:09 +0000 (06:34 -0700)]
Have nanobench --verbose mode always just print integer nanoseconds.

Don't know that anyone but me is using this.  Speak up now!

BUG=skia:

NOTREECHECKS=true
R=mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/599913002

9 years agoRevert "Add support for EGL on linux"
borenet [Wed, 24 Sep 2014 12:31:07 +0000 (05:31 -0700)]
Revert "Add support for EGL on linux"

This reverts commit 1cea736c3280b6f0553e3eaa598e41370b305b57.

Caused segfaults on all Android devices

R=bsalomon@google.com, djsollen@google.com
TBR=bsalomon, djsollen
NOTRY=true
BUG=skia:

Author: borenet@google.com

Review URL: https://codereview.chromium.org/599493003

9 years agoUpdate SKP version to 110
borenet [Wed, 24 Sep 2014 04:22:12 +0000 (21:22 -0700)]
Update SKP version to 110

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/595203002

9 years agoAdd support for EGL on linux
derekf [Tue, 23 Sep 2014 22:17:36 +0000 (15:17 -0700)]
Add support for EGL on linux

Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

R=bsalomon@google.com, djsollen@google.com

Author: derekf@osg.samsung.com

Review URL: https://codereview.chromium.org/543363004

9 years agoSkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
piotaixr [Tue, 23 Sep 2014 21:10:50 +0000 (14:10 -0700)]
SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas

BUG=skia:2947
R=junov@chromium.org, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/583453002

9 years agoWe need to adjust the bounds of clip ops with SaveLayer paints too.
Mike Klein [Tue, 23 Sep 2014 19:28:38 +0000 (15:28 -0400)]
We need to adjust the bounds of clip ops with SaveLayer paints too.

Before this CL, SkRecord only adjusted the bounds of draw ops for SaveLayers' paints.
That worked fine, but as a final step we intersect the bounds of draw ops with the
bounds of the current clip, essentially undoing all that work.

I think the right fix here is to also adjust the bounds of the clip ops.

BUG=skia:2957, 415468
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/595953002

9 years agoRemove unused fRequiresVertexShader data member from OptDrawState
egdaniel [Tue, 23 Sep 2014 18:04:54 +0000 (11:04 -0700)]
Remove unused fRequiresVertexShader data member from OptDrawState

BUG=skia:
R=jvanverth@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/578323003

9 years agoPatch to create a distinct geometry processor. The vast majority of this patch
joshualitt [Tue, 23 Sep 2014 16:50:21 +0000 (09:50 -0700)]
Patch to create a distinct geometry processor.  The vast majority of this patch
is just a rename.  The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/582963002

9 years agoRemove underscores from mode identifiers.
mtklein [Tue, 23 Sep 2014 16:20:13 +0000 (09:20 -0700)]
Remove underscores from mode identifiers.

Underscore is used as a field separator sometimes when parsing the task
name into a list of config, mode, etc.  (This itself is dumb and TODO(mtklein): fix.)
Underscores in the field names will really mess that up, both in directories generated
from human-mode -w, and in the .json file.

BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/599503002

9 years agoUse draw buffer for texture copy impl.
bsalomon [Tue, 23 Sep 2014 16:15:03 +0000 (09:15 -0700)]
Use draw buffer for texture copy impl.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/589143004

9 years agoUse uniform color/coverage inputs when path rendering.
bsalomon [Tue, 23 Sep 2014 15:19:00 +0000 (08:19 -0700)]
Use uniform color/coverage inputs when path rendering.

BUG=skia:2954
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/600483002

9 years agoFix inputCoverageIsUsed bug in GrGLProgramDesc
egdaniel [Tue, 23 Sep 2014 15:14:13 +0000 (08:14 -0700)]
Fix inputCoverageIsUsed bug in GrGLProgramDesc

BUG=skia:
R=joshualitt@chromium.org

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/593803003

9 years agoAdding support for GL_CHROMIUM_copy_texture, part 1
junov [Tue, 23 Sep 2014 14:30:09 +0000 (07:30 -0700)]
Adding support for GL_CHROMIUM_copy_texture, part 1

Part 1 of 2. This change just adds the gl API entrypoint
so that the chromium/ganesh bindings can set it. Once
the chromium part is landed, we will add full support for
the extension

BUG=crbug.com/415100
R=bsalomon@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/594663002

9 years agoUpdate SKP version to 109
borenet [Tue, 23 Sep 2014 04:33:08 +0000 (21:33 -0700)]
Update SKP version to 109

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/594783002

9 years agoFix SDF font positions when using global scale.
jvanverth [Mon, 22 Sep 2014 21:26:53 +0000 (14:26 -0700)]
Fix SDF font positions when using global scale.

Also fixes a crash in the dftext GM when using SampleApp,
and adds new test case in dftext.

BUG=skia:2928
R=joshualitt@google.com, egdaniel@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/588223002

9 years agoCalculate Primary and Secondary output types in the GrOptDrawState
egdaniel [Mon, 22 Sep 2014 20:17:02 +0000 (13:17 -0700)]
Calculate Primary and Secondary output types in the GrOptDrawState

Follow up CL to https://codereview.chromium.org/545693004/

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/554833002

9 years agoChange GrGLProgramDesc header to have DoPathRendering flag instead of RequiresVertexS...
egdaniel [Mon, 22 Sep 2014 19:29:52 +0000 (12:29 -0700)]
Change GrGLProgramDesc header to have DoPathRendering flag instead of RequiresVertexShader

Also update GLProgramTests to fix bug where it would incorrectly try to PathRendering when we did
not want to.

BUG=skia:
R=bsalomon@google.com, joshualitt@chromium.org

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/586793002

9 years agoRebaseline gm expectations after nvpr text change
cdalton [Mon, 22 Sep 2014 19:26:41 +0000 (12:26 -0700)]
Rebaseline gm expectations after nvpr text change

BUG=skia:2951
BUG=skia:2954
R=bsalomon@google.com, borenet@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/580943003

9 years agoDon't try to scale embedded bitmaps.
bungeman [Mon, 22 Sep 2014 19:24:41 +0000 (12:24 -0700)]
Don't try to scale embedded bitmaps.

If a font is bitmap only we need to scale a bitmap to obtain
the requested size if there isn't an exact match. If a font has
embedded bitmaps then these bitmaps should never be scaled by Skia.
Allow FreeType to do the scaling (as requested by the font).

BUG=chromium:408059
R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/596513002

9 years agoDon't flush on read/write pixels unless necessary
bsalomon [Mon, 22 Sep 2014 19:21:08 +0000 (12:21 -0700)]
Don't flush on read/write pixels unless necessary

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/586073002

9 years agoMake a flipped fDirtyBit always mean "this field is not the default".
mtklein [Mon, 22 Sep 2014 18:40:33 +0000 (11:40 -0700)]
Make a flipped fDirtyBit always mean "this field is not the default".

Haven't been able to measure any perf effect, so I figure I'll let the bots have at it.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/595583003

9 years agoremove flags that now live in chrome's SkUserConfig.h
reed [Mon, 22 Sep 2014 17:34:41 +0000 (10:34 -0700)]
remove flags that now live in chrome's SkUserConfig.h

NOTRY=True
TBR=robertphilips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/591133003

9 years agoFix typo in experimental/webtry/DESIGN.md.
jcgregorio [Mon, 22 Sep 2014 17:32:59 +0000 (10:32 -0700)]
Fix typo in experimental/webtry/DESIGN.md.

R=tfarina@chromium.org

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/593723003

9 years agoProposed fix for small bug in gpu conical gradients
joshualitt [Mon, 22 Sep 2014 17:29:30 +0000 (10:29 -0700)]
Proposed fix for small bug in gpu conical gradients

BUG=skia:
R=bsalomon@google.com, egdaniel@google.com, senorblanco@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/593443002