| Index: chrome/browser/extensions/extension_save_page_apitest.cc
|
| diff --git a/chrome/browser/extensions/extension_save_page_apitest.cc b/chrome/browser/extensions/extension_save_page_apitest.cc
|
| index 288ecac5af320ca745ed745c7f70e88e555bd04b..b01b9422e6236263ef8e412631a454f71cbe01c9 100644
|
| --- a/chrome/browser/extensions/extension_save_page_apitest.cc
|
| +++ b/chrome/browser/extensions/extension_save_page_apitest.cc
|
| @@ -5,7 +5,9 @@
|
| #include "base/base_switches.h"
|
| #include "base/command_line.h"
|
| #include "chrome/browser/extensions/extension_apitest.h"
|
| +#include "chrome/browser/extensions/extension_save_page_api.h"
|
| #include "chrome/common/chrome_switches.h"
|
| +#include "chrome/test/base/ui_test_utils.h"
|
| #include "net/base/mock_host_resolver.h"
|
|
|
| class ExtensionSavePageApiTest : public ExtensionApiTest {
|
| @@ -14,6 +16,7 @@ class ExtensionSavePageApiTest : public ExtensionApiTest {
|
| virtual void SetUpCommandLine(CommandLine* command_line) {
|
| ExtensionApiTest::SetUpCommandLine(command_line);
|
| command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis);
|
| + command_line->AppendSwitchASCII(switches::kJavaScriptFlags, "--expose-gc");
|
| }
|
|
|
| virtual void SetUpInProcessBrowserTestFixture() {
|
| @@ -32,6 +35,29 @@ class ExtensionSavePageApiTest : public ExtensionApiTest {
|
| #define MAYBE_SavePageAsMHTML SavePageAsMHTML
|
| #endif // defined(OS_LINUX)
|
|
|
| +class SavePageAsMHTMLDelegate : public SavePageAsMHTMLFunction::TestDelegate {
|
| + public:
|
| + SavePageAsMHTMLDelegate() {
|
| + SavePageAsMHTMLFunction::SetTestDelegate(this);
|
| + }
|
| +
|
| + virtual ~SavePageAsMHTMLDelegate() {
|
| + SavePageAsMHTMLFunction::SetTestDelegate(NULL);
|
| + }
|
| +
|
| + virtual void OnTemporaryFileCreated(const FilePath& temp_file) OVERRIDE {
|
| + temp_file_ = temp_file;
|
| + }
|
| +
|
| + FilePath temp_file_;
|
| +};
|
| +
|
| IN_PROC_BROWSER_TEST_F(ExtensionSavePageApiTest, MAYBE_SavePageAsMHTML) {
|
| + SavePageAsMHTMLDelegate delegate;
|
| ASSERT_TRUE(RunExtensionTest("save_page")) << message_;
|
| + ASSERT_FALSE(delegate.temp_file_.empty());
|
| + // Flush the file message loop to make sure the delete happens.
|
| + ui_test_utils::RunAllPendingInMessageLoop(content::BrowserThread::FILE);
|
| + ASSERT_FALSE(file_util::PathExists(delegate.temp_file_));
|
| +
|
| }
|
|
|