Chromium Code Reviews| Index: Source/web/tests/TouchActionTest.cpp |
| diff --git a/Source/web/tests/TouchActionTest.cpp b/Source/web/tests/TouchActionTest.cpp |
| index 52d22af0fbe9091cfb3b496de42c79b6cb9fd7a2..9f3f2eacd256b1dc9e08e9d23d5973e5dcaa7b7c 100644 |
| --- a/Source/web/tests/TouchActionTest.cpp |
| +++ b/Source/web/tests/TouchActionTest.cpp |
| @@ -147,7 +147,7 @@ void TouchActionTest::runShadowDOMTest(std::string file) |
| WebCore::TrackExceptionState es; |
| RefPtrWillBeRawPtr<WebCore::Document> document = static_cast<PassRefPtrWillBeRawPtr<WebCore::Document> >(webView->mainFrame()->document()); |
| - RefPtr<WebCore::NodeList> hostNodes = document->querySelectorAll("[shadow-host]", es); |
| + RefPtrWillBeRawPtr<WebCore::NodeList> hostNodes = document->querySelectorAll("[shadow-host]", es); |
| ASSERT_FALSE(es.hadException()); |
| ASSERT_GE(hostNodes->length(), 1u); |
| @@ -183,10 +183,14 @@ void TouchActionTest::runTestOnTree(WebCore::ContainerNode* root, WebView* webVi |
| { |
| // Find all elements to test the touch-action of in the document. |
| WebCore::TrackExceptionState es; |
| - RefPtr<WebCore::NodeList> nodes = root->querySelectorAll("[expected-action]", es); |
| + RefPtrWillBeRawPtr<WebCore::NodeList> nodes = root->querySelectorAll("[expected-action]", es); |
| ASSERT_FALSE(es.hadException()); |
| for (unsigned index = 0; index < nodes->length(); index++) { |
| + // FIXME: Oilpan: long-running test that allocates; if the PendingGCRunner task |
| + // is run, it GCs assuming no pointers on the stack. But there is. |
| + WebCore::Heap::collectGarbage(WebCore::ThreadState::HeapPointersOnStack); |
|
haraken
2014/05/12 12:04:13
Would you elaborate on this?
- Why can PendingGCR
sof
2014/05/12 12:24:36
The parser thread creates a pending GC runner. I d
haraken
2014/05/12 12:36:55
hmm, your current solution looks a bit fragile. Ev
sof
2014/05/12 12:52:46
Indeed so; I'm not proposing this as the final sol
sof
2014/05/15 09:23:24
Tried to make the FIXME comment clearer; i.e., tes
Mads Ager (chromium)
2014/05/15 10:54:24
The PendingGCRunner should only run when we are ba
sof
2014/05/15 11:39:41
A nested message loop, it seems. The PendingGCRunn
|
| + |
| WebCore::Element* element = toElement(nodes->item(index)); |
| element->scrollIntoViewIfNeeded(); |
| ASSERT_TRUE(nodes->item(index)->isElementNode()); |