Title: [143945] trunk/Source/WebCore
- Revision
- 143945
- Author
- jer.no...@apple.com
- Date
- 2013-02-25 10:24:05 -0800 (Mon, 25 Feb 2013)
Log Message
AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
https://bugs.webkit.org/show_bug.cgi?id=110725
Reviewed by Eric Carlson.
When settings are changed, do not re-query the media engines (which causes their respective
frameworks to load). Instead, merely clear any previously loaded media engines so that
the media engine list will be re-queried the next time installedMediaEngines() is called.
(WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
* platform/graphics/MediaPlayer.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
* html/HTMLMediaElement.h:
* page/Settings.cpp:
(WebCore::Settings::setAVFoundationEnabled): Call renamed method.
(WebCore::Settings::setQTKitEnabled): Ditto.
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Only clear out previously queried engines.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (143944 => 143945)
--- trunk/Source/WebCore/ChangeLog 2013-02-25 18:21:54 UTC (rev 143944)
+++ trunk/Source/WebCore/ChangeLog 2013-02-25 18:24:05 UTC (rev 143945)
@@ -1,3 +1,25 @@
+2013-02-25 Jer Noble <jer.no...@apple.com>
+
+ AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
+ https://bugs.webkit.org/show_bug.cgi?id=110725
+
+ Reviewed by Eric Carlson.
+
+ When settings are changed, do not re-query the media engines (which causes their respective
+ frameworks to load). Instead, merely clear any previously loaded media engines so that
+ the media engine list will be re-queried the next time installedMediaEngines() is called.
+
+ (WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
+ * platform/graphics/MediaPlayer.h:
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
+ * html/HTMLMediaElement.h:
+ * page/Settings.cpp:
+ (WebCore::Settings::setAVFoundationEnabled): Call renamed method.
+ (WebCore::Settings::setQTKitEnabled): Ditto.
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines): Only clear out previously queried engines.
+
2013-02-25 Martin Robinson <mrobin...@igalia.com>
Try to fix the Windows gyp build after r143937
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (143944 => 143945)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2013-02-25 18:21:54 UTC (rev 143944)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2013-02-25 18:24:05 UTC (rev 143945)
@@ -4316,9 +4316,9 @@
MediaPlayer::clearMediaCacheForSite(site);
}
-void HTMLMediaElement::requeryMediaEngines()
+void HTMLMediaElement::resetMediaEngines()
{
- MediaPlayer::requeryMediaEngines();
+ MediaPlayer::resetMediaEngines();
}
void HTMLMediaElement::privateBrowsingStateDidChange()
Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (143944 => 143945)
--- trunk/Source/WebCore/html/HTMLMediaElement.h 2013-02-25 18:21:54 UTC (rev 143944)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h 2013-02-25 18:24:05 UTC (rev 143945)
@@ -316,7 +316,7 @@
static void getSitesInMediaCache(Vector<String>&);
static void clearMediaCache();
static void clearMediaCacheForSite(const String&);
- static void requeryMediaEngines();
+ static void resetMediaEngines();
bool isPlaying() const { return m_playing; }
Modified: trunk/Source/WebCore/page/Settings.cpp (143944 => 143945)
--- trunk/Source/WebCore/page/Settings.cpp 2013-02-25 18:21:54 UTC (rev 143944)
+++ trunk/Source/WebCore/page/Settings.cpp 2013-02-25 18:24:05 UTC (rev 143945)
@@ -542,7 +542,7 @@
return;
gAVFoundationEnabled = enabled;
- HTMLMediaElement::requeryMediaEngines();
+ HTMLMediaElement::resetMediaEngines();
}
#endif
@@ -553,7 +553,7 @@
return;
gQTKitEnabled = enabled;
- HTMLMediaElement::requeryMediaEngines();
+ HTMLMediaElement::resetMediaEngines();
}
#endif
Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (143944 => 143945)
--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp 2013-02-25 18:21:54 UTC (rev 143944)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp 2013-02-25 18:24:05 UTC (rev 143945)
@@ -200,15 +200,16 @@
static MediaPlayerFactory* bestMediaEngineForTypeAndCodecs(const String& type, const String& codecs, const String& keySystem, const KURL&, MediaPlayerFactory* current = 0);
static MediaPlayerFactory* nextMediaEngine(MediaPlayerFactory* current);
-enum RequeryEngineOptions { DoNotRequeryEngines, RequeryEngines };
-static Vector<MediaPlayerFactory*>& installedMediaEngines(RequeryEngineOptions requeryFlags = DoNotRequeryEngines )
+enum RequeryEngineOptions { DoNotResetEngines, ResetEngines };
+static Vector<MediaPlayerFactory*>& installedMediaEngines(RequeryEngineOptions requeryFlags = DoNotResetEngines )
{
DEFINE_STATIC_LOCAL(Vector<MediaPlayerFactory*>, installedEngines, ());
static bool enginesQueried = false;
- if (requeryFlags == RequeryEngines) {
+ if (requeryFlags == ResetEngines) {
installedEngines.clear();
enginesQueried = false;
+ return installedEngines;
}
if (!enginesQueried) {
@@ -1121,9 +1122,9 @@
}
#endif
-void MediaPlayer::requeryMediaEngines()
+void MediaPlayer::resetMediaEngines()
{
- installedMediaEngines(RequeryEngines);
+ installedMediaEngines(ResetEngines);
}
}
Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.h (143944 => 143945)
--- trunk/Source/WebCore/platform/graphics/MediaPlayer.h 2013-02-25 18:21:54 UTC (rev 143944)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.h 2013-02-25 18:24:05 UTC (rev 143945)
@@ -435,7 +435,7 @@
void setTextTrackRepresentation(TextTrackRepresentation*);
#endif
- static void requeryMediaEngines();
+ static void resetMediaEngines();
private:
MediaPlayer(MediaPlayerClient*);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes