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