Suppress the drawing of empty-bounds display lists.

This is a follow up to https://codereview.chromium.org/136583009, which,
in its original form, exposed an SVG sizing issue:
repaintRectInLocalCoordinates() may be empty for resource containers
with objectBoundingBox units.

The problem is triggered when mixing objectBoundingBox and userSpaceOnUse
resource containers, for example:

  <clipPath id="clip1">
    <rect x="100" y="100" width="100" height="100"/>
  </clipPath>
  <clipPath id="clip2" clipPathUnits="objectBoundingBox" clip-path="url(#clip1)">
    <circle cx="0.5" cy="0.5" r="0.5"/>
  </clipPath>

For clip2, SVGRenderSupport::intersectRepaintRectWithResource() ends up
intersecting the initial repaint rect [0 0 1 1] with clip1's resource
bounding box [100 100 200 200], even though the two are expressed in
unrelated coordinate systems. This is another side effect of our
one-resource-renderer-vs-multiple-clients approach, which prevents
resolving OBB relative lengths at layout time.

The issue is exposed when suppressing the drawing of empty-bounds
pictures (either at the GraphicsContext level, as with this patch, or at
the tile grid recorder level - when using impl-side painting).

The workaround is to use strokeBoundingBox() when sizing display lists
for RenderSVGResourceClipper & RenderSVGResourceMasker. Unlike
repaintRectInLocalCoordinates(), strokeBoundingBox() does not get
intersected with local clips/masks.

BUG=294900
R=schenney@chromium.org,pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165642 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Run closure compiler for all target modules in multiple threads

This patch enables compile_frontend.py to run the closure compiler for all required modules
in multiple threads rather than in multiple processes (which consume additional memory
for the heap and additional time for the JVM startup).

Performance:
compile_frontend.py all:
  - before: 53s
  - after (the only option now): 13s

Drive-by: Fix nullability check for several @type casts in a single line.

R=pfeldman@chromium.org, pfeldman, sergeyv

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165643 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: [JsDocValidator] Add check that requires @return annotation for all API methods that return value

An API method is a class method whose name does not start with an underscore ('_').

R=pfeldman, sergeyv
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165644 bbb929c8-8fbe-4397-9dbb-9b2b20218538