Chromium Code Reviews| 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 |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..eefb568ecc55aaf51e49e3fd7174d9b008ab2cf3 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/login/screenshot_tester.h |
| @@ -0,0 +1,53 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENSHOT_TESTER_H_ |
| +#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENSHOT_TESTER_H_ |
| + |
| +#include "base/base_export.h" |
| +#include "base/bind_internal.h" |
| +#include "base/files/file_path.h" |
| +#include "base/macros.h" |
| +#include "base/memory/ref_counted_memory.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "base/run_loop.h" |
| + |
| +// A class that allows taking, saving and comparing screnshots while |
| +// running tests. |
| +class ScreenshotTester { |
| + public: |
| + typedef scoped_refptr<base::RefCountedBytes> PNGFile; |
|
Denis Kuznetsov (DE-MUC)
2014/07/21 13:49:43
This is used only in private section. Move typedef
Lisa Ignatyeva
2014/07/21 14:07:04
Done.
|
| + ScreenshotTester(); |
| + virtual ~ScreenshotTester(); |
| + |
| + // Returns true if the screenshots should be taken and will be taken, |
| + // false otherwise. Also gets all the information from the command line |
| + // swithes. |
| + bool TryInitialize(); |
| + |
| + // 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); |
| + |
| + private: |
| + void TakeScreenshot(); |
| + |
| + // Saves |png_data| as a new golden screenshot for this test. |
| + void UpdateGoldenScreenshot(PNGFile png_data); |
| + |
| + // Saves |png_data" as a current screenshot. |
|
Denis Kuznetsov (DE-MUC)
2014/07/21 13:49:43
nit: fix typo
Lisa Ignatyeva
2014/07/21 14:07:04
Done.
|
| + void ReturnScreenshot(PNGFile png_data); |
| + base::FilePath screenshot_dest_; |
|
Denis Kuznetsov (DE-MUC)
2014/07/21 13:49:43
Extra line between methods and fields.
Some commen
Lisa Ignatyeva
2014/07/21 14:07:04
Done.
|
| + base::FilePath golden_screenshot_path_; |
| + base::RunLoop run_loop_; |
| + base::Closure run_loop_quitter_; |
| + PNGFile screenshot_; |
| + base::WeakPtrFactory<ScreenshotTester> weak_factory_; |
|
Denis Kuznetsov (DE-MUC)
2014/07/21 13:49:43
Move factory down - it should be last field, as Yu
Lisa Ignatyeva
2014/07/21 14:07:04
Done.
|
| + bool update_golden_screenshot_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ScreenshotTester); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENSHOT_TESTER_H_ |