summaryrefslogtreecommitdiffstats
path: root/tools/telemetry
diff options
context:
space:
mode:
authorbajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-16 18:08:28 +0000
committerbajones@chromium.org <bajones@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-16 18:08:28 +0000
commitfb16be49af31a2f000ab8277b9e77d48ecf5825b (patch)
tree2376487cb5da147415ad91e67cd7dbbc5a7862e1 /tools/telemetry
parent5d7acdd3818238dfe27441540a6a9f9bbdb05c68 (diff)
downloadchromium_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.py1
-rw-r--r--tools/telemetry/telemetry/core/backends/png_bitmap.py34
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