diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/loader/private')
5 files changed, 0 insertions, 386 deletions
diff --git a/chromium/third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.cc b/chromium/third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.cc deleted file mode 100644 index df4d9667a1e..00000000000 --- a/chromium/third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.cc +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.h" - -#include "base/stl_util.h" -#include "third_party/blink/renderer/core/dom/document.h" -#include "third_party/blink/renderer/core/frame/local_frame.h" -#include "third_party/blink/renderer/core/frame/web_feature.h" -#include "third_party/blink/renderer/platform/instrumentation/use_counter.h" - -namespace blink { - -namespace { - -// Mapping from WebClientHintsType to WebFeature. The ordering should match the -// ordering of enums in WebClientHintsType. -static constexpr WebFeature kWebFeatureMapping[] = { - WebFeature::kClientHintsDeviceMemory, - WebFeature::kClientHintsDPR, - WebFeature::kClientHintsResourceWidth, - WebFeature::kClientHintsViewportWidth, - WebFeature::kClientHintsRtt, - WebFeature::kClientHintsDownlink, - WebFeature::kClientHintsEct, - WebFeature::kClientHintsLang, - WebFeature::kClientHintsUA, - WebFeature::kClientHintsUAArch, - WebFeature::kClientHintsUAPlatform, - WebFeature::kClientHintsUAModel, - WebFeature::kClientHintsUAMobile, - WebFeature::kClientHintsUAFullVersion, - WebFeature::kClientHintsUAPlatformVersion, -}; - -static_assert(static_cast<int>(network::mojom::WebClientHintsType::kMaxValue) + - 1 == - base::size(kWebFeatureMapping), - "unhandled client hint type"); - -} // namespace - -FrameClientHintsPreferencesContext::FrameClientHintsPreferencesContext( - LocalFrame* frame) - : frame_(frame) {} - -void FrameClientHintsPreferencesContext::CountClientHints( - network::mojom::WebClientHintsType type) { - UseCounter::Count(*frame_->GetDocument(), - kWebFeatureMapping[static_cast<int32_t>(type)]); -} - -} // namespace blink diff --git a/chromium/third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.h b/chromium/third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.h deleted file mode 100644 index 84b2185713f..00000000000 --- a/chromium/third_party/blink/renderer/core/loader/private/frame_client_hints_preferences_context.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_FRAME_CLIENT_HINTS_PREFERENCES_CONTEXT_H_ -#define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_FRAME_CLIENT_HINTS_PREFERENCES_CONTEXT_H_ - -#include "third_party/blink/renderer/platform/heap/persistent.h" -#include "third_party/blink/renderer/platform/loader/fetch/client_hints_preferences.h" -#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" - -namespace blink { - -class LocalFrame; - -class FrameClientHintsPreferencesContext final - : public ClientHintsPreferences::Context { - STACK_ALLOCATED(); - - public: - explicit FrameClientHintsPreferencesContext(LocalFrame*); - - void CountClientHints(network::mojom::WebClientHintsType) override; - - private: - LocalFrame* frame_; -}; - -} // namespace blink - -#endif // THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_FRAME_CLIENT_HINTS_PREFERENCES_CONTEXT_H_ diff --git a/chromium/third_party/blink/renderer/core/loader/private/prerender_client.h b/chromium/third_party/blink/renderer/core/loader/private/prerender_client.h deleted file mode 100644 index 9965225e95f..00000000000 --- a/chromium/third_party/blink/renderer/core/loader/private/prerender_client.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_PRERENDER_CLIENT_H_ -#define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_PRERENDER_CLIENT_H_ - -#include "third_party/blink/renderer/platform/heap/handle.h" -#include "third_party/blink/renderer/platform/platform_export.h" - -namespace blink { - -class PLATFORM_EXPORT PrerenderClient : public GarbageCollectedMixin { - public: - virtual ~PrerenderClient() = default; - - virtual void DidStartPrerender() = 0; - virtual void DidStopPrerender() = 0; - virtual void DidSendLoadForPrerender() = 0; - virtual void DidSendDOMContentLoadedForPrerender() = 0; - - void Trace(Visitor* visitor) const override {} -}; - -} // namespace blink - -#endif // THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_PRERENDER_CLIENT_H_ diff --git a/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.cc b/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.cc deleted file mode 100644 index 00330814baa..00000000000 --- a/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.cc +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "third_party/blink/renderer/core/loader/private/prerender_handle.h" - -#include "services/network/public/mojom/referrer_policy.mojom-blink.h" -#include "third_party/blink/public/common/browser_interface_broker_proxy.h" -#include "third_party/blink/renderer/core/dom/document.h" -#include "third_party/blink/renderer/core/frame/local_frame.h" -#include "third_party/blink/renderer/core/frame/local_frame_client.h" -#include "third_party/blink/renderer/core/loader/private/prerender_client.h" -#include "third_party/blink/renderer/platform/heap/heap.h" -#include "third_party/blink/renderer/platform/weborigin/security_policy.h" - -namespace blink { - -// static -PrerenderHandle* PrerenderHandle::Create( - Document& document, - PrerenderClient* client, - const KURL& url, - mojom::blink::PrerenderRelType prerender_rel_type) { - // Prerenders are unlike requests in most ways (for instance, they pass down - // fragments, and they don't return data), but they do have referrers. - - if (!document.GetFrame()) - return nullptr; - - ExecutionContext* context = document.GetExecutionContext(); - Referrer referrer = SecurityPolicy::GenerateReferrer( - context->GetReferrerPolicy(), url, context->OutgoingReferrer()); - - auto attributes = mojom::blink::PrerenderAttributes::New(); - attributes->url = url; - attributes->rel_type = prerender_rel_type; - attributes->referrer = mojom::blink::Referrer::New( - KURL(NullURL(), referrer.referrer), referrer.referrer_policy); - attributes->view_size = - gfx::Size(document.GetFrame()->GetMainFrameViewportSize()); - - HeapMojoRemote<mojom::blink::PrerenderProcessor> prerender_processor(context); - context->GetBrowserInterfaceBroker().GetInterface( - prerender_processor.BindNewPipeAndPassReceiver( - context->GetTaskRunner(TaskType::kMiscPlatformAPI))); - - mojo::PendingRemote<mojom::blink::PrerenderProcessorClient> - prerender_processor_client; - auto receiver = prerender_processor_client.InitWithNewPipeAndPassReceiver(); - - prerender_processor->Start(std::move(attributes), - std::move(prerender_processor_client)); - - return MakeGarbageCollected<PrerenderHandle>(PassKey(), context, client, url, - std::move(prerender_processor), - std::move(receiver)); -} - -PrerenderHandle::PrerenderHandle( - PassKey pass_key, - ExecutionContext* context, - PrerenderClient* client, - const KURL& url, - HeapMojoRemote<mojom::blink::PrerenderProcessor> remote_processor, - mojo::PendingReceiver<mojom::blink::PrerenderProcessorClient> receiver) - : url_(url), - client_(client), - remote_processor_(std::move(remote_processor)), - receiver_(this, context) { - receiver_.Bind(std::move(receiver), - context->GetTaskRunner(TaskType::kMiscPlatformAPI)); -} - -PrerenderHandle::~PrerenderHandle() = default; - -void PrerenderHandle::Cancel() { - if (remote_processor_.is_bound()) - remote_processor_->Cancel(); - remote_processor_.reset(); - receiver_.reset(); -} - -const KURL& PrerenderHandle::Url() const { - return url_; -} - -void PrerenderHandle::OnPrerenderStart() { - if (client_) - client_->DidStartPrerender(); -} - -void PrerenderHandle::OnPrerenderStopLoading() { - if (client_) - client_->DidSendLoadForPrerender(); -} - -void PrerenderHandle::OnPrerenderDomContentLoaded() { - if (client_) - client_->DidSendDOMContentLoadedForPrerender(); -} - -void PrerenderHandle::OnPrerenderStop() { - if (client_) - client_->DidStopPrerender(); -} - -void PrerenderHandle::Trace(Visitor* visitor) const { - visitor->Trace(client_); - visitor->Trace(remote_processor_); - visitor->Trace(receiver_); -} - -} // namespace blink diff --git a/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h b/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h deleted file mode 100644 index e57bee1aa9d..00000000000 --- a/chromium/third_party/blink/renderer/core/loader/private/prerender_handle.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_PRERENDER_HANDLE_H_ -#define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_PRERENDER_HANDLE_H_ - -#include "base/macros.h" -#include "base/memory/scoped_refptr.h" -#include "base/util/type_safety/pass_key.h" -#include "third_party/blink/public/mojom/prerender/prerender.mojom-blink.h" -#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h" -#include "third_party/blink/renderer/platform/heap/handle.h" -#include "third_party/blink/renderer/platform/mojo/heap_mojo_receiver.h" -#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h" -#include "third_party/blink/renderer/platform/weborigin/kurl.h" - -namespace blink { - -class ExecutionContext; -class Document; -class PrerenderClient; - -// This is the Blink-side liaison of mojom::PrerenderProcessor to request the -// browser process to start prerendering, and implements -// mojom::PrerenderProcessorClient to observe events about prerendering. This is -// instantiated per prerender request, for example, when a new <link -// rel=prerender> element is added, when the element's href is changed etc. -// -// When you no longer need the prerendering page (e.g., when the -// <link rel=prerender> element is removed), you can ask the browser process to -// cancel the running prerender by Cancel(). If mojo connections are reset -// without Cancel() call, the browser process considers this prerendering -// request to be abandoned and may still use the prerendered page if a -// navigation occurs to that URL shortly after. -// -// TODO(https://crbug.com/1126305): Rename this to PrerenderProcessorClient. -class PrerenderHandle final : public GarbageCollected<PrerenderHandle>, - public mojom::blink::PrerenderProcessorClient { - public: - static PrerenderHandle* Create( - Document&, - PrerenderClient*, - const KURL&, - mojom::blink::PrerenderRelType prerender_rel_type); - - using PassKey = util::PassKey<PrerenderHandle>; - PrerenderHandle( - PassKey, - ExecutionContext*, - PrerenderClient*, - const KURL&, - HeapMojoRemote<mojom::blink::PrerenderProcessor>, - mojo::PendingReceiver<mojom::blink::PrerenderProcessorClient>); - ~PrerenderHandle() override; - - // Asks the browser process to cancel the running prerender. - void Cancel(); - - const KURL& Url() const; - - // mojom::blink::PrerenderProcessorClient: - void OnPrerenderStart() override; - void OnPrerenderStopLoading() override; - void OnPrerenderDomContentLoaded() override; - void OnPrerenderStop() override; - - virtual void Trace(Visitor*) const; - - private: - const KURL url_; - const WeakMember<PrerenderClient> client_; - HeapMojoRemote<mojom::blink::PrerenderProcessor> remote_processor_; - HeapMojoReceiver<mojom::blink::PrerenderProcessorClient, PrerenderHandle> - receiver_; - - DISALLOW_COPY_AND_ASSIGN(PrerenderHandle); -}; - -} // namespace blink - -#endif // THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_PRIVATE_PRERENDER_HANDLE_H_ |