当前位置: 首页>>代码示例>>C++>>正文


C++ MediaValues::overrideViewportDimensions方法代码示例

本文整理汇总了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);
}
开发者ID:endlessm,项目名称:chromium-browser,代码行数:51,代码来源:LinkLoader.cpp


注:本文中的MediaValues::overrideViewportDimensions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。