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


C++ SecurityOrigin::canRequestNoSuborigin方法代码示例

本文整理汇总了C++中SecurityOrigin::canRequestNoSuborigin方法的典型用法代码示例。如果您正苦于以下问题:C++ SecurityOrigin::canRequestNoSuborigin方法的具体用法?C++ SecurityOrigin::canRequestNoSuborigin怎么用?C++ SecurityOrigin::canRequestNoSuborigin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SecurityOrigin的用法示例。


在下文中一共展示了SecurityOrigin::canRequestNoSuborigin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: connect

void EventSource::connect() {
  DCHECK_EQ(kConnecting, m_state);
  DCHECK(!m_loader);
  DCHECK(getExecutionContext());

  ExecutionContext& executionContext = *this->getExecutionContext();
  ResourceRequest request(m_currentURL);
  request.setHTTPMethod(HTTPNames::GET);
  request.setHTTPHeaderField(HTTPNames::Accept, "text/event-stream");
  request.setHTTPHeaderField(HTTPNames::Cache_Control, "no-cache");
  request.setRequestContext(WebURLRequest::RequestContextEventSource);
  request.setExternalRequestStateFromRequestorAddressSpace(
      executionContext.securityContext().addressSpace());
  if (m_parser && !m_parser->lastEventId().isEmpty()) {
    // HTTP headers are Latin-1 byte strings, but the Last-Event-ID header is
    // encoded as UTF-8.
    // TODO(davidben): This should be captured in the type of
    // setHTTPHeaderField's arguments.
    CString lastEventIdUtf8 = m_parser->lastEventId().utf8();
    request.setHTTPHeaderField(
        HTTPNames::Last_Event_ID,
        AtomicString(reinterpret_cast<const LChar*>(lastEventIdUtf8.data()),
                     lastEventIdUtf8.length()));
  }

  SecurityOrigin* origin = executionContext.getSecurityOrigin();

  ThreadableLoaderOptions options;
  options.preflightPolicy = PreventPreflight;
  options.crossOriginRequestPolicy = UseAccessControl;
  options.contentSecurityPolicyEnforcement =
      ContentSecurityPolicy::shouldBypassMainWorld(&executionContext)
          ? DoNotEnforceContentSecurityPolicy
          : EnforceContentSecurityPolicy;

  ResourceLoaderOptions resourceLoaderOptions;
  resourceLoaderOptions.allowCredentials =
      (origin->canRequestNoSuborigin(m_currentURL) || m_withCredentials)
          ? AllowStoredCredentials
          : DoNotAllowStoredCredentials;
  resourceLoaderOptions.credentialsRequested =
      m_withCredentials ? ClientRequestedCredentials
                        : ClientDidNotRequestCredentials;
  resourceLoaderOptions.dataBufferingPolicy = DoNotBufferData;
  resourceLoaderOptions.securityOrigin = origin;

  InspectorInstrumentation::willSendEventSourceRequest(&executionContext, this);
  // InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient
  // will be called synchronously.
  m_loader = ThreadableLoader::create(executionContext, this, options,
                                      resourceLoaderOptions);
  m_loader->start(request);
}
开发者ID:mirror,项目名称:chromium,代码行数:53,代码来源:EventSource.cpp


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