本文整理汇总了C++中MediaValues::overrideViewportDimensions方法的典型用法代码示例。如果您正苦于以下问题:C++ MediaValues::overrideViewportDimensions方法的具体用法?C++ MediaValues::overrideViewportDimensions怎么用?C++ MediaValues::overrideViewportDimensions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MediaValues
的用法示例。
在下文中一共展示了MediaValues::overrideViewportDimensions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: preloadIfNeeded
static Resource* preloadIfNeeded(const LinkRelAttribute& relAttribute, const KURL& href, Document& document, const String& as, const String& mimeType,
const String& media, CrossOriginAttributeValue crossOrigin, LinkCaller caller, bool& errorOccurred, ViewportDescription* viewportDescription)
{
if (!document.loader() || !relAttribute.isLinkPreload())
return nullptr;
UseCounter::count(document, UseCounter::LinkRelPreload);
ASSERT(RuntimeEnabledFeatures::linkPreloadEnabled());
if (!href.isValid() || href.isEmpty()) {
document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, WarningMessageLevel, String("<link rel=preload> has an invalid `href` value")));
return nullptr;
}
if (!media.isEmpty()) {
MediaValues* mediaValues = MediaValues::createDynamicIfFrameExists(document.frame());
if (viewportDescription)
mediaValues->overrideViewportDimensions(viewportDescription->maxWidth.getFloatValue(), viewportDescription->maxHeight.getFloatValue());
// Preload only if media matches
MediaQuerySet* mediaQueries = MediaQuerySet::create(media);
MediaQueryEvaluator evaluator(*mediaValues);
if (!evaluator.eval(mediaQueries))
return nullptr;
}
if (caller == LinkCalledFromHeader)
UseCounter::count(document, UseCounter::LinkHeaderPreload);
Resource::Type resourceType;
if (!LinkLoader::getResourceTypeFromAsAttribute(as, resourceType)) {
document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, WarningMessageLevel, String("<link rel=preload> must have a valid `as` value")));
errorOccurred = true;
return nullptr;
}
if (!isSupportedType(resourceType, mimeType)) {
document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, WarningMessageLevel, String("<link rel=preload> has an unsupported `type` value")));
return nullptr;
}
ResourceRequest resourceRequest(document.completeURL(href));
ResourceFetcher::determineRequestContext(resourceRequest, resourceType, false);
FetchRequest linkRequest(resourceRequest, FetchInitiatorTypeNames::link, document.encodingName());
if (crossOrigin != CrossOriginAttributeNotSet)
linkRequest.setCrossOriginAccessControl(document.getSecurityOrigin(), crossOrigin);
Settings* settings = document.settings();
if (settings && settings->logPreload())
document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, DebugMessageLevel, String("Preload triggered for " + href.host() + href.path())));
linkRequest.setForPreload(true, monotonicallyIncreasingTime());
linkRequest.setLinkPreload(true);
linkRequest.setPriority(document.fetcher()->loadPriority(resourceType, linkRequest));
return document.loader()->startPreload(resourceType, linkRequest);
}