Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 435abdf9d8fee809f5d33475006fa9bf63362cf1..1880edd348b279b6fb4d801ce6cc11a5deb95f77 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -19,6 +19,7 @@ |
| #include "base/strings/string16.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "base/time/time.h" |
| +#include "cc/base/switches.h" |
| #include "content/child/appcache/appcache_dispatcher.h" |
| #include "content/child/plugin_messages.h" |
| #include "content/child/quota_dispatcher.h" |
| @@ -65,6 +66,7 @@ |
| #include "content/renderer/dom_utils.h" |
| #include "content/renderer/external_popup_menu.h" |
| #include "content/renderer/geolocation_dispatcher.h" |
| +#include "content/renderer/gpu/gpu_benchmarking_extension.h" |
| #include "content/renderer/history_controller.h" |
| #include "content/renderer/history_serialization.h" |
| #include "content/renderer/image_loading_helper.h" |
| @@ -80,6 +82,7 @@ |
| #include "content/renderer/media/render_media_log.h" |
| #include "content/renderer/media/user_media_client_impl.h" |
| #include "content/renderer/media/webmediaplayer_ms.h" |
| +#include "content/renderer/memory_benchmarking_extension.h" |
| #include "content/renderer/mojo/service_registry_js_wrapper.h" |
| #include "content/renderer/notification_permission_dispatcher.h" |
| #include "content/renderer/npapi/plugin_channel_host.h" |
| @@ -95,6 +98,9 @@ |
| #include "content/renderer/renderer_webcolorchooser_impl.h" |
| #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
| #include "content/renderer/shared_worker_repository.h" |
| +#include "content/renderer/skia_benchmarking_extension.h" |
| +#include "content/renderer/stats_collection_controller.h" |
| +#include "content/renderer/web_ui_extension.h" |
| #include "content/renderer/websharedworker_proxy.h" |
| #include "gin/modules/module_registry.h" |
| #include "media/base/audio_renderer_mixer_input.h" |
| @@ -2557,16 +2563,32 @@ void RenderFrameImpl::didCreateNewDocument(blink::WebLocalFrame* frame) { |
| void RenderFrameImpl::didClearWindowObject(blink::WebLocalFrame* frame) { |
| DCHECK(!frame_ || frame_ == frame); |
| - // TODO(nasko): Move implementation here. Needed state: |
| - // * enabled_bindings_ |
| - // * dom_automation_controller_ |
| - // * stats_collection_controller_ |
| - render_view_->didClearWindowObject(frame); |
| + int enabled_bindings = render_view_->GetEnabledBindings(); |
| + |
| + if (enabled_bindings & BINDINGS_POLICY_WEB_UI) |
| + WebUIExtension::Install(frame); |
| - if (render_view_->GetEnabledBindings() & BINDINGS_POLICY_DOM_AUTOMATION) |
| + if (enabled_bindings & BINDINGS_POLICY_DOM_AUTOMATION) |
| DomAutomationController::Install(this, frame); |
| + if (enabled_bindings & BINDINGS_POLICY_STATS_COLLECTION) |
| + StatsCollectionController::Install(frame); |
| + |
| + const base::CommandLine& command_line = |
| + *base::CommandLine::ForCurrentProcess(); |
| + |
| + if (command_line.HasSwitch(cc::switches::kEnableGpuBenchmarking)) |
| + GpuBenchmarking::Install(frame); |
| + |
| + if (command_line.HasSwitch(switches::kEnableMemoryBenchmarking)) |
| + MemoryBenchmarkingExtension::Install(frame); |
| + |
| + if (command_line.HasSwitch(switches::kEnableSkiaBenchmarking)) |
| + SkiaBenchmarking::Install(frame); |
| + |
| + FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), |
|
nasko
2015/03/02 23:06:37
Shouldn't this be moved to be the first code in th
|
| + DidClearWindowObject(frame)); |
| FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidClearWindowObject()); |
| } |