本文整理汇总了C++中RenderEmbeddedObject::hasFallbackContent方法的典型用法代码示例。如果您正苦于以下问题:C++ RenderEmbeddedObject::hasFallbackContent方法的具体用法?C++ RenderEmbeddedObject::hasFallbackContent怎么用?C++ RenderEmbeddedObject::hasFallbackContent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RenderEmbeddedObject
的用法示例。
在下文中一共展示了RenderEmbeddedObject::hasFallbackContent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: requestObject
bool HTMLPlugInElement::requestObject(const String& url, const String& mimeType, const Vector<String>& paramNames, const Vector<String>& paramValues)
{
if (url.isEmpty() && mimeType.isEmpty())
return false;
// FIXME: None of this code should use renderers!
RenderEmbeddedObject* renderer = renderEmbeddedObject();
ASSERT(renderer);
if (!renderer)
return false;
KURL completedURL = document().completeURL(url);
if (!pluginIsLoadable(completedURL, mimeType))
return false;
bool useFallback;
if (shouldUsePlugin(completedURL, mimeType, renderer->hasFallbackContent(), useFallback))
return loadPlugin(completedURL, mimeType, paramNames, paramValues, useFallback);
// If the plug-in element already contains a subframe,
// loadOrRedirectSubframe will re-use it. Otherwise, it will create a new
// frame and set it as the RenderPart's widget, causing what was previously
// in the widget to be torn down.
return loadOrRedirectSubframe(completedURL, getNameAttribute(), true);
}
示例2: requestObject
bool SubframeLoader::requestObject(HTMLPlugInImageElement* ownerElement, const String& url, const AtomicString& frameName,
const String& mimeType, const Vector<String>& paramNames, const Vector<String>& paramValues)
{
if (url.isEmpty() && mimeType.isEmpty())
return false;
if (!m_frame->script()->xssAuditor()->canLoadObject(url)) {
// It is unsafe to honor the request for this object.
return false;
}
// FIXME: None of this code should use renderers!
RenderEmbeddedObject* renderer = ownerElement->renderEmbeddedObject();
ASSERT(renderer);
if (!renderer)
return false;
KURL completedURL;
if (!url.isEmpty())
completedURL = completeURL(url);
bool useFallback;
if (shouldUsePlugin(completedURL, mimeType, renderer->hasFallbackContent(), useFallback)) {
Settings* settings = m_frame->settings();
if ((!allowPlugins(AboutToInstantiatePlugin)
// Application plugins are plugins implemented by the user agent, for example Qt plugins,
// as opposed to third-party code such as flash. The user agent decides whether or not they are
// permitted, rather than WebKit.
&& !MIMETypeRegistry::isApplicationPluginMIMEType(mimeType))
|| (!settings->isJavaEnabled() && MIMETypeRegistry::isJavaAppletMIMEType(mimeType)))
return false;
if (m_frame->document() && m_frame->document()->securityOrigin()->isSandboxed(SandboxPlugins))
return false;
ASSERT(ownerElement->hasTagName(objectTag) || ownerElement->hasTagName(embedTag));
HTMLPlugInImageElement* pluginElement = static_cast<HTMLPlugInImageElement*>(ownerElement);
return loadPlugin(pluginElement, completedURL, mimeType, paramNames, paramValues, useFallback);
}
// If the plug-in element already contains a subframe, loadOrRedirectSubframe will re-use it. Otherwise,
// it will create a new frame and set it as the RenderPart's widget, causing what was previously
// in the widget to be torn down.
return loadOrRedirectSubframe(ownerElement, completedURL, frameName, true, true);
}
示例3: requestObject
bool SubframeLoader::requestObject(HTMLPlugInImageElement* ownerElement, const String& url, const AtomicString& frameName, const String& mimeType, const Vector<String>& paramNames, const Vector<String>& paramValues)
{
if (url.isEmpty() && mimeType.isEmpty())
return false;
// FIXME: None of this code should use renderers!
RenderEmbeddedObject* renderer = ownerElement->renderEmbeddedObject();
ASSERT(renderer);
if (!renderer)
return false;
KURL completedURL;
if (!url.isEmpty())
completedURL = completeURL(url);
bool useFallback;
if (shouldUsePlugin(completedURL, mimeType, ownerElement->shouldPreferPlugInsForImages(), renderer->hasFallbackContent(), useFallback)) {
bool success = requestPlugin(ownerElement, completedURL, mimeType, paramNames, paramValues, useFallback);
logPluginRequest(document()->page(), mimeType, completedURL, success);
return success;
}
// If the plug-in element already contains a subframe, loadOrRedirectSubframe will re-use it. Otherwise,
// it will create a new frame and set it as the RenderPart's widget, causing what was previously
// in the widget to be torn down.
return loadOrRedirectSubframe(ownerElement, completedURL, frameName, true, true);
}