OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef RenderingTestHelper_h | |
6 #define RenderingTestHelper_h | |
7 | |
8 #include "core/dom/Document.h" | 5 #include "core/dom/Document.h" |
9 #include "core/frame/FrameView.h" | 6 #include "core/frame/FrameView.h" |
10 #include "core/frame/Settings.h" | 7 #include "core/frame/Settings.h" |
11 #include "core/html/HTMLElement.h" | 8 #include "core/html/HTMLElement.h" |
12 #include "core/testing/DummyPageHolder.h" | 9 #include "core/testing/DummyPageHolder.h" |
13 #include "wtf/OwnPtr.h" | 10 #include "wtf/OwnPtr.h" |
14 #include <gtest/gtest.h> | 11 #include <gtest/gtest.h> |
15 | 12 |
16 namespace blink { | 13 namespace blink { |
17 | 14 |
18 class RenderingTest : public testing::Test { | 15 class RenderingTest : public testing::Test { |
19 protected: | 16 protected: |
20 virtual void SetUp() override; | 17 virtual void SetUp() |
| 18 { |
| 19 m_pageHolder = DummyPageHolder::create(IntSize(800, 600)); |
| 20 |
| 21 document().settings()->setRegionBasedColumnsEnabled(true); |
| 22 |
| 23 // This ensures that the minimal DOM tree gets attached |
| 24 // correctly for tests that don't call setBodyInnerHTML. |
| 25 document().view()->updateLayoutAndStyleIfNeededRecursive(); |
| 26 } |
21 | 27 |
22 Document& document() const { return m_pageHolder->document(); } | 28 Document& document() const { return m_pageHolder->document(); } |
23 | 29 |
24 void setBodyInnerHTML(const String& htmlContent) | 30 void setBodyInnerHTML(const String& htmlContent) |
25 { | 31 { |
26 document().body()->setInnerHTML(htmlContent, ASSERT_NO_EXCEPTION); | 32 document().body()->setInnerHTML(htmlContent, ASSERT_NO_EXCEPTION); |
27 document().view()->updateLayoutAndStyleForPainting(); | 33 document().view()->updateLayoutAndStyleIfNeededRecursive(); |
28 } | |
29 | |
30 void enableCompositing() | |
31 { | |
32 m_pageHolder->page().settings().setAcceleratedCompositingEnabled(true); | |
33 document().view()->updateLayoutAndStyleForPainting(); | |
34 } | 34 } |
35 | 35 |
36 private: | 36 private: |
37 Page::PageClients m_pageClients; | |
38 OwnPtr<DummyPageHolder> m_pageHolder; | 37 OwnPtr<DummyPageHolder> m_pageHolder; |
39 }; | 38 }; |
40 | 39 |
41 } // namespace blink | 40 } // namespace blink |
42 | |
43 #endif // RenderingTestHelper_h | |
OLD | NEW |