Commit Graph

667 Commits

Author SHA1 Message Date
scroggo
a1193e4b0e Make SkStream *not* ref counted.
SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.

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

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

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

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

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

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

Make other pdf rasterizers behave like SkPDFDocumentToBitmap.

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

SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF

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

Review URL: https://codereview.chromium.org/849103004
2015-01-21 12:09:53 -08:00
mtklein
72c9faab45 Fix up all the easy virtual ... SK_OVERRIDE cases.
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases.  We'll have to manually clean up the rest
over time unless I level up in regexes.

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

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
robertphillips
53a8f216a8 Update PdfViewer's SkNulCanvas
This appears to have been missed in https://codereview.chromium.org/831253002/ (move remaining virtual draw methods to onDraw)

Review URL: https://codereview.chromium.org/839433002
2015-01-05 11:11:21 -08:00
halcanary
abe4baa2c3 experimental skp_to_pdf_md5 program.
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
2015-01-05 08:55:24 -08:00
reed
c4fda92f45 remove unused drawData
BUG=skia:

Review URL: https://codereview.chromium.org/830083002
2015-01-02 06:39:51 -08:00
mtklein
f9c9d72e57 Delete old bench expectation code.
Just noticed these were still here.

BUG=skia:

Review URL: https://codereview.chromium.org/801373003
2014-12-15 13:17:01 -08:00
junov
3fcc125c77 Remove SkCanvas::isDrawingToLayer
BUG=3245

Review URL: https://codereview.chromium.org/803913005
2014-12-15 11:34:06 -08:00
bsalomon
0aa5cea869 fix last warnings on w64 and turn on w.a.e.
Review URL: https://codereview.chromium.org/801413002
2014-12-15 09:13:35 -08:00
Florin Malita
c54d8db4d1 Remove SkCanvas::drawBitmapMatrix()
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/789033002
2014-12-10 12:02:16 -05:00
robertphillips
266b2adce7 Remove virtual clear in PdfViewer's SkNulCanvas
Causing compilation complaints on Windows

Review URL: https://codereview.chromium.org/783683004
2014-12-08 11:37:35 -08:00
reed
b19ce3146c quick fix to land clear() change
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/774863003
2014-12-04 08:39:09 -08:00
halcanary
85a5750ffa Fix PdfViewer BGR byte order
BUG=skia:3184

Review URL: https://codereview.chromium.org/775763003
2014-12-03 11:03:52 -08:00
halcanary
84bc52ad26 work in progress
Review URL: https://codereview.chromium.org/769423002
2014-12-02 14:01:46 -08:00
halcanary
742cacdd20 multipage_pdf_profiler, gmtoskp
Review URL: https://codereview.chromium.org/769083003
2014-12-01 12:21:25 -08:00
tfarina
0c9acd5d2e Cleanup: Remove SimpleiOSApp xcode project file.
There is already an GYP version for it in:
https://skia.googlesource.com/skia/+/master/gyp/SimpleiOSApp.gyp

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

Review URL: https://codereview.chromium.org/691133004
2014-11-03 15:10:49 -08:00
mtklein
3eeb156822 patch from issue 697743002
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
2014-11-03 10:45:50 -08:00
stephana
0b5fc9774f Quick and dirty test to call the C interface from GO.
BUG=skia:

Review URL: https://codereview.chromium.org/670303005
2014-10-31 07:11:19 -07:00
tfarina
38406c82b9 Cleanup: Go with SkDebugf instead of GrPrintf.
Since GrPrintf is just defined to SkDebugf, we can go with the later
directly.

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

Review URL: https://codereview.chromium.org/695663003
2014-10-31 07:11:12 -07:00
Greg Humphreys
89154343f0 delete webtry from main skia repo; it's been moved to buildbots
BUG=skia:

Review URL: https://codereview.chromium.org/688713002
2014-10-29 12:30:16 -04:00
Greg Humphreys
5abfa688b7 fix issues with simultaneous configs and security jail on skfiddle
BUG=skia:
TBR=jcgregorio

Review URL: https://codereview.chromium.org/688003002
2014-10-29 14:57:10 +00:00
Greg Humphreys
af58b5fcba rework GUI, scripts, and fiddle main for multiple simultaneous configs
You can now select Raster, Ganesh, or both (PDF coming soon), and see
all output simultaneously.

BUG=skia:
R=jcgregorio@google.com
TBR=jcgregorio

Review URL: https://codereview.chromium.org/688433002
2014-10-29 10:31:33 -04:00
jcgregorio
e001da2558 SkV8Sample: Now with Path2D and Path2DBuilder.
BUG=skia:

Review URL: https://codereview.chromium.org/661033005
2014-10-29 05:33:28 -07:00
Greg Humphreys
9571567802 remove the GPU checkbox from the hash / database
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
2014-10-28 13:33:54 -04:00
jcgregorio
5e44b00392 Start moving to the new canvas structure.
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
2014-10-27 10:27:01 -07:00
jcgregorio
1c9acd980b Fixup references to the js files from the HTML files in SkV8Example.
BUG=skia:

Review URL: https://codereview.chromium.org/680053002
2014-10-27 07:19:44 -07:00
robertphillips
59b3815eaa Move .js files to their own directory
Review URL: https://codereview.chromium.org/677133002
2014-10-24 20:02:31 -07:00
jcgregorio
e22f45fd89 Doing the "using namespace" penance by adding in v8:: everywhere, like I should have to begin with.
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
2014-10-24 12:49:17 -07:00
reed
e332396d2f move c api into include
BUG=skia:

Review URL: https://codereview.chromium.org/665203004
2014-10-24 11:16:19 -07:00
reed
f0b1710bdb fix some bit-rot in the ios port of sampleapp
BUG=skia:

Review URL: https://codereview.chromium.org/637263004
2014-10-22 13:06:00 -07:00
tfarina
7a2df0c672 webtry: Improve error handling/message when creating sqlite tables.
In case they fail, lets fail with an ERROR message rather than an INFO,
and lets make the error message a little bit better.

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

Review URL: https://codereview.chromium.org/669643004
2014-10-22 11:57:36 -07:00
jcgregorio
33e6466a4f Move init() to Init() so that flag.Parse() can be called first.
Otherwise the --log_dir flag doesn't affect where glog output goes to.

TBR=humper
BUG=skia:

Review URL: https://codereview.chromium.org/667493002
2014-10-20 10:44:35 -07:00
tfarina
25a134d133 webtry: Add logserver to serve /tmp/glog.
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
2014-10-17 07:36:36 -07:00
Greg Humphreys
c9df8ce821 fix display of fiddles that DON'T have compile errors
BUG=skia:

Review URL: https://codereview.chromium.org/644253003
2014-10-16 14:23:02 -04:00
humper
ae8ab62966 Properly parse compiler errors for fiddles and mark them in the editor.
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
2014-10-16 09:18:16 -07:00
tfarina
8c0d2aab62 webtry: Do not forget the close the rows.
This should prevent further enumeration according to the docs.

http://golang.org/pkg/database/sql/#Rows.Close

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

Review URL: https://codereview.chromium.org/638373003
2014-10-16 05:57:39 -07:00
Thiago Farina
498bc5f036 webtry: Forgot onr log.Fatal.
Update it to use glog variant.

BUG=skia:2980
TEST=go build webtry.go
TBR=jcgregorio@google.com

Review URL: https://codereview.chromium.org/659813003
2014-10-15 19:20:27 -03:00
tfarina
ae6d6222b2 webtry: Switch from Go's log package to golang/glog.
BUG=skia:2980
TEST=go get -d && go build webtry.go
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/655323002
2014-10-15 14:59:33 -07:00
tfarina
ebd90ee211 webtry: Check the result of os.Chdir().
As mentioned in http://golang.org/doc/effective_go.html#blank_assign,
errors are provided for a reason, so always check them.

The documentation for this function is available at
http://golang.org/pkg/os/#Chdir.

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

Review URL: https://codereview.chromium.org/651343002
2014-10-15 13:48:47 -07:00
tfarina
585a5fc243 webtry: Simplify template construction.
text/template and html/template both have a helper function called
"Must" that according to the docs in http://golang.org/pkg/text/template/#Must
and http://golang.org/pkg/html/template/#Must, wraps a call to a function
returning (*Template, error) and panics if the error is non-nil.

So we don't need to that ourselves. Which is a good thing and makes code
cleaner.

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

Review URL: https://codereview.chromium.org/642243004
2014-10-14 09:39:02 -07:00
Greg Humphreys
54142261de Re-land ganesh checkbox. I needed to increase the size of the address
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
2014-10-13 21:52:05 -04:00
humper
67f2d3c514 Revert of add ganesh checkbox to skfiddle interface (patchset #6 id:270001 of https://codereview.chromium.org/649313002/)
Reason for revert:
adding -Dskia_mesa=1 broke production; don't yet know why and don't want to leave things in a broken state.

Original issue's description:
> add ganesh checkbox to skfiddle interface
>
> BUG=skia:
> R=mtklein@google.com, tfarina@chromium.org
>
> Committed: https://skia.googlesource.com/skia/+/ccb54895c614632fd01d22b64ab614921f980eb1

TBR=tfarina@chromium.org,jcgregorio@google.com,mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/655633003
2014-10-13 16:05:05 -07:00
Greg Humphreys
ccb54895c6 add ganesh checkbox to skfiddle interface
BUG=skia:
R=mtklein@google.com, tfarina@chromium.org

Review URL: https://codereview.chromium.org/649313002
2014-10-13 18:12:33 -04:00
tfarina
5d0706ffd3 Fix webtry setup once instructions in README doc.
BUG=None
TEST=NOne
R=humper@google.com
TBR=humper@google.com

Review URL: https://codereview.chromium.org/648563003
2014-10-13 12:37:52 -07:00
Greg Humphreys
6c07907eaa add support for skfiddle width/height options
BUG=skia:
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/656463002
2014-10-13 13:58:09 -04:00
tfarina
ac15bb901c webtry: Simply move sys/ directory into setup/.
That seems to make things more tied and that seems to be where we have
the same scripts/configs in the perf directory:
https://skia.googlesource.com/buildbot/+/master/perf/setup/sys/

That way we keep all files used/related to setting up a new webtry server in one place.

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

Review URL: https://codereview.chromium.org/644513003
2014-10-08 20:05:13 -07:00
Greg Humphreys
4f6ffde95f pre-build the resources library for the fiddle jail
BUG=skia:
TBR=jcgregorio

Review URL: https://codereview.chromium.org/637353003
2014-10-08 12:36:42 -04:00
Greg Humphreys
117ff1c1d1 repair the webtry setup process
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
2014-10-08 12:33:31 -04:00
Greg Humphreys
25ec1b3c8c allow fiddles to use the futex system call; fixes fonts finally
BUG=skia:

Review URL: https://codereview.chromium.org/639013002
2014-10-08 12:21:41 -04:00
Greg Humphreys
e97d82b6e5 In the generated fiddle, set the portable fonts flag first.
BUG=skia:
TBR=jcgregorio

Review URL: https://codereview.chromium.org/635373002
2014-10-08 12:04:20 -04:00
Greg Humphreys
ebca225b48 preliminary support for fiddle font use
BUG=skia:2998
TBR=jcgregorio, tfarina

Review URL: https://codereview.chromium.org/639833003
2014-10-08 11:09:21 -04:00