Skip to content

Commit

Permalink
speedreader: Make readability backend feature flag
Browse files Browse the repository at this point in the history
This is more accessible for my team than a command line switch.

Resolves brave/brave-browser#15179
  • Loading branch information
Kevin Kuehler committed Apr 8, 2021
1 parent 354a67d commit 66e3c22
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 15 deletions.
12 changes: 8 additions & 4 deletions chromium_src/chrome/browser/about_flags.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,14 @@ using ntp_background_images::features::kBraveNTPSuperReferralWallpaper;
#include "brave/components/speedreader/features.h"

#define SPEEDREADER_FEATURE_ENTRIES \
{"brave-speedreader", \
flag_descriptions::kBraveSpeedreaderName, \
flag_descriptions::kBraveSpeedreaderDescription, kOsDesktop, \
FEATURE_VALUE_TYPE(speedreader::kSpeedreaderFeature)},
{"brave-speedreader", \
flag_descriptions::kBraveSpeedreaderName, \
flag_descriptions::kBraveSpeedreaderDescription, kOsDesktop, \
FEATURE_VALUE_TYPE(speedreader::kSpeedreaderFeature)}, \
{"speedreader-readability-backend", \
flag_descriptions::kBraveSpeedreaderReadabilityName, \
flag_descriptions::kBraveSpeedreaderReadabilityDescription, kOsDesktop, \
FEATURE_VALUE_TYPE(speedreader::kSpeedreaderReadabilityBackend)},
#else
#define SPEEDREADER_FEATURE_ENTRIES
#endif
Expand Down
5 changes: 5 additions & 0 deletions chromium_src/chrome/browser/flag_descriptions.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ const char kBraveSidebarDescription[] = "Enable Sidebar";
const char kBraveSpeedreaderName[] = "Enable SpeedReader";
const char kBraveSpeedreaderDescription[] =
"Enables faster loading of simplified article-style web pages.";
const char kBraveSpeedreaderReadabilityName[] =
"Enable Readability Backend for SpeedReader";
const char kBraveSpeedreaderReadabilityDescription[] =
"Enables the readability backend for SpeedReader. Runs a classifier to "
"determine if pages are readable and distills using the Arc90 algorithm.";
const char kBraveSyncName[] = "Enable Brave Sync v2";
const char kBraveSyncDescription[] =
"Brave Sync v2 integrates with chromium sync engine with Brave specific "
Expand Down
2 changes: 2 additions & 0 deletions chromium_src/chrome/browser/flag_descriptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ extern const char kBraveSidebarName[];
extern const char kBraveSidebarDescription[];
extern const char kBraveSpeedreaderName[];
extern const char kBraveSpeedreaderDescription[];
extern const char kBraveSpeedreaderReadabilityName[];
extern const char kBraveSpeedreaderReadabilityDescription[];
extern const char kBraveSyncName[];
extern const char kBraveSyncDescription[];
extern const char kBraveIpfsName[];
Expand Down
5 changes: 4 additions & 1 deletion components/speedreader/features.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@
namespace speedreader {

const base::Feature kSpeedreaderFeature {
"Speedreader",
"Speedreader",
#if BUILDFLAG(ENABLE_SPEEDREADER_FEATURE)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
};

const base::Feature kSpeedreaderReadabilityBackend{
"Speedreader Readability Backend", base::FEATURE_DISABLED_BY_DEFAULT};

} // namespace speedreader
1 change: 1 addition & 0 deletions components/speedreader/features.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ struct Feature;

namespace speedreader {
extern const base::Feature kSpeedreaderFeature;
extern const base::Feature kSpeedreaderReadabilityBackend;
} // namespace speedreader

#endif // BRAVE_COMPONENTS_SPEEDREADER_FEATURES_H_
14 changes: 4 additions & 10 deletions components/speedreader/speedreader_rewriter_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
#include <utility>

#include "base/bind.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/task/post_task.h"
#include "brave/components/speedreader/features.h"
#include "brave/components/speedreader/speedreader_component.h"
#include "brave/components/speedreader/speedreader_switches.h"
#include "components/grit/brave_components_resources.h"
#include "ui/base/resource/resource_bundle.h"
#include "url/gurl.h"
Expand Down Expand Up @@ -41,14 +41,8 @@ SpeedreaderRewriterService::SpeedreaderRewriterService(
brave_component_updater::BraveComponent::Delegate* delegate)
: component_(new speedreader::SpeedreaderComponent(delegate)),
speedreader_(new speedreader::SpeedReader) {
const base::CommandLine& cmd_line = *base::CommandLine::ForCurrentProcess();
if (cmd_line.HasSwitch(speedreader::kSpeedreaderBackend)) {
// @pes mentioned we might want to experiment with several backends, so this
// will give us the most flexibility.
std::string backend = cmd_line.GetSwitchValueASCII(kSpeedreaderBackend);
if (backend == "classify-all") {
backend_ = RewriterType::RewriterHeuristics;
}
if (base::FeatureList::IsEnabled(kSpeedreaderReadabilityBackend)) {
backend_ = RewriterType::RewriterHeuristics;
}

// Load the built-in stylesheet as the default
Expand Down

0 comments on commit 66e3c22

Please sign in to comment.