| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Google Inc. All rights reserved. | 3 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 mediaElement().setMuted(!mediaElement().muted()); | 293 mediaElement().setMuted(!mediaElement().muted()); |
| 294 event->setDefaultHandled(); | 294 event->setDefaultHandled(); |
| 295 } | 295 } |
| 296 | 296 |
| 297 HTMLInputElement::defaultEventHandler(event); | 297 HTMLInputElement::defaultEventHandler(event); |
| 298 } | 298 } |
| 299 | 299 |
| 300 void MediaControlMuteButtonElement::updateDisplayType() | 300 void MediaControlMuteButtonElement::updateDisplayType() |
| 301 { | 301 { |
| 302 setDisplayType(mediaElement().muted() ? MediaUnMuteButton : MediaMuteButton)
; | 302 setDisplayType(mediaElement().muted() ? MediaUnMuteButton : MediaMuteButton)
; |
| 303 updateOverflowString(); |
| 304 } |
| 305 |
| 306 WebLocalizedString::Name MediaControlMuteButtonElement::getOverflowStringName() |
| 307 { |
| 308 if (mediaElement().muted()) |
| 309 return WebLocalizedString::OverflowMenuUnmute; |
| 310 return WebLocalizedString::OverflowMenuMute; |
| 303 } | 311 } |
| 304 | 312 |
| 305 // ---------------------------- | 313 // ---------------------------- |
| 306 | 314 |
| 307 MediaControlPlayButtonElement::MediaControlPlayButtonElement(MediaControls& medi
aControls) | 315 MediaControlPlayButtonElement::MediaControlPlayButtonElement(MediaControls& medi
aControls) |
| 308 : MediaControlInputElement(mediaControls, MediaPlayButton) | 316 : MediaControlInputElement(mediaControls, MediaPlayButton) |
| 309 { | 317 { |
| 310 } | 318 } |
| 311 | 319 |
| 312 MediaControlPlayButtonElement* MediaControlPlayButtonElement::create(MediaContro
ls& mediaControls) | 320 MediaControlPlayButtonElement* MediaControlPlayButtonElement::create(MediaContro
ls& mediaControls) |
| (...skipping 22 matching lines...) Expand all Loading... |
| 335 mediaElement().togglePlayState(); | 343 mediaElement().togglePlayState(); |
| 336 updateDisplayType(); | 344 updateDisplayType(); |
| 337 event->setDefaultHandled(); | 345 event->setDefaultHandled(); |
| 338 } | 346 } |
| 339 HTMLInputElement::defaultEventHandler(event); | 347 HTMLInputElement::defaultEventHandler(event); |
| 340 } | 348 } |
| 341 | 349 |
| 342 void MediaControlPlayButtonElement::updateDisplayType() | 350 void MediaControlPlayButtonElement::updateDisplayType() |
| 343 { | 351 { |
| 344 setDisplayType(mediaElement().paused() ? MediaPlayButton : MediaPauseButton)
; | 352 setDisplayType(mediaElement().paused() ? MediaPlayButton : MediaPauseButton)
; |
| 353 updateOverflowString(); |
| 354 } |
| 355 |
| 356 WebLocalizedString::Name MediaControlPlayButtonElement::getOverflowStringName() |
| 357 { |
| 358 if (mediaElement().paused()) |
| 359 return WebLocalizedString::OverflowMenuPlay; |
| 360 return WebLocalizedString::OverflowMenuPause; |
| 345 } | 361 } |
| 346 | 362 |
| 347 // ---------------------------- | 363 // ---------------------------- |
| 348 | 364 |
| 349 MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(Media
Controls& mediaControls) | 365 MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(Media
Controls& mediaControls) |
| 350 : MediaControlInputElement(mediaControls, MediaOverlayPlayButton) | 366 : MediaControlInputElement(mediaControls, MediaOverlayPlayButton) |
| 351 { | 367 { |
| 352 } | 368 } |
| 353 | 369 |
| 354 MediaControlOverlayPlayButtonElement* MediaControlOverlayPlayButtonElement::crea
te(MediaControls& mediaControls) | 370 MediaControlOverlayPlayButtonElement* MediaControlOverlayPlayButtonElement::crea
te(MediaControls& mediaControls) |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 400 | 416 |
| 401 void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType() | 417 void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType() |
| 402 { | 418 { |
| 403 bool captionsVisible = mediaElement().textTracksVisible(); | 419 bool captionsVisible = mediaElement().textTracksVisible(); |
| 404 setDisplayType(captionsVisible ? MediaHideClosedCaptionsButton : MediaShowCl
osedCaptionsButton); | 420 setDisplayType(captionsVisible ? MediaHideClosedCaptionsButton : MediaShowCl
osedCaptionsButton); |
| 405 } | 421 } |
| 406 | 422 |
| 407 void MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler(Event* e
vent) | 423 void MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler(Event* e
vent) |
| 408 { | 424 { |
| 409 if (event->type() == EventTypeNames::click) { | 425 if (event->type() == EventTypeNames::click) { |
| 426 // If the user opens up the closed captions menu from the overfow menu, |
| 427 // the overflow menu should no longer be visible. |
| 428 if (mediaControls().overflowMenuVisible()) |
| 429 mediaControls().toggleOverflowMenu(); |
| 410 mediaControls().toggleTextTrackList(); | 430 mediaControls().toggleTextTrackList(); |
| 411 updateDisplayType(); | 431 updateDisplayType(); |
| 412 event->setDefaultHandled(); | 432 event->setDefaultHandled(); |
| 413 } | 433 } |
| 414 | 434 |
| 415 HTMLInputElement::defaultEventHandler(event); | 435 HTMLInputElement::defaultEventHandler(event); |
| 416 } | 436 } |
| 417 | 437 |
| 438 WebLocalizedString::Name MediaControlToggleClosedCaptionsButtonElement::getOverf
lowStringName() |
| 439 { |
| 440 return WebLocalizedString::OverflowMenuCaptions; |
| 441 } |
| 442 |
| 418 // ---------------------------- | 443 // ---------------------------- |
| 419 | 444 |
| 420 MediaControlTextTrackListElement::MediaControlTextTrackListElement(MediaControls
& mediaControls) | 445 MediaControlTextTrackListElement::MediaControlTextTrackListElement(MediaControls
& mediaControls) |
| 421 : MediaControlDivElement(mediaControls, MediaTextTrackList) | 446 : MediaControlDivElement(mediaControls, MediaTextTrackList) |
| 422 { | 447 { |
| 423 } | 448 } |
| 424 | 449 |
| 425 MediaControlTextTrackListElement* MediaControlTextTrackListElement::create(Media
Controls& mediaControls) | 450 MediaControlTextTrackListElement* MediaControlTextTrackListElement::create(Media
Controls& mediaControls) |
| 426 { | 451 { |
| 427 MediaControlTextTrackListElement* element = new MediaControlTextTrackListEle
ment(mediaControls); | 452 MediaControlTextTrackListElement* element = new MediaControlTextTrackListEle
ment(mediaControls); |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 TextTrackList* trackList = mediaElement().textTracks(); | 572 TextTrackList* trackList = mediaElement().textTracks(); |
| 548 for (unsigned i = 0; i < trackList->length(); i++) { | 573 for (unsigned i = 0; i < trackList->length(); i++) { |
| 549 TextTrack* track = trackList->anonymousIndexedGetter(i); | 574 TextTrack* track = trackList->anonymousIndexedGetter(i); |
| 550 if (!track->canBeRendered()) | 575 if (!track->canBeRendered()) |
| 551 continue; | 576 continue; |
| 552 appendChild(createTextTrackListItem(track)); | 577 appendChild(createTextTrackListItem(track)); |
| 553 } | 578 } |
| 554 } | 579 } |
| 555 | 580 |
| 556 // ---------------------------- | 581 // ---------------------------- |
| 582 MediaControlOverflowMenuButtonElement::MediaControlOverflowMenuButtonElement(Med
iaControls& mediaControls) |
| 583 : MediaControlInputElement(mediaControls, MediaOverflowButton) |
| 584 { |
| 585 } |
| 586 |
| 587 MediaControlOverflowMenuButtonElement* MediaControlOverflowMenuButtonElement::cr
eate(MediaControls& mediaControls) |
| 588 { |
| 589 MediaControlOverflowMenuButtonElement* button = new MediaControlOverflowMenu
ButtonElement(mediaControls); |
| 590 button->ensureUserAgentShadowRoot(); |
| 591 button->setType(InputTypeNames::button); |
| 592 button->setShadowPseudoId(AtomicString("-internal-overflow-menu-button")); |
| 593 button->setIsWanted(false); |
| 594 return button; |
| 595 } |
| 596 |
| 597 void MediaControlOverflowMenuButtonElement::defaultEventHandler(Event* event) |
| 598 { |
| 599 if (event->type() == EventTypeNames::click) { |
| 600 mediaControls().toggleOverflowMenu(); |
| 601 event->setDefaultHandled(); |
| 602 } |
| 603 |
| 604 HTMLInputElement::defaultEventHandler(event); |
| 605 } |
| 606 |
| 607 // ---------------------------- |
| 608 MediaControlOverflowMenuListElement::MediaControlOverflowMenuListElement(MediaCo
ntrols& mediaControls) |
| 609 : MediaControlDivElement(mediaControls, MediaOverflowList) |
| 610 { |
| 611 } |
| 612 |
| 613 MediaControlOverflowMenuListElement* MediaControlOverflowMenuListElement::create
(MediaControls& mediaControls) |
| 614 { |
| 615 MediaControlOverflowMenuListElement* element = new MediaControlOverflowMenuL
istElement(mediaControls); |
| 616 element->setIsWanted(false); |
| 617 element->setShadowPseudoId(AtomicString("-internal-media-controls-overflow-m
enu-list")); |
| 618 return element; |
| 619 } |
| 620 |
| 621 void MediaControlOverflowMenuListElement::defaultEventHandler(Event* event) |
| 622 { |
| 623 if (event->type() == EventTypeNames::click) |
| 624 event->setDefaultHandled(); |
| 625 |
| 626 MediaControlDivElement::defaultEventHandler(event); |
| 627 } |
| 628 |
| 629 // ---------------------------- |
| 557 | 630 |
| 558 MediaControlTimelineElement::MediaControlTimelineElement(MediaControls& mediaCon
trols) | 631 MediaControlTimelineElement::MediaControlTimelineElement(MediaControls& mediaCon
trols) |
| 559 : MediaControlInputElement(mediaControls, MediaSlider) | 632 : MediaControlInputElement(mediaControls, MediaSlider) |
| 560 { | 633 { |
| 561 } | 634 } |
| 562 | 635 |
| 563 MediaControlTimelineElement* MediaControlTimelineElement::create(MediaControls&
mediaControls) | 636 MediaControlTimelineElement* MediaControlTimelineElement::create(MediaControls&
mediaControls) |
| 564 { | 637 { |
| 565 MediaControlTimelineElement* timeline = new MediaControlTimelineElement(medi
aControls); | 638 MediaControlTimelineElement* timeline = new MediaControlTimelineElement(medi
aControls); |
| 566 timeline->ensureUserAgentShadowRoot(); | 639 timeline->ensureUserAgentShadowRoot(); |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 731 event->setDefaultHandled(); | 804 event->setDefaultHandled(); |
| 732 } | 805 } |
| 733 HTMLInputElement::defaultEventHandler(event); | 806 HTMLInputElement::defaultEventHandler(event); |
| 734 } | 807 } |
| 735 | 808 |
| 736 void MediaControlFullscreenButtonElement::setIsFullscreen(bool isFullscreen) | 809 void MediaControlFullscreenButtonElement::setIsFullscreen(bool isFullscreen) |
| 737 { | 810 { |
| 738 setDisplayType(isFullscreen ? MediaExitFullscreenButton : MediaEnterFullscre
enButton); | 811 setDisplayType(isFullscreen ? MediaExitFullscreenButton : MediaEnterFullscre
enButton); |
| 739 } | 812 } |
| 740 | 813 |
| 814 WebLocalizedString::Name MediaControlFullscreenButtonElement::getOverflowStringN
ame() |
| 815 { |
| 816 if (mediaElement().isFullscreen()) |
| 817 return WebLocalizedString::OverflowMenuExitFullscreen; |
| 818 return WebLocalizedString::OverflowMenuEnterFullscreen; |
| 819 } |
| 820 |
| 741 // ---------------------------- | 821 // ---------------------------- |
| 742 | 822 |
| 743 MediaControlCastButtonElement::MediaControlCastButtonElement(MediaControls& medi
aControls, bool isOverlayButton) | 823 MediaControlCastButtonElement::MediaControlCastButtonElement(MediaControls& medi
aControls, bool isOverlayButton) |
| 744 : MediaControlInputElement(mediaControls, MediaCastOnButton), m_isOverlayBut
ton(isOverlayButton) | 824 : MediaControlInputElement(mediaControls, MediaCastOnButton), m_isOverlayBut
ton(isOverlayButton) |
| 745 { | 825 { |
| 746 if (m_isOverlayButton) | 826 if (m_isOverlayButton) |
| 747 recordMetrics(CastOverlayMetrics::Created); | 827 recordMetrics(CastOverlayMetrics::Created); |
| 748 setIsPlayingRemotely(false); | 828 setIsPlayingRemotely(false); |
| 749 } | 829 } |
| 750 | 830 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 } else { | 872 } else { |
| 793 setDisplayType(MediaCastOnButton); | 873 setDisplayType(MediaCastOnButton); |
| 794 } | 874 } |
| 795 } else { | 875 } else { |
| 796 if (m_isOverlayButton) { | 876 if (m_isOverlayButton) { |
| 797 setDisplayType(MediaOverlayCastOffButton); | 877 setDisplayType(MediaOverlayCastOffButton); |
| 798 } else { | 878 } else { |
| 799 setDisplayType(MediaCastOffButton); | 879 setDisplayType(MediaCastOffButton); |
| 800 } | 880 } |
| 801 } | 881 } |
| 882 updateOverflowString(); |
| 883 } |
| 884 |
| 885 WebLocalizedString::Name MediaControlCastButtonElement::getOverflowStringName() |
| 886 { |
| 887 if (mediaElement().isPlayingRemotely()) |
| 888 return WebLocalizedString::OverflowMenuStopCast; |
| 889 return WebLocalizedString::OverflowMenuCast; |
| 802 } | 890 } |
| 803 | 891 |
| 804 void MediaControlCastButtonElement::tryShowOverlay() | 892 void MediaControlCastButtonElement::tryShowOverlay() |
| 805 { | 893 { |
| 806 DCHECK(m_isOverlayButton); | 894 DCHECK(m_isOverlayButton); |
| 807 | 895 |
| 808 setIsWanted(true); | 896 setIsWanted(true); |
| 809 if (elementFromCenter(*this) != &mediaElement()) { | 897 if (elementFromCenter(*this) != &mediaElement()) { |
| 810 setIsWanted(false); | 898 setIsWanted(false); |
| 811 return; | 899 return; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 852 } | 940 } |
| 853 | 941 |
| 854 MediaControlCurrentTimeDisplayElement* MediaControlCurrentTimeDisplayElement::cr
eate(MediaControls& mediaControls) | 942 MediaControlCurrentTimeDisplayElement* MediaControlCurrentTimeDisplayElement::cr
eate(MediaControls& mediaControls) |
| 855 { | 943 { |
| 856 MediaControlCurrentTimeDisplayElement* element = new MediaControlCurrentTime
DisplayElement(mediaControls); | 944 MediaControlCurrentTimeDisplayElement* element = new MediaControlCurrentTime
DisplayElement(mediaControls); |
| 857 element->setShadowPseudoId(AtomicString("-webkit-media-controls-current-time
-display")); | 945 element->setShadowPseudoId(AtomicString("-webkit-media-controls-current-time
-display")); |
| 858 return element; | 946 return element; |
| 859 } | 947 } |
| 860 | 948 |
| 861 } // namespace blink | 949 } // namespace blink |
| OLD | NEW |