Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(827)

Side by Side Diff: content/renderer/render_thread_impl.cc

Issue 2304073003: Mojoify time zone update IPC from browser to renderer (Closed)
Patch Set: Switch to push Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <utility> 10 #include <utility>
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 const InProcessChildThreadParams& params, 581 const InProcessChildThreadParams& params,
582 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler, 582 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler,
583 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) 583 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue)
584 : ChildThreadImpl(Options::Builder() 584 : ChildThreadImpl(Options::Builder()
585 .InBrowserProcess(params) 585 .InBrowserProcess(params)
586 .UseMojoChannel(true) 586 .UseMojoChannel(true)
587 .AutoStartMojoShellConnection(false) 587 .AutoStartMojoShellConnection(false)
588 .ConnectToBrowser(true) 588 .ConnectToBrowser(true)
589 .Build()), 589 .Build()),
590 renderer_scheduler_(std::move(scheduler)), 590 renderer_scheduler_(std::move(scheduler)),
591 time_zone_monitor_binding_(this),
591 categorized_worker_pool_(new CategorizedWorkerPool()) { 592 categorized_worker_pool_(new CategorizedWorkerPool()) {
592 Init(resource_task_queue); 593 Init(resource_task_queue);
593 } 594 }
594 595
595 // When we run plugins in process, we actually run them on the render thread, 596 // When we run plugins in process, we actually run them on the render thread,
596 // which means that we need to make the render thread pump UI events. 597 // which means that we need to make the render thread pump UI events.
597 RenderThreadImpl::RenderThreadImpl( 598 RenderThreadImpl::RenderThreadImpl(
598 std::unique_ptr<base::MessageLoop> main_message_loop, 599 std::unique_ptr<base::MessageLoop> main_message_loop,
599 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler) 600 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler)
600 : ChildThreadImpl(Options::Builder() 601 : ChildThreadImpl(Options::Builder()
601 .UseMojoChannel(true) 602 .UseMojoChannel(true)
602 .AutoStartMojoShellConnection(false) 603 .AutoStartMojoShellConnection(false)
603 .ConnectToBrowser(true) 604 .ConnectToBrowser(true)
604 .Build()), 605 .Build()),
605 renderer_scheduler_(std::move(scheduler)), 606 renderer_scheduler_(std::move(scheduler)),
607 time_zone_monitor_binding_(this),
606 main_message_loop_(std::move(main_message_loop)), 608 main_message_loop_(std::move(main_message_loop)),
607 categorized_worker_pool_(new CategorizedWorkerPool()) { 609 categorized_worker_pool_(new CategorizedWorkerPool()) {
608 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter; 610 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter;
609 Init(test_task_counter); 611 Init(test_task_counter);
610 } 612 }
611 613
612 void RenderThreadImpl::Init( 614 void RenderThreadImpl::Init(
613 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) { 615 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) {
614 TRACE_EVENT0("startup", "RenderThreadImpl::Init"); 616 TRACE_EVENT0("startup", "RenderThreadImpl::Init");
615 617
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 850
849 GetContentClient()->renderer()->ExposeInterfacesToBrowser( 851 GetContentClient()->renderer()->ExposeInterfacesToBrowser(
850 GetInterfaceRegistry()); 852 GetInterfaceRegistry());
851 853
852 GetInterfaceRegistry()->AddInterface(base::Bind(CreateFrameFactory)); 854 GetInterfaceRegistry()->AddInterface(base::Bind(CreateFrameFactory));
853 GetInterfaceRegistry()->AddInterface(base::Bind(CreateEmbeddedWorkerSetup)); 855 GetInterfaceRegistry()->AddInterface(base::Bind(CreateEmbeddedWorkerSetup));
854 856
855 GetRemoteInterfaces()->GetInterface( 857 GetRemoteInterfaces()->GetInterface(
856 mojo::GetProxy(&storage_partition_service_)); 858 mojo::GetProxy(&storage_partition_service_));
857 859
860 GetRemoteInterfaces()->GetInterface(mojo::GetProxy(&time_zone_monitor_));
Ken Rockot(use gerrit already) 2016/09/13 15:27:03 nit: No need for time_zone_monitor_ to be owned by
blundell 2016/09/14 09:35:13 Done.
861 time_zone_monitor_->AddClient(
862 time_zone_monitor_binding_.CreateInterfacePtrAndBind());
863
858 is_renderer_suspended_ = false; 864 is_renderer_suspended_ = false;
859 } 865 }
860 866
861 RenderThreadImpl::~RenderThreadImpl() { 867 RenderThreadImpl::~RenderThreadImpl() {
862 } 868 }
863 869
864 void RenderThreadImpl::Shutdown() { 870 void RenderThreadImpl::Shutdown() {
865 FOR_EACH_OBSERVER( 871 FOR_EACH_OBSERVER(
866 RenderThreadObserver, observers_, OnRenderProcessShutdown()); 872 RenderThreadObserver, observers_, OnRenderProcessShutdown());
867 873
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
1644 bool handled = true; 1650 bool handled = true;
1645 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) 1651 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg)
1646 IPC_MESSAGE_HANDLER(FrameMsg_NewFrame, OnCreateNewFrame) 1652 IPC_MESSAGE_HANDLER(FrameMsg_NewFrame, OnCreateNewFrame)
1647 IPC_MESSAGE_HANDLER(FrameMsg_NewFrameProxy, OnCreateNewFrameProxy) 1653 IPC_MESSAGE_HANDLER(FrameMsg_NewFrameProxy, OnCreateNewFrameProxy)
1648 // TODO(port): removed from render_messages_internal.h; 1654 // TODO(port): removed from render_messages_internal.h;
1649 // is there a new non-windows message I should add here? 1655 // is there a new non-windows message I should add here?
1650 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) 1656 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView)
1651 IPC_MESSAGE_HANDLER(ViewMsg_NetworkConnectionChanged, 1657 IPC_MESSAGE_HANDLER(ViewMsg_NetworkConnectionChanged,
1652 OnNetworkConnectionChanged) 1658 OnNetworkConnectionChanged)
1653 IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateNewSharedWorker) 1659 IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateNewSharedWorker)
1654 IPC_MESSAGE_HANDLER(ViewMsg_TimezoneChange, OnUpdateTimezone)
1655 #if defined(OS_ANDROID) 1660 #if defined(OS_ANDROID)
1656 IPC_MESSAGE_HANDLER(ViewMsg_SetWebKitSharedTimersSuspended, 1661 IPC_MESSAGE_HANDLER(ViewMsg_SetWebKitSharedTimersSuspended,
1657 OnSetWebKitSharedTimersSuspended) 1662 OnSetWebKitSharedTimersSuspended)
1658 #endif 1663 #endif
1659 #if defined(OS_MACOSX) 1664 #if defined(OS_MACOSX)
1660 IPC_MESSAGE_HANDLER(ViewMsg_UpdateScrollbarTheme, OnUpdateScrollbarTheme) 1665 IPC_MESSAGE_HANDLER(ViewMsg_UpdateScrollbarTheme, OnUpdateScrollbarTheme)
1661 IPC_MESSAGE_HANDLER(ViewMsg_SystemColorsChanged, OnSystemColorsChanged) 1666 IPC_MESSAGE_HANDLER(ViewMsg_SystemColorsChanged, OnSystemColorsChanged)
1662 #endif 1667 #endif
1663 #if defined(ENABLE_PLUGINS) 1668 #if defined(ENABLE_PLUGINS)
1664 IPC_MESSAGE_HANDLER(ViewMsg_PurgePluginListCache, OnPurgePluginListCache) 1669 IPC_MESSAGE_HANDLER(ViewMsg_PurgePluginListCache, OnPurgePluginListCache)
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
1966 net::NetworkChangeNotifier::ConnectionType type, 1971 net::NetworkChangeNotifier::ConnectionType type,
1967 double max_bandwidth_mbps) { 1972 double max_bandwidth_mbps) {
1968 bool online = type != net::NetworkChangeNotifier::CONNECTION_NONE; 1973 bool online = type != net::NetworkChangeNotifier::CONNECTION_NONE;
1969 WebNetworkStateNotifier::setOnLine(online); 1974 WebNetworkStateNotifier::setOnLine(online);
1970 FOR_EACH_OBSERVER( 1975 FOR_EACH_OBSERVER(
1971 RenderThreadObserver, observers_, NetworkStateChanged(online)); 1976 RenderThreadObserver, observers_, NetworkStateChanged(online));
1972 WebNetworkStateNotifier::setWebConnection( 1977 WebNetworkStateNotifier::setWebConnection(
1973 NetConnectionTypeToWebConnectionType(type), max_bandwidth_mbps); 1978 NetConnectionTypeToWebConnectionType(type), max_bandwidth_mbps);
1974 } 1979 }
1975 1980
1976 void RenderThreadImpl::OnUpdateTimezone(const std::string& zone_id) { 1981 void RenderThreadImpl::OnTimeZoneChange(const std::string& zone_id) {
1977 if (!blink_platform_impl_) 1982 if (!blink_platform_impl_)
1978 return; 1983 return;
1979 if (!zone_id.empty()) { 1984 if (!zone_id.empty()) {
1980 icu::TimeZone *new_zone = icu::TimeZone::createTimeZone( 1985 icu::TimeZone *new_zone = icu::TimeZone::createTimeZone(
1981 icu::UnicodeString::fromUTF8(zone_id)); 1986 icu::UnicodeString::fromUTF8(zone_id));
1982 icu::TimeZone::adoptDefault(new_zone); 1987 icu::TimeZone::adoptDefault(new_zone);
1983 VLOG(1) << "ICU default timezone is set to " << zone_id; 1988 VLOG(1) << "ICU default timezone is set to " << zone_id;
1984 } 1989 }
1985 NotifyTimezoneChange(); 1990 NotifyTimezoneChange();
1986 } 1991 }
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
2227 if (blink::mainThreadIsolate()) { 2232 if (blink::mainThreadIsolate()) {
2228 blink::mainThreadIsolate()->MemoryPressureNotification( 2233 blink::mainThreadIsolate()->MemoryPressureNotification(
2229 v8::MemoryPressureLevel::kCritical); 2234 v8::MemoryPressureLevel::kCritical);
2230 blink::MemoryPressureNotificationToWorkerThreadIsolates( 2235 blink::MemoryPressureNotificationToWorkerThreadIsolates(
2231 v8::MemoryPressureLevel::kCritical); 2236 v8::MemoryPressureLevel::kCritical);
2232 } 2237 }
2233 } 2238 }
2234 2239
2235 2240
2236 } // namespace content 2241 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698