OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "webkit/glue/webkitplatformsupport_impl.h" | 5 #include "webkit/glue/webkitplatformsupport_impl.h" |
6 | 6 |
7 #if defined(OS_LINUX) | 7 #if defined(OS_LINUX) |
8 #include <malloc.h> | 8 #include <malloc.h> |
9 #endif | 9 #endif |
10 | 10 |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 } | 216 } |
217 | 217 |
218 WebKitPlatformSupportImpl::~WebKitPlatformSupportImpl() { | 218 WebKitPlatformSupportImpl::~WebKitPlatformSupportImpl() { |
219 } | 219 } |
220 | 220 |
221 WebThemeEngine* WebKitPlatformSupportImpl::themeEngine() { | 221 WebThemeEngine* WebKitPlatformSupportImpl::themeEngine() { |
222 return &theme_engine_; | 222 return &theme_engine_; |
223 } | 223 } |
224 | 224 |
225 WebURLLoader* WebKitPlatformSupportImpl::createURLLoader() { | 225 WebURLLoader* WebKitPlatformSupportImpl::createURLLoader() { |
226 return new WebURLLoaderImpl(); | 226 return new WebURLLoaderImpl(this); |
227 } | 227 } |
228 | 228 |
229 WebSocketStreamHandle* WebKitPlatformSupportImpl::createSocketStreamHandle() { | 229 WebSocketStreamHandle* WebKitPlatformSupportImpl::createSocketStreamHandle() { |
230 return new WebSocketStreamHandleImpl(); | 230 return new WebSocketStreamHandleImpl(this); |
231 } | 231 } |
232 | 232 |
233 WebString WebKitPlatformSupportImpl::userAgent(const WebURL& url) { | 233 WebString WebKitPlatformSupportImpl::userAgent(const WebURL& url) { |
234 return WebString::fromUTF8(webkit_glue::GetUserAgent(url)); | 234 return WebString::fromUTF8(webkit_glue::GetUserAgent(url)); |
235 } | 235 } |
236 | 236 |
237 void WebKitPlatformSupportImpl::getPluginList(bool refresh, | 237 void WebKitPlatformSupportImpl::getPluginList(bool refresh, |
238 WebPluginListBuilder* builder) { | 238 WebPluginListBuilder* builder) { |
239 std::vector<webkit::WebPluginInfo> plugins; | 239 std::vector<webkit::WebPluginInfo> plugins; |
240 GetPlugins(refresh, &plugins); | 240 GetPlugins(refresh, &plugins); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 TRACE_EVENT_BEGIN_ETW(name, id, extra); | 299 TRACE_EVENT_BEGIN_ETW(name, id, extra); |
300 } | 300 } |
301 | 301 |
302 void WebKitPlatformSupportImpl::traceEventEnd(const char* name, void* id, | 302 void WebKitPlatformSupportImpl::traceEventEnd(const char* name, void* id, |
303 const char* extra) { | 303 const char* extra) { |
304 TRACE_EVENT_END_ETW(name, id, extra); | 304 TRACE_EVENT_END_ETW(name, id, extra); |
305 } | 305 } |
306 | 306 |
307 namespace { | 307 namespace { |
308 | 308 |
309 WebData loadAudioSpatializationResource(const char* name) { | 309 WebData loadAudioSpatializationResource(WebKitPlatformSupportImpl* platform, |
| 310 const char* name) { |
310 #ifdef IDR_AUDIO_SPATIALIZATION_T000_P000 | 311 #ifdef IDR_AUDIO_SPATIALIZATION_T000_P000 |
311 const size_t kExpectedSpatializationNameLength = 31; | 312 const size_t kExpectedSpatializationNameLength = 31; |
312 if (strlen(name) != kExpectedSpatializationNameLength) { | 313 if (strlen(name) != kExpectedSpatializationNameLength) { |
313 return WebData(); | 314 return WebData(); |
314 } | 315 } |
315 | 316 |
316 // Extract the azimuth and elevation from the resource name. | 317 // Extract the azimuth and elevation from the resource name. |
317 int azimuth = 0; | 318 int azimuth = 0; |
318 int elevation = 0; | 319 int elevation = 0; |
319 int values_parsed = | 320 int values_parsed = |
(...skipping 19 matching lines...) Expand all Loading... |
339 const int kNumberOfElevations = 10; | 340 const int kNumberOfElevations = 10; |
340 const int kNumberOfAudioResources = 240; | 341 const int kNumberOfAudioResources = 240; |
341 int resource_index = kNumberOfElevations * azimuth_index + elevation_index; | 342 int resource_index = kNumberOfElevations * azimuth_index + elevation_index; |
342 bool is_resource_index_good = 0 <= resource_index && | 343 bool is_resource_index_good = 0 <= resource_index && |
343 resource_index < kNumberOfAudioResources; | 344 resource_index < kNumberOfAudioResources; |
344 | 345 |
345 if (is_azimuth_index_good && is_elevation_index_good && | 346 if (is_azimuth_index_good && is_elevation_index_good && |
346 is_resource_index_good) { | 347 is_resource_index_good) { |
347 const int kFirstAudioResourceIndex = IDR_AUDIO_SPATIALIZATION_T000_P000; | 348 const int kFirstAudioResourceIndex = IDR_AUDIO_SPATIALIZATION_T000_P000; |
348 base::StringPiece resource = | 349 base::StringPiece resource = |
349 GetDataResource(kFirstAudioResourceIndex + resource_index); | 350 platform->GetDataResource(kFirstAudioResourceIndex + resource_index); |
350 return WebData(resource.data(), resource.size()); | 351 return WebData(resource.data(), resource.size()); |
351 } | 352 } |
352 #endif // IDR_AUDIO_SPATIALIZATION_T000_P000 | 353 #endif // IDR_AUDIO_SPATIALIZATION_T000_P000 |
353 | 354 |
354 NOTREACHED(); | 355 NOTREACHED(); |
355 return WebData(); | 356 return WebData(); |
356 } | 357 } |
357 | 358 |
358 struct DataResource { | 359 struct DataResource { |
359 const char* name; | 360 const char* name; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 | 428 |
428 WebData WebKitPlatformSupportImpl::loadResource(const char* name) { | 429 WebData WebKitPlatformSupportImpl::loadResource(const char* name) { |
429 // Some clients will call into this method with an empty |name| when they have | 430 // Some clients will call into this method with an empty |name| when they have |
430 // optional resources. For example, the PopupMenuChromium code can have icons | 431 // optional resources. For example, the PopupMenuChromium code can have icons |
431 // for some Autofill items but not for others. | 432 // for some Autofill items but not for others. |
432 if (!strlen(name)) | 433 if (!strlen(name)) |
433 return WebData(); | 434 return WebData(); |
434 | 435 |
435 // Check the name prefix to see if it's an audio resource. | 436 // Check the name prefix to see if it's an audio resource. |
436 if (StartsWithASCII(name, "IRC_Composite", true)) | 437 if (StartsWithASCII(name, "IRC_Composite", true)) |
437 return loadAudioSpatializationResource(name); | 438 return loadAudioSpatializationResource(this, name); |
438 | 439 |
439 for (size_t i = 0; i < arraysize(kDataResources); ++i) { | 440 for (size_t i = 0; i < arraysize(kDataResources); ++i) { |
440 if (!strcmp(name, kDataResources[i].name)) { | 441 if (!strcmp(name, kDataResources[i].name)) { |
441 base::StringPiece resource = GetDataResource(kDataResources[i].id); | 442 base::StringPiece resource = GetDataResource(kDataResources[i].id); |
442 return WebData(resource.data(), resource.size()); | 443 return WebData(resource.data(), resource.size()); |
443 } | 444 } |
444 } | 445 } |
445 | 446 |
446 NOTREACHED() << "Unknown image resource " << name; | 447 NOTREACHED() << "Unknown image resource " << name; |
447 return WebData(); | 448 return WebData(); |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 } | 680 } |
680 | 681 |
681 // static | 682 // static |
682 void WebKitPlatformSupportImpl::DestroyCurrentThread(void* thread) { | 683 void WebKitPlatformSupportImpl::DestroyCurrentThread(void* thread) { |
683 WebThreadImplForMessageLoop* impl = | 684 WebThreadImplForMessageLoop* impl = |
684 static_cast<WebThreadImplForMessageLoop*>(thread); | 685 static_cast<WebThreadImplForMessageLoop*>(thread); |
685 delete impl; | 686 delete impl; |
686 } | 687 } |
687 | 688 |
688 } // namespace webkit_glue | 689 } // namespace webkit_glue |
OLD | NEW |