Modified: trunk/Source/WebCore/ChangeLog (87478 => 87479)
--- trunk/Source/WebCore/ChangeLog 2011-05-27 06:43:29 UTC (rev 87478)
+++ trunk/Source/WebCore/ChangeLog 2011-05-27 06:54:19 UTC (rev 87479)
@@ -1,3 +1,20 @@
+2011-05-26 Adam Barth <aba...@webkit.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ FrameLoader cannot be null
+ https://bugs.webkit.org/show_bug.cgi?id=61609
+
+ This code has a bunch of cargo-cult null checking.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::createRenderer):
+ (WebCore::HTMLMediaElement::attach):
+ (WebCore::HTMLMediaElement::loadResource):
+ (WebCore::HTMLMediaElement::getPluginProxyParams):
+ (WebCore::HTMLMediaElement::createMediaPlayerProxy):
+ (WebCore::HTMLMediaElement::updateWidget):
+
2011-05-26 Shane Stephens <shanesteph...@google.com>
Reviewed by James Robinson.
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (87478 => 87479)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2011-05-27 06:43:29 UTC (rev 87478)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2011-05-27 06:54:19 UTC (rev 87479)
@@ -335,10 +335,8 @@
if (m_proxyWidget) {
mediaRenderer->setWidget(m_proxyWidget);
- Frame* frame = document()->frame();
- FrameLoader* loader = frame ? frame->loader() : 0;
- if (loader)
- loader->showMediaPlayerProxyPlugin(m_proxyWidget.get());
+ if (Frame* frame = document()->frame())
+ frame->loader()->showMediaPlayerProxyPlugin(m_proxyWidget.get());
}
return mediaRenderer;
#else
@@ -378,10 +376,8 @@
renderer()->updateFromElement();
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
else if (m_proxyWidget) {
- Frame* frame = document()->frame();
- FrameLoader* loader = frame ? frame->loader() : 0;
- if (loader)
- loader->hideMediaPlayerProxyPlugin(m_proxyWidget.get());
+ if (Frame* frame = document()->frame())
+ frame->loader()->hideMediaPlayerProxyPlugin(m_proxyWidget.get());
}
#endif
}
@@ -689,12 +685,9 @@
Frame* frame = document()->frame();
if (!frame)
return;
- FrameLoader* loader = frame->loader();
- if (!loader)
- return;
- KURL url(initialURL);
- if (!loader->willLoadMediaElementURL(url))
+ KURL url = ""
+ if (!frame->loader()->willLoadMediaElementURL(url))
return;
// The resource fetch algorithm
@@ -2439,11 +2432,10 @@
void HTMLMediaElement::getPluginProxyParams(KURL& url, Vector<String>& names, Vector<String>& values)
{
Frame* frame = document()->frame();
- FrameLoader* loader = frame ? frame->loader() : 0;
if (isVideo()) {
KURL posterURL = getNonEmptyURLAttribute(posterAttr);
- if (!posterURL.isEmpty() && loader && loader->willLoadMediaElementURL(posterURL)) {
+ if (!posterURL.isEmpty() && frame && frame->loader()->willLoadMediaElementURL(posterURL)) {
names.append("_media_element_poster_");
values.append(posterURL.string());
}
@@ -2459,7 +2451,7 @@
url = "" DoNothing);
m_currentSrc = url.string();
- if (url.isValid() && loader && loader->willLoadMediaElementURL(url)) {
+ if (url.isValid() && frame && frame->loader()->willLoadMediaElementURL(url)) {
names.append("_media_element_src_");
values.append(m_currentSrc);
}
@@ -2480,8 +2472,7 @@
return;
Frame* frame = document()->frame();
- FrameLoader* loader = frame ? frame->loader() : 0;
- if (!loader)
+ if (!frame)
return;
LOG(Media, "HTMLMediaElement::createMediaPlayerProxy");
@@ -2494,7 +2485,7 @@
// Hang onto the proxy widget so it won't be destroyed if the plug-in is set to
// display:none
- m_proxyWidget = loader->subframeLoader()->loadMediaPlayerProxyPlugin(this, url, paramNames, paramValues);
+ m_proxyWidget = frame->loader()->subframeLoader()->loadMediaPlayerProxyPlugin(this, url, paramNames, paramValues);
if (m_proxyWidget)
m_needWidgetUpdate = false;
}
@@ -2505,9 +2496,11 @@
Vector<String> paramNames;
Vector<String> paramValues;
+ // FIXME: Rename kurl to something more sensible.
KURL kurl;
-
+
mediaElement->getPluginProxyParams(kurl, paramNames, paramValues);
+ // FIXME: What if document()->frame() is 0?
SubframeLoader* loader = document()->frame()->loader()->subframeLoader();
loader->loadMediaPlayerProxyPlugin(mediaElement, kurl, paramNames, paramValues);
}