OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 } | 465 } |
466 | 466 |
467 void RenderThreadImpl::EnsureWebKitInitialized() { | 467 void RenderThreadImpl::EnsureWebKitInitialized() { |
468 if (webkit_platform_support_.get()) | 468 if (webkit_platform_support_.get()) |
469 return; | 469 return; |
470 | 470 |
471 v8::V8::SetCounterFunction(base::StatsTable::FindLocation); | 471 v8::V8::SetCounterFunction(base::StatsTable::FindLocation); |
472 v8::V8::SetCreateHistogramFunction(CreateHistogram); | 472 v8::V8::SetCreateHistogramFunction(CreateHistogram); |
473 v8::V8::SetAddHistogramSampleFunction(AddHistogramSample); | 473 v8::V8::SetAddHistogramSampleFunction(AddHistogramSample); |
474 | 474 |
475 webkit_platform_support_.reset(new RendererWebKitPlatformSupportImpl); | 475 webkit_platform_support_.reset(CreateWebKitPlatformSupport()); |
476 WebKit::initialize(webkit_platform_support_.get()); | 476 WebKit::initialize(webkit_platform_support_.get()); |
477 | 477 |
478 bool has_enable = CommandLine::ForCurrentProcess()->HasSwitch( | 478 bool has_enable = CommandLine::ForCurrentProcess()->HasSwitch( |
479 switches::kEnableThreadedCompositing); | 479 switches::kEnableThreadedCompositing); |
480 bool has_disable = CommandLine::ForCurrentProcess()->HasSwitch( | 480 bool has_disable = CommandLine::ForCurrentProcess()->HasSwitch( |
481 switches::kDisableThreadedCompositing); | 481 switches::kDisableThreadedCompositing); |
482 bool enable = has_enable && (!has_disable); | 482 bool enable = has_enable && (!has_disable); |
483 if (enable) { | 483 if (enable) { |
484 compositor_thread_.reset(new CompositorThread(this)); | 484 compositor_thread_.reset(new CompositorThread(this)); |
485 AddFilter(compositor_thread_->GetMessageFilter()); | 485 AddFilter(compositor_thread_->GetMessageFilter()); |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
817 void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() { | 817 void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() { |
818 notify_webkit_of_modal_loop_ = false; | 818 notify_webkit_of_modal_loop_ = false; |
819 } | 819 } |
820 | 820 |
821 void RenderThreadImpl::OnSetZoomLevelForCurrentURL(const std::string& host, | 821 void RenderThreadImpl::OnSetZoomLevelForCurrentURL(const std::string& host, |
822 double zoom_level) { | 822 double zoom_level) { |
823 RenderViewZoomer zoomer(host, zoom_level); | 823 RenderViewZoomer zoomer(host, zoom_level); |
824 content::RenderView::ForEach(&zoomer); | 824 content::RenderView::ForEach(&zoomer); |
825 } | 825 } |
826 | 826 |
| 827 RendererWebKitPlatformSupportImpl* |
| 828 RenderThreadImpl::CreateWebKitPlatformSupport() { |
| 829 return new RendererWebKitPlatformSupportImpl; |
| 830 } |
| 831 |
827 bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { | 832 bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
828 ObserverListBase<RenderProcessObserver>::Iterator it(observers_); | 833 ObserverListBase<RenderProcessObserver>::Iterator it(observers_); |
829 RenderProcessObserver* observer; | 834 RenderProcessObserver* observer; |
830 while ((observer = it.GetNext()) != NULL) { | 835 while ((observer = it.GetNext()) != NULL) { |
831 if (observer->OnControlMessageReceived(msg)) | 836 if (observer->OnControlMessageReceived(msg)) |
832 return true; | 837 return true; |
833 } | 838 } |
834 | 839 |
835 // Some messages are handled by delegates. | 840 // Some messages are handled by delegates. |
836 if (appcache_dispatcher_->OnMessageReceived(msg) || | 841 if (appcache_dispatcher_->OnMessageReceived(msg) || |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
986 | 991 |
987 scoped_refptr<base::MessageLoopProxy> | 992 scoped_refptr<base::MessageLoopProxy> |
988 RenderThreadImpl::GetFileThreadMessageLoopProxy() { | 993 RenderThreadImpl::GetFileThreadMessageLoopProxy() { |
989 DCHECK(message_loop() == MessageLoop::current()); | 994 DCHECK(message_loop() == MessageLoop::current()); |
990 if (!file_thread_.get()) { | 995 if (!file_thread_.get()) { |
991 file_thread_.reset(new base::Thread("Renderer::FILE")); | 996 file_thread_.reset(new base::Thread("Renderer::FILE")); |
992 file_thread_->Start(); | 997 file_thread_->Start(); |
993 } | 998 } |
994 return file_thread_->message_loop_proxy(); | 999 return file_thread_->message_loop_proxy(); |
995 } | 1000 } |
OLD | NEW |