| Index: content/browser/download/mhtml_generation_browsertest.cc
|
| ===================================================================
|
| --- content/browser/download/mhtml_generation_browsertest.cc (revision 111255)
|
| +++ content/browser/download/mhtml_generation_browsertest.cc (working copy)
|
| @@ -2,7 +2,6 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "base/bind.h"
|
| #include "base/file_path.h"
|
| #include "base/scoped_temp_dir.h"
|
| #include "chrome/browser/ui/browser.h"
|
| @@ -11,6 +10,7 @@
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "content/browser/download/mhtml_generation_manager.h"
|
| #include "content/browser/tab_contents/tab_contents.h"
|
| +#include "content/public/browser/notification_types.h"
|
| #include "net/test/test_server.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -18,28 +18,15 @@
|
|
|
| class MHTMLGenerationTest : public InProcessBrowserTest {
|
| public:
|
| - MHTMLGenerationTest() : mhtml_generated_(false), file_size_(0) {}
|
| + MHTMLGenerationTest() {}
|
|
|
| - void MHTMLGenerated(const FilePath& path, int64 size) {
|
| - mhtml_generated_ = true;
|
| - file_size_ = size;
|
| - MessageLoopForUI::current()->Quit();
|
| - }
|
| -
|
| protected:
|
| virtual void SetUp() {
|
| ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| InProcessBrowserTest::SetUp();
|
| }
|
|
|
| - bool mhtml_generated() const { return mhtml_generated_; }
|
| - int64 file_size() const { return file_size_; }
|
| -
|
| ScopedTempDir temp_dir_;
|
| -
|
| - private:
|
| - bool mhtml_generated_;
|
| - int64 file_size_;
|
| };
|
|
|
| // Tests that generating a MHTML does create contents.
|
| @@ -59,15 +46,17 @@
|
| MHTMLGenerationManager* mhtml_generation_manager =
|
| g_browser_process->mhtml_generation_manager();
|
|
|
| - mhtml_generation_manager->GenerateMHTML(tab, path,
|
| - base::Bind(&MHTMLGenerationTest::MHTMLGenerated, this));
|
| + content::Source<RenderViewHost> source(tab->render_view_host());
|
| + ui_test_utils::WindowedNotificationObserverWithDetails<
|
| + MHTMLGenerationManager::NotificationDetails> signal(
|
| + content::NOTIFICATION_MHTML_GENERATED, source);
|
| + mhtml_generation_manager->GenerateMHTML(tab, path);
|
| + signal.Wait();
|
|
|
| - // Block until the MHTML is generated.
|
| - ui_test_utils::RunMessageLoop();
|
| + MHTMLGenerationManager::NotificationDetails details;
|
| + ASSERT_TRUE(signal.GetDetailsFor(source.map_key(), &details));
|
| + ASSERT_GT(details.file_size, 0);
|
|
|
| - EXPECT_TRUE(mhtml_generated());
|
| - EXPECT_GT(file_size(), 0);
|
| -
|
| // Make sure the actual generated file has some contents.
|
| int64 file_size;
|
| ASSERT_TRUE(file_util::GetFileSize(path, &file_size));
|
|
|