Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1292)

Unified Diff: chrome/browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc

Issue 341563002: Theme Preferences for Distilled Pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor change - dependency order Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc
diff --git a/chrome/browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc b/chrome/browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc
index d36e45b76a75a292ac8f04a5af01ae72cda98819..4640bc93d2c4bd9ff5ed35cf239118d8fcb816b3 100644
--- a/chrome/browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc
+++ b/chrome/browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc
@@ -18,6 +18,7 @@
#include "chrome/test/base/ui_test_utils.h"
#include "components/dom_distiller/content/dom_distiller_viewer_source.h"
#include "components/dom_distiller/core/article_entry.h"
+#include "components/dom_distiller/core/distilled_page_prefs.h"
#include "components/dom_distiller/core/distiller.h"
#include "components/dom_distiller/core/dom_distiller_service.h"
#include "components/dom_distiller/core/dom_distiller_store.h"
@@ -57,6 +58,10 @@ const char kGetContent[] =
"window.domAutomationController.send("
"document.getElementById('content').innerHTML)";
+const char kGetBodyClass[] =
+ "window.domAutomationController.send("
+ "document.body.className)";
+
void AddEntry(const ArticleEntry& e, FakeDB<ArticleEntry>::EntryMap* map) {
(*map)[e.entry_id()] = e;
}
@@ -99,7 +104,11 @@ class DomDistillerViewerSourceBrowserTest : public InProcessBrowserTest {
CreateStoreWithFakeDB(fake_db,
FakeDB<ArticleEntry>::EntryMap())),
scoped_ptr<DistillerFactory>(distiller_factory_),
- scoped_ptr<DistillerPageFactory>(distiller_page_factory_));
+ scoped_ptr<DistillerPageFactory>(distiller_page_factory_),
+ scoped_ptr<DistilledPagePrefs>(
+ new DistilledPagePrefs(
+ Profile::FromBrowserContext(
+ context)->GetPrefs())));
fake_db->InitCallback(true);
fake_db->LoadCallback(true);
if (expect_distillation_) {
@@ -321,4 +330,31 @@ IN_PROC_BROWSER_TEST_F(DomDistillerViewerSourceBrowserTest,
EXPECT_THAT(result, HasSubstr("Page 2 content"));
}
+IN_PROC_BROWSER_TEST_F(DomDistillerViewerSourceBrowserTest, PrefChange) {
+ expect_distillation_ = true;
+ expect_distiller_page_ = true;
+ GURL view_url("http://www.example.com/1");
+ content::WebContents* contents =
+ browser()->tab_strip_model()->GetActiveWebContents();
+ const GURL url = url_utils::GetDistillerViewUrlFromUrl(
+ chrome::kDomDistillerScheme, view_url);
+ ViewSingleDistilledPage(url, "text/html");
+ content::WaitForLoadStop(contents);
+ std::string result;
+ EXPECT_TRUE(content::ExecuteScriptAndExtractString(
+ contents, kGetBodyClass, &result));
+ EXPECT_EQ("light", result);
+
+ // Getting DistilledPagePrefs instance.
+ DistilledPagePrefs* distilled_page_prefs =
+ DomDistillerServiceFactory::GetForBrowserContext(
+ browser()->profile())->GetDistilledPagePrefs();
+
+ distilled_page_prefs->SetTheme(DistilledPagePrefs::DARK);
+ base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(content::ExecuteScriptAndExtractString(
+ contents, kGetBodyClass, &result));
+ EXPECT_EQ("dark", result);
+}
+
} // namespace dom_distiller

Powered by Google App Engine
This is Rietveld 408576698