| 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 13 matching lines...) Expand all Loading... |
| 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 28 */ | 28 */ |
| 29 | 29 |
| 30 #include "config.h" | 30 #include "config.h" |
| 31 #include "core/html/shadow/MediaControlElements.h" | 31 #include "core/html/shadow/MediaControlElements.h" |
| 32 | 32 |
| 33 #include "bindings/core/v8/ExceptionStatePlaceholder.h" | 33 #include "bindings/core/v8/ExceptionStatePlaceholder.h" |
| 34 #include "core/InputTypeNames.h" |
| 34 #include "core/dom/DOMTokenList.h" | 35 #include "core/dom/DOMTokenList.h" |
| 35 #include "core/dom/shadow/ShadowRoot.h" | 36 #include "core/dom/shadow/ShadowRoot.h" |
| 36 #include "core/events/MouseEvent.h" | 37 #include "core/events/MouseEvent.h" |
| 37 #include "core/frame/LocalFrame.h" | 38 #include "core/frame/LocalFrame.h" |
| 38 #include "core/html/HTMLVideoElement.h" | 39 #include "core/html/HTMLVideoElement.h" |
| 39 #include "core/html/MediaController.h" | 40 #include "core/html/MediaController.h" |
| 40 #include "core/html/TimeRanges.h" | 41 #include "core/html/TimeRanges.h" |
| 41 #include "core/html/shadow/MediaControls.h" | 42 #include "core/html/shadow/MediaControls.h" |
| 42 #include "core/html/track/TextTrack.h" | 43 #include "core/html/track/TextTrack.h" |
| 43 #include "core/html/track/vtt/VTTRegionList.h" | 44 #include "core/html/track/vtt/VTTRegionList.h" |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 | 228 |
| 228 MediaControlMuteButtonElement::MediaControlMuteButtonElement(MediaControls& medi
aControls) | 229 MediaControlMuteButtonElement::MediaControlMuteButtonElement(MediaControls& medi
aControls) |
| 229 : MediaControlInputElement(mediaControls, MediaMuteButton) | 230 : MediaControlInputElement(mediaControls, MediaMuteButton) |
| 230 { | 231 { |
| 231 } | 232 } |
| 232 | 233 |
| 233 PassRefPtrWillBeRawPtr<MediaControlMuteButtonElement> MediaControlMuteButtonElem
ent::create(MediaControls& mediaControls) | 234 PassRefPtrWillBeRawPtr<MediaControlMuteButtonElement> MediaControlMuteButtonElem
ent::create(MediaControls& mediaControls) |
| 234 { | 235 { |
| 235 RefPtrWillBeRawPtr<MediaControlMuteButtonElement> button = adoptRefWillBeNoo
p(new MediaControlMuteButtonElement(mediaControls)); | 236 RefPtrWillBeRawPtr<MediaControlMuteButtonElement> button = adoptRefWillBeNoo
p(new MediaControlMuteButtonElement(mediaControls)); |
| 236 button->ensureUserAgentShadowRoot(); | 237 button->ensureUserAgentShadowRoot(); |
| 237 button->setType("button"); | 238 button->setType(InputTypeNames::button); |
| 238 return button.release(); | 239 return button.release(); |
| 239 } | 240 } |
| 240 | 241 |
| 241 void MediaControlMuteButtonElement::defaultEventHandler(Event* event) | 242 void MediaControlMuteButtonElement::defaultEventHandler(Event* event) |
| 242 { | 243 { |
| 243 if (event->type() == EventTypeNames::click) { | 244 if (event->type() == EventTypeNames::click) { |
| 244 mediaElement().setMuted(!mediaElement().muted()); | 245 mediaElement().setMuted(!mediaElement().muted()); |
| 245 event->setDefaultHandled(); | 246 event->setDefaultHandled(); |
| 246 } | 247 } |
| 247 | 248 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 263 | 264 |
| 264 MediaControlPlayButtonElement::MediaControlPlayButtonElement(MediaControls& medi
aControls) | 265 MediaControlPlayButtonElement::MediaControlPlayButtonElement(MediaControls& medi
aControls) |
| 265 : MediaControlInputElement(mediaControls, MediaPlayButton) | 266 : MediaControlInputElement(mediaControls, MediaPlayButton) |
| 266 { | 267 { |
| 267 } | 268 } |
| 268 | 269 |
| 269 PassRefPtrWillBeRawPtr<MediaControlPlayButtonElement> MediaControlPlayButtonElem
ent::create(MediaControls& mediaControls) | 270 PassRefPtrWillBeRawPtr<MediaControlPlayButtonElement> MediaControlPlayButtonElem
ent::create(MediaControls& mediaControls) |
| 270 { | 271 { |
| 271 RefPtrWillBeRawPtr<MediaControlPlayButtonElement> button = adoptRefWillBeNoo
p(new MediaControlPlayButtonElement(mediaControls)); | 272 RefPtrWillBeRawPtr<MediaControlPlayButtonElement> button = adoptRefWillBeNoo
p(new MediaControlPlayButtonElement(mediaControls)); |
| 272 button->ensureUserAgentShadowRoot(); | 273 button->ensureUserAgentShadowRoot(); |
| 273 button->setType("button"); | 274 button->setType(InputTypeNames::button); |
| 274 return button.release(); | 275 return button.release(); |
| 275 } | 276 } |
| 276 | 277 |
| 277 void MediaControlPlayButtonElement::defaultEventHandler(Event* event) | 278 void MediaControlPlayButtonElement::defaultEventHandler(Event* event) |
| 278 { | 279 { |
| 279 if (event->type() == EventTypeNames::click) { | 280 if (event->type() == EventTypeNames::click) { |
| 280 mediaElement().togglePlayState(); | 281 mediaElement().togglePlayState(); |
| 281 updateDisplayType(); | 282 updateDisplayType(); |
| 282 event->setDefaultHandled(); | 283 event->setDefaultHandled(); |
| 283 } | 284 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 299 | 300 |
| 300 MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(Media
Controls& mediaControls) | 301 MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(Media
Controls& mediaControls) |
| 301 : MediaControlInputElement(mediaControls, MediaOverlayPlayButton) | 302 : MediaControlInputElement(mediaControls, MediaOverlayPlayButton) |
| 302 { | 303 { |
| 303 } | 304 } |
| 304 | 305 |
| 305 PassRefPtrWillBeRawPtr<MediaControlOverlayPlayButtonElement> MediaControlOverlay
PlayButtonElement::create(MediaControls& mediaControls) | 306 PassRefPtrWillBeRawPtr<MediaControlOverlayPlayButtonElement> MediaControlOverlay
PlayButtonElement::create(MediaControls& mediaControls) |
| 306 { | 307 { |
| 307 RefPtrWillBeRawPtr<MediaControlOverlayPlayButtonElement> button = adoptRefWi
llBeNoop(new MediaControlOverlayPlayButtonElement(mediaControls)); | 308 RefPtrWillBeRawPtr<MediaControlOverlayPlayButtonElement> button = adoptRefWi
llBeNoop(new MediaControlOverlayPlayButtonElement(mediaControls)); |
| 308 button->ensureUserAgentShadowRoot(); | 309 button->ensureUserAgentShadowRoot(); |
| 309 button->setType("button"); | 310 button->setType(InputTypeNames::button); |
| 310 return button.release(); | 311 return button.release(); |
| 311 } | 312 } |
| 312 | 313 |
| 313 void MediaControlOverlayPlayButtonElement::defaultEventHandler(Event* event) | 314 void MediaControlOverlayPlayButtonElement::defaultEventHandler(Event* event) |
| 314 { | 315 { |
| 315 if (event->type() == EventTypeNames::click && mediaElement().togglePlayState
WillPlay()) { | 316 if (event->type() == EventTypeNames::click && mediaElement().togglePlayState
WillPlay()) { |
| 316 mediaElement().togglePlayState(); | 317 mediaElement().togglePlayState(); |
| 317 updateDisplayType(); | 318 updateDisplayType(); |
| 318 event->setDefaultHandled(); | 319 event->setDefaultHandled(); |
| 319 } | 320 } |
| (...skipping 23 matching lines...) Expand all Loading... |
| 343 | 344 |
| 344 MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsB
uttonElement(MediaControls& mediaControls) | 345 MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsB
uttonElement(MediaControls& mediaControls) |
| 345 : MediaControlInputElement(mediaControls, MediaShowClosedCaptionsButton) | 346 : MediaControlInputElement(mediaControls, MediaShowClosedCaptionsButton) |
| 346 { | 347 { |
| 347 } | 348 } |
| 348 | 349 |
| 349 PassRefPtrWillBeRawPtr<MediaControlToggleClosedCaptionsButtonElement> MediaContr
olToggleClosedCaptionsButtonElement::create(MediaControls& mediaControls) | 350 PassRefPtrWillBeRawPtr<MediaControlToggleClosedCaptionsButtonElement> MediaContr
olToggleClosedCaptionsButtonElement::create(MediaControls& mediaControls) |
| 350 { | 351 { |
| 351 RefPtrWillBeRawPtr<MediaControlToggleClosedCaptionsButtonElement> button = a
doptRefWillBeNoop(new MediaControlToggleClosedCaptionsButtonElement(mediaControl
s)); | 352 RefPtrWillBeRawPtr<MediaControlToggleClosedCaptionsButtonElement> button = a
doptRefWillBeNoop(new MediaControlToggleClosedCaptionsButtonElement(mediaControl
s)); |
| 352 button->ensureUserAgentShadowRoot(); | 353 button->ensureUserAgentShadowRoot(); |
| 353 button->setType("button"); | 354 button->setType(InputTypeNames::button); |
| 354 button->hide(); | 355 button->hide(); |
| 355 return button.release(); | 356 return button.release(); |
| 356 } | 357 } |
| 357 | 358 |
| 358 void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType() | 359 void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType() |
| 359 { | 360 { |
| 360 bool captionsVisible = mediaElement().closedCaptionsVisible(); | 361 bool captionsVisible = mediaElement().closedCaptionsVisible(); |
| 361 setDisplayType(captionsVisible ? MediaHideClosedCaptionsButton : MediaShowCl
osedCaptionsButton); | 362 setDisplayType(captionsVisible ? MediaHideClosedCaptionsButton : MediaShowCl
osedCaptionsButton); |
| 362 setChecked(captionsVisible); | 363 setChecked(captionsVisible); |
| 363 } | 364 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 384 | 385 |
| 385 MediaControlTimelineElement::MediaControlTimelineElement(MediaControls& mediaCon
trols) | 386 MediaControlTimelineElement::MediaControlTimelineElement(MediaControls& mediaCon
trols) |
| 386 : MediaControlInputElement(mediaControls, MediaSlider) | 387 : MediaControlInputElement(mediaControls, MediaSlider) |
| 387 { | 388 { |
| 388 } | 389 } |
| 389 | 390 |
| 390 PassRefPtrWillBeRawPtr<MediaControlTimelineElement> MediaControlTimelineElement:
:create(MediaControls& mediaControls) | 391 PassRefPtrWillBeRawPtr<MediaControlTimelineElement> MediaControlTimelineElement:
:create(MediaControls& mediaControls) |
| 391 { | 392 { |
| 392 RefPtrWillBeRawPtr<MediaControlTimelineElement> timeline = adoptRefWillBeNoo
p(new MediaControlTimelineElement(mediaControls)); | 393 RefPtrWillBeRawPtr<MediaControlTimelineElement> timeline = adoptRefWillBeNoo
p(new MediaControlTimelineElement(mediaControls)); |
| 393 timeline->ensureUserAgentShadowRoot(); | 394 timeline->ensureUserAgentShadowRoot(); |
| 394 timeline->setType("range"); | 395 timeline->setType(InputTypeNames::range); |
| 395 timeline->setAttribute(stepAttr, "any"); | 396 timeline->setAttribute(stepAttr, "any"); |
| 396 return timeline.release(); | 397 return timeline.release(); |
| 397 } | 398 } |
| 398 | 399 |
| 399 void MediaControlTimelineElement::defaultEventHandler(Event* event) | 400 void MediaControlTimelineElement::defaultEventHandler(Event* event) |
| 400 { | 401 { |
| 401 if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton) | 402 if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton) |
| 402 return; | 403 return; |
| 403 | 404 |
| 404 if (!inDocument() || !document().isActive()) | 405 if (!inDocument() || !document().isActive()) |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 | 463 |
| 463 MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(MediaControls&
mediaControls) | 464 MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(MediaControls&
mediaControls) |
| 464 : MediaControlInputElement(mediaControls, MediaVolumeSlider) | 465 : MediaControlInputElement(mediaControls, MediaVolumeSlider) |
| 465 { | 466 { |
| 466 } | 467 } |
| 467 | 468 |
| 468 PassRefPtrWillBeRawPtr<MediaControlVolumeSliderElement> MediaControlVolumeSlider
Element::create(MediaControls& mediaControls) | 469 PassRefPtrWillBeRawPtr<MediaControlVolumeSliderElement> MediaControlVolumeSlider
Element::create(MediaControls& mediaControls) |
| 469 { | 470 { |
| 470 RefPtrWillBeRawPtr<MediaControlVolumeSliderElement> slider = adoptRefWillBeN
oop(new MediaControlVolumeSliderElement(mediaControls)); | 471 RefPtrWillBeRawPtr<MediaControlVolumeSliderElement> slider = adoptRefWillBeN
oop(new MediaControlVolumeSliderElement(mediaControls)); |
| 471 slider->ensureUserAgentShadowRoot(); | 472 slider->ensureUserAgentShadowRoot(); |
| 472 slider->setType("range"); | 473 slider->setType(InputTypeNames::range); |
| 473 slider->setAttribute(stepAttr, "any"); | 474 slider->setAttribute(stepAttr, "any"); |
| 474 slider->setAttribute(maxAttr, "1"); | 475 slider->setAttribute(maxAttr, "1"); |
| 475 return slider.release(); | 476 return slider.release(); |
| 476 } | 477 } |
| 477 | 478 |
| 478 void MediaControlVolumeSliderElement::defaultEventHandler(Event* event) | 479 void MediaControlVolumeSliderElement::defaultEventHandler(Event* event) |
| 479 { | 480 { |
| 480 if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton) | 481 if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton) |
| 481 return; | 482 return; |
| 482 | 483 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 530 | 531 |
| 531 MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(MediaCo
ntrols& mediaControls) | 532 MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(MediaCo
ntrols& mediaControls) |
| 532 : MediaControlInputElement(mediaControls, MediaEnterFullscreenButton) | 533 : MediaControlInputElement(mediaControls, MediaEnterFullscreenButton) |
| 533 { | 534 { |
| 534 } | 535 } |
| 535 | 536 |
| 536 PassRefPtrWillBeRawPtr<MediaControlFullscreenButtonElement> MediaControlFullscre
enButtonElement::create(MediaControls& mediaControls) | 537 PassRefPtrWillBeRawPtr<MediaControlFullscreenButtonElement> MediaControlFullscre
enButtonElement::create(MediaControls& mediaControls) |
| 537 { | 538 { |
| 538 RefPtrWillBeRawPtr<MediaControlFullscreenButtonElement> button = adoptRefWil
lBeNoop(new MediaControlFullscreenButtonElement(mediaControls)); | 539 RefPtrWillBeRawPtr<MediaControlFullscreenButtonElement> button = adoptRefWil
lBeNoop(new MediaControlFullscreenButtonElement(mediaControls)); |
| 539 button->ensureUserAgentShadowRoot(); | 540 button->ensureUserAgentShadowRoot(); |
| 540 button->setType("button"); | 541 button->setType(InputTypeNames::button); |
| 541 button->hide(); | 542 button->hide(); |
| 542 return button.release(); | 543 return button.release(); |
| 543 } | 544 } |
| 544 | 545 |
| 545 void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event) | 546 void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event) |
| 546 { | 547 { |
| 547 if (event->type() == EventTypeNames::click) { | 548 if (event->type() == EventTypeNames::click) { |
| 548 if (mediaElement().isFullscreen()) | 549 if (mediaElement().isFullscreen()) |
| 549 mediaElement().exitFullscreen(); | 550 mediaElement().exitFullscreen(); |
| 550 else | 551 else |
| (...skipping 18 matching lines...) Expand all Loading... |
| 569 | 570 |
| 570 MediaControlCastButtonElement::MediaControlCastButtonElement(MediaControls& medi
aControls, bool isOverlayButton) | 571 MediaControlCastButtonElement::MediaControlCastButtonElement(MediaControls& medi
aControls, bool isOverlayButton) |
| 571 : MediaControlInputElement(mediaControls, MediaCastOnButton), m_isOverlayBut
ton(isOverlayButton) | 572 : MediaControlInputElement(mediaControls, MediaCastOnButton), m_isOverlayBut
ton(isOverlayButton) |
| 572 { | 573 { |
| 573 } | 574 } |
| 574 | 575 |
| 575 PassRefPtrWillBeRawPtr<MediaControlCastButtonElement> MediaControlCastButtonElem
ent::create(MediaControls& mediaControls, bool isOverlayButton) | 576 PassRefPtrWillBeRawPtr<MediaControlCastButtonElement> MediaControlCastButtonElem
ent::create(MediaControls& mediaControls, bool isOverlayButton) |
| 576 { | 577 { |
| 577 RefPtrWillBeRawPtr<MediaControlCastButtonElement> button = adoptRefWillBeNoo
p(new MediaControlCastButtonElement(mediaControls, isOverlayButton)); | 578 RefPtrWillBeRawPtr<MediaControlCastButtonElement> button = adoptRefWillBeNoo
p(new MediaControlCastButtonElement(mediaControls, isOverlayButton)); |
| 578 button->ensureUserAgentShadowRoot(); | 579 button->ensureUserAgentShadowRoot(); |
| 579 button->setType("button"); | 580 button->setType(InputTypeNames::button); |
| 580 return button.release(); | 581 return button.release(); |
| 581 } | 582 } |
| 582 | 583 |
| 583 void MediaControlCastButtonElement::defaultEventHandler(Event* event) | 584 void MediaControlCastButtonElement::defaultEventHandler(Event* event) |
| 584 { | 585 { |
| 585 if (event->type() == EventTypeNames::click) { | 586 if (event->type() == EventTypeNames::click) { |
| 586 if (mediaElement().isPlayingRemotely()) { | 587 if (mediaElement().isPlayingRemotely()) { |
| 587 mediaElement().requestRemotePlaybackControl(); | 588 mediaElement().requestRemotePlaybackControl(); |
| 588 } else { | 589 } else { |
| 589 mediaElement().requestRemotePlayback(); | 590 mediaElement().requestRemotePlayback(); |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 773 float fontSize = smallestDimension * 0.05f; | 774 float fontSize = smallestDimension * 0.05f; |
| 774 if (fontSize != m_fontSize) { | 775 if (fontSize != m_fontSize) { |
| 775 m_fontSize = fontSize; | 776 m_fontSize = fontSize; |
| 776 setInlineStyleProperty(CSSPropertyFontSize, fontSize, CSSPrimitiveValue:
:CSS_PX); | 777 setInlineStyleProperty(CSSPropertyFontSize, fontSize, CSSPrimitiveValue:
:CSS_PX); |
| 777 } | 778 } |
| 778 } | 779 } |
| 779 | 780 |
| 780 // ---------------------------- | 781 // ---------------------------- |
| 781 | 782 |
| 782 } // namespace blink | 783 } // namespace blink |
| OLD | NEW |