WebKit Bugzilla
Attachment 369696 Details for
Bug 174272
: LayoutTest inspector/canvas/css-canvas-clients.html is a flaky timeout
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[Patch] Extra Logging
174272.diff (text/plain), 8.86 KB, created by
Devin Rousso
on 2019-05-12 23:03:29 PDT
(
hide
)
Description:
[Patch] Extra Logging
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-05-12 23:03:29 PDT
Size:
8.86 KB
patch
obsolete
>diff --git a/LayoutTests/inspector/canvas/css-canvas-clients.html b/LayoutTests/inspector/canvas/css-canvas-clients.html >index 7fbaf6a2c20..9b10c9c9255 100644 >--- a/LayoutTests/inspector/canvas/css-canvas-clients.html >+++ b/LayoutTests/inspector/canvas/css-canvas-clients.html >@@ -4,7 +4,7 @@ > <script src="../../http/tests/inspector/resources/inspector-test.js"></script> > <script> > function load() { >- window.context2d = document.getCSSCanvasContext("2d", "css-canvas", 10, 10); >+ window.cssCanvasContext2d = document.getCSSCanvasContext("2d", "css-canvas", 10, 10); > > runTest(); > } >@@ -12,7 +12,9 @@ function load() { > let cssCanvasClients = []; > > function createCSSCanvasClient() { >- cssCanvasClients.push(document.body.appendChild(document.createElement("div"))); >+ let div = document.body.appendChild(document.createElement("div")); >+ div.classList.add("css-canvas-client"); >+ cssCanvasClients.push(div); > } > > function destroyCSSCanvasClients() { >@@ -25,6 +27,8 @@ function destroyCSSCanvasClients() { > } > > function test() { >+ InspectorTest.debug(); >+ > let suite = InspectorTest.createAsyncSuite("Canvas.CSSCanvasClients"); > > function logClientNodes(clientNodes) { >@@ -111,7 +115,7 @@ function test() { > } > </script> > <style> >- div { >+ .css-canvas-client { > width: 10px; > height: 10px; > background-image: -webkit-canvas(css-canvas); >diff --git a/LayoutTests/platform/mac/TestExpectations b/LayoutTests/platform/mac/TestExpectations >index f273f6d3d8e..8c35987da17 100644 >--- a/LayoutTests/platform/mac/TestExpectations >+++ b/LayoutTests/platform/mac/TestExpectations >@@ -1031,7 +1031,6 @@ webkit.org/b/150978 fast/canvas/webgl/oes-texture-half-float-linear.html [ Pass > webkit.org/b/173931 inspector/canvas/context-attributes.html [ Pass Timeout ] > webkit.org/b/178028 inspector/canvas/create-context-2d.html [ Pass Timeout ] > webkit.org/b/174066 inspector/canvas/create-context-webgl2.html [ Pass Timeout ] >-webkit.org/b/174272 inspector/canvas/css-canvas-clients.html [ Pass Failure ] > webkit.org/b/174066 inspector/canvas/recording-webgl2.html [ Pass Failure Timeout ] > webkit.org/b/174066 inspector/canvas/recording-webgl2-snapshots.html [ Pass Failure Timeout ] > webkit.org/b/174066 inspector/canvas/shaderProgram-add-remove-webgl2.html [ Pass Failure Timeout ] >diff --git a/Source/WebCore/css/CSSCanvasValue.cpp b/Source/WebCore/css/CSSCanvasValue.cpp >index b880deeacd6..d82b95f1ddc 100644 >--- a/Source/WebCore/css/CSSCanvasValue.cpp >+++ b/Source/WebCore/css/CSSCanvasValue.cpp >@@ -69,8 +69,13 @@ FloatSize CSSCanvasValue::fixedSize(const RenderElement* renderer) > > HTMLCanvasElement* CSSCanvasValue::element(Document& document) > { >+ WTFLogAlways(">>> IN -> CSSCanvasValue::element"); >+ >+ WTFLogAlways(">>> CHECK -> !m_element"); > if (!m_element) { > m_element = document.getCSSCanvasElement(m_name); >+ >+ WTFLogAlways(">>> CHECK -> !m_element"); > if (!m_element) > return nullptr; > m_element->addObserver(m_canvasObserver); >diff --git a/Source/WebCore/css/CSSImageGeneratorValue.cpp b/Source/WebCore/css/CSSImageGeneratorValue.cpp >index ffdd3d0aa65..d0a95348b08 100644 >--- a/Source/WebCore/css/CSSImageGeneratorValue.cpp >+++ b/Source/WebCore/css/CSSImageGeneratorValue.cpp >@@ -68,12 +68,16 @@ CSSImageGeneratorValue::~CSSImageGeneratorValue() = default; > > void CSSImageGeneratorValue::addClient(RenderElement& renderer) > { >+ WTFLogAlways(">>> IN -> CSSImageGeneratorValue::addClient"); >+ > if (m_clients.isEmpty()) > ref(); > > m_clients.add(&renderer); > >+ WTFLogAlways(">>> CHECK -> is<CSSCanvasValue>(this)"); > if (is<CSSCanvasValue>(this)) { >+ WTFLogAlways(">>> CHECK -> HTMLCanvasElement* canvasElement = downcast<CSSCanvasValue>(this)->element()"); > if (HTMLCanvasElement* canvasElement = downcast<CSSCanvasValue>(this)->element()) > InspectorInstrumentation::didChangeCSSCanvasClientNodes(*canvasElement); > } >@@ -81,11 +85,15 @@ void CSSImageGeneratorValue::addClient(RenderElement& renderer) > > void CSSImageGeneratorValue::removeClient(RenderElement& renderer) > { >+ WTFLogAlways(">>> IN -> CSSImageGeneratorValue::removeClient"); >+ > ASSERT(m_clients.contains(&renderer)); > if (!m_clients.remove(&renderer)) > return; > >+ WTFLogAlways(">>> CHECK -> is<CSSCanvasValue>(this)"); > if (is<CSSCanvasValue>(this)) { >+ WTFLogAlways(">>> CHECK -> HTMLCanvasElement* canvasElement = downcast<CSSCanvasValue>(this)->element()"); > if (HTMLCanvasElement* canvasElement = downcast<CSSCanvasValue>(this)->element()) > InspectorInstrumentation::didChangeCSSCanvasClientNodes(*canvasElement); > } >diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp >index a2fbd8fdc8a..5402603288d 100644 >--- a/Source/WebCore/dom/Document.cpp >+++ b/Source/WebCore/dom/Document.cpp >@@ -5989,9 +5989,19 @@ Optional<RenderingContext> Document::getCSSCanvasContext(const String& type, con > > HTMLCanvasElement* Document::getCSSCanvasElement(const String& name) > { >+ WTFLogAlways(">>> IN -> Document::getCSSCanvasElement"); >+ > RefPtr<HTMLCanvasElement>& element = m_cssCanvasElements.add(name, nullptr).iterator->value; >+ >+ WTFLogAlways(">>> CHECK -> !element"); > if (!element) > element = HTMLCanvasElement::create(*this); >+ >+ if (element) >+ WTFLogAlways(">>> PASS -> element"); >+ else >+ WTFLogAlways(">>> FAIL -> element"); >+ > return element.get(); > } > >diff --git a/Source/WebCore/html/CanvasBase.cpp b/Source/WebCore/html/CanvasBase.cpp >index 9f166efdf09..6488f7c06c1 100644 >--- a/Source/WebCore/html/CanvasBase.cpp >+++ b/Source/WebCore/html/CanvasBase.cpp >@@ -53,16 +53,22 @@ CanvasRenderingContext* CanvasBase::renderingContext() const > > void CanvasBase::addObserver(CanvasObserver& observer) > { >+ WTFLogAlways(">>> IN -> CanvasBase::addObserver"); >+ > m_observers.add(&observer); > >+ WTFLogAlways(">>> CHECK -> is<CSSCanvasValue::CanvasObserverProxy>(observer)"); > if (is<CSSCanvasValue::CanvasObserverProxy>(observer)) > InspectorInstrumentation::didChangeCSSCanvasClientNodes(*this); > } > > void CanvasBase::removeObserver(CanvasObserver& observer) > { >+ WTFLogAlways(">>> IN -> CanvasBase::removeObserver"); >+ > m_observers.remove(&observer); > >+ WTFLogAlways(">>> CHECK -> is<CSSCanvasValue::CanvasObserverProxy>(observer)"); > if (is<CSSCanvasValue::CanvasObserverProxy>(observer)) > InspectorInstrumentation::didChangeCSSCanvasClientNodes(*this); > } >diff --git a/Source/WebCore/inspector/InspectorInstrumentation.cpp b/Source/WebCore/inspector/InspectorInstrumentation.cpp >index a250948c98e..3b266497ef2 100644 >--- a/Source/WebCore/inspector/InspectorInstrumentation.cpp >+++ b/Source/WebCore/inspector/InspectorInstrumentation.cpp >@@ -1007,6 +1007,9 @@ void InspectorInstrumentation::didSendWebSocketFrameImpl(InstrumentingAgents& in > > void InspectorInstrumentation::didChangeCSSCanvasClientNodesImpl(InstrumentingAgents& instrumentingAgents, CanvasBase& canvasBase) > { >+ WTFLogAlways(">>> IN -> InspectorInstrumentation::didChangeCSSCanvasClientNodesImpl"); >+ >+ WTFLogAlways(">>> CHECK -> InspectorCanvasAgent* canvasAgent = instrumentingAgents.inspectorCanvasAgent()"); > if (InspectorCanvasAgent* canvasAgent = instrumentingAgents.inspectorCanvasAgent()) > canvasAgent->didChangeCSSCanvasClientNodes(canvasBase); > } >diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h >index c86453f1425..eb0f6b0e483 100644 >--- a/Source/WebCore/inspector/InspectorInstrumentation.h >+++ b/Source/WebCore/inspector/InspectorInstrumentation.h >@@ -1285,7 +1285,11 @@ inline void InspectorInstrumentation::didHandleMemoryPressure(Page& page, Critic > > inline void InspectorInstrumentation::didChangeCSSCanvasClientNodes(CanvasBase& canvasBase) > { >+ WTFLogAlways(">>> IN -> InspectorInstrumentation::didChangeCSSCanvasClientNodes"); >+ > FAST_RETURN_IF_NO_FRONTENDS(void()); >+ >+ WTFLogAlways(">>> CHECK -> InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(canvasBase.scriptExecutionContext())"); > if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(canvasBase.scriptExecutionContext())) > didChangeCSSCanvasClientNodesImpl(*instrumentingAgents, canvasBase); > } >diff --git a/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp b/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp >index a33b6032b7f..d08615c74ae 100644 >--- a/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp >+++ b/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp >@@ -377,6 +377,8 @@ void InspectorCanvasAgent::frameNavigated(Frame& frame) > > void InspectorCanvasAgent::didChangeCSSCanvasClientNodes(CanvasBase& canvasBase) > { >+ WTFLogAlways(">>> IN - InspectorCanvasAgent::didChangeCSSCanvasClientNodes"); >+ > auto* context = canvasBase.renderingContext(); > if (!context) { > ASSERT_NOT_REACHED();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
hi
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 174272
:
369660
|
369661
|
369665
|
369666
|
369682
|
369689
|
369691
|
369693
|
369696
|
369697
|
369701
|
369703
|
369704
|
369705
|
369706
|
369713
|
369716
|
369720
|
369758
|
369775
|
369859
|
433685