Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / rendering / RenderingTestHelper.h
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
3 // found in the LICENSE file.
4
5 #include "core/dom/Document.h"
6 #include "core/frame/FrameView.h"
7 #include "core/frame/Settings.h"
8 #include "core/html/HTMLElement.h"
9 #include "core/testing/DummyPageHolder.h"
10 #include "wtf/OwnPtr.h"
11 #include <gtest/gtest.h>
12
13 namespace blink {
14
15 class RenderingTest : public testing::Test {
16 protected:
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     }
27
28     Document& document() const { return m_pageHolder->document(); }
29
30     void setBodyInnerHTML(const String& htmlContent)
31     {
32         document().body()->setInnerHTML(htmlContent, ASSERT_NO_EXCEPTION);
33         document().view()->updateLayoutAndStyleIfNeededRecursive();
34     }
35
36 private:
37     OwnPtr<DummyPageHolder> m_pageHolder;
38 };
39
40 } // namespace blink