| Index: blimp/client/core/settings/settings_feature.cc
|
| diff --git a/blimp/client/core/settings/settings_feature.cc b/blimp/client/core/settings/settings_feature.cc
|
| index d2e9d1d8b3045c2325b4a98d352ad835002315a9..e669415cca02fa1e8b321996ac588e7d404ede3e 100644
|
| --- a/blimp/client/core/settings/settings_feature.cc
|
| +++ b/blimp/client/core/settings/settings_feature.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "blimp/client/core/settings/settings_feature.h"
|
|
|
| +#include "blimp/client/core/settings/settings.h"
|
| #include "blimp/common/create_blimp_message.h"
|
| #include "blimp/common/proto/blimp_message.pb.h"
|
| #include "blimp/common/proto/settings.pb.h"
|
| @@ -12,28 +13,17 @@
|
| namespace blimp {
|
| namespace client {
|
|
|
| -SettingsFeature::SettingsFeature() : record_whole_document_(false) {}
|
| +SettingsFeature::SettingsFeature(Settings* settings) : settings_(settings) {}
|
|
|
| -SettingsFeature::~SettingsFeature() {}
|
| +SettingsFeature::~SettingsFeature() = default;
|
|
|
| void SettingsFeature::set_outgoing_message_processor(
|
| std::unique_ptr<BlimpMessageProcessor> processor) {
|
| outgoing_message_processor_ = std::move(processor);
|
| }
|
|
|
| -void SettingsFeature::SetRecordWholeDocument(bool record_whole_document) {
|
| - if (record_whole_document_ == record_whole_document)
|
| - return;
|
| -
|
| - record_whole_document_ = record_whole_document;
|
| -
|
| - EngineSettingsMessage* engine_settings;
|
| - std::unique_ptr<BlimpMessage> message = CreateBlimpMessage(&engine_settings);
|
| - engine_settings->set_record_whole_document(record_whole_document_);
|
| - outgoing_message_processor_->ProcessMessage(std::move(message),
|
| - net::CompletionCallback());
|
| -}
|
| -
|
| +// TODO(mlliu): remove this method once we set the user agent in PushSettings()
|
| +// http://crbug.com/652032.
|
| void SettingsFeature::SendUserAgentOSVersionInfo(const std::string& osVersion) {
|
| EngineSettingsMessage* engine_settings;
|
| std::unique_ptr<BlimpMessage> message = CreateBlimpMessage(&engine_settings);
|
| @@ -49,5 +39,24 @@ void SettingsFeature::ProcessMessage(std::unique_ptr<BlimpMessage> message,
|
| callback.Run(net::OK);
|
| }
|
|
|
| +void SettingsFeature::OnRecordWholeDocumentChanged(bool enable) {
|
| + EngineSettingsMessage* engine_settings;
|
| + std::unique_ptr<BlimpMessage> message = CreateBlimpMessage(&engine_settings);
|
| + engine_settings->set_record_whole_document(enable);
|
| + outgoing_message_processor_->ProcessMessage(std::move(message),
|
| + net::CompletionCallback());
|
| +}
|
| +
|
| +void SettingsFeature::PushSettings() {
|
| + // TODO(mlliu): set the user agent on the proto as well after moving
|
| + // blimp/client/app/user_agent.* to this directory (http://crbug.com/652032).
|
| + EngineSettingsMessage* engine_settings;
|
| + std::unique_ptr<BlimpMessage> message = CreateBlimpMessage(&engine_settings);
|
| + engine_settings->set_record_whole_document(
|
| + settings_->IsRecordWholeDocument());
|
| + outgoing_message_processor_->ProcessMessage(std::move(message),
|
| + net::CompletionCallback());
|
| +}
|
| +
|
| } // namespace client
|
| } // namespace blimp
|
|
|