diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/testing/internals.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/testing/internals.cc | 61 |
1 files changed, 47 insertions, 14 deletions
diff --git a/chromium/third_party/blink/renderer/core/testing/internals.cc b/chromium/third_party/blink/renderer/core/testing/internals.cc index a7fbd640859..c855514e9ac 100644 --- a/chromium/third_party/blink/renderer/core/testing/internals.cc +++ b/chromium/third_party/blink/renderer/core/testing/internals.cc @@ -30,7 +30,6 @@ #include <memory> #include <utility> -#include "base/macros.h" #include "base/process/process_handle.h" #include "cc/layers/picture_layer.h" #include "cc/trees/layer_tree_host.h" @@ -123,6 +122,7 @@ #include "third_party/blink/renderer/core/loader/document_loader.h" #include "third_party/blink/renderer/core/loader/frame_loader.h" #include "third_party/blink/renderer/core/loader/history_item.h" +#include "third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h" #include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/focus_controller.h" #include "third_party/blink/renderer/core/page/page.h" @@ -196,6 +196,7 @@ #include "third_party/blink/renderer/platform/wtf/dtoa.h" #include "third_party/blink/renderer/platform/wtf/text/string_buffer.h" #include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h" +#include "third_party/blink/renderer/platform/wtf/threading.h" #include "ui/base/cursor/cursor.h" #include "ui/base/cursor/mojom/cursor_type.mojom-blink.h" #include "ui/base/ui_base_features.h" @@ -215,6 +216,9 @@ class UseCounterImplObserverImpl final : public UseCounterImpl::Observer { UseCounterImplObserverImpl(ScriptPromiseResolver* resolver, WebFeature feature) : resolver_(resolver), feature_(feature) {} + UseCounterImplObserverImpl(const UseCounterImplObserverImpl&) = delete; + UseCounterImplObserverImpl& operator=(const UseCounterImplObserverImpl&) = + delete; bool OnCountFeature(WebFeature feature) final { if (feature_ != feature) @@ -231,7 +235,6 @@ class UseCounterImplObserverImpl final : public UseCounterImpl::Observer { private: Member<ScriptPromiseResolver> resolver_; WebFeature feature_; - DISALLOW_COPY_AND_ASSIGN(UseCounterImplObserverImpl); }; class TestReadableStreamSource : public UnderlyingSourceBase { @@ -711,10 +714,6 @@ unsigned Internals::workerThreadCount() const { return WorkerThread::WorkerThreadCount(); } -bool Internals::isFormControlsRefreshEnabled() const { - return ::features::IsFormControlsRefreshEnabled(); -} - GCObservation* Internals::observeGC(ScriptValue script_value) { v8::Local<v8::Value> observed_value = script_value.V8Value(); DCHECK(!observed_value.IsEmpty()); @@ -756,6 +755,18 @@ unsigned Internals::needsLayoutCount(ExceptionState& exception_state) const { return needs_layout_objects; } +unsigned Internals::layoutCountForTesting( + ExceptionState& exception_state) const { + LocalFrame* context_frame = GetFrame(); + if (!context_frame) { + exception_state.ThrowDOMException(DOMExceptionCode::kInvalidAccessError, + "No context frame is available."); + return 0; + } + + return context_frame->View()->LayoutCountForTesting(); +} + unsigned Internals::hitTestCount(Document* doc, ExceptionState& exception_state) const { if (!doc) { @@ -2216,7 +2227,7 @@ HitTestLayerRectList* Internals::touchEventTargetLayerRects( IntSize(layer->bounds())); Vector<IntRect> layer_hit_test_rects; - for (const auto& hit_test_rect : touch_action_region.GetAllRegions()) + for (auto hit_test_rect : touch_action_region.GetAllRegions()) layer_hit_test_rects.push_back(IntRect(hit_test_rect)); MergeRects(layer_hit_test_rects); @@ -2358,8 +2369,7 @@ bool Internals::canHyphenate(const AtomicString& locale) { } void Internals::setMockHyphenation(const AtomicString& locale) { - LayoutLocale::SetHyphenationForTesting(locale, - base::AdoptRef(new MockHyphenation)); + LayoutLocale::SetHyphenationForTesting(locale, MockHyphenation::Create()); } unsigned Internals::numberOfLiveNodes() const { @@ -2521,7 +2531,7 @@ DOMRectList* Internals::nonFastScrollableRects( Vector<IntRect> layer_non_fast_scrollable_rects; for (auto* layer : *layer_tree_host) { const cc::Region& non_fast_region = layer->non_fast_scrollable_region(); - for (const gfx::Rect& non_fast_rect : non_fast_region) { + for (gfx::Rect non_fast_rect : non_fast_region) { gfx::RectF layer_rect(non_fast_rect); // Map |layer_rect| into screen space. @@ -2774,6 +2784,9 @@ void Internals::setMediaControlsTestMode(HTMLMediaElement* media_element, void Internals::registerURLSchemeAsBypassingContentSecurityPolicy( const String& scheme) { +#if DCHECK_IS_ON() + WTF::SetIsBeforeThreadCreatedForTest(); // Required for next operation: +#endif SchemeRegistry::RegisterURLSchemeAsBypassingContentSecurityPolicy(scheme); } @@ -2787,12 +2800,18 @@ void Internals::registerURLSchemeAsBypassingContentSecurityPolicy( else if (policy_area == "style") policy_areas_enum |= SchemeRegistry::kPolicyAreaStyle; } +#if DCHECK_IS_ON() + WTF::SetIsBeforeThreadCreatedForTest(); // Required for next operation: +#endif SchemeRegistry::RegisterURLSchemeAsBypassingContentSecurityPolicy( scheme, static_cast<SchemeRegistry::PolicyAreas>(policy_areas_enum)); } void Internals::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy( const String& scheme) { +#if DCHECK_IS_ON() + WTF::SetIsBeforeThreadCreatedForTest(); // Required for next operation: +#endif SchemeRegistry::RemoveURLSchemeRegisteredAsBypassingContentSecurityPolicy( scheme); } @@ -3467,6 +3486,18 @@ void Internals::forceLoseCanvasContext(HTMLCanvasElement* canvas, CanvasContextCreationAttributesCore attr; CanvasRenderingContext* context = canvas->GetCanvasRenderingContext(context_type, attr); + if (!context) + return; + context->LoseContext(CanvasRenderingContext::kSyntheticLostContext); +} + +void Internals::forceLoseCanvasContext(OffscreenCanvas* offscreencanvas, + const String& context_type) { + CanvasContextCreationAttributesCore attr; + CanvasRenderingContext* context = offscreencanvas->GetCanvasRenderingContext( + document_->GetExecutionContext(), context_type, attr); + if (!context) + return; context->LoseContext(CanvasRenderingContext::kSyntheticLostContext); } @@ -3829,10 +3860,12 @@ void Internals::setIsAdSubframe(HTMLIFrameElement* iframe, } LocalFrame* parent_frame = iframe->GetDocument().GetFrame(); LocalFrame* child_frame = To<LocalFrame>(iframe->ContentFrame()); - bool parent_is_ad = parent_frame && parent_frame->IsAdSubframe(); - child_frame->SetIsAdSubframe(parent_is_ad - ? blink::mojom::AdFrameType::kChildAd - : blink::mojom::AdFrameType::kRootAd); + blink::FrameAdEvidence ad_evidence(parent_frame && + parent_frame->IsAdSubframe()); + ad_evidence.set_created_by_ad_script( + mojom::FrameCreationStackEvidence::kCreatedByAdScript); + ad_evidence.set_is_complete(); + child_frame->SetAdEvidence(ad_evidence); } ReadableStream* Internals::createReadableStream( |