diff options
author | bajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-16 18:08:28 +0000 |
---|---|---|
committer | bajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-16 18:08:28 +0000 |
commit | fb16be49af31a2f000ab8277b9e77d48ecf5825b (patch) | |
tree | 2376487cb5da147415ad91e67cd7dbbc5a7862e1 /tools/telemetry | |
parent | 5d7acdd3818238dfe27441540a6a9f9bbdb05c68 (diff) | |
download | chromium_src-fb16be49af31a2f000ab8277b9e77d48ecf5825b.zip chromium_src-fb16be49af31a2f000ab8277b9e77d48ecf5825b.tar.gz chromium_src-fb16be49af31a2f000ab8277b9e77d48ecf5825b.tar.bz2 |
Made Pixel tests functional. Captures tab content and compares to ref image
BUG=278398
R=dtu@chromium.org, kbr@chromium.org, piman@chromium.org
Review URL: https://codereview.chromium.org/23478021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228950 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/telemetry')
-rw-r--r-- | tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py | 1 | ||||
-rw-r--r-- | tools/telemetry/telemetry/core/backends/png_bitmap.py | 34 |
2 files changed, 34 insertions, 1 deletions
diff --git a/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py b/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py index 47980cd..0fd2da8 100644 --- a/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py +++ b/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py @@ -82,6 +82,7 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend): args.append('--disable-background-networking') args.append('--metrics-recording-only') args.append('--no-first-run') + args.append('--no-default-browser-check') args.append('--no-proxy-server') if self.browser_options.wpr_mode != wpr_modes.WPR_OFF: args.extend(wpr_server.GetChromeFlags( diff --git a/tools/telemetry/telemetry/core/backends/png_bitmap.py b/tools/telemetry/telemetry/core/backends/png_bitmap.py index 98c7f47..7505282 100644 --- a/tools/telemetry/telemetry/core/backends/png_bitmap.py +++ b/tools/telemetry/telemetry/core/backends/png_bitmap.py @@ -104,7 +104,7 @@ class PngBitmap(object): diff = [[0 for x in xrange(out_width * 3)] for x in xrange(out_height)] - # Loop over each pixel and test for equality + # Loop over each pixel and write out the difference for y in range(out_height): for x in range(out_width): if x < self.width and y < self.height: @@ -134,3 +134,35 @@ class PngBitmap(object): return diff_png + def Crop(self, left, top, width, height): + """Returns a new PngBitmap that represents the specified sub-rect of this + PngBitmap""" + + if (left < 0 or top < 0 or + (left + width) > self.width or + (top + height) > self.height): + raise Exception('Invalid dimensions') + + img_data = [[0 for x in xrange(width * 4)] for x in xrange(height)] + + # Copy each pixel in the sub-rect + for y in range(height): + for x in range(width): + c = self.GetPixelColor(x + left, y + top) + offset = x * 4 + img_data[y][offset] = c.r + img_data[y][offset+1] = c.g + img_data[y][offset+2] = c.b + img_data[y][offset+3] = c.a + + # This particular method can only save to a file, so the result will be + # written into an in-memory buffer and read back into a PngBitmap + crop_img = png.from_array(img_data, mode='RGBA') + output = cStringIO.StringIO() + try: + crop_img.save(output) + crop_png = PngBitmap(output.getvalue()) + finally: + output.close() + + return crop_png |