Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: Source/web/tests/WebDocumentTest.cpp

Issue 889563002: Make RenderObject::style() return a const object (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated patch after splitting Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "config.h" 5 #include "config.h"
6 6
7 #include "public/web/WebDocument.h" 7 #include "public/web/WebDocument.h"
8 8
9 #include "core/CSSPropertyNames.h" 9 #include "core/CSSPropertyNames.h"
10 #include "core/dom/NodeLayoutStyle.h" 10 #include "core/dom/NodeLayoutStyle.h"
(...skipping 23 matching lines...) Expand all
34 34
35 webDoc.insertStyleSheet("body { color: green }"); 35 webDoc.insertStyleSheet("body { color: green }");
36 36
37 // Check insertStyleSheet did not cause a synchronous style recalc. 37 // Check insertStyleSheet did not cause a synchronous style recalc.
38 unsigned accessCount = coreDoc->styleEngine()->resolverAccessCount(); 38 unsigned accessCount = coreDoc->styleEngine()->resolverAccessCount();
39 ASSERT_EQ(0U, accessCount); 39 ASSERT_EQ(0U, accessCount);
40 40
41 HTMLElement* bodyElement = coreDoc->body(); 41 HTMLElement* bodyElement = coreDoc->body();
42 ASSERT(bodyElement); 42 ASSERT(bodyElement);
43 43
44 LayoutStyle* style = bodyElement->layoutStyle(); 44 const LayoutStyle* style = bodyElement->layoutStyle();
45 ASSERT(style); 45 ASSERT(style);
46 46
47 // Inserted stylesheet not yet applied. 47 // Inserted stylesheet not yet applied.
48 ASSERT_EQ(Color(0, 0, 0), style->visitedDependentColor(CSSPropertyColor)); 48 ASSERT_EQ(Color(0, 0, 0), style->visitedDependentColor(CSSPropertyColor));
49 49
50 // Apply inserted stylesheet. 50 // Apply inserted stylesheet.
51 coreDoc->updateRenderTreeIfNeeded(); 51 coreDoc->updateRenderTreeIfNeeded();
52 52
53 style = bodyElement->layoutStyle(); 53 style = bodyElement->layoutStyle();
54 ASSERT(style); 54 ASSERT(style);
(...skipping 11 matching lines...) Expand all
66 URLTestHelpers::registerMockedURLLoad(toKURL(baseURL + cssURL), WebString::f romUTF8(cssURL)); 66 URLTestHelpers::registerMockedURLLoad(toKURL(baseURL + cssURL), WebString::f romUTF8(cssURL));
67 67
68 WebViewHelper webViewHelper; 68 WebViewHelper webViewHelper;
69 webViewHelper.initializeAndLoad(baseURL + htmlURL); 69 webViewHelper.initializeAndLoad(baseURL + htmlURL);
70 70
71 WebFrame* frame = webViewHelper.webView()->mainFrame(); 71 WebFrame* frame = webViewHelper.webView()->mainFrame();
72 Document* coreDoc = toLocalFrame(webViewHelper.webViewImpl()->page()->mainFr ame())->document(); 72 Document* coreDoc = toLocalFrame(webViewHelper.webViewImpl()->page()->mainFr ame())->document();
73 Element* transitionElement = coreDoc->getElementById("foo"); 73 Element* transitionElement = coreDoc->getElementById("foo");
74 ASSERT(transitionElement); 74 ASSERT(transitionElement);
75 75
76 LayoutStyle* transitionStyle = transitionElement->layoutStyle(); 76 const LayoutStyle* transitionStyle = transitionElement->layoutStyle();
77 ASSERT(transitionStyle); 77 ASSERT(transitionStyle);
78 78
79 HTMLElement* bodyElement = coreDoc->body(); 79 HTMLElement* bodyElement = coreDoc->body();
80 ASSERT(bodyElement); 80 ASSERT(bodyElement);
81 81
82 LayoutStyle* bodyStyle = bodyElement->layoutStyle(); 82 const LayoutStyle* bodyStyle = bodyElement->layoutStyle();
83 ASSERT(bodyStyle); 83 ASSERT(bodyStyle);
84 // The transition_exit.css stylesheet should not have been applied at this p oint. 84 // The transition_exit.css stylesheet should not have been applied at this p oint.
85 ASSERT_EQ(Color(0, 0, 0), bodyStyle->visitedDependentColor(CSSPropertyColor) ); 85 ASSERT_EQ(Color(0, 0, 0), bodyStyle->visitedDependentColor(CSSPropertyColor) );
86 86
87 frame->document().beginExitTransition("#foo", false); 87 frame->document().beginExitTransition("#foo", false);
88 88
89 // Make sure the stylesheet load request gets processed. 89 // Make sure the stylesheet load request gets processed.
90 FrameTestHelpers::pumpPendingRequestsDoNotUse(frame); 90 FrameTestHelpers::pumpPendingRequestsDoNotUse(frame);
91 coreDoc->updateRenderTreeIfNeeded(); 91 coreDoc->updateRenderTreeIfNeeded();
92 92
(...skipping 18 matching lines...) Expand all
111 URLTestHelpers::registerMockedURLLoad(toKURL(baseURL + cssURL), WebString::f romUTF8(cssURL)); 111 URLTestHelpers::registerMockedURLLoad(toKURL(baseURL + cssURL), WebString::f romUTF8(cssURL));
112 112
113 WebViewHelper webViewHelper; 113 WebViewHelper webViewHelper;
114 webViewHelper.initializeAndLoad(baseURL + htmlURL); 114 webViewHelper.initializeAndLoad(baseURL + htmlURL);
115 115
116 WebFrame* frame = webViewHelper.webView()->mainFrame(); 116 WebFrame* frame = webViewHelper.webView()->mainFrame();
117 Document* coreDoc = toLocalFrame(webViewHelper.webViewImpl()->page()->mainFr ame())->document(); 117 Document* coreDoc = toLocalFrame(webViewHelper.webViewImpl()->page()->mainFr ame())->document();
118 Element* transitionElement = coreDoc->getElementById("foo"); 118 Element* transitionElement = coreDoc->getElementById("foo");
119 ASSERT(transitionElement); 119 ASSERT(transitionElement);
120 120
121 LayoutStyle* transitionStyle = transitionElement->layoutStyle(); 121 const LayoutStyle* transitionStyle = transitionElement->layoutStyle();
122 ASSERT(transitionStyle); 122 ASSERT(transitionStyle);
123 123
124 HTMLElement* bodyElement = coreDoc->body(); 124 HTMLElement* bodyElement = coreDoc->body();
125 ASSERT(bodyElement); 125 ASSERT(bodyElement);
126 126
127 LayoutStyle* bodyStyle = bodyElement->layoutStyle(); 127 const LayoutStyle* bodyStyle = bodyElement->layoutStyle();
128 ASSERT(bodyStyle); 128 ASSERT(bodyStyle);
129 // The transition_exit.css stylesheet should not have been applied at this p oint. 129 // The transition_exit.css stylesheet should not have been applied at this p oint.
130 ASSERT_EQ(Color(0, 0, 0), bodyStyle->visitedDependentColor(CSSPropertyColor) ); 130 ASSERT_EQ(Color(0, 0, 0), bodyStyle->visitedDependentColor(CSSPropertyColor) );
131 131
132 frame->document().beginExitTransition("#foo", true); 132 frame->document().beginExitTransition("#foo", true);
133 133
134 // Make sure the stylesheet load request gets processed. 134 // Make sure the stylesheet load request gets processed.
135 FrameTestHelpers::pumpPendingRequestsDoNotUse(frame); 135 FrameTestHelpers::pumpPendingRequestsDoNotUse(frame);
136 coreDoc->updateRenderTreeIfNeeded(); 136 coreDoc->updateRenderTreeIfNeeded();
137 137
(...skipping 16 matching lines...) Expand all
154 URLTestHelpers::registerMockedURLLoad(toKURL(baseURL + htmlURL), WebString:: fromUTF8(htmlURL)); 154 URLTestHelpers::registerMockedURLLoad(toKURL(baseURL + htmlURL), WebString:: fromUTF8(htmlURL));
155 155
156 WebViewHelper webViewHelper; 156 WebViewHelper webViewHelper;
157 webViewHelper.initializeAndLoad(baseURL + htmlURL); 157 webViewHelper.initializeAndLoad(baseURL + htmlURL);
158 158
159 WebFrame* frame = webViewHelper.webView()->mainFrame(); 159 WebFrame* frame = webViewHelper.webView()->mainFrame();
160 Document* coreDoc = toLocalFrame(webViewHelper.webViewImpl()->page()->mainFr ame())->document(); 160 Document* coreDoc = toLocalFrame(webViewHelper.webViewImpl()->page()->mainFr ame())->document();
161 Element* transitionElement = coreDoc->getElementById("foo"); 161 Element* transitionElement = coreDoc->getElementById("foo");
162 ASSERT(transitionElement); 162 ASSERT(transitionElement);
163 163
164 LayoutStyle* transitionStyle = transitionElement->layoutStyle(); 164 const LayoutStyle* transitionStyle = transitionElement->layoutStyle();
165 ASSERT(transitionStyle); 165 ASSERT(transitionStyle);
166 EXPECT_EQ(transitionStyle->opacity(), 1); 166 EXPECT_EQ(transitionStyle->opacity(), 1);
167 167
168 // Hide transition elements 168 // Hide transition elements
169 frame->document().hideTransitionElements("#foo"); 169 frame->document().hideTransitionElements("#foo");
170 FrameTestHelpers::pumpPendingRequestsDoNotUse(frame); 170 FrameTestHelpers::pumpPendingRequestsDoNotUse(frame);
171 coreDoc->updateRenderTreeIfNeeded(); 171 coreDoc->updateRenderTreeIfNeeded();
172 transitionStyle = transitionElement->layoutStyle(); 172 transitionStyle = transitionElement->layoutStyle();
173 ASSERT_TRUE(transitionStyle); 173 ASSERT_TRUE(transitionStyle);
174 EXPECT_EQ(transitionStyle->opacity(), 0); 174 EXPECT_EQ(transitionStyle->opacity(), 0);
(...skipping 25 matching lines...) Expand all
200 ASSERT_FALSE(coreDoc->isTransitionDocument()); 200 ASSERT_FALSE(coreDoc->isTransitionDocument());
201 201
202 frame->document().setIsTransitionDocument(true); 202 frame->document().setIsTransitionDocument(true);
203 ASSERT_TRUE(coreDoc->isTransitionDocument()); 203 ASSERT_TRUE(coreDoc->isTransitionDocument());
204 204
205 frame->document().setIsTransitionDocument(false); 205 frame->document().setIsTransitionDocument(false);
206 ASSERT_FALSE(coreDoc->isTransitionDocument()); 206 ASSERT_FALSE(coreDoc->isTransitionDocument());
207 } 207 }
208 208
209 } 209 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698