Chromium Code Reviews| 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/renderer_webkitplatformsupport_impl.h" | 5 #include "content/renderer/renderer_webkitplatformsupport_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/platform_file.h" | 10 #include "base/platform_file.h" |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 166 sandbox_support_(new RendererWebKitPlatformSupportImpl::SandboxSupport), | 166 sandbox_support_(new RendererWebKitPlatformSupportImpl::SandboxSupport), |
| 167 sudden_termination_disables_(0), | 167 sudden_termination_disables_(0), |
| 168 shared_worker_repository_(new WebSharedWorkerRepositoryImpl) { | 168 shared_worker_repository_(new WebSharedWorkerRepositoryImpl) { |
| 169 } | 169 } |
| 170 | 170 |
| 171 RendererWebKitPlatformSupportImpl::~RendererWebKitPlatformSupportImpl() { | 171 RendererWebKitPlatformSupportImpl::~RendererWebKitPlatformSupportImpl() { |
| 172 } | 172 } |
| 173 | 173 |
| 174 //------------------------------------------------------------------------------ | 174 //------------------------------------------------------------------------------ |
| 175 | 175 |
| 176 namespace { | |
| 177 | |
| 178 bool SendSyncMessageFromAnyThreadInternal(IPC::SyncMessage* msg) { | |
| 179 RenderThreadImpl* render_thread = RenderThreadImpl::current(); | |
| 180 if (render_thread) | |
| 181 return render_thread->Send(msg); | |
| 182 scoped_refptr<IPC::SyncMessageFilter> sync_msg_filter( | |
| 183 ChildThread::current()->sync_message_filter()); | |
| 184 return sync_msg_filter->Send(msg); | |
| 185 } | |
| 186 | |
| 187 bool SendSyncMessageFromAnyThread(IPC::SyncMessage* msg) { | |
| 188 base::TimeTicks begin = base::TimeTicks::Now(); | |
| 189 const bool success = SendSyncMessageFromAnyThread(msg); | |
| 190 base::TimeDelta delta = base::TimeTicks::Now() - begin; | |
| 191 ChildThread::current()->Send(new ViewHostMsg_SyncIPCElapsedTime(delta)); | |
|
jam
2012/05/31 15:20:16
you can histogram from the renderer, just call HIS
kinuko
2012/05/31 17:10:36
oooops... (ashamed) done.
| |
| 192 return success; | |
| 193 } | |
| 194 | |
| 195 } // namespace | |
| 196 | |
| 176 WebKit::WebClipboard* RendererWebKitPlatformSupportImpl::clipboard() { | 197 WebKit::WebClipboard* RendererWebKitPlatformSupportImpl::clipboard() { |
| 177 return clipboard_.get(); | 198 return clipboard_.get(); |
| 178 } | 199 } |
| 179 | 200 |
| 180 WebKit::WebMimeRegistry* RendererWebKitPlatformSupportImpl::mimeRegistry() { | 201 WebKit::WebMimeRegistry* RendererWebKitPlatformSupportImpl::mimeRegistry() { |
| 181 return mime_registry_.get(); | 202 return mime_registry_.get(); |
| 182 } | 203 } |
| 183 | 204 |
| 184 WebKit::WebFileUtilities* | 205 WebKit::WebFileUtilities* |
| 185 RendererWebKitPlatformSupportImpl::fileUtilities() { | 206 RendererWebKitPlatformSupportImpl::fileUtilities() { |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 208 // As explained in WebKitPlatformSupport.h, this function is used to decide | 229 // As explained in WebKitPlatformSupport.h, this function is used to decide |
| 209 // whether to allow file system operations to come out of WebKit or not. | 230 // whether to allow file system operations to come out of WebKit or not. |
| 210 // Even if the sandbox is disabled, there's no reason why the code should | 231 // Even if the sandbox is disabled, there's no reason why the code should |
| 211 // act any differently...unless we're in single process mode. In which | 232 // act any differently...unless we're in single process mode. In which |
| 212 // case, we have no other choice. WebKitPlatformSupport.h discourages using | 233 // case, we have no other choice. WebKitPlatformSupport.h discourages using |
| 213 // this switch unless absolutely necessary, so hopefully we won't end up | 234 // this switch unless absolutely necessary, so hopefully we won't end up |
| 214 // with too many code paths being different in single-process mode. | 235 // with too many code paths being different in single-process mode. |
| 215 return !CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess); | 236 return !CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess); |
| 216 } | 237 } |
| 217 | 238 |
| 218 bool RendererWebKitPlatformSupportImpl::SendSyncMessageFromAnyThread( | |
| 219 IPC::SyncMessage* msg) { | |
| 220 RenderThreadImpl* render_thread = RenderThreadImpl::current(); | |
| 221 if (render_thread) | |
| 222 return render_thread->Send(msg); | |
| 223 | |
| 224 scoped_refptr<IPC::SyncMessageFilter> sync_msg_filter( | |
| 225 ChildThread::current()->sync_message_filter()); | |
| 226 return sync_msg_filter->Send(msg); | |
| 227 } | |
| 228 | |
| 229 unsigned long long RendererWebKitPlatformSupportImpl::visitedLinkHash( | 239 unsigned long long RendererWebKitPlatformSupportImpl::visitedLinkHash( |
| 230 const char* canonical_url, | 240 const char* canonical_url, |
| 231 size_t length) { | 241 size_t length) { |
| 232 return content::GetContentClient()->renderer()->VisitedLinkHash( | 242 return content::GetContentClient()->renderer()->VisitedLinkHash( |
| 233 canonical_url, length); | 243 canonical_url, length); |
| 234 } | 244 } |
| 235 | 245 |
| 236 bool RendererWebKitPlatformSupportImpl::isLinkVisited( | 246 bool RendererWebKitPlatformSupportImpl::isLinkVisited( |
| 237 unsigned long long link_hash) { | 247 unsigned long long link_hash) { |
| 238 return content::GetContentClient()->renderer()->IsLinkVisited(link_hash); | 248 return content::GetContentClient()->renderer()->IsLinkVisited(link_hash); |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 704 DCHECK(render_thread); | 714 DCHECK(render_thread); |
| 705 if (!render_thread) | 715 if (!render_thread) |
| 706 return NULL; | 716 return NULL; |
| 707 return render_thread->CreateMediaStreamCenter(client); | 717 return render_thread->CreateMediaStreamCenter(client); |
| 708 } | 718 } |
| 709 | 719 |
| 710 GpuChannelHostFactory* | 720 GpuChannelHostFactory* |
| 711 RendererWebKitPlatformSupportImpl::GetGpuChannelHostFactory() { | 721 RendererWebKitPlatformSupportImpl::GetGpuChannelHostFactory() { |
| 712 return RenderThreadImpl::current(); | 722 return RenderThreadImpl::current(); |
| 713 } | 723 } |
| OLD | NEW |