| Index: chrome/browser/chromeos/login/screenshot_tester.h
|
| diff --git a/chrome/browser/chromeos/login/screenshot_tester.h b/chrome/browser/chromeos/login/screenshot_tester.h
|
| index 5a1d05226d58a82bb08ef50a182f39e57ee6b2b0..1732f3288cac6f5f7e5add2fc454f12209884fc4 100644
|
| --- a/chrome/browser/chromeos/login/screenshot_tester.h
|
| +++ b/chrome/browser/chromeos/login/screenshot_tester.h
|
| @@ -5,6 +5,8 @@
|
| #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENSHOT_TESTER_H_
|
| #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENSHOT_TESTER_H_
|
|
|
| +#include <string>
|
| +
|
| #include "base/base_export.h"
|
| #include "base/bind_internal.h"
|
| #include "base/files/file_path.h"
|
| @@ -29,34 +31,55 @@ class ScreenshotTester {
|
|
|
| // Does all the work that has been stated through switches:
|
| // updates golden screenshot or takes a new screenshot and compares it
|
| - // with the golden one (this part is not implemented yet).
|
| - void Run(const std::string& file_name);
|
| + // with the golden one. |test_name| is the name of the test from which
|
| + // we run this method.
|
| + void Run(const std::string& test_name);
|
|
|
| private:
|
| typedef scoped_refptr<base::RefCountedBytes> PNGFile;
|
|
|
| - // Takes a screenshot and puts it to |screenshot_| field.
|
| - void TakeScreenshot();
|
| + // Takes a screenshot and returns it.
|
| + PNGFile TakeScreenshot();
|
| +
|
| + // Saves |png_data| as a new golden screenshot for test |test_name_|.
|
| + void UpdateGoldenScreenshot(PNGFile png_data);
|
|
|
| - // Saves |png_data| as a new golden screenshot for this test.
|
| - void UpdateGoldenScreenshot(const std::string& file_name, PNGFile png_data);
|
| + // Saves an image |png_data|, assuming it is a .png file.
|
| + void SaveImage(const std::string& file_name,
|
| + const base::FilePath& screenshot_dir,
|
| + PNGFile png_data);
|
|
|
| // Saves |png_data| as a current screenshot.
|
| - void ReturnScreenshot(PNGFile png_data);
|
| + void ReturnScreenshot(const PNGFile& screenshot, PNGFile png_data);
|
| +
|
| + // Loads golden screenshot from the disk. Fails if there is no
|
| + // golden screenshot for test |test_name_|.
|
| + PNGFile LoadGoldenScreenshot();
|
| +
|
| + // Compares two given screenshots and saves |sample|
|
| + // and difference between |sample| and |model|, if they differ in any pixel.
|
| + void CompareScreenshots(PNGFile model, PNGFile sample);
|
| +
|
| + // Name of the test from which Run() method has been called.
|
| + // Used for generating names for screenshot files.
|
| + std::string test_name_;
|
|
|
| // Path to the directory for golden screenshots.
|
| - base::FilePath screenshot_dest_;
|
| + base::FilePath golden_screenshots_dir_;
|
| +
|
| + // Path to the directory where screenshots that failed comparing
|
| + // and difference between them and golden ones will be stored.
|
| + base::FilePath artifacts_dir_;
|
|
|
| // |run_loop_| and |run_loop_quitter_| are used to synchronize
|
| // with ui::GrabWindowSnapshotAsync.
|
| base::RunLoop run_loop_;
|
| base::Closure run_loop_quitter_;
|
|
|
| - // Current screenshot.
|
| - PNGFile screenshot_;
|
| + // Is true when we're in test mode:
|
| + // comparing golden screenshots and current ones.
|
| + bool test_mode_;
|
|
|
| - // Is true when we running updating golden screenshots mode.
|
| - bool update_golden_screenshot_;
|
| base::WeakPtrFactory<ScreenshotTester> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ScreenshotTester);
|
|
|