Index: blimp/engine/feature/engine_render_widget_feature.h |
diff --git a/blimp/engine/feature/engine_render_widget_feature.h b/blimp/engine/feature/engine_render_widget_feature.h |
index 155ad3e538a95ed1fbe1e10edaa8d232c94f833c..6d0fa78c470489b7c28ba9a38a245a18946737a5 100644 |
--- a/blimp/engine/feature/engine_render_widget_feature.h |
+++ b/blimp/engine/feature/engine_render_widget_feature.h |
@@ -14,6 +14,7 @@ |
#include "base/containers/small_map.h" |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
+#include "blimp/engine/session/settings_manager.h" |
#include "blimp/net/blimp_message_processor.h" |
#include "blimp/net/input_message_converter.h" |
@@ -26,6 +27,7 @@ class RenderWidgetHost; |
} |
namespace blimp { |
+namespace engine { |
// Handles all incoming and outgoing protobuf message types tied to a specific |
// RenderWidget. This includes BlimpMessage::INPUT, BlimpMessage::COMPOSITOR, |
@@ -33,7 +35,8 @@ namespace blimp { |
// notified of incoming messages. This class automatically handles dropping |
// stale BlimpMessage::RENDER_WIDGET messages from the client after a |
// RenderWidgetMessage::INITIALIZE message is sent. |
-class EngineRenderWidgetFeature : public BlimpMessageProcessor { |
+class EngineRenderWidgetFeature : public BlimpMessageProcessor, |
+ public SettingsManager::Observer { |
public: |
// A delegate to be notified of specific RenderWidget related incoming events. |
class RenderWidgetMessageDelegate { |
@@ -51,7 +54,7 @@ class EngineRenderWidgetFeature : public BlimpMessageProcessor { |
const std::vector<uint8_t>& message) = 0; |
}; |
- EngineRenderWidgetFeature(); |
+ explicit EngineRenderWidgetFeature(SettingsManager* settings); |
~EngineRenderWidgetFeature() override; |
void set_render_widget_message_sender( |
@@ -98,6 +101,9 @@ class EngineRenderWidgetFeature : public BlimpMessageProcessor { |
void ProcessMessage(scoped_ptr<BlimpMessage> message, |
const net::CompletionCallback& callback) override; |
+ // Settings::Observer implementation. |
+ void OnWebPreferencesChanged() override; |
+ |
private: |
typedef base::SmallMap<std::map<int, RenderWidgetMessageDelegate*> > |
DelegateMap; |
@@ -151,6 +157,8 @@ class EngineRenderWidgetFeature : public BlimpMessageProcessor { |
InputMessageConverter input_message_converter_; |
+ SettingsManager* settings_manager_; |
+ |
// Outgoing message processors for RENDER_WIDGET, COMPOSITOR and INPUT types. |
scoped_ptr<BlimpMessageProcessor> render_widget_message_sender_; |
scoped_ptr<BlimpMessageProcessor> compositor_message_sender_; |
@@ -159,6 +167,7 @@ class EngineRenderWidgetFeature : public BlimpMessageProcessor { |
DISALLOW_COPY_AND_ASSIGN(EngineRenderWidgetFeature); |
}; |
+} // namespace engine |
} // namespace blimp |
#endif // BLIMP_ENGINE_FEATURE_ENGINE_RENDER_WIDGET_FEATURE_H_ |