Unreviewed, rolling out r143936.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r143936.
4         http://trac.webkit.org/changeset/143936
5         https://bugs.webkit.org/show_bug.cgi?id=110789
6
7         Causes webkit_unit_tests failures on android dbg (Requested by
8         vollick on #webkit).
9
10         * platform/image-decoders/gif/GIFImageDecoder.cpp:
11         (WebCore::GIFImageDecoder::GIFImageDecoder):
12         (WebCore::GIFImageDecoder::setData):
13         (WebCore::GIFImageDecoder::frameCount):
14         (WebCore::GIFImageDecoder::decodingHalted):
15         (WebCore):
16         (WebCore::GIFImageDecoder::haveDecodedRow):
17         (WebCore::GIFImageDecoder::decode):
18         * platform/image-decoders/gif/GIFImageDecoder.h:
19         (GIFImageDecoder):
20         * platform/image-decoders/gif/GIFImageReader.cpp:
21         (GIFImageReader::doLZW):
22         (GIFImageReader::read):
23         * platform/image-decoders/gif/GIFImageReader.h:
24         (GIFFrameContext):
25         (GIFFrameContext::GIFFrameContext):
26         (GIFFrameContext::~GIFFrameContext):
27         (GIFImageReader::GIFImageReader):
28         (GIFImageReader::~GIFImageReader):
29         (GIFImageReader):
30         (GIFImageReader::globalColormap):
31         (GIFImageReader::globalColormapSize):
32
33 2013-02-25  Kentaro Hara  <haraken@chromium.org>
34
35         [V8] Generate a wrapper function for method callbacks
36         https://bugs.webkit.org/show_bug.cgi?id=110769
37
38         Reviewed by Adam Barth.
39
40         This is one of steps to insert TRACE_EVENT_STATE() macros
41         into DOM bindings. This patch introduces an indirection
42         function for xxxMethod(), like this:
43
44         // For non-custom methods
45         void xxxMethodCallback(...) {
46           xxxMethod(...);
47         }
48
49         // For custom methods
50         void xxxMethodCallback(...) {
51           return xxxMethodCustom(...);
52         }
53
54         No tests. No change in behavior.
55
56         * bindings/scripts/CodeGeneratorV8.pm:
57         (GenerateDomainSafeFunctionGetter):
58         (GenerateOverloadedFunction):
59         (GenerateFunctionCallback):
60         (GenerateFunction):
61         (GenerateNonStandardFunction):
62         (GenerateImplementation):
63         (GenerateFunctionCallString):
64         * bindings/scripts/test/V8/V8Float64Array.cpp:
65         (WebCore::Float64ArrayV8Internal::fooMethodCallback):
66         (Float64ArrayV8Internal):
67         (WebCore::Float64ArrayV8Internal::setMethodCallback):
68         (WebCore):
69         (WebCore::ConfigureV8Float64ArrayTemplate):
70         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
71         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethodCallback):
72         (TestActiveDOMObjectV8Internal):
73         (WebCore::TestActiveDOMObjectV8Internal::postMessageMethodCallback):
74         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
75         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
76         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
77         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethodCallback):
78         (TestCustomNamedGetterV8Internal):
79         (WebCore):
80         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
81         (WebCore::TestEventTargetV8Internal::itemMethodCallback):
82         (TestEventTargetV8Internal):
83         (WebCore::TestEventTargetV8Internal::addEventListenerMethodCallback):
84         (WebCore::TestEventTargetV8Internal::removeEventListenerMethodCallback):
85         (WebCore::TestEventTargetV8Internal::dispatchEventMethodCallback):
86         (WebCore):
87         (WebCore::ConfigureV8TestEventTargetTemplate):
88         * bindings/scripts/test/V8/V8TestInterface.cpp:
89         (WebCore::TestInterfaceV8Internal::supplementalMethod1MethodCallback):
90         (TestInterfaceV8Internal):
91         (WebCore::TestInterfaceV8Internal::supplementalMethod2MethodCallback):
92         (WebCore::TestInterfaceV8Internal::supplementalMethod3MethodCallback):
93         (WebCore::TestInterfaceV8Internal::supplementalMethod4MethodCallback):
94         (WebCore):
95         (WebCore::ConfigureV8TestInterfaceTemplate):
96         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
97         (WebCore::TestMediaQueryListListenerV8Internal::methodMethodCallback):
98         (TestMediaQueryListListenerV8Internal):
99         (WebCore):
100         * bindings/scripts/test/V8/V8TestObj.cpp:
101         (WebCore::TestObjV8Internal::voidMethodMethodCallback):
102         (TestObjV8Internal):
103         (WebCore::TestObjV8Internal::voidMethodWithArgsMethodCallback):
104         (WebCore::TestObjV8Internal::longMethodMethodCallback):
105         (WebCore::TestObjV8Internal::longMethodWithArgsMethodCallback):
106         (WebCore::TestObjV8Internal::objMethodMethod):
107         (WebCore::TestObjV8Internal::objMethodMethodCallback):
108         (WebCore::TestObjV8Internal::objMethodWithArgsMethodCallback):
109         (WebCore::TestObjV8Internal::methodWithSequenceArgMethodCallback):
110         (WebCore::TestObjV8Internal::methodReturningSequenceMethodCallback):
111         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethodCallback):
112         (WebCore::TestObjV8Internal::serializedValueMethodCallback):
113         (WebCore::TestObjV8Internal::optionsObjectMethodCallback):
114         (WebCore::TestObjV8Internal::methodWithExceptionMethodCallback):
115         (WebCore::TestObjV8Internal::customMethodMethodCallback):
116         (WebCore::TestObjV8Internal::customMethodWithArgsMethodCallback):
117         (WebCore::TestObjV8Internal::addEventListenerMethodCallback):
118         (WebCore::TestObjV8Internal::removeEventListenerMethodCallback):
119         (WebCore::TestObjV8Internal::withScriptStateVoidMethodCallback):
120         (WebCore::TestObjV8Internal::withScriptStateObjMethodCallback):
121         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethodCallback):
122         (WebCore::TestObjV8Internal::withScriptStateObjExceptionMethodCallback):
123         (WebCore::TestObjV8Internal::withScriptExecutionContextMethodCallback):
124         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethodCallback):
125         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethodCallback):
126         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethodCallback):
127         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethodCallback):
128         (WebCore::TestObjV8Internal::methodWithOptionalArgMethodCallback):
129         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethodCallback):
130         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethodCallback):
131         (WebCore::TestObjV8Internal::methodWithOptionalStringMethodCallback):
132         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethodCallback):
133         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethodCallback):
134         (WebCore::TestObjV8Internal::methodWithCallbackArgMethodCallback):
135         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethodCallback):
136         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethodCallback):
137         (WebCore::TestObjV8Internal::conditionalMethod1MethodCallback):
138         (WebCore::TestObjV8Internal::conditionalMethod2MethodCallback):
139         (WebCore::TestObjV8Internal::conditionalMethod3MethodCallback):
140         (WebCore::TestObjV8Internal::overloadedMethodMethodCallback):
141         (WebCore::TestObjV8Internal::classMethodMethodCallback):
142         (WebCore::TestObjV8Internal::classMethodWithOptionalMethodCallback):
143         (WebCore::TestObjV8Internal::classMethod2MethodCallback):
144         (WebCore::TestObjV8Internal::overloadedMethod1MethodCallback):
145         (WebCore::TestObjV8Internal::classMethodWithClampMethodCallback):
146         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1MethodCallback):
147         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2MethodCallback):
148         (WebCore::TestObjV8Internal::enabledPerContextMethod1MethodCallback):
149         (WebCore::TestObjV8Internal::enabledPerContextMethod2MethodCallback):
150         (WebCore::TestObjV8Internal::stringArrayFunctionMethodCallback):
151         (WebCore::TestObjV8Internal::domStringListFunctionMethodCallback):
152         (WebCore::TestObjV8Internal::getSVGDocumentMethodCallback):
153         (WebCore::TestObjV8Internal::convert1MethodCallback):
154         (WebCore::TestObjV8Internal::convert2MethodCallback):
155         (WebCore::TestObjV8Internal::convert4MethodCallback):
156         (WebCore::TestObjV8Internal::convert5MethodCallback):
157         (WebCore::TestObjV8Internal::mutablePointFunctionMethodCallback):
158         (WebCore::TestObjV8Internal::immutablePointFunctionMethodCallback):
159         (WebCore::TestObjV8Internal::orangeMethodCallback):
160         (WebCore::TestObjV8Internal::strictFunctionMethodCallback):
161         (WebCore::TestObjV8Internal::variadicStringMethodMethodCallback):
162         (WebCore::TestObjV8Internal::variadicDoubleMethodMethodCallback):
163         (WebCore::TestObjV8Internal::variadicNodeMethodMethodCallback):
164         (WebCore):
165         (WebCore::ConfigureV8TestObjTemplate):
166         (WebCore::V8TestObj::installPerContextPrototypeProperties):
167         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
168         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethodCallback):
169         (TestSerializedScriptValueInterfaceV8Internal):
170         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethodCallback):
171         (WebCore):
172         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
173         (WebCore::TestTypedefsV8Internal::funcMethodCallback):
174         (TestTypedefsV8Internal):
175         (WebCore::TestTypedefsV8Internal::multiTransferListMethodCallback):
176         (WebCore::TestTypedefsV8Internal::setShadowMethodCallback):
177         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethodCallback):
178         (WebCore::TestTypedefsV8Internal::nullableArrayArgMethodCallback):
179         (WebCore::TestTypedefsV8Internal::funcWithClampMethodCallback):
180         (WebCore::TestTypedefsV8Internal::immutablePointFunctionMethodCallback):
181         (WebCore::TestTypedefsV8Internal::stringArrayFunctionMethodCallback):
182         (WebCore::TestTypedefsV8Internal::stringArrayFunction2MethodCallback):
183         (WebCore::TestTypedefsV8Internal::methodWithExceptionMethodCallback):
184         (WebCore):
185         (WebCore::ConfigureV8TestTypedefsTemplate):
186
187 2013-02-25  Kentaro Hara  <haraken@chromium.org>
188
189         [V8] Generate a wrapper method for constructor callbacks
190         https://bugs.webkit.org/show_bug.cgi?id=110765
191
192         Reviewed by Adam Barth.
193
194         This is one of steps to insert TRACE_EVENT_STATE() macros
195         into DOM bindings. This patch introduces an indirection
196         function for constructor(), like this:
197
198         // For non-custom constructors
199         void constructorCallback(...) {
200           return constructor(...);
201         }
202
203         // For custom constructors
204         void constructorCallback(...) {
205           return constructorCustom(...);
206         }
207
208         No tests. No change in behavior.
209
210         * bindings/scripts/CodeGeneratorV8.pm:
211         (GenerateHeader):
212         (GenerateOverloadedConstructorCallback):
213         (GenerateSingleConstructorCallback):
214         (GenerateConstructorCallback):
215         (GenerateConstructor):
216         (GenerateEventConstructor):
217         (GenerateTypedArrayConstructor):
218         (GenerateNamedConstructor):
219         (GenerateConstructorHeader):
220         (GenerateImplementation):
221         * bindings/scripts/test/V8/V8Float64Array.cpp:
222         (WebCore::Float64ArrayV8Internal::constructor):
223         (Float64ArrayV8Internal):
224         (WebCore::V8Float64Array::constructorCallback):
225         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
226         (WebCore::TestEventConstructorV8Internal::constructor):
227         (WebCore):
228         (WebCore::V8TestEventConstructor::constructorCallback):
229         * bindings/scripts/test/V8/V8TestInterface.cpp:
230         (WebCore::TestInterfaceV8Internal::constructor):
231         (TestInterfaceV8Internal):
232         (WebCore::V8TestInterface::constructorCallback):
233         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
234         (WebCore::V8TestNamedConstructorConstructorCallback):
235         * bindings/scripts/test/V8/V8TestNode.cpp:
236         (WebCore::TestNodeV8Internal::constructor):
237         (TestNodeV8Internal):
238         (WebCore::V8TestNode::constructorCallback):
239         * bindings/scripts/test/V8/V8TestObj.cpp:
240         (WebCore::TestObjV8Internal::constructor):
241         (TestObjV8Internal):
242         (WebCore::V8TestObj::constructorCallback):
243         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
244         (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
245         (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
246         (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
247         (WebCore::TestOverloadedConstructorsV8Internal::constructor4):
248         (WebCore::TestOverloadedConstructorsV8Internal::constructor):
249         (WebCore):
250         (WebCore::V8TestOverloadedConstructors::constructorCallback):
251         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
252         (WebCore::TestSerializedScriptValueInterfaceV8Internal::constructor):
253         (TestSerializedScriptValueInterfaceV8Internal):
254         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
255         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
256         (WebCore::TestTypedefsV8Internal::constructor):
257         (TestTypedefsV8Internal):
258         (WebCore::V8TestTypedefs::constructorCallback):
259
260 2013-02-24  Kentaro Hara  <haraken@chromium.org>
261
262         [V8] Generate xxxAttrSetterCallback()
263         https://bugs.webkit.org/show_bug.cgi?id=110726
264
265         Reviewed by Adam Barth.
266
267         This is one of steps to insert TRACE_EVENT_STATE() macros into DOM bindings.
268         This patch introduces an indirection function for xxxAttrSetter(), like this:
269
270         // For non-custom setters
271         void xxxAttrSetterCallback(...) {
272           xxxAttrSetter(...);
273         }
274
275         // For custom setters.
276         void xxxAttrSetterCallback(...) {
277           return xxxAttrSetterCustom(...);
278         }
279
280         No tests. No change in behavior.
281
282         * bindings/scripts/CodeGeneratorV8.pm:
283         (GenerateNormalAttrSetterCallback):
284         (GenerateNormalAttrSetter):
285         (GenerateSingleBatchedAttribute):
286         (GenerateImplementation):
287         * bindings/scripts/test/V8/V8TestInterface.cpp:
288         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterCallback):
289         (TestInterfaceV8Internal):
290         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterCallback):
291         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetterCallback):
292         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterCallback):
293         (WebCore):
294         * bindings/scripts/test/V8/V8TestObj.cpp:
295         (WebCore::TestObjV8Internal::staticStringAttrAttrSetterCallback):
296         (TestObjV8Internal):
297         (WebCore::TestObjV8Internal::enumAttrAttrSetterCallback):
298         (WebCore::TestObjV8Internal::shortAttrAttrSetterCallback):
299         (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterCallback):
300         (WebCore::TestObjV8Internal::longAttrAttrSetterCallback):
301         (WebCore::TestObjV8Internal::longLongAttrAttrSetterCallback):
302         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterCallback):
303         (WebCore::TestObjV8Internal::stringAttrAttrSetterCallback):
304         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
305         (WebCore::TestObjV8Internal::testObjAttrAttrSetterCallback):
306         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetterCallback):
307         (WebCore::TestObjV8Internal::createAttrSetterCallback):
308         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterCallback):
309         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterCallback):
310         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterCallback):
311         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterCallback):
312         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterCallback):
313         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterCallback):
314         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterCallback):
315         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterCallback):
316         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetterCallback):
317         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterCallback):
318         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterCallback):
319         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
320         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
321         (WebCore::TestObjV8Internal::customAttrAttrSetterCallback):
322         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterCallback):
323         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterCallback):
324         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterCallback):
325         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterCallback):
326         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterCallback):
327         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterCallback):
328         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterCallback):
329         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterCallback):
330         (WebCore::TestObjV8Internal::conditionalAttr1AttrSetterCallback):
331         (WebCore::TestObjV8Internal::conditionalAttr2AttrSetterCallback):
332         (WebCore::TestObjV8Internal::conditionalAttr3AttrSetterCallback):
333         (WebCore::TestObjV8Internal::anyAttributeAttrSetterCallback):
334         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterCallback):
335         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterCallback):
336         (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetterCallback):
337         (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetterCallback):
338         (WebCore::TestObjV8Internal::floatArrayAttrSetterCallback):
339         (WebCore::TestObjV8Internal::doubleArrayAttrSetterCallback):
340         (WebCore::TestObjV8Internal::mutablePointAttrSetterCallback):
341         (WebCore::TestObjV8Internal::immutablePointAttrSetterCallback):
342         (WebCore::TestObjV8Internal::strawberryAttrSetterCallback):
343         (WebCore::TestObjV8Internal::strictFloatAttrSetterCallback):
344         (WebCore::TestObjV8Internal::idAttrSetterCallback):
345         (WebCore):
346         (WebCore::ConfigureV8TestObjTemplate):
347         (WebCore::V8TestObj::installPerContextProperties):
348         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
349         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterCallback):
350         (TestSerializedScriptValueInterfaceV8Internal):
351         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterCallback):
352         (WebCore):
353         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
354         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterCallback):
355         (TestTypedefsV8Internal):
356         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterCallback):
357         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterCallback):
358         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterCallback):
359         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
360         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
361         (WebCore):
362
363 2013-02-25  Adam Barth  <abarth@webkit.org>
364
365         Build fix for Debug.
366
367         * html/parser/HTMLDocumentParser.cpp:
368         (WebCore::HTMLDocumentParser::startBackgroundParser):
369
370 2013-02-25  Adam Barth  <abarth@webkit.org>
371
372         6% regression in intl1 page cycler on chromium-mac
373         https://bugs.webkit.org/show_bug.cgi?id=110784
374
375         Reviewed by Eric Seidel.
376
377         This patch attempts to heal the regression by reverting all the changes
378         to the preload scanner up to (and including)
379         http://trac.webkit.org/changeset/143020/.
380
381         * html/parser/BackgroundHTMLParser.cpp:
382         (WebCore::BackgroundHTMLParser::resumeFrom):
383         (WebCore::BackgroundHTMLParser::pumpTokenizer):
384         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
385         * html/parser/CSSPreloadScanner.cpp:
386         (WebCore::CSSPreloadScanner::scan):
387         (WebCore::CSSPreloadScanner::emitRule):
388         * html/parser/CSSPreloadScanner.h:
389         (CSSPreloadScanner):
390         * html/parser/HTMLPreloadScanner.cpp:
391         (WebCore::isStartTag):
392         (WebCore):
393         (WebCore::isStartOrEndTag):
394         (WebCore::TokenPreloadScanner::identifierFor):
395         (WebCore::TokenPreloadScanner::inititatorFor):
396         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
397         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
398         (WebCore::TokenPreloadScanner::processPossibleTemplateTag):
399         (WebCore::TokenPreloadScanner::processPossibleStyleTag):
400         (WebCore::TokenPreloadScanner::processPossibleBaseTag):
401         (WebCore::TokenPreloadScanner::scan):
402         (WebCore::HTMLPreloadScanner::scan):
403         * html/parser/HTMLPreloadScanner.h:
404         (TokenPreloadScanner):
405
406 2013-02-25  Mark Lam  <mark.lam@apple.com>
407
408         Changed DatabaseTracker::getMaxSizeForDatabase() to return the previous
409         database size instead of 0 when the quota limit has been reached.
410         https://bugs.webkit.org/show_bug.cgi?id=110557.
411
412         Reviewed by Geoffrey Garen.
413
414         Testing of concurrent multi-process consumption of database quota shows that
415         returning a value of 0 when the quota is exceeded still allows some databases
416         to run away with unbounded growth. However, if getMaxSizeForDatabase() returns
417         the existing database size, the underlying sqlite3 database will successfully
418         reject new growth.
419
420         The value returned by DatabaseTracker::getMaxSizeForDatabase() is used to set
421         the SQLite3 database size using a sql command "PRAGMA max_page_count = <size>".
422         The SQLite3 documentation on this pragma says, "The maximum page count cannot
423         be reduced below the current database size."
424
425         It is undefined what setting it to a reduced size will do. So, we're changing
426         getMaxSizeForDatabase() to return the existing size instead.
427
428         No new tests.
429
430         * Modules/webdatabase/DatabaseTracker.cpp:
431         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
432
433 2013-02-25  Tony Chang  <tony@chromium.org>
434
435         Refactor logic for relaying out children out of RenderBlock::styleDidChange
436         https://bugs.webkit.org/show_bug.cgi?id=110661
437
438         Reviewed by David Hyatt.
439
440         Instead of having styleDidChange need to know which children to mark as needing layout,
441         use a bool to keep track of border and padding width changes so at layout time, we know
442         we need to set relayoutChildren=true.
443
444         We steal a bit from m_lineHeight reducing the possible line height from around 500 million pixels
445         to 250 million pixels.
446
447         No new tests, this should be covered by fast/block/positioning/border-change-relayout-test.html and
448         fast/block/dynamic-padding-border.html.
449
450         * rendering/RenderBlock.cpp:
451         (WebCore::RenderBlock::RenderBlock): Fix indent and initialize m_hasBorderOrPaddingLogicalWidthChanged.
452         (WebCore::RenderBlock::styleDidChange): Remove logic for setting children as needing layout.
453         (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth): Return true if border or padding width changed.
454         * rendering/RenderBlock.h:
455         (RenderBlock): Steal a bit from m_lineHeight and give it to m_hasBorderOrPaddingLogicalWidthChanged.
456
457 2013-02-25  Alexis Menard  <alexis@webkit.org>
458
459         transition-property property doesn't accept "all, <IDENT>".
460         https://bugs.webkit.org/show_bug.cgi?id=110074
461
462         Reviewed by Dean Jackson.
463
464         http://dev.w3.org/csswg/css3-transitions/#transition-property-property
465         allows all, <IDENT> as a value for the transition-property property. In
466         fact thanks to http://trac.webkit.org/changeset/143019 we correctly
467         implemented that behavior for transition shorthand property while
468         fixing bugs on the previous implementation. We did introduce a
469         AnimationParseContext to track whether the parsing of the
470         transition-property was finished or not in relation to the keyword.
471         This patch extend that mechanism to the longhand by renaming the
472         boolean and the functions to use it in the context class and set it
473         correctly while parsing the longhand property.
474
475         Test: LayoutTests/transitions/transitions-parsing.html
476
477         * css/CSSParser.cpp:
478         (WebCore::AnimationParseContext::AnimationParseContext):
479         (WebCore::AnimationParseContext::commitAnimationPropertyKeyword):
480         (WebCore::AnimationParseContext::animationPropertyKeywordAllowed):
481         (AnimationParseContext):
482         (WebCore::CSSParser::parseAnimationShorthand):
483         (WebCore::CSSParser::parseTransitionShorthand):
484         (WebCore::CSSParser::parseAnimationProperty): We can remove the
485         condition inShorthand() here, if 'none' is parsed then no more keyword
486         can appear, if 'all' is parsed then we can continue the parsing but
487         invalidate the property if another keyword is encountered. These
488         conditions are valid for the shorthand and the longhand.
489
490 2013-02-25  No'am Rosenthal  <noam@webkit.org>
491
492         [Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html shows a red square where it shouldn't
493         https://bugs.webkit.org/show_bug.cgi?id=110685
494
495         Reviewed by Martin Robinson.
496
497         Removed m_shouldUpdateCurrentTransformFromGraphicsLayer etc., as they don't do
498         what they're supposed to do. No flickers observed.
499
500         LayoutTests/compositing/animation/state-at-end-event-transform-layer.html now works correctly.
501
502         * platform/graphics/texmap/TextureMapperLayer.cpp:
503         (WebCore::TextureMapperLayer::setAnimatedTransform):
504         (WebCore::TextureMapperLayer::setAnimatedOpacity):
505         (WebCore::TextureMapperLayer::setAnimatedFilters):
506         (WebCore::TextureMapperLayer::syncAnimations):
507         * platform/graphics/texmap/TextureMapperLayer.h:
508         (WebCore::TextureMapperLayer::TextureMapperLayer):
509         (TextureMapperLayer):
510
511 2013-02-25  Jer Noble  <jer.noble@apple.com>
512
513         AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
514         https://bugs.webkit.org/show_bug.cgi?id=110725
515
516         Reviewed by Eric Carlson.
517
518         When settings are changed, do not re-query the media engines (which causes their respective
519         frameworks to load). Instead, merely clear any previously loaded media engines so that
520         the media engine list will be re-queried the next time installedMediaEngines() is called.
521
522         (WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
523         * platform/graphics/MediaPlayer.h:
524         * html/HTMLMediaElement.cpp:
525         (WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
526         * html/HTMLMediaElement.h:
527         * page/Settings.cpp:
528         (WebCore::Settings::setAVFoundationEnabled): Call renamed method.
529         (WebCore::Settings::setQTKitEnabled):  Ditto.
530         * platform/graphics/MediaPlayer.cpp:
531         (WebCore::installedMediaEngines): Only clear out previously queried engines.
532
533 2013-02-25  Martin Robinson  <mrobinson@igalia.com>
534
535         Try to fix the Windows gyp build after r143937
536
537         * WebCore.gypi: Update the filename in the source list.
538
539 2013-02-25  Julien Chaffraix  <jchaffraix@webkit.org>
540
541         [CSS Grid Layout] Refactor RenderStyle's grid position storage in preparation to supporting spanning
542         https://bugs.webkit.org/show_bug.cgi?id=110651
543
544         Reviewed by Ojan Vafai.
545
546         The current code stores grid-{row|column} as a single GridPosition value. While this works well currently,
547         we want to be able to handle 2 GridPosition as this enables row / column spanning.
548
549         That's what this refactoring achieves: it replaces the internal storage by a GridPositions that contains a 
550         single GridPosition for now. The rest is mechanical updates.
551
552         Refactoring covered by existing tests.
553
554         * css/CSSComputedStyleDeclaration.cpp:
555         (WebCore::valueForGridPositions):
556         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
557         Added the simple wrapper valueForGridPositions and updated the rest of the code.
558
559         * css/StyleResolver.cpp:
560         (WebCore::createGridPositions):
561         (WebCore::StyleResolver::applyProperty):
562         Ditto with createGridPositions.
563
564         * rendering/RenderGrid.cpp:
565         (WebCore::RenderGrid::maximumIndexInDirection):
566         (WebCore::RenderGrid::placeItemsOnGrid):
567         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
568         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
569         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
570         (WebCore::RenderGrid::autoPlacementMajorAxisPositionsForChild):
571         (WebCore::RenderGrid::autoPlacementMinorAxisPositionsForChild):
572         Updated the code after adding the indirection: s/GridPosition/GridPositions/ and
573         use the firstPosition helper.
574
575         * rendering/RenderGrid.h:
576         * rendering/style/GridPosition.h:
577         (WebCore::GridPositions::GridPositions):
578         (WebCore::GridPositions::firstPosition):
579         (WebCore::GridPositions::operator==):
580         Added this class to add the indirection. For now, it only wraps the single GridPosition.
581
582         * rendering/style/RenderStyle.h:
583         * rendering/style/StyleGridItemData.h:
584         Updated to store / take / return a GridPositions.
585
586 2013-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
587
588         Revert r143840 because it caused flaky crashes.
589         https://bugs.webkit.org/show_bug.cgi?id=110766
590
591 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
592
593         Remove an obsolete workaround for relaxing 3rd party cookie policy
594         https://bugs.webkit.org/show_bug.cgi?id=110664
595
596         Reviewed by Benjamin Poulain.
597
598         Removed shouldRelaxThirdPartyCookiePolicy(). This workaround is no longer needed,
599         because CFNetwork performs the same check starting with 10.6.8.
600
601         Also, the workaround was not quite correct and harmful for performance, as it
602         was always changing main document URL to an untrue value, which caused ResourceRequest
603         regeneration.
604
605         * platform/network/ResourceHandle.h:
606         * platform/network/cf/ResourceHandleCFNet.cpp:
607         (WebCore::ResourceHandle::createCFURLConnection):
608         (WebCore::ResourceHandle::start):
609         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
610         * platform/network/mac/ResourceHandleMac.mm:
611         (WebCore::ResourceHandle::createNSURLConnection):
612         (WebCore::ResourceHandle::start):
613         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
614
615 2013-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
616
617         WebInspector: Do not keep track of resources unless they have a valid loader identifier.
618         https://bugs.webkit.org/show_bug.cgi?id=110761
619
620         Reviewed by Pavel Feldman.
621
622         * inspector/NetworkResourcesData.cpp:
623         (WebCore::NetworkResourcesData::responseReceived):
624         (WebCore::NetworkResourcesData::setResourceType):
625         (WebCore::NetworkResourcesData::resourceType):
626         (WebCore::NetworkResourcesData::setResourceContent):
627         (WebCore::NetworkResourcesData::maybeAddResourceData):
628         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
629         (WebCore::NetworkResourcesData::addCachedResource):
630         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
631         (WebCore::NetworkResourcesData::data):
632         (WebCore::NetworkResourcesData::xhrReplayData):
633         (WebCore::NetworkResourcesData::setXHRReplayData):
634         (WebCore::NetworkResourcesData::reuseXHRReplayData):
635         (WebCore::NetworkResourcesData::resourceDataForRequestId):
636         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
637         (WebCore::NetworkResourcesData::ensureFreeSpace):
638         * inspector/NetworkResourcesData.h:
639         (NetworkResourcesData):
640
641 2013-02-25  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
642
643         [EFL][GTK] Move text selection/focus notification for a11y from gtk to atk directory
644         https://bugs.webkit.org/show_bug.cgi?id=110221
645
646         Reviewed by Martin Robinson.
647
648         Share implementation between efl and gtk.
649         Update build with changes made.
650
651         * GNUmakefile.list.am: Change WebCore/editing/gtk/FrameSelectionGtk.cpp to WebCore/editing/atk/FrameSelectionAtk.cpp to build.
652         * PlatformEfl.cmake: Add WebCore/editing/atk to include directories, add Webcore/editing/atk/FrameSelectionAtk.cpp to build.
653         * editing/FrameSelection.h: Omit notifyAccessibilityForSelectionChange() stub for EFL port.
654         (WebCore):
655         * editing/atk/FrameSelectionAtk.cpp: Renamed from Source/WebCore/editing/gtk/FrameSelectionGtk.cpp.
656         (WebCore):
657         (WebCore::emitTextSelectionChange):
658         (WebCore::maybeEmitTextFocusChange):
659         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
660
661 2013-02-25  Alpha Lam  <hclam@chromium.org>
662
663         GIFImageReader to read from source data directly
664         https://bugs.webkit.org/show_bug.cgi?id=109662
665
666         Reviewed by Stephen White.
667
668         This is the first patch to improve GIF image decoding.
669
670         GIFImageReader has an internal 256 bytes buffer to saving incoming
671         bytes. This mechanism is out-dated because WebKit holds the entire
672         file in memory and it is not necessary to hold data in an intermediate
673         buffer.
674
675         This is also a blocker for later work to parse and decode GIF
676         incrementally.
677
678         This change removed the imtermediate 'hold' buffer and uses an index
679         for data position to keep track of parsing of the GIF file. Buffer for
680         global colormap and local colormap are also removed because they can be
681         referenced from the data stream.
682
683         This change is tested by:
684
685         Layout tests
686         All tests passed under fast/images.
687
688         Unit tests
689         Added GIFImageDecoderTest for Chromium.
690
691         Local testing
692         I tested this implementation against a set of 50k GIF images and
693         there's no crashes and produces bit-exact results as previous code.
694
695         * platform/image-decoders/gif/GIFImageDecoder.cpp:
696         (WebCore::GIFImageDecoder::setData):
697         (WebCore::GIFImageDecoder::frameCount):
698         (WebCore::GIFImageDecoder::haveDecodedRow):
699         (WebCore::GIFImageDecoder::decode):
700         * platform/image-decoders/gif/GIFImageReader.cpp:
701         (GIFImageReader::doLZW):
702         (GIFImageReader::decode):
703         (GIFImageReader::decodeInternal):
704         (GIFImageReader::setRemainingBytes):
705         * platform/image-decoders/gif/GIFImageReader.h:
706         (GIFFrameContext):
707         (GIFFrameContext::GIFFrameContext):
708         (GIFFrameContext::~GIFFrameContext):
709         (GIFImageReader::GIFImageReader):
710         (GIFImageReader::~GIFImageReader):
711         (GIFImageReader::setData):
712         (GIFImageReader):
713         (GIFImageReader::globalColormap):
714         (GIFImageReader::localColormap):
715         (GIFImageReader::localColormapSize):
716         (GIFImageReader::data):
717         (GIFImageReader::colormap):
718
719 2013-02-25  Sergio Villar Senin  <svillar@igalia.com>
720
721         [soup] "Too many redirects" error loading chat in plus.google.com
722         https://bugs.webkit.org/show_bug.cgi?id=64575
723
724         Reviewed by Martin Robinson.
725
726         Set the firstPartyForCookies for the new request on redirects to
727         the URL used for redirection.
728
729         Test: http/tests/cookies/set-cookie-on-redirect.html
730
731         * platform/network/soup/ResourceHandleSoup.cpp:
732         (WebCore::doRedirect):
733
734 2013-02-25  Andreas Kling  <akling@apple.com>
735
736         Reduce amount of code that includes StylePropertySet.h
737         <http://webkit.org/b/101149>
738
739         Reviewed by Antti Koivisto.
740
741         StylePropertySet.h and dependents were getting included by the majority of WebKit
742         through either StyledElement.h or CSSStyleDeclaration.h. This change removes those includes
743         and moves inclusion to .cpp files instead. After this change, it's possible to hack most
744         of WebCore/css/ and rebuild <100 files instead of >1000.
745
746         The only real code change in here is changing CSSStyleDeclaration::cssPropertyMatches()
747         to take a CSSPropertyID/CSSValue* combo instead of a StylePropertySet::Reference.
748
749         * css/CSSComputedStyleDeclaration.cpp:
750         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
751         * css/CSSComputedStyleDeclaration.h:
752         (CSSComputedStyleDeclaration):
753         * css/CSSStyleDeclaration.h:
754         (CSSStyleDeclaration):
755         * css/PropertySetCSSStyleDeclaration.cpp:
756         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
757         * css/PropertySetCSSStyleDeclaration.h:
758         * css/SelectorChecker.h:
759         * css/SelectorCheckerFastPath.cpp:
760         * css/SelectorFilter.cpp:
761         * css/SelectorFilter.h:
762         * css/StylePropertySet.cpp:
763         (WebCore::StylePropertySet::propertyMatches):
764         (WebCore::StylePropertySet::removeEquivalentProperties):
765         * css/StylePropertySet.h:
766         * css/StyleResolver.cpp:
767         (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
768         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
769         * css/StyleResolver.h:
770         (MatchedProperties):
771         * css/StyleRule.cpp:
772         * css/ViewportStyleResolver.cpp:
773         (WebCore::ViewportStyleResolver::~ViewportStyleResolver):
774         * css/ViewportStyleResolver.h:
775         (ViewportStyleResolver):
776         * css/WebKitCSSKeyframeRule.cpp:
777         (WebCore::StyleKeyframe::StyleKeyframe):
778         (WebCore::StyleKeyframe::~StyleKeyframe):
779         * css/WebKitCSSKeyframeRule.h:
780         (StyleKeyframe):
781         * dom/Attr.cpp:
782         * dom/Document.cpp:
783         * dom/Element.cpp:
784         * dom/StyledElement.cpp:
785         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
786         * dom/StyledElement.h:
787         (StyledElement):
788         * editing/FrameSelection.cpp:
789         * editing/RemoveCSSPropertyCommand.cpp:
790         (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
791         * editing/RemoveCSSPropertyCommand.h:
792         (RemoveCSSPropertyCommand):
793         * editing/RemoveFormatCommand.cpp:
794         * html/HTMLBodyElement.cpp:
795         * html/HTMLElement.cpp:
796         (WebCore::HTMLElement::addHTMLLengthToStyle):
797         (WebCore::HTMLElement::addHTMLColorToStyle):
798         * html/HTMLElement.h:
799         (HTMLElement):
800         * html/HTMLFontElement.cpp:
801         * html/HTMLHRElement.cpp:
802         * html/HTMLPreElement.cpp:
803         * html/HTMLTableElement.cpp:
804         * html/HTMLTablePartElement.cpp:
805         * html/canvas/CanvasStyle.cpp:
806         * html/shadow/MediaControlElementTypes.cpp:
807         * inspector/InspectorStyleSheet.cpp:
808         * page/PageSerializer.cpp:
809         * rendering/RenderTableCell.cpp:
810         * svg/SVGAnimateElement.cpp:
811         * svg/SVGElementRareData.h:
812         * svg/SVGFontFaceElement.cpp:
813
814 2013-02-25  Alexei Filippov  <alph@chromium.org>
815
816         Web Inspector: Remove CPU profile from a group causes exception
817         https://bugs.webkit.org/show_bug.cgi?id=110466
818
819         Reviewed by Yury Semikhatsky.
820
821         WebInspector.ProfilesPanel._removeProfileHandle did not handle
822         profile removal from a group. The fix takes care of this case.
823
824         Test: inspector/profiler/cpu-profiler-profile-removal.html
825
826         * inspector/front-end/ProfilesPanel.js:
827         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
828         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
829
830 2013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
831
832         Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
833         https://bugs.webkit.org/show_bug.cgi?id=110599
834
835         Reviewed by Yury Semikhatsky.
836
837         Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
838         that were given us via MemoryInstrumentation calls.
839         So I extended client api with registerString method that pushes the strings
840         down to the serializer.
841
842         * css/InspectorCSSOMWrappers.h:
843         * inspector/HeapGraphSerializer.cpp:
844         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
845         (WebCore::HeapGraphSerializer::reportNodeImpl):
846         (WebCore::HeapGraphSerializer::reportEdgeImpl):
847         (WebCore::HeapGraphSerializer::registerString):
848         (WebCore::HeapGraphSerializer::registerTypeString):
849         (WebCore::HeapGraphSerializer::addRootNode):
850         * inspector/HeapGraphSerializer.h:
851         (HeapGraphSerializer):
852         * inspector/MemoryInstrumentationImpl.cpp:
853         (WebCore::MemoryInstrumentationClientImpl::registerString):
854         (WebCore):
855         * inspector/MemoryInstrumentationImpl.h:
856         (MemoryInstrumentationClientImpl):
857         * loader/cache/CachedResource.cpp:
858         (WebCore::CachedResource::reportMemoryUsage):
859
860 2013-02-25  Keishi Hattori  <keishi@webkit.org>
861
862         Add a scrollbar class for the new calendar picker
863         https://bugs.webkit.org/show_bug.cgi?id=110589
864
865         Reviewed by Kent Tamura.
866
867         Adding a scrollbar to be used in the new calendar picker (Bug 109439).
868
869         No new tests. Code is not used yet.
870
871         * Resources/pagepopups/calendarPicker.js:
872         (ScrubbyScrollBar):
873         (ScrubbyScrollBar.prototype.height):
874         (ScrubbyScrollBar.prototype.setHeight):
875         (ScrubbyScrollBar.prototype.setThumbHeight): Sets the height of the scroll bar thumb.
876         (ScrubbyScrollBar.prototype._setThumbPositionFromEvent): Sets the thumb position from a mouse event.
877         (ScrubbyScrollBar.prototype.onMouseDown):
878         (ScrubbyScrollBar.prototype.onWindowMouseMove):
879         (ScrubbyScrollBar.prototype.onWindowMouseUp):
880         (ScrubbyScrollBar.prototype.onThumbStyleTopAnimationStep): Animates the thumb back to the center position.
881         (ScrubbyScrollBar.prototype.onScrollTimer): Fires repeatedly while the thumb is being dragged.
882
883 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
884
885         Unreviewed. Fix of closure type annotations.
886
887         * inspector/front-end/UISourceCode.js:
888         * inspector/front-end/utilities.js:
889
890 2013-02-25  Eugene Klyuchnikov  <eustas@chromium.org>
891
892         Web Inspector: [Network] Timeline bars and dividers are positioned in different coordinate systems.
893         https://bugs.webkit.org/show_bug.cgi?id=109943
894
895         Reviewed by Pavel Feldman.
896
897         Look at network log: red bar (on load) is positioned to the right of
898         the last required load.
899         
900         This is incorrect. For exmaple, in case of short event it should be
901         positioned in the center of the bar.
902
903         * inspector/front-end/DataGrid.js:
904         Fix - hidden columns can have non-zero width.
905         * inspector/front-end/NetworkPanel.js: Use correct width for calculator.
906         * inspector/front-end/networkLogView.css: Removed parasite paddinds.
907         Extracted common absolute "paddings".
908
909 2013-02-25  Keishi Hattori  <keishi@webkit.org>
910
911         Add list view for new calendar picker
912         https://bugs.webkit.org/show_bug.cgi?id=110140
913
914         Reviewed by Kent Tamura.
915
916         Adding list view class to be used in the new calendar picker (Bug 109439).
917
918         No new tests. Code is not yet used.
919
920         * Resources/pagepopups/calendarPicker.js:
921         (ListCell): One row inside the list view. We reuse
922         list cells to avoid animation hiccups caused by memory allocation.
923         (ListCell.prototype._recycleBin): Returns array to
924         store thrown away list cells so we can reuse them.
925         (ListCell.prototype.throwAway): Hides the cell and puts it in the recycle bin.
926         (ListCell.prototype.show):
927         (ListCell.prototype.hide): Hide the cell when we don't need the cell any more.
928         (ListCell.prototype.width):
929         (ListCell.prototype.setWidth):
930         (ListCell.prototype.position):
931         (ListCell.prototype.setPosition): Sets the CSS transform to position the cell.
932         (ListCell.prototype.setSelected): Adds selected CSS class.
933         (ListView): Shows a scrolling list.
934         (ListView.prototype.onAnimationFrameWillFinish): Calls updateCells if the cells need to be updated.
935         (ListView.prototype.setNeedsUpdateCells): Mark the cells as need to be updated.
936         (ListView.prototype.cellAtRow): Returns the cell at a given row. If the cell is not visible and doesn't exist, returns undefined.
937         (ListView.prototype.rowAtScrollOffset): The row that is displayed at the given scroll offset.
938         (ListView.prototype.scrollOffsetForRow): The scroll offset for the top of a given row.
939         (ListView.prototype.addCellIfNecessary): Adds the cell for a given row.
940         (ListView.prototype.prepareNewCell): Prepares a new or recycled cell for a given row.
941         (ListView.prototype.throwAwayCell): Throws a way a cell.
942         (ListView.prototype.firstVisibleRow): The first visible row at the top of the view.
943         (ListView.prototype.lastVisibleRow): The last visible row at the bottom of the view.
944         (ListView.prototype.scrollViewDidChangeContentOffset):
945         (ListView.prototype.scrollViewDidChangeHeight):
946         (ListView.prototype.scrollViewDidChangePartition):
947         (ListView.prototype.updateCells): Updates all the cells that are visible.
948         (ListView.prototype.width):
949         (ListView.prototype.setWidth):
950         (ListView.prototype.height):
951         (ListView.prototype.setHeight):
952         (ListView.prototype.onClick): Clicking on a row selects it.
953         (ListView.prototype.select):
954         (ListView.prototype.deselect):
955         (ListView.prototype.scrollToRow): Scrolls to a given row.
956
957 2013-02-25  Alexei Filippov  <alph@chromium.org>
958
959         Web Inspector: move profile type specific code out of ProfilesPanel (refactor)
960         https://bugs.webkit.org/show_bug.cgi?id=110597
961
962         Reviewed by Yury Semikhatsky.
963
964         Move profile type specific functionality out of ProfilesPanel class.
965         This is a first part of WebInspector.ProfilesPanel refactoring.
966
967         No new tests as the functionality isn't changed.
968
969         * English.lproj/localizedStrings.js:
970         * inspector/front-end/CPUProfileView.js:
971         (WebInspector.CPUProfileType):
972         (WebInspector.CPUProfileType.prototype.addProfileHeader):
973         (WebInspector.CPUProfileType.prototype.removeProfile):
974         (WebInspector.CPUProfileType.prototype._requestProfilesFromBackend):
975         (WebInspector.CPUProfileType.prototype.resetProfiles):
976         (WebInspector.CPUProfileType.prototype.addHeapSnapshotChunk):
977         (WebInspector.CPUProfileType.prototype.finishHeapSnapshot):
978         (WebInspector.CPUProfileType.prototype.reportHeapSnapshotProgress):
979         * inspector/front-end/CSSSelectorProfileView.js:
980         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
981         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
982         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
983         * inspector/front-end/CanvasProfileView.js:
984         (WebInspector.CanvasProfileType.prototype.buttonClicked):
985         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
986         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
987         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
988         (WebInspector.CanvasProfileType.prototype._reset):
989         (WebInspector.CanvasProfileType.prototype.removeProfile):
990         (WebInspector.CanvasProfileHeader.prototype.dispose):
991         * inspector/front-end/HeapSnapshotView.js:
992         (WebInspector.HeapSnapshotView.prototype._profiles):
993         (WebInspector.HeapSnapshotProfileType):
994         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
995         (WebInspector.HeapSnapshotProfileType.prototype.addProfileHeader):
996         (WebInspector.HeapSnapshotProfileType.prototype.addHeapSnapshotChunk):
997         (WebInspector.HeapSnapshotProfileType.prototype.finishHeapSnapshot):
998         (WebInspector.HeapSnapshotProfileType.prototype.reportHeapSnapshotProgress):
999         (WebInspector.HeapSnapshotProfileType.prototype.resetProfiles):
1000         (WebInspector.HeapSnapshotProfileType.prototype.removeProfile):
1001         (WebInspector.HeapSnapshotProfileType.prototype._requestProfilesFromBackend):
1002         (WebInspector.HeapProfileHeader.prototype._updateTransferProgress):
1003         * inspector/front-end/NativeMemorySnapshotView.js:
1004         (WebInspector.NativeSnapshotProfileType):
1005         (WebInspector.NativeSnapshotProfileType.prototype.addNativeSnapshotChunk):
1006         * inspector/front-end/ProfilesPanel.js:
1007         (WebInspector.ProfileType):
1008         (WebInspector.ProfileType.prototype.buttonClicked):
1009         (WebInspector.ProfileType.prototype.get description):
1010         (WebInspector.ProfileType.prototype.getProfiles):
1011         (WebInspector.ProfileType.prototype.getProfile):
1012         (WebInspector.ProfileType.prototype._makeKey):
1013         (WebInspector.ProfileType.prototype.addProfile):
1014         (WebInspector.ProfileType.prototype.removeProfile):
1015         (WebInspector.ProfileType.prototype.findTemporaryProfile):
1016         (WebInspector.ProfileType.prototype._reset):
1017         (WebInspector.ProfileType.prototype._requestProfilesFromBackend):
1018         (WebInspector.ProfileHeader):
1019         (WebInspector.ProfileHeader.prototype.dispose):
1020         (WebInspector.ProfilesPanel):
1021         (WebInspector.ProfilesPanel.prototype._loadFromFile):
1022         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1023         (WebInspector.ProfilesPanel.prototype._populateAllProfiles):
1024         (WebInspector.ProfilesPanel.prototype.wasShown):
1025         (WebInspector.ProfilesPanel.prototype._profilerWasEnabled):
1026         (WebInspector.ProfilesPanel.prototype._reset):
1027         (WebInspector.ProfilesPanel.prototype._registerProfileType.onAddProfileHeader):
1028         (WebInspector.ProfilesPanel.prototype._registerProfileType.onRemoveProfileHeader):
1029         (WebInspector.ProfilesPanel.prototype._registerProfileType.onProgressUpdated):
1030         (WebInspector.ProfilesPanel.prototype._registerProfileType):
1031         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1032         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1033         (WebInspector.ProfilesPanel.prototype._createTemporaryProfile):
1034         (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
1035         (WebInspector.ProfilesPanel.prototype.getProfile):
1036         (WebInspector.ProfilesPanel.prototype.showProfile):
1037         (WebInspector.ProfilesPanel.prototype._getAllProfiles):
1038         (WebInspector.ProfilesPanel.prototype._searchableViews):
1039         (WebInspector.ProfilesPanel.prototype.searchCanceled):
1040         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
1041         (WebInspector.ProfilesPanel.prototype._reportProfileProgress):
1042
1043 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
1044
1045         Unreviewed fix of type annotation for this._liveLocations.
1046
1047         * inspector/front-end/UISourceCode.js:
1048         (WebInspector.UISourceCode):
1049
1050 2013-02-25  Kent Tamura  <tkent@chromium.org>
1051
1052         Fix style errors in WebCore/editing/{htmlediting,markup,visible_units}.*
1053         https://bugs.webkit.org/show_bug.cgi?id=110721
1054
1055         Reviewed by Ryosuke Niwa.
1056
1057         No new tests. This should not make any bahevior changes.
1058
1059         * editing/htmlediting.cpp:
1060         (WebCore::lowestEditableAncestor):
1061         (WebCore):
1062         (WebCore::isSpecialElement):
1063         (WebCore::enclosingListChild):
1064         (WebCore::canMergeLists):
1065         (WebCore::tabSpanNode):
1066         (WebCore::isNodeRendered):
1067         (WebCore::caretMaxOffset):
1068         * editing/htmlediting.h:
1069         (WebCore):
1070         * editing/markup.cpp:
1071         (WebCore::StyledMarkupAccumulator::appendElement):
1072         * editing/markup.h:
1073         (WebCore):
1074         * editing/visible_units.cpp:
1075         (WebCore::previousRootInlineBoxCandidatePosition):
1076         (WebCore::nextRootInlineBoxCandidatePosition):
1077         (WebCore::wordBreakIteratorForMinOffsetBoundary):
1078         (WebCore::previousBoundary):
1079         (WebCore::endOfLine):
1080         (WebCore::previousLinePosition):
1081         (WebCore::nextLinePosition):
1082         (WebCore::nextSentencePositionBoundary):
1083         (WebCore::startOfParagraph):
1084         (WebCore::endOfParagraph):
1085
1086 2013-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
1087
1088         Web Inspector: Improve speed of Linkifier.reset operation.
1089         https://bugs.webkit.org/show_bug.cgi?id=110696
1090
1091         Reviewed by Yury Semikhatsky.
1092
1093         Linkifier calls Location.dispose N times and each dispose method calls Array.remove
1094         which scans entire array and does splice. So the complexity of Linkifier.reset
1095         is O(N^2). I replaced the arrays with Set and got O(N) complexity.
1096
1097         Drive by fix: The identifier generator was slightly changed.
1098         Now it produces identifiers that couldn't be converted into a number.
1099         So the engine will never convert Set/Map object into an array.
1100
1101         * inspector/front-end/Script.js:
1102         (WebInspector.Script):
1103         (WebInspector.Script.prototype.updateLocations):
1104         (WebInspector.Script.prototype.createLiveLocation):
1105         * inspector/front-end/UISourceCode.js:
1106         (WebInspector.UISourceCode):
1107         (WebInspector.UISourceCode.prototype.addLiveLocation):
1108         (WebInspector.UISourceCode.prototype.updateLiveLocations):
1109         * inspector/front-end/utilities.js:
1110
1111 2013-02-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1112
1113         Unreviewed, rolling out r143797.
1114         http://trac.webkit.org/changeset/143797
1115         https://bugs.webkit.org/show_bug.cgi?id=110724
1116
1117         Causes assertion failures in multiple tests. (Requested by
1118         vsevik on #webkit).
1119
1120         * dom/DocumentParser.h:
1121         (DocumentParser):
1122         * html/parser/HTMLDocumentParser.cpp:
1123         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1124         * html/parser/HTMLDocumentParser.h:
1125         (HTMLDocumentParser):
1126         (WebCore::HTMLDocumentParser::shouldUseThreading):
1127         * loader/DocumentWriter.cpp:
1128         (WebCore::DocumentWriter::replaceDocument):
1129
1130 2013-02-24  Hajime Morrita  <morrita@google.com>
1131
1132         Rollout r143556, it regressed html5-full-render perf.
1133         https://bugs.webkit.org/show_bug.cgi?id=110719
1134
1135         Unreviewed rollout.
1136         
1137         * css/BasicShapeFunctions.cpp:
1138         (WebCore::convertToLength):
1139         (WebCore::basicShapeForValue):
1140         * css/BasicShapeFunctions.h:
1141         (WebCore):
1142         * css/CSSGradientValue.cpp:
1143         (WebCore::CSSGradientValue::gradientWithStylesResolved):
1144         * css/CSSGradientValue.h:
1145         (CSSGradientValue):
1146         * css/CSSToStyleMap.cpp:
1147         (WebCore::CSSToStyleMap::style):
1148         (WebCore::CSSToStyleMap::rootElementStyle):
1149         (WebCore::CSSToStyleMap::useSVGZoomRules):
1150         (WebCore::CSSToStyleMap::styleImage):
1151         * css/CSSToStyleMap.h:
1152         (WebCore):
1153         (WebCore::CSSToStyleMap::CSSToStyleMap):
1154         (CSSToStyleMap):
1155         * css/SVGCSSStyleSelector.cpp:
1156         (WebCore::StyleResolver::applySVGProperty):
1157         * css/StyleBuilder.cpp:
1158         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1159         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1160         (WebCore::ApplyPropertyExpanding::applyValue):
1161         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
1162         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
1163         (WebCore::ApplyPropertyDefaultBase::applyValue):
1164         (WebCore::ApplyPropertyDefault::applyValue):
1165         (WebCore::ApplyPropertyNumber::applyValue):
1166         (WebCore::ApplyPropertyStyleImage::applyValue):
1167         (WebCore::ApplyPropertyAuto::applyInheritValue):
1168         (WebCore::ApplyPropertyAuto::applyInitialValue):
1169         (WebCore::ApplyPropertyAuto::applyValue):
1170         (WebCore::ApplyPropertyClip::convertToLength):
1171         (WebCore::ApplyPropertyClip::applyInheritValue):
1172         (WebCore::ApplyPropertyClip::applyInitialValue):
1173         (WebCore::ApplyPropertyClip::applyValue):
1174         (WebCore::ApplyPropertyColor::applyInheritValue):
1175         (WebCore::ApplyPropertyColor::applyInitialValue):
1176         (WebCore::ApplyPropertyColor::applyValue):
1177         (WebCore::ApplyPropertyColor::applyColorValue):
1178         (WebCore::ApplyPropertyDirection::applyValue):
1179         (WebCore::ApplyPropertyLength::applyValue):
1180         (WebCore::ApplyPropertyString::applyValue):
1181         (WebCore::ApplyPropertyBorderRadius::applyValue):
1182         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
1183         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
1184         (WebCore::ApplyPropertyFillLayer::applyValue):
1185         (WebCore::ApplyPropertyComputeLength::applyValue):
1186         (WebCore::ApplyPropertyFont::applyInheritValue):
1187         (WebCore::ApplyPropertyFont::applyInitialValue):
1188         (WebCore::ApplyPropertyFont::applyValue):
1189         (WebCore::ApplyPropertyFontSize::applyInheritValue):
1190         (WebCore::ApplyPropertyFontSize::applyInitialValue):
1191         (WebCore::ApplyPropertyFontSize::applyValue):
1192         (WebCore::ApplyPropertyFontWeight::applyValue):
1193         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
1194         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
1195         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
1196         (WebCore::ApplyPropertyBorderImage::applyValue):
1197         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
1198         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
1199         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
1200         (WebCore::ApplyPropertyBorderImageSource::applyValue):
1201         (WebCore::ApplyPropertyCounter::emptyFunction):
1202         (WebCore::ApplyPropertyCounter::applyInheritValue):
1203         (WebCore::ApplyPropertyCounter::applyValue):
1204         (WebCore::ApplyPropertyCursor::applyInheritValue):
1205         (WebCore::ApplyPropertyCursor::applyInitialValue):
1206         (WebCore::ApplyPropertyCursor::applyValue):
1207         (WebCore::ApplyPropertyTextAlign::applyValue):
1208         (WebCore::ApplyPropertyTextDecoration::applyValue):
1209         (WebCore::ApplyPropertyLineHeight::applyValue):
1210         (WebCore::ApplyPropertyPageSize::applyInheritValue):
1211         (WebCore::ApplyPropertyPageSize::applyInitialValue):
1212         (WebCore::ApplyPropertyPageSize::applyValue):
1213         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
1214         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
1215         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1216         (WebCore::ApplyPropertyAnimation::map):
1217         (WebCore::ApplyPropertyAnimation::applyInheritValue):
1218         (WebCore::ApplyPropertyAnimation::applyInitialValue):
1219         (WebCore::ApplyPropertyAnimation::applyValue):
1220         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
1221         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
1222         (WebCore::ApplyPropertyOutlineStyle::applyValue):
1223         (WebCore::ApplyPropertyResize::applyValue):
1224         (WebCore::ApplyPropertyVerticalAlign::applyValue):
1225         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
1226         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
1227         (WebCore::ApplyPropertyAspectRatio::applyValue):
1228         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
1229         (WebCore::ApplyPropertyZoom::applyInheritValue):
1230         (WebCore::ApplyPropertyZoom::applyInitialValue):
1231         (WebCore::ApplyPropertyZoom::applyValue):
1232         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
1233         (WebCore::ApplyPropertyDisplay::applyInheritValue):
1234         (WebCore::ApplyPropertyDisplay::applyInitialValue):
1235         (WebCore::ApplyPropertyDisplay::applyValue):
1236         (WebCore::ApplyPropertyClipPath::applyValue):
1237         (WebCore::ApplyPropertyExclusionShape::applyValue):
1238         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
1239         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
1240         (WebCore::ApplyPropertyImageResolution::applyValue):
1241         * css/StyleBuilder.h:
1242         (WebCore):
1243         (PropertyHandler):
1244         (WebCore::PropertyHandler::applyInheritValue):
1245         (WebCore::PropertyHandler::applyInitialValue):
1246         (WebCore::PropertyHandler::applyValue):
1247         * css/StyleResolver.cpp:
1248         (WebCore):
1249         (WebCore::StyleResolver::StyleResolver):
1250         (WebCore::StyleResolver::collectMatchingRules):
1251         (WebCore::StyleResolver::collectMatchingRulesForRegion):
1252         (WebCore::StyleResolver::sortAndTransferMatchedRules):
1253         (WebCore::StyleResolver::matchScopedAuthorRules):
1254         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
1255         (WebCore::StyleResolver::matchHostRules):
1256         (WebCore::StyleResolver::matchAuthorRules):
1257         (WebCore::StyleResolver::matchUserRules):
1258         (WebCore::StyleResolver::matchUARules):
1259         (WebCore::StyleResolver::collectMatchingRulesForList):
1260         (WebCore::StyleResolver::sortMatchedRules):
1261         (WebCore::StyleResolver::matchAllRules):
1262         (WebCore::StyleResolver::initElement):
1263         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1264         (WebCore::StyleResolver::canShareStyleWithControl):
1265         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
1266         (WebCore::StyleResolver::canShareStyleWithElement):
1267         (WebCore::StyleResolver::findSiblingForStyleSharing):
1268         (WebCore::StyleResolver::locateSharedStyle):
1269         (WebCore::StyleResolver::styleForElement):
1270         (WebCore::StyleResolver::styleForKeyframe):
1271         (WebCore::StyleResolver::keyframeStylesForAnimation):
1272         (WebCore::StyleResolver::pseudoStyleForElement):
1273         (WebCore::StyleResolver::styleForPage):
1274         (WebCore::StyleResolver::defaultStyleForElement):
1275         (WebCore::StyleResolver::adjustRenderStyle):
1276         (WebCore::StyleResolver::updateFont):
1277         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1278         (WebCore::StyleResolver::ruleMatches):
1279         (WebCore::StyleResolver::checkRegionSelector):
1280         (WebCore::StyleResolver::applyProperties):
1281         (WebCore::StyleResolver::applyMatchedProperties):
1282         (WebCore::StyleResolver::isLeftPage):
1283         (WebCore::StyleResolver::applyPropertyToStyle):
1284         (WebCore::StyleResolver::applyPropertyToCurrentStyle):
1285         (WebCore::StyleResolver::useSVGZoomRules):
1286         (WebCore::StyleResolver::resolveVariables):
1287         (WebCore::StyleResolver::applyProperty):
1288         (WebCore::StyleResolver::styleImage):
1289         (WebCore::StyleResolver::cachedOrPendingFromValue):
1290         (WebCore::StyleResolver::generatedOrPendingFromValue):
1291         (WebCore::StyleResolver::setOrPendingFromValue):
1292         (WebCore::StyleResolver::cursorOrPendingFromValue):
1293         (WebCore::StyleResolver::checkForTextSizeAdjust):
1294         (WebCore::StyleResolver::checkForZoomChange):
1295         (WebCore::StyleResolver::checkForGenericFamilyChange):
1296         (WebCore::StyleResolver::initializeFontStyle):
1297         (WebCore::StyleResolver::setFontSize):
1298         (WebCore::StyleResolver::colorFromPrimitiveValue):
1299         (WebCore::StyleResolver::loadPendingSVGDocuments):
1300         (WebCore::StyleResolver::styleShader):
1301         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
1302         (WebCore::StyleResolver::loadPendingShaders):
1303         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
1304         (WebCore::StyleResolver::parseCustomFilterParameter):
1305         (WebCore::StyleResolver::parseCustomFilterParameterList):
1306         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
1307         (WebCore::StyleResolver::createCustomFilterOperation):
1308         (WebCore::StyleResolver::createFilterOperations):
1309         (WebCore::StyleResolver::loadPendingImage):
1310         (WebCore::StyleResolver::loadPendingImages):
1311         (WebCore::StyleResolver::loadPendingResources):
1312         (WebCore::StyleResolver::reportMemoryUsage):
1313         * css/StyleResolver.h:
1314         (WebCore::StyleResolver::style):
1315         (WebCore::StyleResolver::parentStyle):
1316         (WebCore::StyleResolver::rootElementStyle):
1317         (WebCore::StyleResolver::element):
1318         (WebCore::StyleResolver::hasParentNode):
1319         (StyleResolver):
1320         (WebCore::StyleResolver::isRightPage):
1321         (WebCore::StyleResolver::State::State):
1322         (WebCore::StyleResolver::State::document):
1323         (State):
1324         (WebCore::StyleResolver::applyPropertyToRegularStyle):
1325         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
1326         (WebCore::StyleResolver::styleMap):
1327         (WebCore::StyleResolver::fontDescription):
1328         (WebCore::StyleResolver::parentFontDescription):
1329         (WebCore::StyleResolver::setFontDescription):
1330         (WebCore::StyleResolver::setZoom):
1331         (WebCore::StyleResolver::setEffectiveZoom):
1332         (WebCore::StyleResolver::setTextSizeAdjust):
1333         (WebCore::StyleResolver::setWritingMode):
1334         (WebCore::StyleResolver::setTextOrientation):
1335         * html/canvas/CanvasRenderingContext2D.cpp:
1336         (WebCore::CanvasRenderingContext2D::setFont):
1337
1338 2013-02-24  Eric Carlson  <eric.carlson@apple.com>
1339
1340         [Mac] cleanup MediaPlayerPrivateAVFoundation and InbandTextTrackPrivateAVF
1341         https://bugs.webkit.org/show_bug.cgi?id=110716
1342
1343         Reviewed by Alexey Proskuryakov.
1344
1345         No new tests, no functionality changed.
1346
1347         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1348         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Take AVFInbandTrackParent*
1349             instead of MediaPlayerPrivateAVFoundation*.
1350         (WebCore::InbandTextTrackPrivateAVF::processCue): Pass new cues directly to the client.
1351         (WebCore::InbandTextTrackPrivateAVF::disconnect): m_player -> m_owner.
1352         (WebCore::InbandTextTrackPrivateAVF::setMode):  m_player -> m_owner.
1353         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1354
1355         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1356         (WebCore::MediaPlayerPrivateAVFoundation::addGenericCue): Delete, no longer needed.
1357         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1358
1359         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Don't include 
1360             CachedResourceClient.h, it isn't needed.
1361
1362 2013-02-24  Kihong Kwon  <kihong.kwon@samsung.com>
1363
1364         Add an ASSERT to didChangeDeviceProximity
1365         https://bugs.webkit.org/show_bug.cgi?id=110317
1366
1367         Reviewed by Hajime Morrita.
1368
1369         Add An ASSERT to didChangeDeviceProximity function to check range of value.
1370
1371         Change exist test cases.
1372
1373         * Modules/proximity/DeviceProximityController.cpp:
1374         (WebCore::DeviceProximityController::didChangeDeviceProximity):
1375
1376 2013-02-24  Alexey Proskuryakov  <ap@apple.com>
1377
1378         Clarify meaning of default default encoding localizable string
1379         https://bugs.webkit.org/show_bug.cgi?id=110714
1380
1381         Reviewed by Eric Carlson.
1382
1383         * English.lproj/Localizable.strings: This string is only used on Windows, and it's
1384         very confusing to everyone involved.
1385
1386 2013-02-24  Mike West  <mkwst@chromium.org>
1387
1388         CSP 1.1: Experiment with 'reflected-xss' directive.
1389         https://bugs.webkit.org/show_bug.cgi?id=104479
1390
1391         Reviewed by Adam Barth.
1392
1393         Content Security Policy 1.1 defines a 'reflected-xss' directive that
1394         works in much the same way as WebKit's current 'X-XSS-Protection'
1395         header[1]. This patch implements the new directive by parsing it
1396         inside ContentSecurityPolicy, and exposing that state to XSSAuditor.
1397
1398         XSSAuditor now grabs the CSP directive's state, and mixes it with the
1399         X-XSS-Protection header's state to determine how the page should be
1400         handled. Moreover, both headers' states are now expressed in terms of
1401         ContentSecurityPolicy::ReflectedXSSDisposition.
1402
1403         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#reflected-xss--experimental
1404
1405         Tests: http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html
1406                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow.html
1407                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block.html
1408                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter.html
1409                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid.html
1410                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset.html
1411                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow.html
1412                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block.html
1413                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter.html
1414                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid.html
1415                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset.html
1416                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow.html
1417                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block.html
1418                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter.html
1419                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid.html
1420                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset.html
1421                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow.html
1422                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block.html
1423                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter.html
1424                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid.html
1425                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset.html
1426                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow.html
1427                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block.html
1428                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter.html
1429                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid.html
1430                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset.html
1431                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html
1432                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html
1433                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html
1434                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html
1435                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing.html
1436
1437         * html/parser/XSSAuditor.cpp:
1438         (WebCore::combineXSSProtectionHeaderAndCSP):
1439             Given both headers' states, return the state which the XSSAuditor
1440             should use when parsing a page. Blocking overrides filtering, which
1441             overrides disabling.
1442         (WebCore):
1443         (WebCore::XSSAuditor::init):
1444             Process the 'X-XSS-Protection' header before grabbing the CSP
1445             header's state. Both are passed into the new
1446             combineXSSProtectionHeaderAndCSP method to generate the final
1447             state that ought to be used.
1448         (WebCore::XSSAuditor::XSSAuditor):
1449         (WebCore::XSSAuditor::filterToken):
1450         * html/parser/XSSAuditor.h:
1451             Switch to ContentSecurityPolicy::ReflectedXSSDisposition internally
1452             in XSSAuditor.
1453         * page/ContentSecurityPolicy.cpp:
1454         (WebCore::CSPDirectiveList::reflectedXSSDisposition):
1455             Enum defining the possible state of the 'reflected-xss' CSP directive.
1456         (CSPDirectiveList):
1457         (WebCore::CSPDirectiveList::CSPDirectiveList):
1458         (WebCore::CSPDirectiveList::parseReflectedXSS):
1459             Given a 'reflected-xss' directive's value, set the
1460             ReflectedXSSDisposition into a new property on the CSPDirectiveList.
1461         (WebCore):
1462         (WebCore::CSPDirectiveList::addDirective):
1463             Accept 'reflected-xss' as a valid directive if we're in
1464             experimental mode.
1465         (WebCore::ContentSecurityPolicy::reflectedXSSDisposition):
1466             Expose the directive's state via the public API.
1467         (WebCore::ContentSecurityPolicy::reportInvalidReflectedXSS):
1468             Generate console errors when invalid reflected-xss directive values
1469             are encounted during parsing.
1470         * page/ContentSecurityPolicy.h:
1471         * platform/network/HTTPParsers.cpp:
1472         (WebCore::parseXSSProtectionHeader):
1473         * platform/network/HTTPParsers.h:
1474         (WebCore):
1475             Start using ContentSecurityPolicy::ReflectedXSSDisposition rather
1476             than the XSSProtectionDisposition enum.
1477
1478 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
1479
1480         Updating GObject bindings baselines after r143863.
1481
1482         Unreviewed.
1483
1484         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
1485         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
1486         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1487         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
1488         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
1489         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
1490         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
1491         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1492         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1493         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
1494         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
1495         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1496         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
1497         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1498         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
1499
1500 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
1501
1502         [GTK] Stop generating UserAgentGtk.h
1503         https://bugs.webkit.org/show_bug.cgi?id=110582
1504
1505         Reviewed by Martin Robinson.
1506
1507         No new tests - no new functionality.
1508
1509         * GNUmakefile.list.am: Move the UserAgentGtk.h build target from the derived sources list to
1510         the list of the WebCore platform sources.
1511         * platform/gtk/UserAgentGtk.cpp:
1512         (WebCore::standardUserAgent): Rename WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION to
1513         USER_AGENT_GTK_(MAJOR|MINOR)_VERSION.
1514         * platform/gtk/UserAgentGtk.h: Renamed from Source/WebCore/platform/gtk/UserAgentGtk.h.in.
1515         Same as the input file expect for removed WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION defines that
1516         are now replaced by using the USER_AGENT_GTK_(MAJOR|MINOR)_VERSION defines placed in autotoolsconfig.h.
1517
1518 2013-02-24  Gustavo Noronha Silva  <gns@gnome.org>
1519
1520         [GTK] GTK+ 2 build broken since GTK_API_VERSION_2 moved to autoconfig.h
1521         https://bugs.webkit.org/show_bug.cgi?id=110702
1522
1523         Reviewed by Martin Robinson.
1524
1525         No tests. Build fix, no behaviour change.
1526
1527         * platform/gtk/GtkVersioning.h: include the autotoolsconfig.h header,
1528         which contains the GTK_API_VERSION_2 define now.
1529
1530 2013-02-24  Andreas Kling  <akling@apple.com>
1531
1532         StyledElement: Don't expose a mutable direct interface to the inline style.
1533         <http://webkit.org/b/110711>
1534
1535         Reviewed by Antti Koivisto.
1536
1537         Remove the ability to grab at a mutable StylePropertySet* for a StyledElement's inline style
1538         from the outside world. It's now private and returns MutableStylePropertySet* for future convenience.
1539
1540         Three paths to changing the inline style remain:
1541
1542             - Setting the "style" attribute
1543             - Via CSSOM (element.style)
1544             - setInlineStyleProperty/removeInlineStyleProperty helpers
1545
1546         * dom/StyledElement.cpp:
1547         (WebCore::StyledElement::ensureMutableInlineStyle):
1548         * dom/StyledElement.h:
1549         (StyledElement):
1550         * editing/ApplyStyleCommand.cpp:
1551         (WebCore::copyStyleOrCreateEmpty):
1552         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1553         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1554         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1555         * editing/ReplaceSelectionCommand.cpp:
1556         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1557         * html/canvas/CanvasStyle.cpp:
1558         (WebCore::currentColor):
1559
1560 2013-02-24  Keishi Hattori  <keishi@webkit.org>
1561
1562         Add methods to date types for new calendar picker
1563         https://bugs.webkit.org/show_bug.cgi?id=110454
1564
1565         Reviewed by Kent Tamura.
1566
1567         Adding some methods to date types as part of the calendar picker redesign (Bug 109439).
1568
1569         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-date-types.html
1570
1571         * Resources/pagepopups/calendarPicker.js:
1572         (createUTCDate):
1573         (DateType): Base class for Day, Week and Month.
1574         (Day): Simplified constructor to only accept year, month, date.
1575         (Day.createFromValue): Creates a new Day from a value.
1576         (Day.createFromDate): Throw an error if the given date is invalid.
1577         (Day.createFromDay):
1578         (Day.prototype.equals): Accept non Day objects.
1579         (Day.prototype.previous): Modified to take an offset value.
1580         (Day.prototype.next): Ditto.
1581         (Day.prototype.firstDay): Returns the first day in the range. For Day's case, returns itself.
1582         (Day.prototype.middleDay): Returns the middle day in the range. For Day's case, returns itself.
1583         (Day.prototype.lastDay): Returns the middle day in the range. For Day's case, returns itself.
1584         (Day.prototype.valueOf):
1585         (Day.prototype.weekDay): Returns the week day.
1586         (Week): Simplified constructor to only accept year, month, date.
1587         (Week.createFromValue):
1588         (Week.createFromDate):
1589         (Week.createFromDay):
1590         (Week.weekOneStartDateForYear):
1591         (Week.weekOneStartDayForYear):
1592         (Week._numberOfWeeksSinceDate):
1593         (Week.prototype.equals):
1594         (Week.prototype.previous):
1595         (Week.prototype.next):
1596         (Week.prototype.firstDay): Returns the first day in the week.
1597         (Week.prototype.middleDay): Returns the the day for Thursday.
1598         (Week.prototype.lastDay): Returns the last day in the week.
1599         (Week.prototype.valueOf):
1600         (Month):
1601         (Month.createFromValue):
1602         (Month.createFromDate):
1603         (Month.createFromDay):
1604         (Month.prototype.containsDay):
1605         (Month.prototype.equals):
1606         (Month.prototype.previous):
1607         (Month.prototype.next):
1608         (Month.prototype.firstDay): Returns the first day in the month.
1609         (Month.prototype.middleDay): Returns the middle day in the month.
1610         (Month.prototype.lastDay): Returns the last day in the month.
1611         (Month.prototype.valueOf):
1612         (Month.prototype.toLocaleString): Moved location.
1613         (Month.prototype.toShortLocaleString): Returns the month string in short format.
1614         (CalendarPicker): Use createFromValue.
1615         (YearMonthController.prototype.setMonth): Ditto.
1616         (YearMonthController.prototype.moveRelatively): Ditto.
1617
1618 2013-02-24  Hajime Morrita  <morrita@google.com>
1619
1620         [Custom Elements] Implement bare-bone document.register()
1621         https://bugs.webkit.org/show_bug.cgi?id=100229
1622
1623         Reviewed by Adam Barth.
1624
1625         This change implements a prefixed version of document.register(), with minimal feature support.
1626         - The feature is guarded by ENABLE(CUSTOM_ELEMENTS) and RuntimeEnabledFeatures::customDOMElementsEnabled().
1627         - This bare-bone version only recognizes "name" and "prototype" parameters. It doesn't support default value of "prototype" parameter.
1628         - Currently only V8 is supported. JSC binding needs its own binding implementation.
1629
1630         = Major new classes under dom/:
1631
1632         The dom module gets two new classes:
1633         - CustomElementConstructor: A return value of document.register()
1634           which holds the custom element definition.
1635         - CustomElementRegistry: A collection of CustomElementConstructor objects.
1636           CustomElementRegistry instance is created per Document and is owned by the Document.
1637
1638         CustomElementConstructor knows the definition of each custom
1639         element, which is registered by document.register(). The name and
1640         other options are held by this object. CustomElementRegistry owns a set
1641         of the registered constructors. The registry guarantees invariants
1642         like validity and uniqueness of the element names.
1643
1644         = A change on make_names.pl
1645
1646         This change tweaks make_names.pl (or generated HTMLElementFactory)
1647         to hook the creations of unknown elements. Some of element names
1648         which come to the fallback path can be one of registered custom
1649         element.
1650
1651         = [V8WrapAsFunction] extended attribute:
1652
1653         The document.register() API returns a constructor
1654         function. However, the V8 binding currently doesn't support it. To
1655         make it possible, this change introduces "V8WrapAsFunction"
1656         extended attribute for annotating CustomElementConstructor IDL
1657         interface.
1658
1659         V8WrapAsFunction wraps the annotated interface with a JavaScript
1660         function, which calls the original object as a function, or as a
1661         constructor depends on the context.
1662
1663         With this wrapper function, there are two levels of indirection
1664         between native C++ object and author-visible JS function:
1665
1666         [JS Adaptor Function] <-(hidden property)-> [JS Wrapper Object] -(internal field)-> [C++ Native object]
1667
1668         The code generator generates the binding code which deals with
1669         this indirection.  Also, there is a set of helper functions in
1670         V8AdaptorFunction.h/cpp which takes care of this indirection.
1671         V8DOMWrapper.cpp/h works as a facade for these APIs and is used from
1672         the generated code.
1673
1674         This redundancy comes from limitations of both V8 bindings and V8
1675         embedding API. See bug 108138 for details.
1676
1677         = V8HTMLCustomElement
1678
1679         Unlike built-in HTML elements, any custom element has no
1680         corresponding C++ class. Instead, document.register() should allow
1681         passing a prototype object for the elements being registered.
1682
1683         V8HTMLCustomElement handles this lack of native class.  It behaves
1684         like a native side proxy of non-native HTMLElement subclasses.  It
1685         connects each custom element to an appropriate native element,
1686         which is HTMLElement at this time. This restriction will be
1687         relaxed later. See Bug 110436 for details.
1688
1689         = Custom DOM elements and multiple worlds
1690
1691         In this patch, custom element registration and instantiation is not allowed
1692         in non-main world and document.register() API just fails there.
1693
1694         Reviewed by Adam Barth.
1695
1696         Tests: fast/dom/custom/document-register-basic.html
1697                fast/dom/custom/document-register-reentrant-null-constructor.html
1698                fast/dom/custom/document-register-reentrant-returning-fake.html
1699                fast/dom/custom/document-register-reentrant-throwing-constructor.html
1700
1701         * DerivedSources.make:
1702         * WebCore.gypi:
1703         * bindings/generic/RuntimeEnabledFeatures.cpp:
1704         * bindings/generic/RuntimeEnabledFeatures.h:
1705         (RuntimeEnabledFeatures):
1706         (WebCore::RuntimeEnabledFeatures::customDOMElementsEnabled):
1707         (WebCore::RuntimeEnabledFeatures::setCustomDOMElements):
1708         * bindings/scripts/CodeGeneratorV8.pm:
1709         (GenerateHeader):
1710         * bindings/scripts/IDLAttributes.txt:
1711         * bindings/v8/CustomElementHelpers.cpp: Added.
1712         (WebCore::CustomElementHelpers::initializeConstructorWrapper):
1713         (WebCore::hasNoBuiltinsInPrototype):
1714         (WebCore::CustomElementHelpers::isValidPrototypeParameter):
1715         (WebCore::CustomElementHelpers::isFeatureAllowed):
1716         * bindings/v8/CustomElementHelpers.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1717         (CustomElementHelpers):
1718         * bindings/v8/V8AdaptorFunction.cpp: Added.
1719         (WebCore::V8AdaptorFunction::getTemplate):
1720         (WebCore::V8AdaptorFunction::configureTemplate):
1721         (WebCore::V8AdaptorFunction::invocationCallback):
1722         (WebCore::V8AdaptorFunction::wrap):
1723         * bindings/v8/V8AdaptorFunction.h: Added.
1724         (V8AdaptorFunction):
1725         (WebCore::V8AdaptorFunction::unwrap):
1726         (WebCore::V8AdaptorFunction::get):
1727         * bindings/v8/V8DOMConfiguration.cpp:
1728         (WebCore::V8DOMConfiguration::configureTemplate):
1729         * bindings/v8/V8DOMWrapper.cpp:
1730         (WebCore::V8DOMWrapper::toFunction):
1731         (WebCore::V8DOMWrapper::fromFunction):
1732         * bindings/v8/V8DOMWrapper.h:
1733         (V8DOMWrapper):
1734         * bindings/v8/V8HTMLCustomElement.cpp: Added.
1735         (WebCore::V8HTMLCustomElement::createWrapper):
1736         * bindings/v8/V8HTMLCustomElement.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1737         (V8HTMLCustomElement):
1738         (WebCore::V8HTMLCustomElement::toV8):
1739         (WebCore::HTMLCustomElement::toV8):
1740         * bindings/v8/V8HiddenPropertyName.h:
1741         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp: Added.
1742         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
1743         * dom/CustomElementConstructor.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1744         (WebCore::CustomElementConstructor::create):
1745         (WebCore::CustomElementConstructor::CustomElementConstructor):
1746         (WebCore::CustomElementConstructor::~CustomElementConstructor):
1747         (WebCore::CustomElementConstructor::createElement):
1748         * dom/CustomElementConstructor.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1749         (CustomElementConstructor):
1750         (WebCore::CustomElementConstructor::document):
1751         (WebCore::CustomElementConstructor::tagName):
1752         (WebCore::CustomElementConstructor::name):
1753         * dom/CustomElementConstructor.idl: Added.
1754         * dom/CustomElementRegistry.cpp: Added.
1755         (WebCore::CustomElementRegistry::CustomElementRegistry):
1756         (WebCore::CustomElementRegistry::~CustomElementRegistry):
1757         (WebCore::CustomElementRegistry::constructorOf):
1758         (WebCore::CustomElementRegistry::isValidName):
1759         (WebCore::CustomElementRegistry::registerElement):
1760         (WebCore::CustomElementRegistry::find):
1761         (WebCore::CustomElementRegistry::createElement):
1762         (WebCore::CustomElementRegistry::document):
1763         * dom/CustomElementRegistry.h: Added.
1764         (CustomElementRegistry):
1765         * dom/Document.cpp:
1766         (WebCore::Document::removedLastRef):
1767         (WebCore::Document::registerElement):
1768         (WebCore::Document::registry):
1769         * dom/Document.h:
1770         (Document):
1771         * dom/make_names.pl:
1772         (printWrapperFactoryCppFile):
1773         * html/HTMLDocument.idl:
1774
1775 2013-02-24  Eugene Klyuchnikov  <eustas@chromium.org>
1776
1777         Web Inspector: [Timeline] Shrink CPU bars to make it easier to see frame information popup.
1778         https://bugs.webkit.org/show_bug.cgi?id=110561
1779
1780         Reviewed by Pavel Feldman.
1781
1782         Area that causes frame information popup is overly "shaded" by CPU bars.
1783
1784         * inspector/front-end/timelinePanel.css:
1785         (.timeline-cpu-bars .timeline-graph-bar): Reduce height and opacity.
1786
1787 2013-02-24  Andreas Kling  <akling@apple.com>
1788
1789         Reduce include graph of JSDOMBinding.h
1790         <http://webkit.org/b/110709>
1791
1792         Reviewed by Antti Koivisto.
1793
1794         Move WebCore::root(Foo*) to the custom JSFooCustom.h headers.
1795         This reduces the number of headers pulled in by JSDOMBinding.h.
1796
1797         * WebCore.xcodeproj/project.pbxproj:
1798         * bindings/js/JSCSSRuleCustom.cpp:
1799         * bindings/js/JSCSSRuleCustom.h: Added.
1800         (WebCore::root):
1801         * bindings/js/JSCSSRuleListCustom.cpp:
1802         * bindings/js/JSCSSStyleDeclarationCustom.h:
1803         (WebCore::root):
1804         * bindings/js/JSDOMBinding.h:
1805         * bindings/js/JSMediaListCustom.h: Added.
1806         (WebCore::root):
1807         * bindings/js/JSMutationObserverCustom.cpp:
1808         * bindings/js/JSNodeCustom.h:
1809         (WebCore::root):
1810         * bindings/js/JSSVGElementInstanceCustom.cpp:
1811         * bindings/js/JSStyleSheetCustom.h: Added.
1812         (WebCore::root):
1813         * bindings/js/JSTextTrackCustom.h:
1814         * bindings/js/JSTextTrackListCustom.cpp:
1815         * bindings/js/JSXPathResultCustom.cpp:
1816         * bindings/js/SerializedScriptValue.cpp:
1817         * bindings/scripts/CodeGeneratorGObject.pm:
1818         (Generate):
1819         * bindings/scripts/CodeGeneratorJS.pm:
1820         (GenerateImplementation):
1821         * bindings/scripts/CodeGeneratorObjC.pm:
1822         (AddIncludesForType):
1823         * css/CSSRule.idl:
1824         * css/CSSStyleDeclaration.idl:
1825         * css/MediaList.idl:
1826         * css/StyleSheet.idl:
1827         * editing/mac/EditorMac.mm:
1828
1829 2013-02-23  Alexey Proskuryakov  <ap@apple.com>
1830
1831         ResourceRequestBase unnecessarily updates when nothing changes
1832         https://bugs.webkit.org/show_bug.cgi?id=110665
1833
1834         Reviewed by Dan Bernstein.
1835
1836         Don't mark platform data for update if nothing really changed. This avoids ever doing
1837         doUpdatePlatformRequest() in NetworkProcess during normal browsing for me, which is
1838         good for performance.
1839
1840         * platform/network/ResourceRequestBase.cpp:
1841         (WebCore::ResourceRequestBase::removeCredentials):
1842         (WebCore::ResourceRequestBase::setCachePolicy):
1843         (WebCore::ResourceRequestBase::setTimeoutInterval):
1844         (WebCore::ResourceRequestBase::setFirstPartyForCookies):
1845         (WebCore::ResourceRequestBase::setHTTPMethod):
1846         (WebCore::ResourceRequestBase::clearHTTPAuthorization):
1847         (WebCore::ResourceRequestBase::setAllowCookies):
1848         (WebCore::ResourceRequestBase::setPriority):
1849
1850 2013-02-23  Philip Rogers  <pdr@google.com>
1851
1852         Prevent crash in animated transform lists
1853         https://bugs.webkit.org/show_bug.cgi?id=110704
1854
1855         Reviewed by Abhishek Arya.
1856
1857         This change prevents accessing values off the end of toAtEndOfDuration by adding a check
1858         for this case. Similar checks were added in r116458 but the author failed to catch this
1859         case. WK110706 has been filed to handle this case in general.
1860
1861         This change also makes a trivial change that marks effectiveFrom as const.
1862
1863         Test: svg/animations/animateTransform-list-crash.html
1864
1865         * svg/SVGAnimatedTransformList.cpp:
1866         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
1867
1868 2013-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
1869
1870         SelectorChecker should not know about SelectorCheckerFastPath.
1871         https://bugs.webkit.org/show_bug.cgi?id=110663
1872
1873         Both SelectorChecker and it's speedy cousin unfortunately include each other.
1874         Luckily, the particular way in which SelectorQuery uses SelectorChecker yields
1875         to a fairly simple decoupling. Now only the cousin knows of SelectorChecker.
1876
1877         Reviewed by Antti Koivisto.
1878
1879         No new functionality, covered by existing tests.
1880
1881         * css/SelectorChecker.cpp:
1882         (WebCore::SelectorChecker::matches): Removed.
1883         * css/SelectorChecker.h:
1884         (SelectorChecker): Updated the decls to remove fast-path flag.
1885         * dom/SelectorQuery.cpp:
1886         (WebCore::SelectorDataList::selectorMatches): Added a helper just for SelectorQuery.
1887         (WebCore::SelectorDataList::matches): Changed the callsite to use new helper.
1888         (WebCore::SelectorDataList::execute): Ditto.
1889         * dom/SelectorQuery.h:
1890         (SelectorDataList): Updated decls.
1891
1892 2013-02-23  Eric Carlson  <eric.carlson@apple.com>
1893
1894         [Mac] user preference caption style applied incorrectly
1895         https://bugs.webkit.org/show_bug.cgi?id=110707
1896         <rdar://problem/13281096>
1897
1898         Reviewed by Maciej Stachowiak.
1899
1900         * html/shadow/MediaControlElements.cpp:
1901         (WebCore::MediaControlTextTrackContainerElement::textTrackContainerElementShadowPseudoId): New
1902             static function so the pseudo ID is available.
1903         (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Call textTrackContainerElementShadowPseudoId.
1904         * html/shadow/MediaControlElements.h:
1905
1906         * page/CaptionUserPreferencesMac.mm:
1907         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Style the text track container
1908             element for cue color, edge style, and font name.
1909
1910 2013-02-22  Kentaro Hara  <haraken@chromium.org>
1911
1912         [V8] Generate xxxAttrGetterCallback()
1913         https://bugs.webkit.org/show_bug.cgi?id=110676
1914
1915         Reviewed by Adam Barth.
1916
1917         This is one of steps to insert TRACE_EVENT_STATE() macros
1918         into DOM bindings. This patch introduces an indirection
1919         function for xxxAttrGetter(), like this:
1920
1921         // For non-custom getters
1922         Handle<Value> xxxAttrGetterCallback(...) {
1923           return xxxAttrGetter(...);
1924         }
1925
1926         // For custom getters.
1927         Handle<Value> xxxAttrGetterCallback(...) {
1928           return xxxAttrGetterCustom(...);
1929         }
1930
1931         No tests. No change in behavior.
1932
1933         * bindings/scripts/CodeGeneratorV8.pm:
1934         (GenerateDomainSafeFunctionGetter):
1935         (GenerateNormalAttrGetterCallback):
1936         (GenerateNormalAttrGetter):
1937         (GenerateSingleBatchedAttribute):
1938         (GenerateNonStandardFunction):
1939         (GenerateImplementation):
1940         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1941         (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterCallback):
1942         (TestActiveDOMObjectV8Internal):
1943         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetterCallback):
1944         (WebCore):
1945         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1946         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1947         (WebCore::TestEventConstructorV8Internal::attr1AttrGetterCallback):
1948         (TestEventConstructorV8Internal):
1949         (WebCore::TestEventConstructorV8Internal::attr2AttrGetterCallback):
1950         (WebCore):
1951         * bindings/scripts/test/V8/V8TestException.cpp:
1952         (WebCore::TestExceptionV8Internal::nameAttrGetterCallback):
1953         (TestExceptionV8Internal):
1954         (WebCore):
1955         * bindings/scripts/test/V8/V8TestInterface.cpp:
1956         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterCallback):
1957         (TestInterfaceV8Internal):
1958         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterCallback):
1959         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterCallback):
1960         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterCallback):
1961         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetterCallback):
1962         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterCallback):
1963         (WebCore):
1964         * bindings/scripts/test/V8/V8TestObj.cpp:
1965         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterCallback):
1966         (TestObjV8Internal):
1967         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterCallback):
1968         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterCallback):
1969         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterCallback):
1970         (WebCore::TestObjV8Internal::staticStringAttrAttrGetterCallback):
1971         (WebCore::TestObjV8Internal::enumAttrAttrGetterCallback):
1972         (WebCore::TestObjV8Internal::shortAttrAttrGetterCallback):
1973         (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterCallback):
1974         (WebCore::TestObjV8Internal::longAttrAttrGetterCallback):
1975         (WebCore::TestObjV8Internal::longLongAttrAttrGetterCallback):
1976         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterCallback):
1977         (WebCore::TestObjV8Internal::stringAttrAttrGetterCallback):
1978         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
1979         (WebCore::TestObjV8Internal::testObjAttrAttrGetterCallback):
1980         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterCallback):
1981         (WebCore::TestObjV8Internal::createAttrGetterCallback):
1982         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterCallback):
1983         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterCallback):
1984         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterCallback):
1985         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterCallback):
1986         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterCallback):
1987         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterCallback):
1988         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterCallback):
1989         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterCallback):
1990         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterCallback):
1991         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterCallback):
1992         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterCallback):
1993         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterCallback):
1994         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterCallback):
1995         (WebCore::TestObjV8Internal::customAttrAttrGetterCallback):
1996         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterCallback):
1997         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterCallback):
1998         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterCallback):
1999         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterCallback):
2000         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterCallback):
2001         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterCallback):
2002         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterCallback):
2003         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterCallback):
2004         (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterCallback):
2005         (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterCallback):
2006         (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterCallback):
2007         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterCallback):
2008         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterCallback):
2009         (WebCore::TestObjV8Internal::anyAttributeAttrGetterCallback):
2010         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterCallback):
2011         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterCallback):
2012         (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrGetterCallback):
2013         (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrGetterCallback):
2014         (WebCore::TestObjV8Internal::floatArrayAttrGetterCallback):
2015         (WebCore::TestObjV8Internal::doubleArrayAttrGetterCallback):
2016         (WebCore::TestObjV8Internal::contentDocumentAttrGetterCallback):
2017         (WebCore::TestObjV8Internal::mutablePointAttrGetterCallback):
2018         (WebCore::TestObjV8Internal::immutablePointAttrGetterCallback):
2019         (WebCore::TestObjV8Internal::strawberryAttrGetterCallback):
2020         (WebCore::TestObjV8Internal::strictFloatAttrGetterCallback):
2021         (WebCore::TestObjV8Internal::descriptionAttrGetterCallback):
2022         (WebCore::TestObjV8Internal::idAttrGetterCallback):
2023         (WebCore::TestObjV8Internal::hashAttrGetterCallback):
2024         (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterCallback):
2025         (WebCore):
2026         (WebCore::ConfigureV8TestObjTemplate):
2027         (WebCore::V8TestObj::installPerContextProperties):
2028         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2029         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterCallback):
2030         (TestSerializedScriptValueInterfaceV8Internal):
2031         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterCallback):
2032         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterCallback):
2033         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterCallback):
2034         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterCallback):
2035         (WebCore):
2036         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2037         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterCallback):
2038         (TestTypedefsV8Internal):
2039         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterCallback):
2040         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterCallback):
2041         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterCallback):
2042         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterCallback):
2043         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterCallback):
2044         (WebCore):
2045
2046 2013-02-23  Kentaro Hara  <haraken@chromium.org>
2047
2048         WebCore fails to link in Chromium official build
2049         https://bugs.webkit.org/show_bug.cgi?id=110701
2050
2051         Reviewed by Abhishek Arya.
2052
2053         This is a follow-up fix for r143853. In WebCore.gyp, we need to
2054         increase the shard of 'webcore_rendering' as well.
2055
2056         No tests. No change in behavior.
2057
2058         * WebCore.gyp/WebCore.gyp:
2059
2060 2013-02-23  Kentaro Hara  <haraken@chromium.org>
2061
2062         Unreviewed, rolling out r143844.
2063         http://trac.webkit.org/changeset/143844
2064         https://bugs.webkit.org/show_bug.cgi?id=110241
2065
2066         It broke Chromium Mac Release Build
2067
2068         * WebCore.gyp/WebCore.gyp:
2069         * WebCore.gyp/WebCoreGTK.gyp: Removed.
2070         * WebCore.gypi:
2071
2072 2013-02-23  Adam Barth  <abarth@webkit.org>
2073
2074         WebCore fails to link in Chromium official build
2075         https://bugs.webkit.org/show_bug.cgi?id=110697
2076
2077         Reviewed by Eric Seidel.
2078
2079         Apparently we need to use more shards to work around linker limitations
2080         on Windows again.
2081
2082         * WebCore.gyp/WebCore.gyp:
2083
2084 2013-02-23  Kentaro Hara  <haraken@chromium.org>
2085
2086         [V8] Rename constructorCallbackCustom() to constructorCustom()
2087         https://bugs.webkit.org/show_bug.cgi?id=110671
2088
2089         Reviewed by Adam Barth.
2090
2091         his is one of steps to insert TRACE_EVENT_STATE() macros
2092         into DOM bindings.
2093         See https://bugs.webkit.org/show_bug.cgi?id=110667#c0
2094
2095         In the new world, "Callback" is used to indicate that it
2096         is a function called back by V8. Currently "Callback" is
2097         used for both V8 callbacks, DOM methods and DOM constructors.
2098         This patch fixes the inconsistency.
2099
2100         No tests. No change in behavior.
2101
2102         * bindings/scripts/CodeGeneratorV8.pm:
2103         (GenerateHeader):
2104         (GenerateCustomConstructorCallback):
2105         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2106         (WebCore::V8ArrayBuffer::constructorCustom):
2107         * bindings/v8/custom/V8AudioContextCustom.cpp:
2108         (WebCore::V8AudioContext::constructorCustom):
2109         * bindings/v8/custom/V8BlobCustom.cpp:
2110         (WebCore::V8Blob::constructorCustom):
2111         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2112         (WebCore::V8DOMFormData::constructorCustom):
2113         * bindings/v8/custom/V8DataViewCustom.cpp:
2114         (WebCore::V8DataView::constructorCustom):
2115         * bindings/v8/custom/V8MessageChannelCustom.cpp:
2116         (WebCore::V8MessageChannel::constructorCustom):
2117         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2118         (WebCore::V8MutationObserver::constructorCustom):
2119         * bindings/v8/custom/V8WebKitPointCustom.cpp:
2120         (WebCore::V8WebKitPoint::constructorCustom):
2121         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2122         (WebCore::V8XMLHttpRequest::constructorCustom):
2123
2124 2013-02-23  Kentaro Hara  <haraken@chromium.org>
2125
2126         [V8] Rename xxxCallback() to xxxMethod(), and xxxCallbackCustom() to xxxMethodCustom()
2127         https://bugs.webkit.org/show_bug.cgi?id=110669
2128
2129         Reviewed by Adam Barth.
2130
2131         This is one of steps to insert TRACE_EVENT_STATE()
2132         macros into DOM bindings.
2133         See https://bugs.webkit.org/show_bug.cgi?id=110667#c0
2134
2135         In the new world, "Callback" is used to refer that it
2136         is a function called back by V8. Currently "Callback" is
2137         used for both V8 callbacks, DOM methods and DOM constructors.
2138         This patch fixes the inconsistency.
2139
2140         No tests. No change in behavior.
2141
2142         * bindings/scripts/CodeGeneratorV8.pm:
2143         (GenerateHeader):
2144         (GenerateDomainSafeFunctionGetter):
2145         (GenerateOverloadedFunctionCallback):
2146         (GenerateFunctionCallback):
2147         (GenerateNonStandardFunction):
2148         (GenerateImplementation):
2149         * bindings/scripts/test/V8/V8Float64Array.cpp:
2150         (WebCore::Float64ArrayV8Internal::fooMethod):
2151         (WebCore::Float64ArrayV8Internal::setMethod):
2152         (WebCore):
2153         (WebCore::ConfigureV8Float64ArrayTemplate):
2154         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2155         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
2156         (WebCore::TestActiveDOMObjectV8Internal::postMessageMethod):
2157         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2158         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2159         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2160         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethod):
2161         (WebCore):
2162         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2163         (WebCore::TestEventTargetV8Internal::itemMethod):
2164         (WebCore::TestEventTargetV8Internal::addEventListenerMethod):
2165         (WebCore::TestEventTargetV8Internal::removeEventListenerMethod):
2166         (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
2167         (WebCore):
2168         (WebCore::ConfigureV8TestEventTargetTemplate):
2169         * bindings/scripts/test/V8/V8TestInterface.cpp:
2170         (WebCore::TestInterfaceV8Internal::supplementalMethod1Method):
2171         (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
2172         (WebCore::TestInterfaceV8Internal::supplementalMethod3Method):
2173         (WebCore::TestInterfaceV8Internal::supplementalMethod4Method):
2174         (WebCore):
2175         (WebCore::ConfigureV8TestInterfaceTemplate):
2176         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2177         (WebCore::TestMediaQueryListListenerV8Internal::methodMethod):
2178         (WebCore):
2179         * bindings/scripts/test/V8/V8TestObj.cpp:
2180         (WebCore::TestObjV8Internal::voidMethodMethod):
2181         (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
2182         (WebCore::TestObjV8Internal::longMethodMethod):
2183         (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
2184         (WebCore::TestObjV8Internal::objMethodMethod):
2185         (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
2186         (WebCore::TestObjV8Internal::methodWithSequenceArgMethod):
2187         (WebCore::TestObjV8Internal::methodReturningSequenceMethod):
2188         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
2189         (WebCore::TestObjV8Internal::serializedValueMethod):
2190         (WebCore::TestObjV8Internal::optionsObjectMethod):
2191         (WebCore::TestObjV8Internal::methodWithExceptionMethod):
2192         (WebCore::TestObjV8Internal::customMethodMethod):
2193         (WebCore::TestObjV8Internal::customMethodWithArgsMethod):
2194         (WebCore::TestObjV8Internal::addEventListenerMethod):
2195         (WebCore::TestObjV8Internal::removeEventListenerMethod):
2196         (WebCore::TestObjV8Internal::withScriptStateVoidMethod):
2197         (WebCore::TestObjV8Internal::withScriptStateObjMethod):
2198         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethod):
2199         (WebCore::TestObjV8Internal::withScriptStateObjExceptionMethod):
2200         (WebCore::TestObjV8Internal::withScriptExecutionContextMethod):
2201         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethod):
2202         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethod):
2203         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethod):
2204         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethod):
2205         (WebCore::TestObjV8Internal::methodWithOptionalArgMethod):
2206         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethod):
2207         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethod):
2208         (WebCore::TestObjV8Internal::methodWithOptionalStringMethod):
2209         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethod):
2210         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethod):
2211         (WebCore::TestObjV8Internal::methodWithCallbackArgMethod):
2212         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethod):
2213         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethod):
2214         (WebCore::TestObjV8Internal::conditionalMethod1Method):
2215         (WebCore::TestObjV8Internal::conditionalMethod2Method):
2216         (WebCore::TestObjV8Internal::conditionalMethod3Method):
2217         (WebCore::TestObjV8Internal::overloadedMethod1Method):
2218         (WebCore::TestObjV8Internal::overloadedMethod2Method):
2219         (WebCore::TestObjV8Internal::overloadedMethod3Method):
2220         (WebCore::TestObjV8Internal::overloadedMethod4Method):
2221         (WebCore::TestObjV8Internal::overloadedMethod5Method):
2222         (WebCore::TestObjV8Internal::overloadedMethod6Method):
2223         (WebCore::TestObjV8Internal::overloadedMethod7Method):
2224         (WebCore::TestObjV8Internal::overloadedMethod8Method):
2225         (WebCore::TestObjV8Internal::overloadedMethod9Method):
2226         (WebCore::TestObjV8Internal::overloadedMethod10Method):
2227         (WebCore::TestObjV8Internal::overloadedMethod11Method):
2228         (WebCore::TestObjV8Internal::overloadedMethodMethod):
2229         (WebCore::TestObjV8Internal::classMethodMethod):
2230         (WebCore::TestObjV8Internal::classMethodWithOptionalMethod):
2231         (WebCore::TestObjV8Internal::classMethod2Method):
2232         (WebCore::TestObjV8Internal::overloadedMethod12Method):
2233         (WebCore::TestObjV8Internal::classMethodWithClampMethod):
2234         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Method):
2235         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Method):
2236         (WebCore::TestObjV8Internal::enabledPerContextMethod1Method):
2237         (WebCore::TestObjV8Internal::enabledPerContextMethod2Method):
2238         (WebCore::TestObjV8Internal::stringArrayFunctionMethod):
2239         (WebCore::TestObjV8Internal::domStringListFunctionMethod):
2240         (WebCore::TestObjV8Internal::getSVGDocumentMethod):
2241         (WebCore::TestObjV8Internal::convert1Method):
2242         (WebCore::TestObjV8Internal::convert2Method):
2243         (WebCore::TestObjV8Internal::convert4Method):
2244         (WebCore::TestObjV8Internal::convert5Method):
2245         (WebCore::TestObjV8Internal::mutablePointFunctionMethod):
2246         (WebCore::TestObjV8Internal::immutablePointFunctionMethod):
2247         (WebCore::TestObjV8Internal::orangeMethod):
2248         (WebCore::TestObjV8Internal::strictFunctionMethod):
2249         (WebCore::TestObjV8Internal::variadicStringMethodMethod):
2250         (WebCore::TestObjV8Internal::variadicDoubleMethodMethod):
2251         (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
2252         (WebCore):
2253         (WebCore::ConfigureV8TestObjTemplate):
2254         (WebCore::V8TestObj::installPerContextPrototypeProperties):
2255         * bindings/scripts/test/V8/V8TestObj.h:
2256         (V8TestObj):
2257         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2258         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethod):
2259         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethod):
2260         (WebCore):
2261         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2262         (WebCore::TestTypedefsV8Internal::funcMethod):
2263         (WebCore::TestTypedefsV8Internal::multiTransferListMethod):
2264         (WebCore::TestTypedefsV8Internal::setShadowMethod):
2265         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethod):
2266         (WebCore::TestTypedefsV8Internal::nullableArrayArgMethod):
2267         (WebCore::TestTypedefsV8Internal::funcWithClampMethod):
2268         (WebCore::TestTypedefsV8Internal::immutablePointFunctionMethod):
2269         (WebCore::TestTypedefsV8Internal::stringArrayFunctionMethod):
2270         (WebCore::TestTypedefsV8Internal::stringArrayFunction2Method):
2271         (WebCore::TestTypedefsV8Internal::methodWithExceptionMethod):
2272         (WebCore):
2273         (WebCore::ConfigureV8TestTypedefsTemplate):
2274         * bindings/v8/custom/V8ClipboardCustom.cpp:
2275         (WebCore::V8Clipboard::clearDataMethodCustom):
2276         (WebCore::V8Clipboard::setDragImageMethodCustom):
2277         * bindings/v8/custom/V8ConsoleCustom.cpp:
2278         (WebCore::V8Console::traceMethodCustom):
2279         (WebCore::V8Console::assertMethodCustom):
2280         (WebCore::V8Console::profileMethodCustom):
2281         (WebCore::V8Console::profileEndMethodCustom):
2282         * bindings/v8/custom/V8CryptoCustom.cpp:
2283         (WebCore::V8Crypto::getRandomValuesMethodCustom):
2284         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2285         (WebCore::V8DOMFormData::appendMethodCustom):
2286         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2287         (WebCore::V8DOMWindow::addEventListenerMethodCustom):
2288         (WebCore::V8DOMWindow::removeEventListenerMethodCustom):
2289         (WebCore::V8DOMWindow::postMessageMethodCustom):
2290         (WebCore::V8DOMWindow::toStringMethodCustom):
2291         (WebCore::V8DOMWindow::releaseEventsMethodCustom):
2292         (WebCore::V8DOMWindow::captureEventsMethodCustom):
2293         (WebCore::V8DOMWindow::showModalDialogMethodCustom):
2294         (WebCore::V8DOMWindow::openMethodCustom):
2295         (WebCore::V8DOMWindow::setTimeoutMethodCustom):
2296         (WebCore::V8DOMWindow::setIntervalMethodCustom):
2297         * bindings/v8/custom/V8DataViewCustom.cpp:
2298         (WebCore::V8DataView::getInt8MethodCustom):
2299         (WebCore::V8DataView::getUint8MethodCustom):
2300         (WebCore::V8DataView::setInt8MethodCustom):
2301         (WebCore::V8DataView::setUint8MethodCustom):
2302         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2303         (WebCore::V8DedicatedWorkerContext::postMessageMethodCustom):
2304         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
2305         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventMethodCustom):
2306         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2307         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventMethodCustom):
2308         * bindings/v8/custom/V8DocumentCustom.cpp:
2309         (WebCore::V8Document::evaluateMethodCustom):
2310         (WebCore::V8Document::createTouchListMethodCustom):
2311         * bindings/v8/custom/V8GeolocationCustom.cpp:
2312         (WebCore::V8Geolocation::getCurrentPositionMethodCustom):
2313         (WebCore::V8Geolocation::watchPositionMethodCustom):
2314         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2315         (WebCore::V8HTMLAllCollection::itemMethodCustom):
2316         (WebCore::V8HTMLAllCollection::namedItemMethodCustom):
2317         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2318         (WebCore::V8HTMLCanvasElement::getContextMethodCustom):
2319         (WebCore::V8HTMLCanvasElement::toDataURLMethodCustom):
2320         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2321         (WebCore::V8HTMLDocument::writeMethodCustom):
2322         (WebCore::V8HTMLDocument::writelnMethodCustom):
2323         (WebCore::V8HTMLDocument::openMethodCustom):
2324         * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
2325         (WebCore::V8HTMLFormControlsCollection::namedItemMethodCustom):
2326         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2327         (WebCore::v8HTMLImageElementConstructorMethodCustom):
2328         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2329         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2330         (WebCore::V8HTMLInputElement::setSelectionRangeMethodCustom):
2331         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2332         (WebCore::V8HTMLOptionsCollection::namedItemMethodCustom):
2333         (WebCore::V8HTMLOptionsCollection::removeMethodCustom):
2334         (WebCore::V8HTMLOptionsCollection::addMethodCustom):
2335         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2336         (WebCore::V8HTMLSelectElement::removeMethodCustom):
2337         * bindings/v8/custom/V8HistoryCustom.cpp:
2338         (WebCore::V8History::pushStateMethodCustom):
2339         (WebCore::V8History::replaceStateMethodCustom):
2340         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2341         (WebCore::V8InjectedScriptHost::inspectedObjectMethodCustom):
2342         (WebCore::V8InjectedScriptHost::internalConstructorNameMethodCustom):
2343         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
2344         (WebCore::V8InjectedScriptHost::typeMethodCustom):
2345         (WebCore::V8InjectedScriptHost::functionDetailsMethodCustom):
2346         (WebCore::V8InjectedScriptHost::getInternalPropertiesMethodCustom):
2347         (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
2348         (WebCore::V8InjectedScriptHost::inspectMethodCustom):
2349         (WebCore::V8InjectedScriptHost::databaseIdMethodCustom):
2350         (WebCore::V8InjectedScriptHost::storageIdMethodCustom):
2351         (WebCore::V8InjectedScriptHost::evaluateMethodCustom):
2352         (WebCore::V8InjectedScriptHost::setFunctionVariableValueMethodCustom):
2353         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2354         (WebCore::V8InspectorFrontendHost::platformMethodCustom):
2355         (WebCore::V8InspectorFrontendHost::portMethodCustom):
2356         (WebCore::V8InspectorFrontendHost::showContextMenuMethodCustom):
2357         (WebCore::V8InspectorFrontendHost::recordActionTakenMethodCustom):
2358         (WebCore::V8InspectorFrontendHost::recordPanelShownMethodCustom):
2359         (WebCore::V8InspectorFrontendHost::recordSettingChangedMethodCustom):
2360         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
2361         (WebCore::V8JavaScriptCallFrame::evaluateMethodCustom):
2362         (WebCore::V8JavaScriptCallFrame::restartMethodCustom):
2363         (WebCore::V8JavaScriptCallFrame::setVariableValueMethodCustom):
2364         (WebCore::V8JavaScriptCallFrame::scopeTypeMethodCustom):
2365         * bindings/v8/custom/V8LocationCustom.cpp:
2366         (WebCore::V8Location::reloadAttrGetterCustom):
2367         (WebCore::V8Location::replaceAttrGetterCustom):
2368         (WebCore::V8Location::assignAttrGetterCustom):
2369         (WebCore::V8Location::reloadMethodCustom):
2370         (WebCore::V8Location::replaceMethodCustom):
2371         (WebCore::V8Location::assignMethodCustom):
2372         (WebCore::V8Location::valueOfMethodCustom):
2373         (WebCore::V8Location::toStringMethodCustom):
2374         * bindings/v8/custom/V8MessageEventCustom.cpp:
2375         (WebCore::V8MessageEvent::initMessageEventMethodCustom):
2376         (WebCore::V8MessageEvent::webkitInitMessageEventMethodCustom):
2377         * bindings/v8/custom/V8MessagePortCustom.cpp:
2378         (WebCore::V8MessagePort::postMessageMethodCustom):
2379         * bindings/v8/custom/V8NodeCustom.cpp:
2380         (WebCore::V8Node::insertBeforeMethodCustom):
2381         (WebCore::V8Node::replaceChildMethodCustom):
2382         (WebCore::V8Node::removeChildMethodCustom):
2383         (WebCore::V8Node::appendChildMethodCustom):
2384         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2385         (WebCore::V8NotificationCenter::requestPermissionMethodCustom):
2386         * bindings/v8/custom/V8NotificationCustom.cpp:
2387         (WebCore::V8Notification::requestPermissionMethodCustom):
2388         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2389         (WebCore::V8SQLResultSetRowList::itemMethodCustom):
2390         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2391         (WebCore::V8SQLTransaction::executeSqlMethodCustom):
2392         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2393         (WebCore::V8SQLTransactionSync::executeSqlMethodCustom):
2394         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2395         (WebCore::V8SVGLength::convertToSpecifiedUnitsMethodCustom):
2396         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2397         (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
2398         (WebCore::V8WebGLRenderingContext::getBufferParameterMethodCustom):
2399         (WebCore::V8WebGLRenderingContext::getExtensionMethodCustom):
2400         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterMethodCustom):
2401         (WebCore::V8WebGLRenderingContext::getParameterMethodCustom):
2402         (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
2403         (WebCore::V8WebGLRenderingContext::getRenderbufferParameterMethodCustom):
2404         (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
2405         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsMethodCustom):
2406         (WebCore::V8WebGLRenderingContext::getTexParameterMethodCustom):
2407         (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
2408         (WebCore::V8WebGLRenderingContext::getVertexAttribMethodCustom):
2409         (WebCore::V8WebGLRenderingContext::uniform1fvMethodCustom):
2410         (WebCore::V8WebGLRenderingContext::uniform1ivMethodCustom):
2411         (WebCore::V8WebGLRenderingContext::uniform2fvMethodCustom):
2412         (WebCore::V8WebGLRenderingContext::uniform2ivMethodCustom):
2413         (WebCore::V8WebGLRenderingContext::uniform3fvMethodCustom):
2414         (WebCore::V8WebGLRenderingContext::uniform3ivMethodCustom):
2415         (WebCore::V8WebGLRenderingContext::uniform4fvMethodCustom):
2416         (WebCore::V8WebGLRenderingContext::uniform4ivMethodCustom):
2417         (WebCore::V8WebGLRenderingContext::uniformMatrix2fvMethodCustom):
2418         (WebCore::V8WebGLRenderingContext::uniformMatrix3fvMethodCustom):
2419         (WebCore::V8WebGLRenderingContext::uniformMatrix4fvMethodCustom):
2420         (WebCore::V8WebGLRenderingContext::vertexAttrib1fvMethodCustom):
2421         (WebCore::V8WebGLRenderingContext::vertexAttrib2fvMethodCustom):
2422         (WebCore::V8WebGLRenderingContext::vertexAttrib3fvMethodCustom):
2423         (WebCore::V8WebGLRenderingContext::vertexAttrib4fvMethodCustom):
2424         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2425         (WebCore::V8WorkerContext::importScriptsMethodCustom):
2426         (WebCore::V8WorkerContext::setTimeoutMethodCustom):
2427         (WebCore::V8WorkerContext::setIntervalMethodCustom):
2428         * bindings/v8/custom/V8WorkerCustom.cpp:
2429         (WebCore::V8Worker::postMessageMethodCustom):
2430         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2431         (WebCore::V8XMLHttpRequest::openMethodCustom):
2432         (WebCore::V8XMLHttpRequest::sendMethodCustom):
2433         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2434         (WebCore::V8XSLTProcessor::setParameterMethodCustom):
2435         (WebCore::V8XSLTProcessor::getParameterMethodCustom):
2436         (WebCore::V8XSLTProcessor::removeParameterMethodCustom):
2437
2438 2013-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
2439
2440         Scrollbar style resolution arguments should not passed via statics.
2441         https://bugs.webkit.org/show_bug.cgi?id=110690
2442
2443         Use PseudoStyleRequest to pass scrollbar params for style resolve.
2444
2445         Reviewed by Eric Seidel.
2446
2447         No change in functionality, covered by existing tests.
2448
2449         * css/SelectorChecker.cpp:
2450         (WebCore::SelectorChecker::match): Changed to use context params, rather than statics.
2451         (WebCore::SelectorChecker::checkOne): Changed to pass context to checkScrollbarPseudoClass.
2452         (WebCore::SelectorChecker::checkScrollbarPseudoClass): Changed to use context params, rather than statics.
2453         * css/SelectorChecker.h:
2454         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added scrollbar style args.
2455         (SelectorCheckingContext): Ditto.
2456         * css/StyleResolver.cpp:
2457         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use PseudoStyleRequest.
2458         (WebCore::StyleResolver::State::initForStyleResolve): Ditto.
2459         (WebCore::StyleResolver::pseudoStyleForElement): Ditto.
2460         (WebCore::StyleResolver::ruleMatches): Ditto and added stuffing scrollbar style resolve args into SelectorCheckingContext.
2461         * css/StyleResolver.h:
2462         (PseudoStyleRequest): Added.
2463         (State): Changed to hold and use PseudoStyleRequest instead of just PseudoId
2464         * dom/Element.cpp:
2465         (WebCore::Element::pseudoStyleCacheIsInvalid): Changed to use PseudoStyleRequest.
2466         * page/FrameView.cpp: Ditto.
2467         (WebCore::FrameView::updateScrollCorner): Ditto.
2468         * rendering/RenderLayer.cpp:
2469         (WebCore::RenderLayer::updateScrollCornerStyle): Ditto.
2470         (WebCore::RenderLayer::updateResizerStyle): Ditto.
2471         * rendering/RenderObject.cpp:
2472         (WebCore::RenderObject::selectionBackgroundColor): Ditto.
2473         (WebCore::RenderObject::selectionColor): Ditto.
2474         (WebCore::firstLineStyleForCachedUncachedType): Ditto.
2475         (WebCore::RenderObject::getCachedPseudoStyle): Ditto.
2476         (WebCore::RenderObject::getUncachedPseudoStyle): Ditto.
2477         * rendering/RenderObject.h:
2478         (RenderObject): Ditto.
2479         * rendering/RenderScrollbar.cpp:
2480         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Ditto.
2481         * rendering/RenderScrollbar.h:
2482         (RenderScrollbar): Removed static members that are now obsolete.
2483
2484 2013-02-23  Adam Barth  <abarth@webkit.org>
2485
2486         Threaded HTML parser should pass fast/parser/parser-yield-timing.html
2487         https://bugs.webkit.org/show_bug.cgi?id=110647
2488
2489         Reviewed by Eric Seidel.
2490
2491         Previously, the threaded HTML parser would run for an arbitrary amount
2492         of time without yielding after speculation succeeded. This might be the
2493         cause of the good DOMContentLoaded numbers.
2494
2495         Note: This patch also demonstrates that the ParseHTML_max numbers
2496         aren't correct currently because they're measuring the interior of this
2497         loop instead of all the time spent in the loop. We should move the
2498         instrumentation in a followup patch.
2499
2500          * html/parser/HTMLDocumentParser.cpp:
2501         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
2502         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2503         (WebCore):
2504         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2505         * html/parser/HTMLDocumentParser.h:
2506         (HTMLDocumentParser):
2507         * html/parser/HTMLParserScheduler.cpp:
2508
2509 2013-02-23  Martin Robinson  <mrobinson@igalia.com>
2510
2511         [GTK] Allow sharing the WebCore include list with the Chromium build
2512         https://bugs.webkit.org/show_bug.cgi?id=110241
2513
2514         Reviewed by Dirk Pranke.
2515
2516         * WebCore.gyp/WebCore.gyp: Moved shared include directories to
2517         WebCore.gypi.
2518         * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
2519         * WebCore.gypi: Added shared include directories.
2520
2521 2013-02-23  Andreas Kling  <akling@apple.com>
2522
2523         StyledElement: Tweak signature of collectStyleForPresentationAttribute().
2524         <http://webkit.org/b/110687>
2525
2526         Reviewed by Antti Koivisto.
2527
2528         Out with the old:
2529             collectStyleForPresentationAttribute(const Attribute&, StylePropertySet*)
2530
2531         In with the new:
2532             collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*)
2533
2534         This is primarily about switching to using MutableStylePropertySet* in preparation for
2535         removing mutating functions from the StylePropertySet base class.
2536
2537 2013-02-23  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2538
2539         [EFL][WebGL] Refactor GLPlatformSurface.
2540         https://bugs.webkit.org/show_bug.cgi?id=110616
2541
2542         Reviewed by Kenneth Rohde Christiansen.
2543
2544         Covered by existing WebGL tests.
2545  
2546         With recent changes, there is a clear separation between 
2547         transport surface and off-screen surface. PlatformSurface 
2548         has the logic to render content to transport surface. 
2549         We currently rely on EXT_framebuffer_blit for this. This 
2550         extension is not exposed on GLES2.0. PlatformSurface was 
2551         supposed to be an abstraction layer without any knowledge 
2552         of the type of surface. This patch addresses the issues 
2553         in PlatformSurface class. We use shaders to draw texture 
2554         content to the surface. Any transport surface related 
2555         code in PlatformSurface is moved to GLTransportSurface class.
2556
2557         * PlatformEfl.cmake:
2558         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2559         (WebCore::GraphicsContext3DPrivate::didResizeCanvas):
2560         * platform/graphics/surfaces/GLTransportSurface.cpp: Added.
2561         (WebCore):
2562         (WebCore::GLTransportSurface::GLTransportSurface):
2563         (WebCore::GLTransportSurface::~GLTransportSurface):
2564         (WebCore::GLTransportSurface::updateContents):
2565         (WebCore::GLTransportSurface::setGeometry):
2566         (WebCore::GLTransportSurface::destroy):
2567         (WebCore::GLTransportSurface::draw):
2568         (WebCore::GLTransportSurface::bindArrayBuffer):
2569         (WebCore::GLTransportSurface::updateTransformationMatrix):
2570         (WebCore::GLTransportSurface::initializeShaderProgram):
2571         * platform/graphics/surfaces/GLTransportSurface.h:
2572         (WebCore):
2573         (GLTransportSurface):
2574         * platform/graphics/surfaces/egl/EGLSurface.cpp:
2575         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2576         (WebCore::EGLWindowTransportSurface::destroy):
2577         (WebCore::EGLWindowTransportSurface::setGeometry):
2578         * platform/graphics/surfaces/egl/EGLSurface.h:
2579         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2580         (WebCore::GLXTransportSurface::GLXTransportSurface):
2581         (WebCore::GLXTransportSurface::setGeometry):
2582         (WebCore::GLXTransportSurface::destroy):
2583         (WebCore::GLXOffScreenSurface::freeResources):
2584         * platform/graphics/surfaces/glx/GLXSurface.h:
2585
2586 2013-02-23  Hajime Morrita  <morrita@google.com>
2587
2588         ShadowRoot needs guardRef() and guardDeref()
2589         https://bugs.webkit.org/show_bug.cgi?id=109777
2590
2591         Reviewed by Dimitri Glazkov.
2592
2593         This change moves m_guardRefCount from Document to TreeScope,
2594         which allows ShadowRoot to be guarded by guardRef() mechanism as
2595         Document. After r137524, Node referes TreeScope instead of
2596         Document. This is natural consequence of the change: It no longer
2597         makes sense to guardRef() Document pointer from Node.
2598
2599         Detail:
2600
2601         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
2602         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
2603           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
2604         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
2605           Note that there are two "guarded" TreeScope references. One is
2606           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
2607           The guarded-ref management is now encapsulated in these two classes.
2608
2609         No new tests. Covered by existing tests.
2610
2611         * WebCore.exp.in:
2612         * dom/Document.cpp:
2613         (WebCore::Document::Document):
2614         (WebCore::Document::~Document):
2615         (WebCore::Document::dispose): Extracted from removedLastRef()
2616         * dom/Document.h:
2617         (WebCore::Node::isTreeScope):
2618         (WebCore::Node::Node):
2619         * dom/DocumentFragment.cpp:
2620         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
2621         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
2622         * dom/Node.cpp:
2623         (WebCore::Node::~Node):
2624         (WebCore::Node::removedLastRef):
2625         * dom/Node.h:
2626         (WebCore::Node::setTreeScope):
2627         * dom/ShadowRoot.cpp:
2628         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
2629         (WebCore::ShadowRoot::dispose): Added.
2630         * dom/ShadowRoot.h:
2631         (ShadowRoot):
2632         * dom/TreeScope.cpp:
2633         (SameSizeAsTreeScope):
2634         (WebCore::TreeScope::TreeScope):
2635         (WebCore::TreeScope::~TreeScope):
2636         (WebCore::TreeScope::dispose): Added.
2637         (WebCore::TreeScope::setParentTreeScope):
2638         (WebCore::TreeScope::deletionHasBegun):
2639         (WebCore::TreeScope::beginDeletion):
2640         (WebCore::TreeScope::refCount): Added.
2641         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
2642         (WebCore::TreeScope::guardRef): Pulled up from Document.
2643         (WebCore::TreeScope::guardDeref): Ditto.
2644         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
2645         (WebCore::TreeScope::deletionHasBegun): Added.
2646         (WebCore::TreeScope::beginDeletion): Added.
2647         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
2648         * dom/TreeScopeAdopter.cpp:
2649         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2650         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2651
2652 2013-02-23  Alexey Proskuryakov  <ap@apple.com>
2653
2654         Don't include ResourceHandle.h in ResourceLoaderOptions.h
2655         https://bugs.webkit.org/show_bug.cgi?id=110662
2656
2657         Reviewed by Tim Horton.
2658
2659         * loader/ResourceLoaderOptions.h: Include ResourceHandleTypes.h instead.
2660
2661 2013-02-23  Jason Anderssen  <janderssen@gmail.com>
2662
2663         Move setAutofilled from TestRunner to WebCore
2664         https://bugs.webkit.org/show_bug.cgi?id=110521
2665
2666         Reviewed by Benjamin Poulain.
2667
2668         * testing/Internals.cpp:
2669         (WebCore):
2670         (WebCore::Internals::setAutofilled):
2671         * testing/Internals.h:
2672         (Internals):
2673         * testing/Internals.idl:
2674
2675 2013-02-22  Andreas Kling  <akling@apple.com>
2676
2677         Attr: Simplify modification callbacks.
2678         <http://webkit.org/b/110598>
2679
2680         Reviewed by Antti Koivisto.
2681
2682         Instead of Attr being a friend of Element and grabbing at various internal storage and callbacks,
2683         let Attr simply call Element::setAttribute() when its value is changed, and do all that business
2684         from Element.
2685
2686         * dom/Element.h:
2687         * dom/Element.cpp:
2688         (WebCore::Element::setAttributeInternal):
2689
2690             Call Attr::recreateTextChildAfterAttributeValueChanged() after modifying an attribute value instead
2691             of doing the modification through the Attr node.
2692
2693         * dom/Attr.h:
2694         * dom/Attr.cpp:
2695         (WebCore::Attr::Attr):
2696         (WebCore::Attr::childrenChanged):
2697
2698             Added an m_inChildrenChanged flag so we can prevent infinite callback recursion in childrenChanged().
2699
2700         (WebCore::Attr::setValue):
2701
2702             Call Element::setAttribute() instead of modifying the attribute storage directly.
2703
2704         (WebCore::Attr::recreateTextChildAfterAttributeValueChanged):
2705
2706             Factored out the "remove all children / create a new text child with attribute value" logic into
2707             a separate function.
2708
2709 2013-02-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2710
2711         [EFL] Use EINA_LOG instead of fprintf 
2712         https://bugs.webkit.org/show_bug.cgi?id=110313
2713
2714         Reviewed by Laszlo Gombos.
2715
2716         Replace fprintf with EINA_LOG.
2717
2718         * platform/efl/NetworkInfoProviderEfl.cpp:
2719         (WebCore::NetworkInfoProviderEfl::startUpdating):
2720         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
2721         (WebCore::evasObjectFromCairoImageSurface):
2722
2723 2013-02-22  Tony Gentilcore  <tonyg@chromium.org>
2724
2725         Threaded HTML parser fails resources/plain-text-unsafe.dat
2726         https://bugs.webkit.org/show_bug.cgi?id=110538
2727
2728         Reviewed by Eric Seidel.
2729
2730         With this patch, the background HTML parser passes all tests in plain-text-unsafe.dat.
2731
2732         No new tests because covered by existing tests.
2733
2734         * html/parser/BackgroundHTMLParser.cpp:
2735         (WebCore::tokenExitsSVG):
2736         (WebCore):
2737         (WebCore::tokenExitsMath):
2738         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
2739
2740 2013-02-22  Tony Gentilcore  <tonyg@chromium.org>
2741
2742         Correct InspectorInstrumentation for background HTML parser
2743         https://bugs.webkit.org/show_bug.cgi?id=110678
2744
2745         Reviewed by Adam Barth.
2746
2747         resumeParsingAfterScriptExecution potentially calls processParsedChunkFromBackgroundParser multiple times
2748         without yielding. So it is not correct to count each of those as a separate ParseHTML event.
2749
2750         This patch moves the instrumentation outside of the loop.
2751
2752         No new tests because no new functionality.
2753
2754         * html/parser/HTMLDocumentParser.cpp:
2755         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2756         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2757         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2758
2759 2013-02-22  Aaron Colwell  <acolwell@chromium.org>
2760
2761         Factor MediaSource methods out of MediaPlayer & MediaPlayerPrivate and into a new MediaSourcePrivate interface.
2762         https://bugs.webkit.org/show_bug.cgi?id=109857
2763
2764         Reviewed by Adam Barth.
2765
2766         This is a simple refactor that moves MediaSource related methods out of MediaPlayer & MediaPlayerPrivate
2767         so that the MediaSource implementation can be updated without further polluting these interfaces.
2768         MediaSourcePrivate is the new WebCore interface that ports must implement to support the MediaSource API.
2769
2770         No new tests. No user visible behavior has changed.
2771
2772         * Modules/mediasource/MediaSource.cpp:
2773         (WebCore::MediaSource::MediaSource):
2774         (WebCore::MediaSource::duration):
2775         (WebCore::MediaSource::setDuration):
2776         (WebCore::MediaSource::addSourceBuffer):
2777         (WebCore::MediaSource::removeSourceBuffer):
2778         (WebCore::MediaSource::setReadyState):
2779         (WebCore::MediaSource::endOfStream):
2780         (WebCore::MediaSource::buffered):
2781         (WebCore::MediaSource::append):
2782         (WebCore::MediaSource::abort):
2783         (WebCore::MediaSource::setTimestampOffset):
2784         (WebCore::MediaSource::setPrivateAndOpen):
2785         (WebCore):
2786         (WebCore::MediaSource::hasPendingActivity):
2787         (WebCore::MediaSource::stop):
2788         * Modules/mediasource/MediaSource.h:
2789         (MediaSource):
2790         * html/HTMLMediaElement.cpp:
2791         (WebCore::HTMLMediaElement::HTMLMediaElement):
2792         (WebCore::HTMLMediaElement::loadResource):
2793         (WebCore::HTMLMediaElement::createMediaPlayer):
2794         (WebCore::HTMLMediaElement::reportMemoryUsage):
2795         * html/HTMLMediaElement.h:
2796         (HTMLMediaElement):
2797         * platform/graphics/MediaPlayer.cpp:
2798         (NullMediaPlayerPrivate):
2799         (WebCore::NullMediaPlayerPrivate::load):
2800         (WebCore::MediaPlayer::load):
2801         (WebCore):
2802         (WebCore::MediaPlayer::loadWithNextMediaEngine):
2803         * platform/graphics/MediaPlayer.h:
2804         (WebCore):
2805         (MediaPlayerClient):
2806         (MediaPlayer):
2807         * platform/graphics/MediaPlayerPrivate.h:
2808         (MediaPlayerPrivateInterface):
2809         * platform/graphics/MediaSourcePrivate.h: Added.
2810         (WebCore):
2811         (MediaSourcePrivate): Contains the MediaSource methods extracted from MediaPlayer.
2812         (WebCore::MediaSourcePrivate::MediaSourcePrivate):
2813         (WebCore::MediaSourcePrivate::~MediaSourcePrivate):
2814
2815 2013-02-22  Beth Dakin  <bdakin@apple.com>
2816
2817         RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
2818         https://bugs.webkit.org/show_bug.cgi?id=110673
2819         -and corresponding-
2820         <rdar://problem/13258596>
2821
2822         Reviewed by Sam Weinig.
2823
2824         FrameLoaderClient::didChangeScrollOffset() doesn't get called for web pages that
2825         have overflow on the body. We can easily address this by calling it at the 
2826         end of RenderLayer::scrollTo().
2827
2828         * rendering/RenderLayer.cpp:
2829         (WebCore::RenderLayer::scrollTo):
2830
2831 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2832
2833         WebKit can erroneously strip font-size CSS property from font element with size attribute
2834         https://bugs.webkit.org/show_bug.cgi?id=110657
2835
2836         Reviewed by Justin Garcia.
2837
2838         The bug was caused by ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline
2839         erroneously removing style attributes even on an element such as font that implicitly adds
2840         editing style.
2841
2842         Fixed the bug by removing these elements or attributes when they conflict with the inline
2843         style of the element. This is always safe because implicit style of an element is always
2844         overridden by that of inline style.
2845
2846         Note that when the font element becomes "empty" (i.e. doesn't have any attributes), then
2847         we also want to delete this font element as it doesn't contribute anything to the style.
2848
2849         Test: editing/pasteboard/insert-u-with-text-decoration-none.html
2850               editing/pasteboard/insert-font-with-size-and-css.html
2851
2852         * editing/ApplyStyleCommand.cpp:
2853         (WebCore::isEmptyFontTag): Added ShouldStyleAttributeBeEmpty as an argument. This will
2854         allow removeRedundantStylesAndKeepStyleSpanInline to ignore style attribute when we know
2855         the attribute can be removed.
2856
2857         * editing/ApplyStyleCommand.h: Expose isEmptyFontTag and ShouldStyleAttributeBeEmpty.
2858
2859         * editing/ReplaceSelectionCommand.cpp:
2860         (WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Added.
2861         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See above.
2862         * editing/ReplaceSelectionCommand.h:
2863         (InsertedNodes): Added a declaration of didReplaceNode.
2864
2865 2013-02-22  Laszlo Gombos  <l.gombos@samsung.com>
2866
2867         Remove unused make variable from DerivedSources.make
2868         https://bugs.webkit.org/show_bug.cgi?id=110306
2869
2870         Reviewed by Alexey Proskuryakov.
2871
2872         r107026 removed the last piece of logic that was guarded with
2873         ENABLE_DASHBOARD_SUPPORT, so now it can be removed from
2874         DerivedSources.make. 
2875
2876         Also combined the way ENABLE_ORIENTATION_EVENTS is set to 0
2877         to make it more readable.
2878
2879         No new tests, no new functionality.
2880
2881         * DerivedSources.make:
2882
2883 2013-02-22  Dimitri Glazkov  <dglazkov@chromium.org>
2884
2885         REGRESSION(r130089): Scrollbar thumb no longer re-rendered on hover
2886         https://bugs.webkit.org/show_bug.cgi?id=109230
2887
2888         In r130089, I accidentally removed the extra check that made scrollbar
2889         parts styles sad. I put it back and made them happy.
2890
2891         Reviewed by Eric Seidel.
2892
2893         Test: fast/css/pseudo-element-selector-scrollbar-hover.html
2894
2895         * css/SelectorChecker.cpp:
2896         (WebCore::SelectorChecker::match): Added the check back.
2897
2898 2013-02-22  Tim Horton  <timothy_horton@apple.com>
2899
2900         [WK2] The root and page overlay layers should be the size of the view, not the content
2901         https://bugs.webkit.org/show_bug.cgi?id=110660
2902         <rdar://problem/13096456>
2903
2904         Reviewed by Simon Fraser.
2905
2906         * WebCore.exp.in:
2907
2908 2013-02-22  Anders Carlsson  <andersca@apple.com>
2909
2910         pluginLoadStrategy should take a WKDictionaryRef for extensibility
2911         https://bugs.webkit.org/show_bug.cgi?id=110656
2912         <rdar://problem/13265303>
2913
2914         Reviewed by Jessie Berlin.
2915
2916         Export a symbol needed by WebKit2.
2917
2918         * WebCore.exp.in:
2919
2920 2013-02-22  Levi Weintraub  <leviw@chromium.org>
2921
2922         Add descriptive names for different addMidpoint use cases
2923         https://bugs.webkit.org/show_bug.cgi?id=110644
2924
2925         Reviewed by Ryosuke Niwa.
2926
2927         Midpoints are used to delineate ranges where we don't add line boxes for contents (collapsed spaces),
2928         and to explicitly split a RenderText into multiple text runs so that text paragraph seperators get
2929         their own line boxes. This patch encapsulates the different cases where midpoints are added to
2930         lineMidpointState into 4 helper functions to make it clearer what's going on in each case.
2931
2932         No new tests. No change in functionality.
2933
2934         * rendering/RenderBlockLineLayout.cpp:
2935         (WebCore::deprecatedAddMidpoint): Original function simply adds a midpoint to the lineMidpointState.
2936         Renaming to deprecated to discourage callers.
2937         (WebCore::startIgnoringSpaces): Adds a midpoint to start collapsing subsequent spaces. Asserts that
2938         we have an even number of midpoints.
2939         (WebCore::stopIgnoringSpaces): Adds the corresponding midpoint from startIgnoringSpaces and asserts
2940         that it's an odd number.
2941         (WebCore::ensureLineBoxInsideIgnoredSpaces): When ignoring spaces and we come across a RenderInline
2942         that needs a line box, this function adds a pair of midpoints which ensures we'll later add a line
2943         box for it.
2944         (WebCore::ensureCharacterGetsLineBox): Adds a pair of midpoints in a text renderer to mark that
2945         the current character needs its own line box. This is used by svg for absolutely positioned
2946         characters, or for text paragraph seperators.
2947
2948 2013-02-22  Justin Schuh  <jschuh@chromium.org>
2949
2950         RenderArena masking has low entropy
2951         https://bugs.webkit.org/show_bug.cgi?id=110394
2952
2953         Reviewed by Oliver Hunt.
2954
2955         No new tests. This is a hardening measure.
2956
2957         * rendering/RenderArena.cpp:
2958         (WebCore::RenderArena::RenderArena):
2959
2960 2013-02-22  Min Qin  <qinmin@chromium.org>
2961
2962         Fix the overlay play button position on android
2963         https://bugs.webkit.org/show_bug.cgi?id=110638
2964
2965         Reviewed by Ojan Vafai.
2966
2967         Because we are using flex box, specifying the height is not necessary.
2968         Setting height to 100% will make the enclosure go outside the control panel.
2969         There are no media layout test expecations for android, will do that in another patch.
2970
2971         * css/mediaControlsChromiumAndroid.css:
2972         (video::-webkit-media-controls-overlay-enclosure):
2973
2974 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2975
2976         Unreviewed build fix. Added missing #if PLATFORM(CHROMIUM).
2977
2978         * dom/Document.cpp:
2979         (WebCore::Document::recalcStyle):
2980         * page/FrameView.cpp:
2981         (WebCore::FrameView::layout):
2982
2983 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2984
2985         Document::styleRecalc() and FrameView::layout() should be traced
2986         https://bugs.webkit.org/show_bug.cgi?id=110646
2987
2988         Reviewed by Ojan Vafai.
2989
2990         Document::styleRecalc() and FrameView::layout() are key factors
2991         for web page rendering performance. We should add TRACE_EVENT()
2992         macros to these functions.
2993
2994         * dom/Document.cpp:
2995         (WebCore::Document::recalcStyle):
2996         * page/FrameView.cpp:
2997         (WebCore::FrameView::layout):
2998
2999 2013-02-22  Eric Seidel  <eric@webkit.org>
3000
3001         Teach the html5lib tests how to test the threaded HTML parser
3002         https://bugs.webkit.org/show_bug.cgi?id=110643
3003
3004         Reviewed by Adam Barth.
3005
3006         This adds a way to force data: url parsing to go through
3007         the threaded parser, to enable us to test the threaded parser
3008         using the html5lib test harness.
3009
3010         * html/parser/HTMLParserOptions.cpp:
3011         (WebCore::HTMLParserOptions::HTMLParserOptions):
3012         * page/Settings.in:
3013
3014 2013-02-21  Ojan Vafai  <ojan@chromium.org>
3015
3016         Increase the max preferred width of tables to 1000000
3017         https://bugs.webkit.org/show_bug.cgi?id=110545
3018
3019         Reviewed by Emil A Eklund.
3020
3021         Test: fast/table/large-shrink-wrapped-width.html
3022
3023         The old limit of 15000 was picked arbitrarily to avoid overflow.
3024         No need to pick such a small number.
3025
3026         * rendering/AutoTableLayout.cpp:
3027         (WebCore::AutoTableLayout::computeInstrinsicLogicalWidths):
3028         As best I can tell, this code is just wrong. Removing this makes the
3029         new test pass and doesn't cause any test failure. While we have many
3030         tests that hit this codepath, this code would only
3031         show a difference in the cases where the available container width is
3032         greater then 15000, and I don't think we have any tests that hit that case
3033         other than this new one.
3034         * rendering/TableLayout.h:
3035
3036 2013-02-22  Adam Barth  <abarth@webkit.org>
3037
3038         Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
3039         https://bugs.webkit.org/show_bug.cgi?id=110637
3040
3041         Reviewed by Eric Seidel.
3042
3043         With the main thread parser, we always parse the first chunk of content
3044         returned as the result of evaluating a JavaScript URL synchronously. In
3045         particular, if the first chunk has an inline script, we'll execute it
3046         synchronously.
3047
3048         Previous to this patch, the threaded parser would always parse this
3049         content asynchronously. It's conceivable that there could be some
3050         content relying on the synchronous behavior, so this patch introduces
3051         the notion of "pinning" a parser to the main thread and uses that
3052         concept to force the result of JavaScript URLs to be parsed on the main
3053         thread (which is probably desirable anyway because they're likely to be
3054         quite short).
3055
3056         This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
3057         and fast/dom/javascript-url-crash-function.html with the threaded
3058         parser with --enable-threaded-html-parser.
3059
3060         * dom/DocumentParser.h:
3061         (WebCore::DocumentParser::pinToMainThread):
3062         (DocumentParser):
3063         * html/parser/HTMLDocumentParser.cpp:
3064         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3065         (WebCore):
3066         (WebCore::HTMLDocumentParser::pinToMainThread):
3067         * html/parser/HTMLDocumentParser.h:
3068         (HTMLDocumentParser):
3069         (WebCore::HTMLDocumentParser::shouldUseThreading):
3070         * loader/DocumentWriter.cpp:
3071         (WebCore::DocumentWriter::replaceDocument):
3072
3073 2013-02-22  Joe Mason  <jmason@rim.com>
3074
3075         [BlackBerry] Reread cookies when retrying a request with new auth credentials
3076         https://bugs.webkit.org/show_bug.cgi?id=110628
3077
3078         Reviewed by George Staikos.
3079
3080         Internal PR: 298805
3081         Internally Reviewed By: Leo Yang
3082
3083         The "isRedirect" parameter of initializePlatformRequest is only used to decide whether to
3084         reread cookies. Since we must reread cookies when resending a request with new auth
3085         credentials as well, rename this to "rereadCookies".
3086
3087         The only caller which sets this parameter rather than using the default value is
3088         NetworkManager::startJob, which also has other processing on redirect. So add a new
3089         "rereadCookies" parameter to startJob and ensure it is always set to true on a redirect, but
3090         can also be set to true on a non-redirect. And when startJob is called due to new auth
3091         credentials, set it to true.
3092
3093         * platform/network/blackberry/NetworkJob.cpp:
3094         (WebCore::NetworkJob::startNewJobWithRequest): Add rereadCookies parameter, pass it to
3095         startJob.
3096         (WebCore::NetworkJob::handleRedirect): Set new rereadCookies param of startNewJob to true.
3097         (WebCore::NetworkJob::notifyChallengeResult): Set new rereadCookies param of startNewJob to
3098         true.
3099         * platform/network/blackberry/NetworkJob.h:
3100         (NetworkJob): Add rereadCookies parameter to startNewJobWithRequest.
3101         * platform/network/blackberry/NetworkManager.cpp:
3102         (WebCore::NetworkManager::startJob): Add rereadCookies parameter, pass it instead of
3103         redirectCount to initializePlatformRequest.
3104         * platform/network/blackberry/NetworkManager.h:
3105         (NetworkManager): Add rereadCookies parameter to startJob.
3106         * platform/network/blackberry/ResourceRequest.h:
3107         (ResourceRequest): Rename isRedirect parameter to rereadCookies.
3108         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3109         (WebCore::ResourceRequest::initializePlatformRequest): Rename isRedirect to rereadCookies.
3110
3111 2013-02-22  Benjamin Poulain  <bpoulain@apple.com>
3112
3113         Use CFNotificationCenter instead of NSNotificationCenter for SharedTimerIOS
3114         https://bugs.webkit.org/show_bug.cgi?id=110544
3115
3116         Reviewed by Daniel Bates.
3117
3118         Previously, we were instantiating the Obj-C object WebCoreResumeNotifierIOS
3119         with the only purpose of forwarding one notification to a C function.
3120
3121         This patch updates the code to use CFNotificationCenter to dispatch the notification
3122         without the intermediary object.
3123
3124         * platform/ios/SharedTimerIOS.mm:
3125         (WebCore::applicationDidBecomeActive):
3126         (WebCore::setSharedTimerFireInterval):
3127
3128 2013-02-22  Kenneth Russell  <kbr@google.com>
3129
3130         Uint8ClampedArray constructor is wrong in WorkerContext.idl
3131         https://bugs.webkit.org/show_bug.cgi?id=110634
3132
3133         Reviewed by Adam Barth.
3134
3135         Tests: fast/canvas/webgl/typed-arrays-in-workers.html
3136                webgl/conformance/typedarrays/typed-arrays-in-workers.html
3137
3138         * workers/WorkerContext.idl:
3139
3140 2013-02-21  Mark Lam  <mark.lam@apple.com>
3141
3142         Add some checks to DatabaseTracker::getMaxSizeForDatabase() to ensure
3143         that it returns a sane value.
3144         https://bugs.webkit.org/show_bug.cgi?id=110557.
3145
3146         Reviewed by Geoffrey Garen.
3147
3148         No layout test, but there is a quota-test.html attached to bugzilla.
3149         The test is a webpage that can be loaded into multiple tabs to
3150         consuming storage space. Once the test webpages are loaded, you will
3151         need to monitor the database directory and its files to confirm that
3152         growth is bounded. Also try reloading the test in the tabs. At no
3153         time should any database file ever exceed the quota.
3154
3155         * Modules/webdatabase/DatabaseTracker.cpp:
3156         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3157
3158 2013-02-22  James Simonsen  <simonjam@chromium.org>
3159
3160         Preloads should be cleared when JavaScript cancels loading prematurely.
3161         https://bugs.webkit.org/show_bug.cgi?id=110388
3162
3163         Reviewed by Antti Koivisto.
3164
3165         If a page preloads a resource, but JavaScript aborts parsing for any reason (for example, a
3166         redirect or document.write()), the resource is forever marked a preload and won't be reloaded
3167         even if it's explicitly marked no-cache and the page is reloaded.
3168
3169         Test: http/tests/cache/preload-cleared-after-parrsing-canceled-by-js.html
3170
3171         * dom/Document.cpp:
3172         (WebCore::Document::implicitClose):
3173         (WebCore::Document::finishedParsing):
3174
3175 2013-02-22  Antoine Quint  <graouts@apple.com>
3176
3177         Expose a list of all reasons that qualify a RenderLayer to be composited
3178         https://bugs.webkit.org/show_bug.cgi?id=110505
3179
3180         Expose the various reasons that can qualify a RenderLayer to be composited
3181         via a new bitmask returned by the reasonForCompositing() method on
3182         RenderLayerCompositor. This method already existed and was used for logging
3183         purposes, but the previous functionality is now accessed via the
3184         logReasonForCompositing() method.
3185
3186         This will allow the the InspectorLayerTreeAgent to provide this information
3187         to the front-end on a per-layer basis as requested by the front-end.
3188
3189         Reviewed by Simon Fraser.
3190
3191         No new tests.
3192
3193         * rendering/RenderLayerCompositor.cpp:
3194         (WebCore::RenderLayerCompositor::logLayerInfo):
3195         (WebCore::RenderLayerCompositor::reasonsForCompositing):
3196         (WebCore):
3197         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
3198         * rendering/RenderLayerCompositor.h:
3199         (RenderLayerCompositor):
3200
3201 2013-02-22  Beth Dakin  <bdakin@apple.com>
3202
3203         ScrollingStateTree::rootStateNode() should be null-checked since it can be null
3204         https://bugs.webkit.org/show_bug.cgi?id=110631
3205
3206         Reviewed by Simon Fraser.
3207
3208         This is a speculative fix for <rdar://problem/13233090> and 
3209         <rdar://problem/12519348>. It is totally possible for rootStateNode() to be null, 
3210         so we should null-check it.
3211
3212         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3213         (WebCore::ScrollingCoordinatorMac::setShouldUpdateScrollLayerPositionOnMainThread):
3214         (WebCore::ScrollingCoordinatorMac::syncChildPositions):
3215
3216 2013-02-22  Mike Reed  <reed@google.com>
3217
3218         Check for null-device when calling createCompatibleDevice
3219         https://bugs.webkit.org/show_bug.cgi?id=107981
3220
3221         Reviewed by James Robinson.
3222
3223         No new tests. Current tests provided coverage. Site in the wild triggered the failure
3224         (cairo failed to allocate a huge surface).
3225
3226         * platform/graphics/skia/ImageBufferSkia.cpp:
3227         (WebCore::ImageBuffer::ImageBuffer):
3228
3229 2013-02-22  Chris Rogers  <crogers@google.com>
3230
3231         AudioDestination::create() needs extra device identification information for live/local input streams
3232         https://bugs.webkit.org/show_bug.cgi?id=109494
3233
3234         Reviewed by James Robinson.
3235
3236         AudioDestination::create() supports live/local audio input.  But, since there may be multiple
3237         audio input devices available, an identifier for the requested input device needs to be
3238         passed in.  The embedder may then use this information so that the proper audio hardware is
3239         accessed.
3240
3241         * Modules/webaudio/AudioContext.cpp:
3242         (WebCore::AudioContext::createMediaStreamSource):
3243         * Modules/webaudio/AudioDestinationNode.h:
3244         (AudioDestinationNode):
3245         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
3246         (WebCore::DefaultAudioDestinationNode::initialize):
3247         (WebCore::DefaultAudioDestinationNode::createDestination):
3248         (WebCore::DefaultAudioDestinationNode::enableInput):
3249         * Modules/webaudio/DefaultAudioDestinationNode.h:
3250         (DefaultAudioDestinationNode):
3251         * Modules/webaudio/OfflineAudioDestinationNode.h:
3252         * platform/audio/AudioDestination.h:
3253         (AudioDestination):
3254         * platform/audio/chromium/AudioDestinationChromium.cpp:
3255         (WebCore::AudioDestination::create):
3256         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
3257         * platform/audio/chromium/AudioDestinationChromium.h:
3258         (AudioDestinationChromium):
3259         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3260         (WebCore::AudioDestination::create):
3261         * platform/audio/mac/AudioDestinationMac.cpp:
3262         (WebCore::AudioDestination::create):
3263         * platform/chromium/support/WebMediaStreamSource.cpp:
3264         (WebKit::WebMediaStreamSource::deviceId):
3265         (WebKit):
3266         (WebKit::WebMediaStreamSource::setDeviceId):
3267         * platform/mediastream/MediaStreamSource.h:
3268         (WebCore::MediaStreamSource::deviceId):
3269         (WebCore::MediaStreamSource::setDeviceId):
3270         (MediaStreamSource):
3271
3272 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
3273
3274         Binding tests rebaseline after r143737.
3275
3276         * bindings/scripts/test/V8/V8Float64Array.cpp:
3277         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3278         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3279         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3280         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3281         * bindings/scripts/test/V8/V8TestException.cpp:
3282         * bindings/scripts/test/V8/V8TestInterface.cpp:
3283         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3284         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3285         * bindings/scripts/test/V8/V8TestNode.cpp:
3286         * bindings/scripts/test/V8/V8TestObj.cpp:
3287         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3288         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3289         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3290
3291 2013-02-22  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3292
3293         INPUT_MULTIPLE_FIELDS_UI: Unable to enter "24" to hour field
3294         https://bugs.webkit.org/show_bug.cgi?id=110431
3295
3296         Reviewed by Kent Tamura.
3297
3298         Fixed a bug that hour-field does not accept "24" as a valid input when hour format is 1-24.
3299         To test <input> against different time formats, added "pattern" attribute to DateTimeEditElement.
3300
3301         Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
3302
3303         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3304         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Overwrites layoutParameters.dateTimeFormat by pattern attribute of DateTimeEditElement (if exists).
3305         * html/shadow/DateTimeFieldElements.cpp:
3306         (WebCore::DateTimeHourFieldElement::populateDateTimeFieldsState): Fixed a bug where AM/PM value was passed to setHour().
3307         (WebCore::DateTimeHourFieldElement::setValueAsInteger): Clamps the given value to 0-24 when the range of the field is 1-12 or 1-24. Renamed the parameter as it may not be an hour23 value (0-23).
3308
3309 2013-02-21  Zoltan Horvath  <zoltan@webkit.org>
3310
3311         [CSS Regions] Region boxes should respect -shape-inside CSS property
3312         https://bugs.webkit.org/show_bug.cgi?id=107880
3313
3314         Reviewed by David Hyatt.
3315
3316         The shape-inside CSS property modifies the shape of the inner inline flow content from rectangular content box
3317         to an arbitrary geometry. The detailed documentation is located in the CSS-Exclusions specification:
3318         http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property. This change adds support for the shape-inside property
3319         on CSS Regions.
3320
3321         Test: fast/regions/shape-inside-on-regions.html
3322
3323         * rendering/ExclusionShapeInfo.cpp:
3324         (WebCore):
3325         (WebCore::::logicalTopOffset): Shape dimension should be relative to the current region.
3326         * rendering/ExclusionShapeInfo.h:
3327         (ExclusionShapeInfo):
3328         (WebCore::::logicalTopOffset): Move the implementation to ExclusionShapeInfo.cpp.
3329         * rendering/RenderBlockLineLayout.cpp:
3330         (WebCore::logicalHeightForLine): Move the function prior to layoutExclusionShapeInsideInfo, since we need to use it there.
3331         (WebCore):
3332         (WebCore::layoutExclusionShapeInsideInfo): Add support for cases when shape-inside is a region-block property.
3333         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the exclusion shape information for every line, since the content
3334         could flow through several region containers which can have different shape-inside properties.
3335
3336 2013-02-21  Ojan Vafai  <ojan@chromium.org>
3337
3338         Add computeInstrinsicLogicalWidths functions to TableLayout subclasses
3339         https://bugs.webkit.org/show_bug.cgi?id=110520
3340
3341         Reviewed by Tony Chang.
3342
3343         This is just a refactor in preparation for adding RenderTable::computeIntinsicLogicalWidths.
3344         No change in behavior.
3345
3346         Split the computePreferredLogicalWidths functions into a computeIntinsicLogicalWidths
3347         and a applyPreferredLogicalWidthQuirks. Also, move the addition of bordersPaddingAndSpacing
3348         into RenderTable since both TableLayout subclasses need this.
3349
3350         This has the added readability benefit of better isolating the quirks that each table layout
3351         mode requires.
3352
3353         * rendering/AutoTableLayout.cpp:
3354         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
3355         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
3356         * rendering/AutoTableLayout.h:
3357         (AutoTableLayout):
3358         * rendering/FixedTableLayout.cpp:
3359         (WebCore::FixedTableLayout::computeIntrinsicLogicalWidths):
3360         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
3361         * rendering/FixedTableLayout.h:
3362         (FixedTableLayout):
3363         * rendering/RenderTable.cpp:
3364         (WebCore::RenderTable::computePreferredLogicalWidths):
3365         * rendering/TableLayout.h:
3366         (TableLayout):
3367
3368 2013-02-22  David Hyatt  <hyatt@apple.com>
3369
3370         [New Multicolumn] Correctly track whether or not a layer is paginated.
3371         https://bugs.webkit.org/show_bug.cgi?id=110625.
3372
3373         Taking the first step towards implementing the correct spec-compliant painting
3374         model for the new multi-column layout. Add code to make sure the paginated
3375         bits in RenderLayer get propagated correctly for the new layout.
3376         
3377         The main difference in bit propagation between the old multicolumn layout and
3378         the new multicolumn layout is that the old layout only tracked pagination "roots",
3379         since it has a broken layer painting model. It incorrectly treats a pagination
3380         "root" inside a multi-column block as establishing a stacking context in each
3381         column. This is incorrect.
3382         
3383         The new multicolumn code is going to paint each paginated layer individually,
3384         and this means the bits can't just be about roots. Instead they have to be set
3385         on every layer that may be split across columns, without regard for whether parent
3386         layers are also split or not. This is actually a simpler bit propagation model
3387         than the old code.
3388
3389         Reviewed by Beth Dakin.
3390
3391         * rendering/RenderLayer.cpp:
3392         (WebCore::RenderLayer::updateLayerPositions):
3393         Add code to set the m_isPaginated bit for in-flow RenderFlowThreads. This includes
3394         only RenderMultiColumnFlowThread for now, but eventually it will also include
3395         RenderPageFlowThread.
3396
3397         (WebCore::RenderLayer::useRegionBasedColumns):
3398         Add a helper method to check if region-based columns are turned on, since we're