summaryrefslogtreecommitdiffstats
path: root/WebCore/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/plugins')
-rw-r--r--WebCore/plugins/PluginView.cpp21
-rw-r--r--WebCore/plugins/PluginView.h1
2 files changed, 6 insertions, 16 deletions
diff --git a/WebCore/plugins/PluginView.cpp b/WebCore/plugins/PluginView.cpp
index 73ac220..ae1a0a9 100644
--- a/WebCore/plugins/PluginView.cpp
+++ b/WebCore/plugins/PluginView.cpp
@@ -223,7 +223,7 @@ bool PluginView::startOrAddToUnstartedList()
// ourselves. Otherwise, the loader will try to deliver data before we've
// started the plug-in.
if (!m_loadManually && !m_parentFrame->page()->canStartMedia()) {
- m_parentFrame->page()->addMediaCanStartListener(this);
+ m_parentFrame->document()->addMediaCanStartListener(this);
m_isWaitingToStart = true;
return true;
}
@@ -306,7 +306,8 @@ PluginView::~PluginView()
instanceMap().remove(m_instance);
- removeFromUnstartedListIfNecessary();
+ if (m_isWaitingToStart)
+ m_parentFrame->document()->removeMediaCanStartListener(this);
stop();
@@ -328,17 +329,6 @@ PluginView::~PluginView()
m_plugin->unload();
}
-void PluginView::removeFromUnstartedListIfNecessary()
-{
- if (!m_isWaitingToStart)
- return;
-
- if (!m_parentFrame->page())
- return;
-
- m_parentFrame->page()->removeMediaCanStartListener(this);
-}
-
void PluginView::stop()
{
if (!m_isStarted)
@@ -551,7 +541,8 @@ NPError PluginView::load(const FrameLoadRequest& frameLoadRequest, bool sendNoti
return NPERR_INVALID_URL;
// Don't allow requests to be made when the document loader is stopping all loaders.
- if (m_parentFrame->loader()->documentLoader()->isStopping())
+ DocumentLoader* loader = m_parentFrame->loader()->documentLoader();
+ if (!loader || loader->isStopping())
return NPERR_GENERIC_ERROR;
const String& targetFrameName = frameLoadRequest.frameName();
@@ -656,7 +647,7 @@ NPError PluginView::destroyStream(NPStream* stream, NPReason reason)
void PluginView::status(const char* message)
{
if (Page* page = m_parentFrame->page())
- page->chrome()->setStatusbarText(m_parentFrame.get(), String(message));
+ page->chrome()->setStatusbarText(m_parentFrame.get(), String::fromUTF8(message));
}
NPError PluginView::setValue(NPPVariable variable, void* value)
diff --git a/WebCore/plugins/PluginView.h b/WebCore/plugins/PluginView.h
index b685bbf..0849c59 100644
--- a/WebCore/plugins/PluginView.h
+++ b/WebCore/plugins/PluginView.h
@@ -254,7 +254,6 @@ namespace WebCore {
void setParameters(const Vector<String>& paramNames, const Vector<String>& paramValues);
bool startOrAddToUnstartedList();
- void removeFromUnstartedListIfNecessary();
void init();
bool platformStart();
void stop();