Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: Source/core/html/shadow/MediaControlElements.cpp

Issue 195473002: Let MediaControls use the parent HTMLMediaElement (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 namespace WebCore { 52 namespace WebCore {
53 53
54 using namespace HTMLNames; 54 using namespace HTMLNames;
55 55
56 static const AtomicString& getMediaControlCurrentTimeDisplayElementShadowPseudoI d(); 56 static const AtomicString& getMediaControlCurrentTimeDisplayElementShadowPseudoI d();
57 static const AtomicString& getMediaControlTimeRemainingDisplayElementShadowPseud oId(); 57 static const AtomicString& getMediaControlTimeRemainingDisplayElementShadowPseud oId();
58 58
59 static const double fadeInDuration = 0.1; 59 static const double fadeInDuration = 0.1;
60 static const double fadeOutDuration = 0.3; 60 static const double fadeOutDuration = 0.3;
61 61
62 MediaControlPanelElement::MediaControlPanelElement(Document& document) 62 MediaControlPanelElement::MediaControlPanelElement(HTMLMediaElement& mediaElemen t)
63 : MediaControlDivElement(document, MediaControlsPanel) 63 : MediaControlDivElement(mediaElement, MediaControlsPanel)
64 , m_canBeDragged(false) 64 , m_canBeDragged(false)
65 , m_isBeingDragged(false) 65 , m_isBeingDragged(false)
66 , m_isDisplayed(false) 66 , m_isDisplayed(false)
67 , m_opaque(true) 67 , m_opaque(true)
68 , m_transitionTimer(this, &MediaControlPanelElement::transitionTimerFired) 68 , m_transitionTimer(this, &MediaControlPanelElement::transitionTimerFired)
69 { 69 {
70 } 70 }
71 71
72 PassRefPtr<MediaControlPanelElement> MediaControlPanelElement::create(Document& document) 72 PassRefPtr<MediaControlPanelElement> MediaControlPanelElement::create(HTMLMediaE lement& mediaElement)
73 { 73 {
74 return adoptRef(new MediaControlPanelElement(document)); 74 return adoptRef(new MediaControlPanelElement(mediaElement));
75 } 75 }
76 76
77 const AtomicString& MediaControlPanelElement::shadowPseudoId() const 77 const AtomicString& MediaControlPanelElement::shadowPseudoId() const
78 { 78 {
79 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-panel", Atomi cString::ConstructFromLiteral)); 79 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-panel", Atomi cString::ConstructFromLiteral));
80 return id; 80 return id;
81 } 81 }
82 82
83 void MediaControlPanelElement::startDrag(const LayoutPoint& eventLocation) 83 void MediaControlPanelElement::startDrag(const LayoutPoint& eventLocation)
84 { 84 {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 endDrag(); 240 endDrag();
241 } 241 }
242 242
243 void MediaControlPanelElement::setIsDisplayed(bool isDisplayed) 243 void MediaControlPanelElement::setIsDisplayed(bool isDisplayed)
244 { 244 {
245 m_isDisplayed = isDisplayed; 245 m_isDisplayed = isDisplayed;
246 } 246 }
247 247
248 // ---------------------------- 248 // ----------------------------
249 249
250 MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement(Document& d ocument) 250 MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement(HTMLMediaEl ement& mediaElement)
251 // Mapping onto same MediaControlElementType as panel element, since it has similar properties. 251 // Mapping onto same MediaControlElementType as panel element, since it has similar properties.
252 : MediaControlDivElement(document, MediaControlsPanel) 252 : MediaControlDivElement(mediaElement, MediaControlsPanel)
253 { 253 {
254 } 254 }
255 255
256 PassRefPtr<MediaControlPanelEnclosureElement> MediaControlPanelEnclosureElement: :create(Document& document) 256 PassRefPtr<MediaControlPanelEnclosureElement> MediaControlPanelEnclosureElement: :create(HTMLMediaElement& mediaElement)
257 { 257 {
258 return adoptRef(new MediaControlPanelEnclosureElement(document)); 258 return adoptRef(new MediaControlPanelEnclosureElement(mediaElement));
259 } 259 }
260 260
261 const AtomicString& MediaControlPanelEnclosureElement::shadowPseudoId() const 261 const AtomicString& MediaControlPanelEnclosureElement::shadowPseudoId() const
262 { 262 {
263 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-enclosure", A tomicString::ConstructFromLiteral)); 263 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-enclosure", A tomicString::ConstructFromLiteral));
264 return id; 264 return id;
265 } 265 }
266 266
267 // ---------------------------- 267 // ----------------------------
268 268
269 MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement(Documen t& document) 269 MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement(HTMLMed iaElement& mediaElement)
270 // Mapping onto same MediaControlElementType as panel element, since it has similar properties. 270 // Mapping onto same MediaControlElementType as panel element, since it has similar properties.
271 : MediaControlDivElement(document, MediaControlsPanel) 271 : MediaControlDivElement(mediaElement, MediaControlsPanel)
272 { 272 {
273 } 273 }
274 274
275 PassRefPtr<MediaControlOverlayEnclosureElement> MediaControlOverlayEnclosureElem ent::create(Document& document) 275 PassRefPtr<MediaControlOverlayEnclosureElement> MediaControlOverlayEnclosureElem ent::create(HTMLMediaElement& mediaElement)
276 { 276 {
277 return adoptRef(new MediaControlOverlayEnclosureElement(document)); 277 return adoptRef(new MediaControlOverlayEnclosureElement(mediaElement));
278 } 278 }
279 279
280 const AtomicString& MediaControlOverlayEnclosureElement::shadowPseudoId() const 280 const AtomicString& MediaControlOverlayEnclosureElement::shadowPseudoId() const
281 { 281 {
282 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-overlay-enclo sure", AtomicString::ConstructFromLiteral)); 282 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-overlay-enclo sure", AtomicString::ConstructFromLiteral));
283 return id; 283 return id;
284 } 284 }
285 285
286 // ---------------------------- 286 // ----------------------------
287 287
288 MediaControlMuteButtonElement::MediaControlMuteButtonElement(Document& document) 288 MediaControlMuteButtonElement::MediaControlMuteButtonElement(HTMLMediaElement& m ediaElement)
289 : MediaControlInputElement(document, MediaMuteButton) 289 : MediaControlInputElement(mediaElement, MediaMuteButton)
290 { 290 {
291 } 291 }
292 292
293 PassRefPtr<MediaControlMuteButtonElement> MediaControlMuteButtonElement::create( Document& document) 293 PassRefPtr<MediaControlMuteButtonElement> MediaControlMuteButtonElement::create( HTMLMediaElement& mediaElement)
294 { 294 {
295 RefPtr<MediaControlMuteButtonElement> button = adoptRef(new MediaControlMute ButtonElement(document)); 295 RefPtr<MediaControlMuteButtonElement> button = adoptRef(new MediaControlMute ButtonElement(mediaElement));
296 button->ensureUserAgentShadowRoot(); 296 button->ensureUserAgentShadowRoot();
297 button->setType("button"); 297 button->setType("button");
298 return button.release(); 298 return button.release();
299 } 299 }
300 300
301 void MediaControlMuteButtonElement::defaultEventHandler(Event* event) 301 void MediaControlMuteButtonElement::defaultEventHandler(Event* event)
302 { 302 {
303 if (event->type() == EventTypeNames::click) { 303 if (event->type() == EventTypeNames::click) {
304 mediaController()->setMuted(!mediaController()->muted()); 304 mediaControllerInterface().setMuted(!mediaControllerInterface().muted()) ;
305 event->setDefaultHandled(); 305 event->setDefaultHandled();
306 } 306 }
307 307
308 HTMLInputElement::defaultEventHandler(event); 308 HTMLInputElement::defaultEventHandler(event);
309 } 309 }
310 310
311 void MediaControlMuteButtonElement::updateDisplayType() 311 void MediaControlMuteButtonElement::updateDisplayType()
312 { 312 {
313 setDisplayType(mediaController()->muted() ? MediaUnMuteButton : MediaMuteBut ton); 313 setDisplayType(mediaControllerInterface().muted() ? MediaUnMuteButton : Medi aMuteButton);
314 } 314 }
315 315
316 const AtomicString& MediaControlMuteButtonElement::shadowPseudoId() const 316 const AtomicString& MediaControlMuteButtonElement::shadowPseudoId() const
317 { 317 {
318 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-mute-button", AtomicString::ConstructFromLiteral)); 318 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-mute-button", AtomicString::ConstructFromLiteral));
319 return id; 319 return id;
320 } 320 }
321 321
322 // ---------------------------- 322 // ----------------------------
323 323
324 MediaControlPlayButtonElement::MediaControlPlayButtonElement(Document& document) 324 MediaControlPlayButtonElement::MediaControlPlayButtonElement(HTMLMediaElement& m ediaElement)
325 : MediaControlInputElement(document, MediaPlayButton) 325 : MediaControlInputElement(mediaElement, MediaPlayButton)
326 { 326 {
327 } 327 }
328 328
329 PassRefPtr<MediaControlPlayButtonElement> MediaControlPlayButtonElement::create( Document& document) 329 PassRefPtr<MediaControlPlayButtonElement> MediaControlPlayButtonElement::create( HTMLMediaElement& mediaElement)
330 { 330 {
331 RefPtr<MediaControlPlayButtonElement> button = adoptRef(new MediaControlPlay ButtonElement(document)); 331 RefPtr<MediaControlPlayButtonElement> button = adoptRef(new MediaControlPlay ButtonElement(mediaElement));
332 button->ensureUserAgentShadowRoot(); 332 button->ensureUserAgentShadowRoot();
333 button->setType("button"); 333 button->setType("button");
334 return button.release(); 334 return button.release();
335 } 335 }
336 336
337 void MediaControlPlayButtonElement::defaultEventHandler(Event* event) 337 void MediaControlPlayButtonElement::defaultEventHandler(Event* event)
338 { 338 {
339 if (event->type() == EventTypeNames::click) { 339 if (event->type() == EventTypeNames::click) {
340 if (mediaController()->canPlay()) 340 if (mediaControllerInterface().canPlay())
341 mediaController()->play(); 341 mediaControllerInterface().play();
342 else 342 else
343 mediaController()->pause(); 343 mediaControllerInterface().pause();
344 updateDisplayType(); 344 updateDisplayType();
345 event->setDefaultHandled(); 345 event->setDefaultHandled();
346 } 346 }
347 HTMLInputElement::defaultEventHandler(event); 347 HTMLInputElement::defaultEventHandler(event);
348 } 348 }
349 349
350 void MediaControlPlayButtonElement::updateDisplayType() 350 void MediaControlPlayButtonElement::updateDisplayType()
351 { 351 {
352 setDisplayType(mediaController()->canPlay() ? MediaPlayButton : MediaPauseBu tton); 352 setDisplayType(mediaControllerInterface().canPlay() ? MediaPlayButton : Medi aPauseButton);
353 } 353 }
354 354
355 const AtomicString& MediaControlPlayButtonElement::shadowPseudoId() const 355 const AtomicString& MediaControlPlayButtonElement::shadowPseudoId() const
356 { 356 {
357 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-play-button", AtomicString::ConstructFromLiteral)); 357 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-play-button", AtomicString::ConstructFromLiteral));
358 return id; 358 return id;
359 } 359 }
360 360
361 // ---------------------------- 361 // ----------------------------
362 362
363 MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(Docum ent& document) 363 MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(HTMLM ediaElement& mediaElement)
364 : MediaControlInputElement(document, MediaOverlayPlayButton) 364 : MediaControlInputElement(mediaElement, MediaOverlayPlayButton)
365 { 365 {
366 } 366 }
367 367
368 PassRefPtr<MediaControlOverlayPlayButtonElement> MediaControlOverlayPlayButtonEl ement::create(Document& document) 368 PassRefPtr<MediaControlOverlayPlayButtonElement> MediaControlOverlayPlayButtonEl ement::create(HTMLMediaElement& mediaElement)
369 { 369 {
370 RefPtr<MediaControlOverlayPlayButtonElement> button = adoptRef(new MediaCont rolOverlayPlayButtonElement(document)); 370 RefPtr<MediaControlOverlayPlayButtonElement> button = adoptRef(new MediaCont rolOverlayPlayButtonElement(mediaElement));
371 button->ensureUserAgentShadowRoot(); 371 button->ensureUserAgentShadowRoot();
372 button->setType("button"); 372 button->setType("button");
373 return button.release(); 373 return button.release();
374 } 374 }
375 375
376 void MediaControlOverlayPlayButtonElement::defaultEventHandler(Event* event) 376 void MediaControlOverlayPlayButtonElement::defaultEventHandler(Event* event)
377 { 377 {
378 if (event->type() == EventTypeNames::click && mediaController()->canPlay()) { 378 if (event->type() == EventTypeNames::click && mediaControllerInterface().can Play()) {
379 mediaController()->play(); 379 mediaControllerInterface().play();
380 updateDisplayType(); 380 updateDisplayType();
381 event->setDefaultHandled(); 381 event->setDefaultHandled();
382 } 382 }
383 HTMLInputElement::defaultEventHandler(event); 383 HTMLInputElement::defaultEventHandler(event);
384 } 384 }
385 385
386 void MediaControlOverlayPlayButtonElement::updateDisplayType() 386 void MediaControlOverlayPlayButtonElement::updateDisplayType()
387 { 387 {
388 if (mediaController()->canPlay()) { 388 if (mediaControllerInterface().canPlay()) {
389 show(); 389 show();
390 } else 390 } else
391 hide(); 391 hide();
392 } 392 }
393 393
394 const AtomicString& MediaControlOverlayPlayButtonElement::shadowPseudoId() const 394 const AtomicString& MediaControlOverlayPlayButtonElement::shadowPseudoId() const
395 { 395 {
396 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-overlay-play- button", AtomicString::ConstructFromLiteral)); 396 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-overlay-play- button", AtomicString::ConstructFromLiteral));
397 return id; 397 return id;
398 } 398 }
399 399
400 400
401 // ---------------------------- 401 // ----------------------------
402 402
403 MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsB uttonElement(Document& document) 403 MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsB uttonElement(HTMLMediaElement& mediaElement)
404 : MediaControlInputElement(document, MediaShowClosedCaptionsButton) 404 : MediaControlInputElement(mediaElement, MediaShowClosedCaptionsButton)
405 { 405 {
406 } 406 }
407 407
408 PassRefPtr<MediaControlToggleClosedCaptionsButtonElement> MediaControlToggleClos edCaptionsButtonElement::create(Document& document) 408 PassRefPtr<MediaControlToggleClosedCaptionsButtonElement> MediaControlToggleClos edCaptionsButtonElement::create(HTMLMediaElement& mediaElement)
409 { 409 {
410 RefPtr<MediaControlToggleClosedCaptionsButtonElement> button = adoptRef(new MediaControlToggleClosedCaptionsButtonElement(document)); 410 RefPtr<MediaControlToggleClosedCaptionsButtonElement> button = adoptRef(new MediaControlToggleClosedCaptionsButtonElement(mediaElement));
411 button->ensureUserAgentShadowRoot(); 411 button->ensureUserAgentShadowRoot();
412 button->setType("button"); 412 button->setType("button");
413 button->hide(); 413 button->hide();
414 return button.release(); 414 return button.release();
415 } 415 }
416 416
417 void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType() 417 void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType()
418 { 418 {
419 bool captionsVisible = mediaController()->closedCaptionsVisible(); 419 bool captionsVisible = mediaControllerInterface().closedCaptionsVisible();
420 setDisplayType(captionsVisible ? MediaHideClosedCaptionsButton : MediaShowCl osedCaptionsButton); 420 setDisplayType(captionsVisible ? MediaHideClosedCaptionsButton : MediaShowCl osedCaptionsButton);
421 setChecked(captionsVisible); 421 setChecked(captionsVisible);
422 } 422 }
423 423
424 void MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler(Event* e vent) 424 void MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler(Event* e vent)
425 { 425 {
426 if (event->type() == EventTypeNames::click) { 426 if (event->type() == EventTypeNames::click) {
427 mediaController()->setClosedCaptionsVisible(!mediaController()->closedCa ptionsVisible()); 427 mediaControllerInterface().setClosedCaptionsVisible(!mediaControllerInte rface().closedCaptionsVisible());
428 setChecked(mediaController()->closedCaptionsVisible()); 428 setChecked(mediaControllerInterface().closedCaptionsVisible());
429 updateDisplayType(); 429 updateDisplayType();
430 event->setDefaultHandled(); 430 event->setDefaultHandled();
431 } 431 }
432 432
433 HTMLInputElement::defaultEventHandler(event); 433 HTMLInputElement::defaultEventHandler(event);
434 } 434 }
435 435
436 const AtomicString& MediaControlToggleClosedCaptionsButtonElement::shadowPseudoI d() const 436 const AtomicString& MediaControlToggleClosedCaptionsButtonElement::shadowPseudoI d() const
437 { 437 {
438 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-toggle-closed -captions-button", AtomicString::ConstructFromLiteral)); 438 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-toggle-closed -captions-button", AtomicString::ConstructFromLiteral));
439 return id; 439 return id;
440 } 440 }
441 441
442 // ---------------------------- 442 // ----------------------------
443 443
444 MediaControlTimelineElement::MediaControlTimelineElement(Document& document, Med iaControls* controls) 444 MediaControlTimelineElement::MediaControlTimelineElement(HTMLMediaElement& media Element, MediaControls* controls)
445 : MediaControlInputElement(document, MediaSlider) 445 : MediaControlInputElement(mediaElement, MediaSlider)
446 , m_controls(controls) 446 , m_controls(controls)
philipj_slow 2014/03/11 17:38:10 This can be removed now, but I've done it in a sep
447 { 447 {
448 } 448 }
449 449
450 PassRefPtr<MediaControlTimelineElement> MediaControlTimelineElement::create(Docu ment& document, MediaControls* controls) 450 PassRefPtr<MediaControlTimelineElement> MediaControlTimelineElement::create(HTML MediaElement& mediaElement, MediaControls* controls)
451 { 451 {
452 ASSERT(controls); 452 ASSERT(controls);
453 453
454 RefPtr<MediaControlTimelineElement> timeline = adoptRef(new MediaControlTime lineElement(document, controls)); 454 RefPtr<MediaControlTimelineElement> timeline = adoptRef(new MediaControlTime lineElement(mediaElement, controls));
455 timeline->ensureUserAgentShadowRoot(); 455 timeline->ensureUserAgentShadowRoot();
456 timeline->setType("range"); 456 timeline->setType("range");
457 timeline->setAttribute(stepAttr, "any"); 457 timeline->setAttribute(stepAttr, "any");
458 return timeline.release(); 458 return timeline.release();
459 } 459 }
460 460
461 void MediaControlTimelineElement::defaultEventHandler(Event* event) 461 void MediaControlTimelineElement::defaultEventHandler(Event* event)
462 { 462 {
463 // Left button is 0. Rejects mouse events not from left button. 463 // Left button is 0. Rejects mouse events not from left button.
464 if (event->isMouseEvent() && toMouseEvent(event)->button()) 464 if (event->isMouseEvent() && toMouseEvent(event)->button())
465 return; 465 return;
466 466
467 if (!inDocument() || !document().isActive()) 467 if (!inDocument() || !document().isActive())
468 return; 468 return;
469 469
470 if (event->type() == EventTypeNames::mousedown) 470 if (event->type() == EventTypeNames::mousedown)
471 mediaController()->beginScrubbing(); 471 mediaControllerInterface().beginScrubbing();
472 472
473 if (event->type() == EventTypeNames::mouseup) 473 if (event->type() == EventTypeNames::mouseup)
474 mediaController()->endScrubbing(); 474 mediaControllerInterface().endScrubbing();
475 475
476 MediaControlInputElement::defaultEventHandler(event); 476 MediaControlInputElement::defaultEventHandler(event);
477 477
478 if (event->type() == EventTypeNames::mouseover || event->type() == EventType Names::mouseout || event->type() == EventTypeNames::mousemove) 478 if (event->type() == EventTypeNames::mouseover || event->type() == EventType Names::mouseout || event->type() == EventTypeNames::mousemove)
479 return; 479 return;
480 480
481 double time = value().toDouble(); 481 double time = value().toDouble();
482 if (event->type() == EventTypeNames::input && time != mediaController()->cur rentTime()) 482 if (event->type() == EventTypeNames::input && time != mediaControllerInterfa ce().currentTime())
483 mediaController()->setCurrentTime(time, IGNORE_EXCEPTION); 483 mediaControllerInterface().setCurrentTime(time, IGNORE_EXCEPTION);
484 484
485 RenderSlider* slider = toRenderSlider(renderer()); 485 RenderSlider* slider = toRenderSlider(renderer());
486 if (slider && slider->inDragMode()) 486 if (slider && slider->inDragMode())
487 m_controls->updateCurrentTimeDisplay(); 487 m_controls->updateCurrentTimeDisplay();
488 } 488 }
489 489
490 bool MediaControlTimelineElement::willRespondToMouseClickEvents() 490 bool MediaControlTimelineElement::willRespondToMouseClickEvents()
491 { 491 {
492 return inDocument() && document().isActive(); 492 return inDocument() && document().isActive();
493 } 493 }
(...skipping 10 matching lines...) Expand all
504 504
505 505
506 const AtomicString& MediaControlTimelineElement::shadowPseudoId() const 506 const AtomicString& MediaControlTimelineElement::shadowPseudoId() const
507 { 507 {
508 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-timeline", At omicString::ConstructFromLiteral)); 508 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-timeline", At omicString::ConstructFromLiteral));
509 return id; 509 return id;
510 } 510 }
511 511
512 // ---------------------------- 512 // ----------------------------
513 513
514 MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(Document& docum ent) 514 MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(HTMLMediaElemen t& mediaElement)
515 : MediaControlInputElement(document, MediaVolumeSlider) 515 : MediaControlInputElement(mediaElement, MediaVolumeSlider)
516 { 516 {
517 } 517 }
518 518
519 PassRefPtr<MediaControlVolumeSliderElement> MediaControlVolumeSliderElement::cre ate(Document& document) 519 PassRefPtr<MediaControlVolumeSliderElement> MediaControlVolumeSliderElement::cre ate(HTMLMediaElement& mediaElement)
520 { 520 {
521 RefPtr<MediaControlVolumeSliderElement> slider = adoptRef(new MediaControlVo lumeSliderElement(document)); 521 RefPtr<MediaControlVolumeSliderElement> slider = adoptRef(new MediaControlVo lumeSliderElement(mediaElement));
522 slider->ensureUserAgentShadowRoot(); 522 slider->ensureUserAgentShadowRoot();
523 slider->setType("range"); 523 slider->setType("range");
524 slider->setAttribute(stepAttr, "any"); 524 slider->setAttribute(stepAttr, "any");
525 slider->setAttribute(maxAttr, "1"); 525 slider->setAttribute(maxAttr, "1");
526 return slider.release(); 526 return slider.release();
527 } 527 }
528 528
529 void MediaControlVolumeSliderElement::defaultEventHandler(Event* event) 529 void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
530 { 530 {
531 if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton) 531 if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton)
532 return; 532 return;
533 533
534 if (!inDocument() || !document().isActive()) 534 if (!inDocument() || !document().isActive())
535 return; 535 return;
536 536
537 MediaControlInputElement::defaultEventHandler(event); 537 MediaControlInputElement::defaultEventHandler(event);
538 538
539 if (event->type() == EventTypeNames::mouseover || event->type() == EventType Names::mouseout || event->type() == EventTypeNames::mousemove) 539 if (event->type() == EventTypeNames::mouseover || event->type() == EventType Names::mouseout || event->type() == EventTypeNames::mousemove)
540 return; 540 return;
541 541
542 double volume = value().toDouble(); 542 double volume = value().toDouble();
543 mediaController()->setVolume(volume, ASSERT_NO_EXCEPTION); 543 mediaControllerInterface().setVolume(volume, ASSERT_NO_EXCEPTION);
544 mediaController()->setMuted(false); 544 mediaControllerInterface().setMuted(false);
545 } 545 }
546 546
547 bool MediaControlVolumeSliderElement::willRespondToMouseMoveEvents() 547 bool MediaControlVolumeSliderElement::willRespondToMouseMoveEvents()
548 { 548 {
549 if (!inDocument() || !document().isActive()) 549 if (!inDocument() || !document().isActive())
550 return false; 550 return false;
551 551
552 return MediaControlInputElement::willRespondToMouseMoveEvents(); 552 return MediaControlInputElement::willRespondToMouseMoveEvents();
553 } 553 }
554 554
(...skipping 12 matching lines...) Expand all
567 } 567 }
568 568
569 const AtomicString& MediaControlVolumeSliderElement::shadowPseudoId() const 569 const AtomicString& MediaControlVolumeSliderElement::shadowPseudoId() const
570 { 570 {
571 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-volume-slider ", AtomicString::ConstructFromLiteral)); 571 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-volume-slider ", AtomicString::ConstructFromLiteral));
572 return id; 572 return id;
573 } 573 }
574 574
575 // ---------------------------- 575 // ----------------------------
576 576
577 MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(Documen t& document) 577 MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(HTMLMed iaElement& mediaElement)
578 : MediaControlInputElement(document, MediaEnterFullscreenButton) 578 : MediaControlInputElement(mediaElement, MediaEnterFullscreenButton)
579 { 579 {
580 } 580 }
581 581
582 PassRefPtr<MediaControlFullscreenButtonElement> MediaControlFullscreenButtonElem ent::create(Document& document) 582 PassRefPtr<MediaControlFullscreenButtonElement> MediaControlFullscreenButtonElem ent::create(HTMLMediaElement& mediaElement)
583 { 583 {
584 RefPtr<MediaControlFullscreenButtonElement> button = adoptRef(new MediaContr olFullscreenButtonElement(document)); 584 RefPtr<MediaControlFullscreenButtonElement> button = adoptRef(new MediaContr olFullscreenButtonElement(mediaElement));
585 button->ensureUserAgentShadowRoot(); 585 button->ensureUserAgentShadowRoot();
586 button->setType("button"); 586 button->setType("button");
587 button->hide(); 587 button->hide();
588 return button.release(); 588 return button.release();
589 } 589 }
590 590
591 void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event) 591 void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event)
592 { 592 {
593 if (event->type() == EventTypeNames::click) { 593 if (event->type() == EventTypeNames::click) {
594 // Only use the new full screen API if the fullScreenEnabled setting has 594 // Only use the new full screen API if the fullScreenEnabled setting has
595 // been explicitly enabled. Otherwise, use the old fullscreen API. This 595 // been explicitly enabled. Otherwise, use the old fullscreen API. This
596 // allows apps which embed a WebView to retain the existing full screen 596 // allows apps which embed a WebView to retain the existing full screen
597 // video implementation without requiring them to implement their own fu ll 597 // video implementation without requiring them to implement their own fu ll
598 // screen behavior. 598 // screen behavior.
599 if (document().settings() && document().settings()->fullScreenEnabled()) { 599 if (document().settings() && document().settings()->fullScreenEnabled()) {
600 if (FullscreenElementStack::isActiveFullScreenElement(toParentMediaE lement(this))) 600 if (FullscreenElementStack::isActiveFullScreenElement(toParentMediaE lement(this)))
601 FullscreenElementStack::from(document()).webkitCancelFullScreen( ); 601 FullscreenElementStack::from(document()).webkitCancelFullScreen( );
602 else 602 else
603 FullscreenElementStack::from(document()).requestFullScreenForEle ment(toParentMediaElement(this), 0, FullscreenElementStack::ExemptIFrameAllowFul lScreenRequirement); 603 FullscreenElementStack::from(document()).requestFullScreenForEle ment(toParentMediaElement(this), 0, FullscreenElementStack::ExemptIFrameAllowFul lScreenRequirement);
604 } else 604 } else {
605 mediaController()->enterFullscreen(); 605 mediaControllerInterface().enterFullscreen();
606 }
606 event->setDefaultHandled(); 607 event->setDefaultHandled();
607 } 608 }
608 HTMLInputElement::defaultEventHandler(event); 609 HTMLInputElement::defaultEventHandler(event);
609 } 610 }
610 611
611 const AtomicString& MediaControlFullscreenButtonElement::shadowPseudoId() const 612 const AtomicString& MediaControlFullscreenButtonElement::shadowPseudoId() const
612 { 613 {
613 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-fullscreen-bu tton", AtomicString::ConstructFromLiteral)); 614 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-fullscreen-bu tton", AtomicString::ConstructFromLiteral));
614 return id; 615 return id;
615 } 616 }
616 617
617 void MediaControlFullscreenButtonElement::setIsFullscreen(bool isFullscreen) 618 void MediaControlFullscreenButtonElement::setIsFullscreen(bool isFullscreen)
618 { 619 {
619 setDisplayType(isFullscreen ? MediaExitFullscreenButton : MediaEnterFullscre enButton); 620 setDisplayType(isFullscreen ? MediaExitFullscreenButton : MediaEnterFullscre enButton);
620 } 621 }
621 622
622 // ---------------------------- 623 // ----------------------------
623 624
624 MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement (Document& document) 625 MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement (HTMLMediaElement& mediaElement)
625 : MediaControlTimeDisplayElement(document, MediaTimeRemainingDisplay) 626 : MediaControlTimeDisplayElement(mediaElement, MediaTimeRemainingDisplay)
626 { 627 {
627 } 628 }
628 629
629 PassRefPtr<MediaControlTimeRemainingDisplayElement> MediaControlTimeRemainingDis playElement::create(Document& document) 630 PassRefPtr<MediaControlTimeRemainingDisplayElement> MediaControlTimeRemainingDis playElement::create(HTMLMediaElement& mediaElement)
630 { 631 {
631 return adoptRef(new MediaControlTimeRemainingDisplayElement(document)); 632 return adoptRef(new MediaControlTimeRemainingDisplayElement(mediaElement));
632 } 633 }
633 634
634 static const AtomicString& getMediaControlTimeRemainingDisplayElementShadowPseud oId() 635 static const AtomicString& getMediaControlTimeRemainingDisplayElementShadowPseud oId()
635 { 636 {
636 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-time-remainin g-display", AtomicString::ConstructFromLiteral)); 637 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-time-remainin g-display", AtomicString::ConstructFromLiteral));
637 return id; 638 return id;
638 } 639 }
639 640
640 const AtomicString& MediaControlTimeRemainingDisplayElement::shadowPseudoId() co nst 641 const AtomicString& MediaControlTimeRemainingDisplayElement::shadowPseudoId() co nst
641 { 642 {
642 return getMediaControlTimeRemainingDisplayElementShadowPseudoId(); 643 return getMediaControlTimeRemainingDisplayElementShadowPseudoId();
643 } 644 }
644 645
645 // ---------------------------- 646 // ----------------------------
646 647
647 MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement(Doc ument& document) 648 MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement(HTM LMediaElement& mediaElement)
648 : MediaControlTimeDisplayElement(document, MediaCurrentTimeDisplay) 649 : MediaControlTimeDisplayElement(mediaElement, MediaCurrentTimeDisplay)
649 { 650 {
650 } 651 }
651 652
652 PassRefPtr<MediaControlCurrentTimeDisplayElement> MediaControlCurrentTimeDisplay Element::create(Document& document) 653 PassRefPtr<MediaControlCurrentTimeDisplayElement> MediaControlCurrentTimeDisplay Element::create(HTMLMediaElement& mediaElement)
653 { 654 {
654 return adoptRef(new MediaControlCurrentTimeDisplayElement(document)); 655 return adoptRef(new MediaControlCurrentTimeDisplayElement(mediaElement));
655 } 656 }
656 657
657 static const AtomicString& getMediaControlCurrentTimeDisplayElementShadowPseudoI d() 658 static const AtomicString& getMediaControlCurrentTimeDisplayElementShadowPseudoI d()
658 { 659 {
659 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-current-time- display", AtomicString::ConstructFromLiteral)); 660 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-current-time- display", AtomicString::ConstructFromLiteral));
660 return id; 661 return id;
661 } 662 }
662 663
663 const AtomicString& MediaControlCurrentTimeDisplayElement::shadowPseudoId() cons t 664 const AtomicString& MediaControlCurrentTimeDisplayElement::shadowPseudoId() cons t
664 { 665 {
665 return getMediaControlCurrentTimeDisplayElementShadowPseudoId(); 666 return getMediaControlCurrentTimeDisplayElementShadowPseudoId();
666 } 667 }
667 668
668 // ---------------------------- 669 // ----------------------------
669 670
670 MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement(Doc ument& document) 671 MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement(HTM LMediaElement& mediaElement)
671 : MediaControlDivElement(document, MediaTextTrackDisplayContainer) 672 : MediaControlDivElement(mediaElement, MediaTextTrackDisplayContainer)
672 , m_fontSize(0) 673 , m_fontSize(0)
673 { 674 {
674 } 675 }
675 676
676 PassRefPtr<MediaControlTextTrackContainerElement> MediaControlTextTrackContainer Element::create(Document& document) 677 PassRefPtr<MediaControlTextTrackContainerElement> MediaControlTextTrackContainer Element::create(HTMLMediaElement& mediaElement)
677 { 678 {
678 RefPtr<MediaControlTextTrackContainerElement> element = adoptRef(new MediaCo ntrolTextTrackContainerElement(document)); 679 RefPtr<MediaControlTextTrackContainerElement> element = adoptRef(new MediaCo ntrolTextTrackContainerElement(mediaElement));
679 element->hide(); 680 element->hide();
680 return element.release(); 681 return element.release();
681 } 682 }
682 683
683 RenderObject* MediaControlTextTrackContainerElement::createRenderer(RenderStyle* ) 684 RenderObject* MediaControlTextTrackContainerElement::createRenderer(RenderStyle* )
684 { 685 {
685 return new RenderTextTrackContainerElement(this); 686 return new RenderTextTrackContainerElement(this);
686 } 687 }
687 688
688 const AtomicString& MediaControlTextTrackContainerElement::textTrackContainerEle mentShadowPseudoId() 689 const AtomicString& MediaControlTextTrackContainerElement::textTrackContainerEle mentShadowPseudoId()
689 { 690 {
690 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-text-track-container", AtomicString::ConstructFromLiteral)); 691 DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-text-track-container", AtomicString::ConstructFromLiteral));
691 return id; 692 return id;
692 } 693 }
693 694
694 const AtomicString& MediaControlTextTrackContainerElement::shadowPseudoId() cons t 695 const AtomicString& MediaControlTextTrackContainerElement::shadowPseudoId() cons t
695 { 696 {
696 return textTrackContainerElementShadowPseudoId(); 697 return textTrackContainerElementShadowPseudoId();
697 } 698 }
698 699
699 void MediaControlTextTrackContainerElement::updateDisplay() 700 void MediaControlTextTrackContainerElement::updateDisplay()
700 { 701 {
701 if (!mediaController()->closedCaptionsVisible()) { 702 if (!mediaControllerInterface().closedCaptionsVisible()) {
702 removeChildren(); 703 removeChildren();
703 return; 704 return;
704 } 705 }
705 706
706 HTMLMediaElement* mediaElement = toParentMediaElement(this); 707 HTMLMediaElement* mediaElement = toParentMediaElement(this);
707 // 1. If the media element is an audio element, or is another playback 708 // 1. If the media element is an audio element, or is another playback
708 // mechanism with no rendering area, abort these steps. There is nothing to 709 // mechanism with no rendering area, abort these steps. There is nothing to
709 // render. 710 // render.
710 if (!mediaElement || !mediaElement->isVideo()) 711 if (!mediaElement || !mediaElement->isVideo())
711 return; 712 return;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
789 float fontSize = smallestDimension * 0.05f; 790 float fontSize = smallestDimension * 0.05f;
790 if (fontSize != m_fontSize) { 791 if (fontSize != m_fontSize) {
791 m_fontSize = fontSize; 792 m_fontSize = fontSize;
792 setInlineStyleProperty(CSSPropertyFontSize, fontSize, CSSPrimitiveValue: :CSS_PX); 793 setInlineStyleProperty(CSSPropertyFontSize, fontSize, CSSPrimitiveValue: :CSS_PX);
793 } 794 }
794 } 795 }
795 796
796 // ---------------------------- 797 // ----------------------------
797 798
798 } // namespace WebCore 799 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698