Skip to content

Commit

Permalink
Merge r241450 - Revert r240434
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=194600
<rdar://problem/48044566>

Reviewed by Brent Fulgham.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
(WebCore::HTMLMediaElement::updateVolume):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):
  • Loading branch information
eric-carlson authored and carlosgcampos committed Feb 14, 2019
1 parent 0e442cf commit 14faa8d
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 13 deletions.
15 changes: 15 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
2019-02-13 Eric Carlson <eric.carlson@apple.com>

Revert r240434
https://bugs.webkit.org/show_bug.cgi?id=194600
<rdar://problem/48044566>

Reviewed by Brent Fulgham.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
(WebCore::HTMLMediaElement::updateVolume):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):

2019-02-13 Carlos Garcia Campos <cgarcia@igalia.com>

[FreeType] Unable to render some Hebrew characters
Expand Down
24 changes: 14 additions & 10 deletions Source/WebCore/html/HTMLMediaElement.cpp
Expand Up @@ -3722,11 +3722,7 @@ ExceptionOr<void> HTMLMediaElement::setVolume(double volume)
if (!(volume >= 0 && volume <= 1))
return Exception { IndexSizeError };

#if PLATFORM(IOS_FAMILY)
if (!processingUserGestureForMedia())
return { };
#endif

#if !PLATFORM(IOS_FAMILY)
if (m_volume == volume)
return { };

Expand All @@ -3742,7 +3738,7 @@ ExceptionOr<void> HTMLMediaElement::setVolume(double volume)
pauseInternal();
setAutoplayEventPlaybackState(AutoplayEventPlaybackState::PreventedAutoplay);
}

#endif
return { };
}

Expand Down Expand Up @@ -4933,9 +4929,9 @@ void HTMLMediaElement::mediaPlayerVolumeChanged(MediaPlayer*)

beginProcessingMediaPlayerCallback();
if (m_player) {
double volume = m_player->volume();
if (volume != m_volume) {
m_volume = volume;
double vol = m_player->volume();
if (vol != m_volume) {
m_volume = vol;
updateVolume();
scheduleEvent(eventNames().volumechangeEvent);
}
Expand Down Expand Up @@ -5348,7 +5344,14 @@ void HTMLMediaElement::updateVolume()
{
if (!m_player)
return;

#if PLATFORM(IOS_FAMILY)
// Only the user can change audio volume so update the cached volume and post the changed event.
float volume = m_player->volume();
if (m_volume != volume) {
m_volume = volume;
scheduleEvent(eventNames().volumechangeEvent);
}
#else
// Avoid recursion when the player reports volume changes.
if (!processingMediaPlayerCallback()) {
Page* page = document().page();
Expand Down Expand Up @@ -5377,6 +5380,7 @@ void HTMLMediaElement::updateVolume()

if (hasMediaControls())
mediaControls()->changedVolume();
#endif
}

void HTMLMediaElement::scheduleUpdatePlayState()
Expand Down
Expand Up @@ -1380,14 +1380,15 @@ static WallTime toSystemClockTime(NSDate *date)
void MediaPlayerPrivateAVFoundationObjC::setVolume(float volume)
{
#if PLATFORM(IOS_FAMILY)
if ([[PAL::getUIDeviceClass() currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad)
return;
#endif
UNUSED_PARAM(volume);
return;
#else

if (!m_avPlayer)
return;

[m_avPlayer.get() setVolume:volume];
#endif
}

void MediaPlayerPrivateAVFoundationObjC::setMuted(bool muted)
Expand Down

0 comments on commit 14faa8d

Please sign in to comment.