SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.
Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).
Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.
Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().
Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.
Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.
In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).
Make other pdf rasterizers behave like SkPDFDocumentToBitmap.
SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:
SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF
Requires a change to Android, which currently treats SkStreams as ref
counted objects.
Review URL: https://codereview.chromium.org/849103004
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.
for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end
BUG=skia:
Review URL: https://codereview.chromium.org/806653007
This program takes a list of Skia Picture (SKP) files and
renders each as a multipage PDF, then prints out the MD5
checksum of the PDF file. This can be used to verify that
changes to the PDF backend will not change PDF output.
Review URL: https://codereview.chromium.org/832403002
working
The key here was to get everything into a single library. Our shared library build is the easiest way to do that. Some light skimming online makes it look like perhaps cgo requires shared libraries, so that may be at play here too.
BUG=skia:
Review URL: https://codereview.chromium.org/698943002
We decided last week that GPU rendering wouldn't be associated
with the fiddle itself; options in the left bar will be split into
ones that are bound to the fiddle (so appear in the hash and database)
and ones that are run-specific (like the rendering mode).
This will leave us better placed to do things like rendering in multiple
modes at once.
BUG=skia:
R=jcgregorio@google.com
Review URL: https://codereview.chromium.org/685543002
Adds DrawingMethods with some of the methods it defines. Context is now
an implementation of DrawingMethods.
The sample.js file now shows how the context is used.
Not much new code here, that's mostly in DrawingMethods::DrawPath, most everything else is a code move.
BUG=skia:
Review URL: https://codereview.chromium.org/676423002
Also:
- SkWindow now has createSurface, not createCanvas.
- Add the platform init code v8 now seems to require.
- Fix library linkage.
- Call isolate->Enter(); because it doesn't look
like v8 starts with a default isolate to begin with.
BUG=skia:
Review URL: https://codereview.chromium.org/673223002
This setup and runs a logserver, like the one being used by skiaperf, to
serve the directory /tmp/glog, so we don't need to ssh into the instance
to see the logs of the webtry application.
This is a follow up to suggestion made in codereview.chromium.org/655323002.
BUG=None
R=jcgregorio@google.com
Review URL: https://codereview.chromium.org/643903003
You can also click on the errors in the parsed output to jump directly to the offending location in the editor.
BUG=skia:
NOTRY=true
Review URL: https://codereview.chromium.org/660573003
space available to a fiddle because linking against libGL causes the
amount of memory used by a process to bloat to over 100M. Yikes.
BUG=skia:
Review URL: https://codereview.chromium.org/638003008
The previous version of the script didn't properly update the code for the webtry
user, so only changes to skia would really be pulled, not changes to the actual
webtry server itself.
This version of the setup script is 100% automated and brings everything up to date.
It's also a little more verbose about what it's doing, so it's easier to debug.
BUG=skia:
R=tfarina@chromium.org
TBR=jcgregorio, mtklein, tfarina
Review URL: https://codereview.chromium.org/636173003