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 "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 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
374 } | 374 } |
375 #endif // IDR_AUDIO_SPATIALIZATION_T000_P000 | 375 #endif // IDR_AUDIO_SPATIALIZATION_T000_P000 |
376 | 376 |
377 NOTREACHED(); | 377 NOTREACHED(); |
378 return WebData(); | 378 return WebData(); |
379 } | 379 } |
380 | 380 |
381 struct DataResource { | 381 struct DataResource { |
382 const char* name; | 382 const char* name; |
383 int id; | 383 int id; |
384 float scale_factor; | |
384 }; | 385 }; |
385 | 386 |
386 const DataResource kDataResources[] = { | 387 const DataResource kDataResources[] = { |
387 { "missingImage", IDR_BROKENIMAGE }, | 388 { "missingImage", IDR_BROKENIMAGE, 1.0 }, |
389 { "missingImage@2x", IDR_BROKENIMAGE, 2.0 }, | |
tony
2012/05/07 17:02:34
Nit: I would have just made a second list of 2x re
| |
388 #if defined(OS_ANDROID) | 390 #if defined(OS_ANDROID) |
389 { "mediaFullscreen", IDR_MEDIA_FULLSCREEN_BUTTON }, | 391 { "mediaFullscreen", IDR_MEDIA_FULLSCREEN_BUTTON, 1.0 }, |
390 #endif | 392 #endif |
391 { "mediaPause", IDR_MEDIA_PAUSE_BUTTON }, | 393 { "mediaPause", IDR_MEDIA_PAUSE_BUTTON, 1.0 }, |
392 { "mediaPlay", IDR_MEDIA_PLAY_BUTTON }, | 394 { "mediaPlay", IDR_MEDIA_PLAY_BUTTON, 1.0 }, |
393 { "mediaPlayDisabled", IDR_MEDIA_PLAY_BUTTON_DISABLED }, | 395 { "mediaPlayDisabled", IDR_MEDIA_PLAY_BUTTON_DISABLED, 1.0 }, |
394 { "mediaSoundDisabled", IDR_MEDIA_SOUND_DISABLED }, | 396 { "mediaSoundDisabled", IDR_MEDIA_SOUND_DISABLED, 1.0 }, |
395 { "mediaSoundFull", IDR_MEDIA_SOUND_FULL_BUTTON }, | 397 { "mediaSoundFull", IDR_MEDIA_SOUND_FULL_BUTTON, 1.0 }, |
396 { "mediaSoundNone", IDR_MEDIA_SOUND_NONE_BUTTON }, | 398 { "mediaSoundNone", IDR_MEDIA_SOUND_NONE_BUTTON, 1.0 }, |
397 { "mediaSliderThumb", IDR_MEDIA_SLIDER_THUMB }, | 399 { "mediaSliderThumb", IDR_MEDIA_SLIDER_THUMB, 1.0 }, |
398 { "mediaVolumeSliderThumb", IDR_MEDIA_VOLUME_SLIDER_THUMB }, | 400 { "mediaVolumeSliderThumb", IDR_MEDIA_VOLUME_SLIDER_THUMB, 1.0 }, |
399 { "mediaplayerPause", IDR_MEDIAPLAYER_PAUSE_BUTTON }, | 401 { "mediaplayerPause", IDR_MEDIAPLAYER_PAUSE_BUTTON, 1.0 }, |
400 { "mediaplayerPauseHover", IDR_MEDIAPLAYER_PAUSE_BUTTON_HOVER }, | 402 { "mediaplayerPauseHover", IDR_MEDIAPLAYER_PAUSE_BUTTON_HOVER, 1.0 }, |
401 { "mediaplayerPauseDown", IDR_MEDIAPLAYER_PAUSE_BUTTON_DOWN }, | 403 { "mediaplayerPauseDown", IDR_MEDIAPLAYER_PAUSE_BUTTON_DOWN, 1.0 }, |
402 { "mediaplayerPlay", IDR_MEDIAPLAYER_PLAY_BUTTON }, | 404 { "mediaplayerPlay", IDR_MEDIAPLAYER_PLAY_BUTTON, 1.0 }, |
403 { "mediaplayerPlayHover", IDR_MEDIAPLAYER_PLAY_BUTTON_HOVER }, | 405 { "mediaplayerPlayHover", IDR_MEDIAPLAYER_PLAY_BUTTON_HOVER, 1.0 }, |
404 { "mediaplayerPlayDown", IDR_MEDIAPLAYER_PLAY_BUTTON_DOWN }, | 406 { "mediaplayerPlayDown", IDR_MEDIAPLAYER_PLAY_BUTTON_DOWN, 1.0 }, |
405 { "mediaplayerPlayDisabled", IDR_MEDIAPLAYER_PLAY_BUTTON_DISABLED }, | 407 { "mediaplayerPlayDisabled", IDR_MEDIAPLAYER_PLAY_BUTTON_DISABLED, 1.0 }, |
406 { "mediaplayerSoundLevel3", IDR_MEDIAPLAYER_SOUND_LEVEL3_BUTTON }, | 408 { "mediaplayerSoundLevel3", IDR_MEDIAPLAYER_SOUND_LEVEL3_BUTTON, 1.0 }, |
407 { "mediaplayerSoundLevel3Hover", IDR_MEDIAPLAYER_SOUND_LEVEL3_BUTTON_HOVER }, | 409 { "mediaplayerSoundLevel3Hover", |
408 { "mediaplayerSoundLevel3Down", IDR_MEDIAPLAYER_SOUND_LEVEL3_BUTTON_DOWN }, | 410 IDR_MEDIAPLAYER_SOUND_LEVEL3_BUTTON_HOVER, 1.0 }, |
409 { "mediaplayerSoundLevel2", IDR_MEDIAPLAYER_SOUND_LEVEL2_BUTTON }, | 411 { "mediaplayerSoundLevel3Down", |
412 IDR_MEDIAPLAYER_SOUND_LEVEL3_BUTTON_DOWN, 1.0 }, | |
413 { "mediaplayerSoundLevel2", IDR_MEDIAPLAYER_SOUND_LEVEL2_BUTTON, 1.0 }, | |
410 { "mediaplayerSoundLevel2Hover", | 414 { "mediaplayerSoundLevel2Hover", |
411 IDR_MEDIAPLAYER_SOUND_LEVEL2_BUTTON_HOVER }, | 415 IDR_MEDIAPLAYER_SOUND_LEVEL2_BUTTON_HOVER, 1.0 }, |
412 { "mediaplayerSoundLevel2Down", IDR_MEDIAPLAYER_SOUND_LEVEL2_BUTTON_DOWN }, | 416 { "mediaplayerSoundLevel2Down", |
413 { "mediaplayerSoundLevel1", IDR_MEDIAPLAYER_SOUND_LEVEL1_BUTTON }, | 417 IDR_MEDIAPLAYER_SOUND_LEVEL2_BUTTON_DOWN, 1.0 }, |
418 { "mediaplayerSoundLevel1", IDR_MEDIAPLAYER_SOUND_LEVEL1_BUTTON, 1.0 }, | |
414 { "mediaplayerSoundLevel1Hover", | 419 { "mediaplayerSoundLevel1Hover", |
415 IDR_MEDIAPLAYER_SOUND_LEVEL1_BUTTON_HOVER }, | 420 IDR_MEDIAPLAYER_SOUND_LEVEL1_BUTTON_HOVER, 1.0 }, |
416 { "mediaplayerSoundLevel1Down", IDR_MEDIAPLAYER_SOUND_LEVEL1_BUTTON_DOWN }, | 421 { "mediaplayerSoundLevel1Down", |
417 { "mediaplayerSoundLevel0", IDR_MEDIAPLAYER_SOUND_LEVEL0_BUTTON }, | 422 IDR_MEDIAPLAYER_SOUND_LEVEL1_BUTTON_DOWN, 1.0 }, |
423 { "mediaplayerSoundLevel0", IDR_MEDIAPLAYER_SOUND_LEVEL0_BUTTON, 1.0 }, | |
418 { "mediaplayerSoundLevel0Hover", | 424 { "mediaplayerSoundLevel0Hover", |
419 IDR_MEDIAPLAYER_SOUND_LEVEL0_BUTTON_HOVER }, | 425 IDR_MEDIAPLAYER_SOUND_LEVEL0_BUTTON_HOVER, 1.0 }, |
420 { "mediaplayerSoundLevel0Down", IDR_MEDIAPLAYER_SOUND_LEVEL0_BUTTON_DOWN }, | 426 { "mediaplayerSoundLevel0Down", |
421 { "mediaplayerSoundDisabled", IDR_MEDIAPLAYER_SOUND_DISABLED }, | 427 IDR_MEDIAPLAYER_SOUND_LEVEL0_BUTTON_DOWN, 1.0 }, |
422 { "mediaplayerSliderThumb", IDR_MEDIAPLAYER_SLIDER_THUMB }, | 428 { "mediaplayerSoundDisabled", IDR_MEDIAPLAYER_SOUND_DISABLED, 1.0 }, |
423 { "mediaplayerSliderThumbHover", IDR_MEDIAPLAYER_SLIDER_THUMB_HOVER }, | 429 { "mediaplayerSliderThumb", IDR_MEDIAPLAYER_SLIDER_THUMB, 1.0 }, |
424 { "mediaplayerSliderThumbDown", IDR_MEDIAPLAYER_SLIDER_THUMB_DOWN }, | 430 { "mediaplayerSliderThumbHover", IDR_MEDIAPLAYER_SLIDER_THUMB_HOVER, 1.0 }, |
425 { "mediaplayerVolumeSliderThumb", IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB }, | 431 { "mediaplayerSliderThumbDown", IDR_MEDIAPLAYER_SLIDER_THUMB_DOWN, 1.0 }, |
432 { "mediaplayerVolumeSliderThumb", IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB, 1.0 }, | |
426 { "mediaplayerVolumeSliderThumbHover", | 433 { "mediaplayerVolumeSliderThumbHover", |
427 IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB_HOVER }, | 434 IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB_HOVER, 1.0 }, |
428 { "mediaplayerVolumeSliderThumbDown", | 435 { "mediaplayerVolumeSliderThumbDown", |
429 IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB_DOWN }, | 436 IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB_DOWN, 1.0 }, |
430 { "mediaplayerVolumeSliderThumbDisabled", | 437 { "mediaplayerVolumeSliderThumbDisabled", |
431 IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB_DISABLED }, | 438 IDR_MEDIAPLAYER_VOLUME_SLIDER_THUMB_DISABLED, 1.0 }, |
432 { "mediaplayerFullscreen", IDR_MEDIAPLAYER_FULLSCREEN_BUTTON }, | 439 { "mediaplayerFullscreen", IDR_MEDIAPLAYER_FULLSCREEN_BUTTON, 1.0 }, |
433 { "mediaplayerFullscreenHover", IDR_MEDIAPLAYER_FULLSCREEN_BUTTON_HOVER }, | 440 { "mediaplayerFullscreenHover", |
434 { "mediaplayerFullscreenDown", IDR_MEDIAPLAYER_FULLSCREEN_BUTTON_DOWN }, | 441 IDR_MEDIAPLAYER_FULLSCREEN_BUTTON_HOVER, 1.0 }, |
442 { "mediaplayerFullscreenDown", IDR_MEDIAPLAYER_FULLSCREEN_BUTTON_DOWN, 1.0 }, | |
435 { "mediaplayerFullscreenDisabled", | 443 { "mediaplayerFullscreenDisabled", |
436 IDR_MEDIAPLAYER_FULLSCREEN_BUTTON_DISABLED }, | 444 IDR_MEDIAPLAYER_FULLSCREEN_BUTTON_DISABLED, 1.0 }, |
437 #if defined(OS_MACOSX) | 445 #if defined(OS_MACOSX) |
438 { "overhangPattern", IDR_OVERHANG_PATTERN }, | 446 { "overhangPattern", IDR_OVERHANG_PATTERN, 1.0 }, |
439 #endif | 447 #endif |
440 { "panIcon", IDR_PAN_SCROLL_ICON }, | 448 { "panIcon", IDR_PAN_SCROLL_ICON, 1.0 }, |
441 { "searchCancel", IDR_SEARCH_CANCEL }, | 449 { "searchCancel", IDR_SEARCH_CANCEL, 1.0 }, |
442 { "searchCancelPressed", IDR_SEARCH_CANCEL_PRESSED }, | 450 { "searchCancelPressed", IDR_SEARCH_CANCEL_PRESSED, 1.0 }, |
443 { "searchMagnifier", IDR_SEARCH_MAGNIFIER }, | 451 { "searchMagnifier", IDR_SEARCH_MAGNIFIER, 1.0 }, |
444 { "searchMagnifierResults", IDR_SEARCH_MAGNIFIER_RESULTS }, | 452 { "searchMagnifierResults", IDR_SEARCH_MAGNIFIER_RESULTS, 1.0 }, |
445 { "textAreaResizeCorner", IDR_TEXTAREA_RESIZER }, | 453 { "textAreaResizeCorner", IDR_TEXTAREA_RESIZER, 1.0 }, |
446 { "tickmarkDash", IDR_TICKMARK_DASH }, | 454 { "textAreaResizeCorner@2x", IDR_TEXTAREA_RESIZER, 2.0 }, |
447 { "inputSpeech", IDR_INPUT_SPEECH }, | 455 { "tickmarkDash", IDR_TICKMARK_DASH, 1.0 }, |
448 { "inputSpeechRecording", IDR_INPUT_SPEECH_RECORDING }, | 456 { "inputSpeech", IDR_INPUT_SPEECH, 1.0 }, |
449 { "inputSpeechWaiting", IDR_INPUT_SPEECH_WAITING }, | 457 { "inputSpeechRecording", IDR_INPUT_SPEECH_RECORDING, 1.0 }, |
450 { "americanExpressCC", IDR_AUTOFILL_CC_AMEX }, | 458 { "inputSpeechWaiting", IDR_INPUT_SPEECH_WAITING, 1.0 }, |
451 { "dinersCC", IDR_AUTOFILL_CC_DINERS }, | 459 { "americanExpressCC", IDR_AUTOFILL_CC_AMEX, 1.0 }, |
452 { "discoverCC", IDR_AUTOFILL_CC_DISCOVER }, | 460 { "dinersCC", IDR_AUTOFILL_CC_DINERS, 1.0 }, |
453 { "genericCC", IDR_AUTOFILL_CC_GENERIC }, | 461 { "discoverCC", IDR_AUTOFILL_CC_DISCOVER, 1.0 }, |
454 { "jcbCC", IDR_AUTOFILL_CC_JCB }, | 462 { "genericCC", IDR_AUTOFILL_CC_GENERIC, 1.0 }, |
455 { "masterCardCC", IDR_AUTOFILL_CC_MASTERCARD }, | 463 { "jcbCC", IDR_AUTOFILL_CC_JCB, 1.0 }, |
456 { "soloCC", IDR_AUTOFILL_CC_SOLO }, | 464 { "masterCardCC", IDR_AUTOFILL_CC_MASTERCARD, 1.0 }, |
457 { "visaCC", IDR_AUTOFILL_CC_VISA }, | 465 { "soloCC", IDR_AUTOFILL_CC_SOLO, 1.0 }, |
466 { "visaCC", IDR_AUTOFILL_CC_VISA, 1.0 }, | |
458 }; | 467 }; |
459 | 468 |
460 } // namespace | 469 } // namespace |
461 | 470 |
462 WebData WebKitPlatformSupportImpl::loadResource(const char* name) { | 471 WebData WebKitPlatformSupportImpl::loadResource(const char* name) { |
463 // Some clients will call into this method with an empty |name| when they have | 472 // Some clients will call into this method with an empty |name| when they have |
464 // optional resources. For example, the PopupMenuChromium code can have icons | 473 // optional resources. For example, the PopupMenuChromium code can have icons |
465 // for some Autofill items but not for others. | 474 // for some Autofill items but not for others. |
466 if (!strlen(name)) | 475 if (!strlen(name)) |
467 return WebData(); | 476 return WebData(); |
468 | 477 |
469 // Check the name prefix to see if it's an audio resource. | 478 // Check the name prefix to see if it's an audio resource. |
470 if (StartsWithASCII(name, "IRC_Composite", true)) | 479 if (StartsWithASCII(name, "IRC_Composite", true)) |
471 return loadAudioSpatializationResource(this, name); | 480 return loadAudioSpatializationResource(this, name); |
472 | 481 |
482 // TODO(flackr): We should use a better than linear search here, a trie would | |
483 // be ideal. | |
473 for (size_t i = 0; i < arraysize(kDataResources); ++i) { | 484 for (size_t i = 0; i < arraysize(kDataResources); ++i) { |
474 if (!strcmp(name, kDataResources[i].name)) { | 485 if (!strcmp(name, kDataResources[i].name)) { |
475 base::StringPiece resource = GetDataResource(kDataResources[i].id); | 486 base::StringPiece resource = |
487 GetImageResource(kDataResources[i].id, | |
488 kDataResources[i].scale_factor); | |
476 return WebData(resource.data(), resource.size()); | 489 return WebData(resource.data(), resource.size()); |
477 } | 490 } |
478 } | 491 } |
479 | 492 |
480 NOTREACHED() << "Unknown image resource " << name; | 493 NOTREACHED() << "Unknown image resource " << name; |
481 return WebData(); | 494 return WebData(); |
482 } | 495 } |
483 | 496 |
484 bool WebKitPlatformSupportImpl::loadAudioResource( | 497 bool WebKitPlatformSupportImpl::loadAudioResource( |
485 WebKit::WebAudioBus* destination_bus, const char* audio_file_data, | 498 WebKit::WebAudioBus* destination_bus, const char* audio_file_data, |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
726 worker_task_runner->OnWorkerRunLoopStarted(runLoop); | 739 worker_task_runner->OnWorkerRunLoopStarted(runLoop); |
727 } | 740 } |
728 | 741 |
729 void WebKitPlatformSupportImpl::didStopWorkerRunLoop( | 742 void WebKitPlatformSupportImpl::didStopWorkerRunLoop( |
730 const WebKit::WebWorkerRunLoop& runLoop) { | 743 const WebKit::WebWorkerRunLoop& runLoop) { |
731 WorkerTaskRunner* worker_task_runner = WorkerTaskRunner::Instance(); | 744 WorkerTaskRunner* worker_task_runner = WorkerTaskRunner::Instance(); |
732 worker_task_runner->OnWorkerRunLoopStopped(runLoop); | 745 worker_task_runner->OnWorkerRunLoopStopped(runLoop); |
733 } | 746 } |
734 | 747 |
735 } // namespace webkit_glue | 748 } // namespace webkit_glue |
OLD | NEW |