Do not localize numbers in scientific notation
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-09  Kent Tamura  <tkent@chromium.org>
2
3         Do not localize numbers in scientific notation
4         https://bugs.webkit.org/show_bug.cgi?id=78208
5
6         Reviewed by Hajime Morita.
7
8         For a preparation of fixing http://wkb.ug/62939, we stop supporting
9         localized numbers in scientific notation in <input type=number>.
10
11         We're going to change number localization processing so that it replaces
12         letters one by one. It will be very hard to support scientific notation.
13
14         * html/NumberInputType.cpp:
15         (WebCore::isE): A helper functio for String::find() to detect scientific notation.
16         (WebCore::NumberInputType::visibleValue): Avoid localization for scientific notation.
17         (WebCore::NumberInputType::convertFromVisibleValue): ditto.
18         (WebCore::NumberInputType::isAcceptableValue):
19         Use convertFromVisibleValue, also stop accepting a standard format as a fallback.
20
21 2012-02-09  Leo Yang  <leo.yang@torchmobile.com.cn>
22
23         EntryBase.cpp is missing in CMake build system when turning on ENABLE_FILE_SYSTEM
24         https://bugs.webkit.org/show_bug.cgi?id=78190
25
26         Reviewed by Antonio Gomes.
27
28         EntryBase.cpp is not in the CMake build system, which causes build failure (undefined
29         symbols to EntryBase) when turning on ENABLE_FILE_SYSTEM.
30
31         Build system fix, no new tests.
32
33         * CMakeLists.txt:
34
35 2012-02-09  Andreas Kling  <awesomekling@apple.com>
36
37         REGRESSION(r53878): Input elements don't share their styles if the document contains no validity style rules.
38         <http://webkit.org/b/69400>
39
40         Reviewed by Kent Tamura.
41
42         Don't reject style sharing candidates prematurely just because the document doesn't
43         have any :valid or :invalid selectors.
44
45         * css/CSSStyleSelector.cpp:
46         (WebCore::CSSStyleSelector::canShareStyleWithControl):
47
48 2012-02-09  Kentaro Hara  <haraken@chromium.org>
49
50         Unreviewed. Fixed typo in the following files. [TreatUndefinedAs] => [TreatAsUndefined].
51
52         * bindings/scripts/CodeGeneratorJS.pm:
53         (GenerateParametersCheck):
54
55         * bindings/scripts/test/TestObj.idl:
56
57         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
58         (WebDOMTestObj::methodWithOptionalIsUndefinedString):
59         * bindings/scripts/test/CPP/WebDOMTestObj.h:
60         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
61         (webkit_dom_test_obj_method_with_optional_is_undefined_string):
62         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
63         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
64         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
65         * bindings/scripts/test/JS/JSTestObj.cpp:
66         (WebCore):
67         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsUndefinedString):
68         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
69         (WebCore::jsTestObjPrototypeFunctionConvert5):
70         * bindings/scripts/test/JS/JSTestObj.h:
71         (WebCore):
72         * bindings/scripts/test/ObjC/DOMTestObj.h:
73         * bindings/scripts/test/ObjC/DOMTestObj.mm:
74         (-[DOMTestObj methodWithOptionalIsUndefinedString:]):
75         * bindings/scripts/test/V8/V8TestObj.cpp:
76         (WebCore::TestObjInternal::methodWithOptionalIsUndefinedStringCallback):
77         (WebCore):
78
79 2012-02-09  Kentaro Hara  <haraken@chromium.org>
80
81         Unreviewed. Fixed typo in the following files. [TreatReturnedNullStringTo=] => [TreatReturnedNullStringAs=].
82
83         * bindings/scripts/test/TestObj.idl:
84         * css/CSSCharsetRule.idl:
85         * css/CSSImportRule.idl:
86         * css/CSSPageRule.idl:
87         * css/CSSRule.idl:
88         * css/CSSStyleDeclaration.idl:
89         * css/CSSStyleRule.idl:
90         * css/CSSValue.idl:
91         * css/MediaList.idl:
92         * css/StyleSheet.idl:
93         * css/WebKitCSSKeyframesRule.idl:
94         * dom/Attr.idl:
95         * dom/CharacterData.idl:
96         * dom/Clipboard.idl:
97         * dom/DOMStringList.idl:
98         * dom/Document.idl:
99         * dom/DocumentType.idl:
100         * dom/Element.idl:
101         * dom/Entity.idl:
102         * dom/MutationRecord.idl:
103         * dom/Node.idl:
104         * dom/Notation.idl:
105         * dom/ProcessingInstruction.idl:
106         * html/DOMTokenList.idl:
107         * html/DOMURL.idl:
108         * html/HTMLMediaElement.idl:
109         * html/canvas/WebGLDebugShaders.idl:
110         * html/canvas/WebGLRenderingContext.idl:
111         * page/DOMWindow.idl:
112         * storage/IDBObjectStore.idl:
113         * storage/IDBRequest.idl:
114         * storage/Storage.idl:
115         * storage/StorageEvent.idl:
116         * websockets/WebSocket.idl:
117         * xml/XMLHttpRequest.idl:
118         * xml/XPathNSResolver.idl:
119         * xml/XSLTProcessor.idl:
120
121 2012-02-08  Kentaro Hara  <haraken@chromium.org>
122
123         Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
124         https://bugs.webkit.org/show_bug.cgi?id=78108
125
126         Reviewed by Adam Barth.
127
128         [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
129         the behavior when the null string is returned by WebCore, this patch renames
130         [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
131         for naming consistency with [TreatNullAs] and [TreatUndefinedAs].
132
133         No tests. No change in behavior.
134
135         * bindings/scripts/CodeGeneratorJS.pm:
136         (GenerateGetOwnPropertySlotBody):
137         (NativeToJSValue):
138         * bindings/scripts/CodeGeneratorV8.pm:
139         (GenerateImplementationIndexer):
140         (NativeToJSValue):
141
142         * bindings/scripts/test/TestObj.idl: No change in run-bindings-tests results.
143
144         * css/CSSCharsetRule.idl:
145         * css/CSSImportRule.idl:
146         * css/CSSPageRule.idl:
147         * css/CSSRule.idl:
148         * css/CSSStyleDeclaration.idl:
149         * css/CSSStyleRule.idl:
150         * css/CSSValue.idl:
151         * css/MediaList.idl:
152         * css/StyleSheet.idl:
153         * css/WebKitCSSKeyframesRule.idl:
154         * dom/Attr.idl:
155         * dom/CharacterData.idl:
156         * dom/Clipboard.idl:
157         * dom/DOMStringList.idl:
158         * dom/Document.idl:
159         * dom/DocumentType.idl:
160         * dom/Element.idl:
161         * dom/Entity.idl:
162         * dom/MutationRecord.idl:
163         * dom/Node.idl:
164         * dom/Notation.idl:
165         * dom/ProcessingInstruction.idl:
166         * html/DOMTokenList.idl:
167         * html/DOMURL.idl:
168         * html/HTMLMediaElement.idl:
169         * html/canvas/WebGLDebugShaders.idl:
170         * html/canvas/WebGLRenderingContext.idl:
171         * page/DOMWindow.idl:
172         * storage/IDBObjectStore.idl:
173         * storage/IDBRequest.idl:
174         * storage/Storage.idl:
175         * storage/StorageEvent.idl:
176         * websockets/WebSocket.idl:
177         * xml/XMLHttpRequest.idl:
178         * xml/XPathNSResolver.idl:
179         * xml/XSLTProcessor.idl:
180
181 2012-02-08  Andreas Kling  <awesomekling@apple.com>
182
183         Simplify ownership of StyledElement::additionalAttributeStyles().
184         <http://webkit.org/b/78204>
185
186         Reviewed by Anders Carlsson.
187
188         Change additionalAttributeStyle() to return a raw pointer rather than a PassRefPtr.
189
190         * css/CSSStyleSelector.cpp:
191         (WebCore::CSSStyleSelector::matchAllRules):
192         (WebCore::CSSStyleSelector::canShareStyleWithElement):
193         * dom/StyledElement.h:
194         (WebCore::StyledElement::additionalAttributeStyle):
195         * html/HTMLTableCellElement.cpp:
196         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
197         * html/HTMLTableCellElement.h:
198         (HTMLTableCellElement):
199         * html/HTMLTableColElement.cpp:
200         (WebCore::HTMLTableColElement::additionalAttributeStyle):
201         * html/HTMLTableColElement.h:
202         (HTMLTableColElement):
203         * html/HTMLTableElement.cpp:
204         (WebCore::HTMLTableElement::additionalAttributeStyle):
205         (WebCore::HTMLTableElement::additionalCellStyle):
206         (WebCore::HTMLTableElement::additionalGroupStyle):
207         * html/HTMLTableElement.h:
208         (HTMLTableElement):
209         * html/HTMLTableSectionElement.cpp:
210         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
211         * html/HTMLTableSectionElement.h:
212         (HTMLTableSectionElement):
213
214 2012-02-08  Kentaro Hara  <haraken@chromium.org>
215
216         Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
217         https://bugs.webkit.org/show_bug.cgi?id=78200
218
219         Reviewed by Adam Barth.
220
221         [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.
222
223         - [Optional=CallWithDefalutValue] indicates that a missing value should be treated
224         as if the JavaScript undefined is passed.
225         - [Optional=CallWithNullValue] indicates that a missing value should be treated as
226         the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
227         - Actually, the difference between [Optional=CallWithDefalutValue] and
228         [Optional=CallWithNullValue] appears only when the type of the missing value is DOMString.
229         In case of [Optional=CallWithDefalutValue], the missing value is converted to the string
230         "undefined". On the other hand, in case of [Optional=CallWithNullValue], the missing
231         value is converted to the WebKit null string.
232
233         With these observations, this patch renames them as follows:
234
235         - Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
236         - Remove [Optional=CallWithNullValue]. Instead, we use
237         [Optional=TreatAsUndefined, TreatUndefinedAs=NullString].
238
239         Test: bindings/scripts/test/TestInterface.idl
240
241         * bindings/js/JSDOMBinding.h: Renamed MissingIsUndefined to MissingIsUndefinedValue,
242         renamed MissingIsEmpty to MissingIsNullValue.
243         * bindings/v8/V8Binding.h: Ditto.
244         * bindings/v8/custom/V8BindingMacros.h: Ditto.
245
246         * bindings/scripts/CodeGeneratorJS.pm: Modified to support the IDL attribute renaming.
247         (GenerateParametersCheck):
248         (GenerateConstructorDefinition):
249         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
250         (GenerateParametersCheck):
251         (RequiresCustomSignature):
252
253         * Modules/gamepad/GamepadList.idl: Renamed IDL attributes as described above.
254         * Modules/intents/Intent.idl:
255         * css/CSSMediaRule.idl:
256         * css/CSSPrimitiveValue.idl:
257         * css/CSSRuleList.idl:
258         * css/CSSStyleDeclaration.idl:
259         * css/CSSStyleSheet.idl:
260         * css/CSSValueList.idl:
261         * css/MediaList.idl:
262         * css/MediaQueryList.idl:
263         * css/MediaQueryListListener.idl:
264         * css/StyleMedia.idl:
265         * css/StyleSheetList.idl:
266         * css/WebKitCSSKeyframesRule.idl:
267         * css/WebKitCSSMatrix.idl:
268         * dom/CharacterData.idl:
269         * dom/ClientRectList.idl:
270         * dom/CompositionEvent.idl:
271         * dom/CustomEvent.idl:
272         * dom/DOMImplementation.idl:
273         * dom/DOMStringList.idl:
274         * dom/DataTransferItem.idl:
275         * dom/DataTransferItemList.idl:
276         * dom/DeviceMotionEvent.idl:
277         * dom/DeviceOrientationEvent.idl:
278         * dom/Document.idl:
279         * dom/Element.idl:
280         * dom/Event.idl:
281         * dom/HashChangeEvent.idl:
282         * dom/KeyboardEvent.idl:
283         * dom/MessageEvent.idl:
284         * dom/MouseEvent.idl:
285         * dom/MutationEvent.idl:
286         * dom/NamedNodeMap.idl:
287         * dom/Node.idl:
288         * dom/NodeFilter.idl:
289         * dom/NodeList.idl:
290         * dom/OverflowEvent.idl:
291         * dom/Range.idl:
292         * dom/ShadowRoot.idl:
293         * dom/Text.idl:
294         * dom/TextEvent.idl:
295         * dom/TouchEvent.idl:
296         * dom/UIEvent.idl:
297         * dom/WheelEvent.idl:
298         * html/DOMFormData.idl:
299         * html/HTMLAllCollection.idl:
300         * html/HTMLAudioElement.idl:
301         * html/HTMLCanvasElement.idl:
302         * html/HTMLCollection.idl:
303         * html/HTMLDocument.idl:
304         * html/HTMLElement.idl:
305         * html/HTMLInputElement.idl:
306         * html/HTMLMediaElement.idl:
307         * html/HTMLOptionElement.idl:
308         * html/HTMLOptionsCollection.idl:
309         * html/HTMLSelectElement.idl:
310         * html/HTMLTableElement.idl:
311         * html/HTMLTableRowElement.idl:
312         * html/HTMLTableSectionElement.idl:
313         * html/HTMLTextAreaElement.idl:
314         * html/TextTrackCue.idl:
315         * html/canvas/CanvasGradient.idl:
316         * html/canvas/CanvasRenderingContext2D.idl:
317         * html/canvas/Float32Array.idl:
318         * html/canvas/Float64Array.idl:
319         * html/canvas/Int16Array.idl:
320         * html/canvas/Int32Array.idl:
321         * html/canvas/Int8Array.idl:
322         * html/canvas/OESVertexArrayObject.idl:
323         * html/canvas/Uint16Array.idl:
324         * html/canvas/Uint32Array.idl:
325         * html/canvas/Uint8Array.idl:
326         * html/canvas/Uint8ClampedArray.idl:
327         * page/Console.idl:
328         * page/DOMSelection.idl:
329         * page/DOMWindow.idl:
330         * page/History.idl:
331         * page/Location.idl:
332         * plugins/DOMMimeTypeArray.idl:
333         * plugins/DOMPlugin.idl:
334         * plugins/DOMPluginArray.idl:
335         * storage/IDBDatabase.idl:
336         * storage/StorageEvent.idl:
337         * svg/ElementTimeControl.idl:
338         * svg/SVGDocument.idl:
339         * svg/SVGElementInstanceList.idl:
340         * svg/SVGFEDropShadowElement.idl:
341         * svg/SVGFEGaussianBlurElement.idl:
342         * svg/SVGFEMorphologyElement.idl:
343         * svg/SVGFilterElement.idl:
344         * svg/SVGLocatable.idl:
345         * svg/SVGMarkerElement.idl:
346         * svg/SVGPathElement.idl:
347         * svg/SVGSVGElement.idl:
348         * svg/SVGStylable.idl:
349         * svg/SVGTests.idl:
350         * svg/SVGTextContentElement.idl:
351         * webaudio/AudioNode.idl:
352         * workers/SharedWorker.idl:
353         * workers/WorkerContext.idl:
354         * xml/DOMParser.idl:
355         * xml/XMLSerializer.idl:
356         * xml/XPathEvaluator.idl:
357         * xml/XPathExpression.idl:
358         * xml/XPathNSResolver.idl:
359         * xml/XPathResult.idl:
360
361         * bindings/scripts/test/TestInterface.idl: Added test cases for [Optional],
362         [Optional=TreatAsUndefined] and [Optional=TreatAsUndefined, TreatUndefinedAs=NullString]
363         * bindings/scripts/test/TestNamedConstructor.idl: Renamed IDL attributes as described above.
364         * bindings/scripts/test/TestObj.idl: Ditto.
365
366         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
367         (WebDOMTestObj::methodWithOptionalString):
368         (WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString):
369         (WebDOMTestObj::methodWithOptionalIsNullStringString):
370         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
371         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
372         (webkit_dom_test_obj_method_with_optional_string):
373         (webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string):
374         (webkit_dom_test_obj_method_with_optional_is_null_string_string):
375         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
376         * bindings/scripts/test/JS/JSFloat64Array.cpp: Ditto.
377         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
378         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Ditto.
379         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
380         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
381         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
382         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
383         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
384         (WebCore::jsTestEventTargetPrototypeFunctionItem):
385         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
386         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
387         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
388         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
389         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
390         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
391         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
392         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
393         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
394         (WebCore):
395         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
396         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
397         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
398         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
399         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
400         (WebCore::jsTestObjPrototypeFunctionIdbKey):
401         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
402         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
403         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
404         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
405         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
406         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
407         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString):
408         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
409         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
410         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
411         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
412         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
413         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
414         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
415         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
416         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
417         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
418         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
419         (WebCore::jsTestObjPrototypeFunctionConvert1):
420         (WebCore::jsTestObjPrototypeFunctionConvert2):
421         (WebCore::jsTestObjPrototypeFunctionConvert3):
422         (WebCore::jsTestObjPrototypeFunctionConvert4):
423         (WebCore::jsTestObjPrototypeFunctionConvert5):
424         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
425         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
426         (WebCore):
427         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
428         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
429         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
430         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
431         (-[DOMTestObj methodWithOptionalString:]):
432         (-[DOMTestObj methodWithOptionalIsTreatAsUndefinedString:]):
433         (-[DOMTestObj methodWithOptionalIsNullStringString:]):
434         * bindings/scripts/test/V8/V8Float64Array.cpp: Ditto.
435         (WebCore::Float64ArrayInternal::fooCallback):
436         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Ditto.
437         (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
438         (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
439         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
440         (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
441         * bindings/scripts/test/V8/V8TestEventTarget.cpp: Ditto.
442         (WebCore::TestEventTargetInternal::itemCallback):
443         (WebCore::TestEventTargetInternal::dispatchEventCallback):
444         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
445         (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
446         (WebCore::V8TestInterface::constructorCallback):
447         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
448         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
449         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
450         (WebCore::V8TestNamedConstructorConstructorCallback):
451         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
452         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
453         (WebCore::TestObjInternal::intMethodWithArgsCallback):
454         (WebCore::TestObjInternal::objMethodWithArgsCallback):
455         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
456         (WebCore::TestObjInternal::idbKeyCallback):
457         (WebCore::TestObjInternal::optionsObjectCallback):
458         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
459         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
460         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
461         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
462         (WebCore::TestObjInternal::methodWithOptionalStringCallback):
463         (TestObjInternal):
464         (WebCore::TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback):
465         (WebCore::TestObjInternal::methodWithOptionalIsNullStringStringCallback):
466         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
467         (WebCore::TestObjInternal::overloadedMethod1Callback):
468         (WebCore::TestObjInternal::overloadedMethod2Callback):
469         (WebCore::TestObjInternal::overloadedMethod3Callback):
470         (WebCore::TestObjInternal::overloadedMethod4Callback):
471         (WebCore::TestObjInternal::overloadedMethod6Callback):
472         (WebCore::TestObjInternal::overloadedMethod7Callback):
473         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
474         (WebCore::TestObjInternal::overloadedMethod11Callback):
475         (WebCore::TestObjInternal::overloadedMethod12Callback):
476         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
477         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
478         (WebCore::TestObjInternal::convert1Callback):
479         (WebCore::TestObjInternal::convert2Callback):
480         (WebCore::TestObjInternal::convert3Callback):
481         (WebCore::TestObjInternal::convert4Callback):
482         (WebCore::TestObjInternal::convert5Callback):
483         (WebCore::TestObjInternal::strictFunctionCallback):
484         (WebCore):
485         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
486         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
487
488 2012-02-08  Kentaro Hara  <haraken@chromium.org>
489
490         Rename [HasNumericIndexGetter] to [NumericIndexedGetter]
491         https://bugs.webkit.org/show_bug.cgi?id=78096
492
493         Reviewed by Adam Barth.
494
495         This patch renames [HasNumericIndexGetter] to [NumericIndexedGetter],
496         for naming consistency with [IndexedGetter] and [CustomIndexedGetter].
497
498         No tests. No change in behavior.
499
500         * bindings/scripts/CodeGeneratorJS.pm:
501         (GenerateGetOwnPropertySlotBody):
502         (GenerateGetOwnPropertyDescriptorBody):
503         (GenerateHeader):
504         (GenerateImplementation):
505         * bindings/scripts/CodeGeneratorV8.pm:
506         (GenerateHeaderNamedAndIndexedPropertyAccessors):
507         (GenerateImplementationIndexer):
508
509         * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
510
511         * html/canvas/CanvasPixelArray.idl:
512         * html/canvas/Float32Array.idl:
513         * html/canvas/Float64Array.idl:
514         * html/canvas/Int16Array.idl:
515         * html/canvas/Int32Array.idl:
516         * html/canvas/Int8Array.idl:
517         * html/canvas/Uint16Array.idl:
518         * html/canvas/Uint32Array.idl:
519         * html/canvas/Uint8Array.idl:
520         * html/canvas/Uint8ClampedArray.idl:
521
522 2012-02-08  Tony Chang  <tony@chromium.org>
523
524         refactor RenderFlexibleBox to return preferred sizes of all children
525         https://bugs.webkit.org/show_bug.cgi?id=78169
526
527         Reviewed by Ojan Vafai.
528
529         This is in preparation for multi-line flexbox. We need the preferred
530         size of each child so we can compute where the multi-line breaks happen.
531
532         No new tests, just refactoring.
533
534         * rendering/RenderFlexibleBox.cpp:
535         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Renamed from preferredMainAxisContentExtentForFlexItem because
536         other methods are ForChild rather than ForFlexItem.
537         (WebCore::RenderFlexibleBox::layoutFlexItems):
538         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
539         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
540         * rendering/RenderFlexibleBox.h:
541         (RenderFlexibleBox):
542
543 2012-02-08  Shinya Kawanaka  <shinyak@google.com>
544
545         Stop calling Element::ensureShadowRoot() if it is used in construction phase.
546         https://bugs.webkit.org/show_bug.cgi?id=77929
547
548         Reviewed by Hajime Morita.
549
550         ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
551         So we want to remove Element::ensureShadowRoot().
552         This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
553
554         No new tests, no change in behavior.
555
556         * dom/ShadowRoot.cpp:
557         (WebCore::ShadowRoot::create):
558           Initialize exception code before calling appendChild.
559         * html/HTMLDetailsElement.cpp:
560         (WebCore::HTMLDetailsElement::createShadowSubtree):
561         * html/HTMLKeygenElement.cpp:
562         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
563         * html/HTMLMeterElement.cpp:
564         (WebCore::HTMLMeterElement::createShadowSubtree):
565         * html/HTMLProgressElement.cpp:
566         (WebCore::HTMLProgressElement::createShadowSubtree):
567         * html/HTMLSummaryElement.cpp:
568         (WebCore::HTMLSummaryElement::createShadowSubtree):
569         * html/HTMLTextAreaElement.cpp:
570         (WebCore::HTMLTextAreaElement::createShadowSubtree):
571
572 2012-02-08  David Reveman  <reveman@chromium.org>
573
574         [Chromium] Avoid unnecessary full tile updates without breaking atomicity of commits.
575         https://bugs.webkit.org/show_bug.cgi?id=76740
576
577         Reviewed by James Robinson.
578
579         Allow the final batch of texture uploads to be performed without
580         allocating new textures and re-painting complete tiles.
581
582         This patch is tested by the following unit test:
583         - CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
584         - TiledLayerChromiumTest.partialUpdates
585
586         * platform/graphics/chromium/TiledLayerChromium.cpp:
587         (WebCore::UpdatableTile::UpdatableTile):
588         (UpdatableTile):
589         (WebCore::TiledLayerChromium::updateCompositorResources):
590         (WebCore):
591         (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
592         (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
593         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
594         * platform/graphics/chromium/TiledLayerChromium.h:
595         (TiledLayerChromium):
596         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
597         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
598         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
599         (WebCore::CCLayerTreeHost::updateLayers):
600         (WebCore::CCLayerTreeHost::requestPartialTextureUpdate):
601         (WebCore):
602         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
603         (WebCore::CCSettings::CCSettings):
604         (CCSettings):
605         (CCLayerTreeHost):
606         * platform/graphics/chromium/cc/CCProxy.h:
607         (CCProxy):
608         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
609         (WebCore::CCSingleThreadProxy::doCommit):
610         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
611         (WebCore::CCSingleThreadProxy::maxPartialTextureUpdates):
612         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
613         (WebCore::CCTextureUpdater::append):
614         (WebCore):
615         (WebCore::CCTextureUpdater::appendPartial):
616         (WebCore::CCTextureUpdater::hasMoreUpdates):
617         (WebCore::CCTextureUpdater::update):
618         (WebCore::CCTextureUpdater::clear):
619         * platform/graphics/chromium/cc/CCTextureUpdater.h:
620         (CCTextureUpdater):
621         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
622         (WTF):
623         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
624         (WebCore::CCThreadProxy::maxPartialTextureUpdates):
625         * platform/graphics/chromium/cc/CCThreadProxy.h:
626         (CCThreadProxy):
627
628 2012-02-07  MORITA Hajime  <morrita@google.com>
629
630         Replacement text should be available from the marker.
631         https://bugs.webkit.org/show_bug.cgi?id=77934
632
633         Reviewed by Kent Tamura.
634
635         On spellchecking, TextCheckingResult can contain a replacement text
636         which is usable both for an automatic replacement and for showing a suggestion.
637
638         But when marking a misspelled word ragarding to returned
639         TextCheckingResult, Editor uses only the misspelled range data and
640         discards the replacement value. Then it asks the same value again
641         when showing suggestion/autocorrection.
642
643         It would be great if the marker holds the replacement text
644         and Editor can use it on suggesting a correction, without any re-request.
645         This is especially true in the case when it needs IPC messaging for spellchecking:
646         We can save one round-trip by this technique.
647
648         Here is actual change:
649
650         - Passed the replacement text to addMarker() for for misspelling markers.
651           Note that this is done only for the unified checker path because legacy
652           TextCheckerClient API doesn't provide such a replacement.
653         - Added an Internals API to retrieve a description text on a marker.
654
655         Test: editing/spelling/spelling-marker-description.html
656
657         * WebCore.exp.in:
658         * editing/Editor.cpp:
659         (WebCore::Editor::markAndReplaceFor):
660         * testing/Internals.cpp:
661         (WebCore::Internals::markerAt):
662         (WebCore):
663         (WebCore::Internals::markerRangeForNode):
664         (WebCore::Internals::markerDescriptionForNode):
665         * testing/Internals.h:
666         (WebCore):
667         (Internals):
668         * testing/Internals.idl:
669
670 2012-02-08  Eric Seidel  <eric@webkit.org>
671
672         Remove more cruft now that HTMLIsIndexElement is gone
673         https://bugs.webkit.org/show_bug.cgi?id=77887
674
675         Reviewed by Darin Adler.
676
677         Just removing dead code, thus no tests.
678         There is likely more to remove after this.
679
680         * CMakeLists.txt:
681         * GNUmakefile.list.am:
682         * Target.pri:
683         * WebCore.gypi:
684         * WebCore.vcproj/WebCore.vcproj:
685         * WebCore.xcodeproj/project.pbxproj:
686         * html/HTMLInputElement.cpp:
687         * html/HTMLInputElement.h:
688         (HTMLInputElement):
689         * html/InputType.cpp:
690         (WebCore::createInputTypeFactoryMap):
691         * html/InputType.h:
692         (InputTypeNames):
693         * html/IsIndexInputType.cpp: Removed.
694         * html/IsIndexInputType.h: Removed.
695         * rendering/HitTestResult.cpp:
696         (WebCore::HitTestResult::isContentEditable):
697
698 2012-02-08  Andreas Kling  <awesomekling@apple.com>
699
700         Increased style sharing for elements with presentation attributes.
701         <http://webkit.org/b/78199>
702
703         Reviewed by Antti Koivisto.
704
705         When determining whether two elements can share style, we can do a lot better.
706         Instead of comparing the attribute maps for exact equality, do a property-by-property
707         comparison of the attributeStyle() and the additionalAttributeStyle() (if any.)
708
709         This increases our style sharing hit rate and shaves 100ms off of each cycle on
710         Chromium's "Moz" page cycler test on my machine.
711
712         The function that compares attribute styles has O(n^2) runtime in the worst case,
713         where n is the number of properties in the styles. However, given the low number of
714         properties found in attribute styles, this should be fine, and it doesn't seem to
715         heat up in profiles.
716
717         * css/CSSStyleSelector.cpp:
718         (WebCore::attributeStylesEqual):
719         (WebCore::CSSStyleSelector::canShareStyleWithElement):
720
721 2012-02-08  Raymond Liu  <raymond.liu@intel.com>
722
723         Fix the caculation of preDelayFrames in DynamicsCompressorKernel
724         https://bugs.webkit.org/show_bug.cgi?id=78057
725
726         Reviewed by Chris Rogers.
727
728         No new tests required.
729
730         * platform/audio/DynamicsCompressorKernel.cpp:
731         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
732
733 2012-02-08  Adam Klein  <adamk@chromium.org>
734
735         DOM mutations should not be delivered on worker threads
736         https://bugs.webkit.org/show_bug.cgi?id=77898
737
738         Reviewed by Dmitry Titov.
739
740         In V8RecursionScope, only call WebKitMutationObserver::deliverAllMutations
741         if in a Document context.
742
743         This is accomplished through a change to V8Proxy::instrumentedCallFunction
744         (which now takes a Frame* instead of a Page*), requiring an update to all
745         callers of that function (accounting for the majority of files changed
746         in this patch).
747
748         Added ASSERT(isMainThread()) in a deliverAllMutations to confirm that
749         it's no longer called on worker threads, and in enqueueMutationRecord,
750         where the same global store of active observers is accessed.
751
752         See also http://crbug.com/112586, where the problem was initially
753         reported.
754
755         * bindings/v8/ScriptFunctionCall.cpp:
756         (WebCore::ScriptCallback::call):
757         * bindings/v8/V8NodeFilterCondition.cpp:
758         (WebCore::V8NodeFilterCondition::acceptNode):
759         * bindings/v8/V8Proxy.cpp:
760         (WebCore::V8Proxy::runScript):
761         (WebCore::V8Proxy::callFunction):
762         (WebCore::V8Proxy::instrumentedCallFunction):
763         * bindings/v8/V8Proxy.h:
764         (WebCore):
765         (V8Proxy):
766         * bindings/v8/V8RecursionScope.cpp:
767         (WebCore::V8RecursionScope::didLeaveScriptContext):
768         * bindings/v8/V8RecursionScope.h:
769         (WebCore):
770         (WebCore::V8RecursionScope::V8RecursionScope):
771         (V8RecursionScope):
772         (WebCore::V8RecursionScope::~V8RecursionScope):
773         * bindings/v8/V8WindowErrorHandler.cpp:
774         (WebCore::V8WindowErrorHandler::callListenerFunction):
775         * bindings/v8/custom/V8CustomVoidCallback.cpp:
776         (WebCore::invokeCallback):
777         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
778         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
779         * dom/WebKitMutationObserver.cpp:
780         (WebCore::WebKitMutationObserver::enqueueMutationRecord):
781         (WebCore::WebKitMutationObserver::deliverAllMutations):
782
783 2012-02-08  Anders Carlsson  <andersca@apple.com>
784
785         Don't use the wheel event handler count to track if a page has horizontal scrollbars
786         https://bugs.webkit.org/show_bug.cgi?id=78192
787
788         Reviewed by Andreas Kling.
789
790         Stop calling Document::didAddWheelEventHandler and Document::didRemoveWheelEventHandler when
791         adding and removing scrollbars.
792
793         * page/FrameView.cpp:
794         * page/FrameView.h:
795         (FrameView):
796         * rendering/RenderLayer.cpp:
797         * rendering/RenderLayer.h:
798
799 2012-02-08  Igor Oliveira  <igor.o@sisa.samsung.com>
800
801         Implement reverse animation direction
802
803         Implement reverse animation direction
804         https://bugs.webkit.org/show_bug.cgi?id=60525
805
806         Implement reverse and alternate-reverse direction.
807
808         Reviewed by Dean Jackson.
809
810         Tests: animations/animation-direction-alternate-reverse.html
811                animations/animation-direction-reverse.html
812                animations/fill-mode-reverse.html
813
814         * css/CSSParser.cpp:
815         (WebCore::CSSParser::parseAnimationDirection):
816         * css/CSSStyleSelector.cpp:
817         (WebCore::CSSStyleSelector::mapAnimationDirection):
818         * css/CSSValueKeywords.in:
819         * page/WebKitAnimation.cpp:
820         (WebCore::WebKitAnimation::direction):
821         * page/WebKitAnimation.h:
822         * page/animation/AnimationBase.cpp:
823         (WebCore::AnimationBase::fractionalTime):
824         * platform/animation/Animation.h:
825         (Animation):
826         * platform/graphics/texmap/TextureMapperAnimation.cpp:
827         (WebCore):
828         (WebCore::shouldReverseAnimationValue):
829         (WebCore::normalizedAnimationValue):
830
831 2012-02-08  James Robinson  <jamesr@chromium.org>
832
833         [chromium] Avoid creating a temporary GraphicsContext3D if someone requests the WebView's GraphicsContext3D before initialization is complete
834         https://bugs.webkit.org/show_bug.cgi?id=78154
835
836         Reviewed by Kenneth Russell.
837
838         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
839         (WebCore::CCSingleThreadProxy::context):
840
841 2012-02-08  David Hyatt  <hyatt@apple.com>
842
843         https://bugs.webkit.org/show_bug.cgi?id=78157
844         
845         Make multi-column layout work with line grids that are outside of the multi-column
846         block.
847
848         Reviewed by Dan Bernstein.
849
850         Added new tests in fast/line-grid.
851
852         * rendering/LayoutState.cpp:
853         (WebCore::LayoutState::LayoutState):
854         (WebCore::LayoutState::propagateLineGridInfo):
855         (WebCore::LayoutState::establishLineGrid):
856         (WebCore):
857         (WebCore::LayoutState::computeLineGridPaginationOrigin):
858         * rendering/LayoutState.h:
859         (WebCore::LayoutState::LayoutState):
860         (WebCore::LayoutState::lineGrid):
861         (WebCore::LayoutState::lineGridOffset):
862         (WebCore::LayoutState::lineGridPaginationOrigin):
863         (WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
864         (LayoutState):
865         * rendering/RenderBlock.cpp:
866         (WebCore::RenderBlock::layoutBlockChildren):
867         * rendering/RenderBlockLineLayout.cpp:
868         (WebCore::RenderBlock::layoutInlineChildren):
869         * rendering/RenderView.h:
870         (WebCore::RenderView::pushLayoutState):
871         * rendering/RootInlineBox.cpp:
872         (WebCore::RootInlineBox::lineGridSnapAdjustment):
873
874 2012-02-08  Matthew Delaney  <mdelaney@apple.com>
875
876         GeneratorGeneratedImage::drawPattern does not factor in its destination context's scale when generating its image tiles
877
878         https://bugs.webkit.org/show_bug.cgi?id=67729
879         <rdar://problem/10087050>
880
881         Reviewed by Beth Dakin.
882
883         No new tests, current pixel tests will cover this. Though some pixel results might improve to become less pixel-y.
884
885         * platform/graphics/GeneratorGeneratedImage.cpp:
886         (WebCore::GeneratorGeneratedImage::draw): Updated context to destContext for consistency.
887         (WebCore::GeneratorGeneratedImage::drawPattern): Taught drawPattern about the destination
888         scale factor to avoid having low-res generated images such as gradients in certain cases.
889         * platform/graphics/GraphicsContext.cpp:
890         (WebCore::GraphicsContext::createCompatibleBuffer): Have the image buffer match the
891         context acceleration setting as well.
892
893 2012-02-08  Adam Klein  <adamk@chromium.org>
894
895         Simplify and correct mutation delivery timing for JSC
896         https://bugs.webkit.org/show_bug.cgi?id=78172
897
898         Reviewed by Adam Barth.
899
900         Instead of keeping a static recursion counter in JSMainThreadExecState,
901         simply wait for a state change from non-null ExecState to null ExecState.
902         Because s_mainThreadState is initially null, this equivalent to
903         waiting for s_recursionLevel to rewind to zero.
904
905         This also properly handles the usage of JSMainThreadNullState (and
906         does not do mutation delivery), since that class is only used by
907         non-JS bindings. Now fast/mutation/end-of-task-delivery.html properly
908         fails, whereas it was passing before due to usage of the ObjC DOM API
909         from DumpRenderTree.
910
911         * bindings/js/JSMainThreadExecState.cpp:
912         (WebCore):
913         * bindings/js/JSMainThreadExecState.h: Added a comment explaining the purpose of JSMainThreadNullState.
914         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
915         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
916         (JSMainThreadExecState):
917         (WebCore):
918
919 2012-02-08  Kentaro Hara  <haraken@chromium.org>
920
921         Remove [ConvertToString] from CodeGeneratorCPP.pm and rename
922         it to [ObjCImplementedAsUnsignedLong]
923         https://bugs.webkit.org/show_bug.cgi?id=78100
924
925         Reviewed by Eric Seidel.
926
927         Now [ConvertToString] is used by ObjC's HTMLElement.size only.
928         This patch removes [ConvertToString] code from CodeGeneratorCPP.pm,
929         and renames [ConvertToString] to [ObjCImplementedAsUnsignedLong].
930
931         No tests. No change in behavior.
932
933         * bindings/scripts/CodeGeneratorCPP.pm:
934         (GenerateImplementation):
935         * bindings/scripts/CodeGeneratorObjC.pm:
936         (GenerateImplementation):
937         * html/HTMLInputElement.idl: Removed FIXME comment, because the latest spec
938         says HTMLInputElement.size should be unsigned long.
939         (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#the-input-element)
940
941 2012-02-08  Leo Yang  <leo.yang@torchmobile.com.cn>
942
943         REGRESSION(r84194): Build fails when turning on ENABLE_FILE_SYSTEM
944         https://bugs.webkit.org/show_bug.cgi?id=78088
945
946         Reviewed by Antonio Gomes.
947
948         WebCore::getDOMObjectWrapper was changed to WebCore::wrap in r84194.
949         Adapt to this change in JSEntryCustom.cpp and JSEntrySyncCustom.cpp.
950
951         Build fix, no new tests.
952
953         * bindings/js/JSEntryCustom.cpp:
954         (WebCore::toJS):
955         * bindings/js/JSEntrySyncCustom.cpp:
956         (WebCore::toJS):
957
958 2012-02-08  Dana Jansens  <danakj@chromium.org>
959
960         [Chromium] Fix opaque tracking for box shadows and non-composited child elements
961         https://bugs.webkit.org/show_bug.cgi?id=78073
962
963         Reviewed by Stephen White.
964
965         Tests: compositing/culling/scrolled-within-boxshadow.html
966                compositing/culling/translated-boxshadow.html
967
968         Unit tests: PlatformContextSkiaTest.cpp
969
970         When painting a box shadow, a filter is applied to the skia canvas, that can make
971         pixels painted with an opaque color end up non-opaque. So consider image/mask/color
972         filters when deciding if a paint is opaque.
973
974         Also when painting the background of an element with a box shadow, the background is
975         painted with a transform on the skia canvas based on the size of the box shadow. This
976         transform needs to be considered when tracking an opaque paint.
977
978         However, when a layer's contentRect position is non-zero, we translate the GraphicsContext
979         to put the contentRect at 0,0 in the skia canvas. For tracking opaque regions in the resulting
980         layer, we need to unto this translation. Scaling can also occur which we must undo. So we pass
981         the transform in to PlatformContextSkia to go from the SkCanvas back to the layer's content
982         coordinate space. Opaque paints can then be tracked in the layer's content space rather than
983         in the skia canvas space.
984
985         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
986         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
987         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
988         (WebCore::CanvasLayerTextureUpdater::paintContents):
989         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
990         (WebCore):
991         (CanvasLayerTextureUpdater):
992         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
993         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
994         * platform/graphics/skia/OpaqueRegionSkia.cpp:
995         (WebCore::paintIsOpaque):
996         (WebCore::OpaqueRegionSkia::didDrawRect):
997         (WebCore::OpaqueRegionSkia::didDrawPath):
998         (WebCore::OpaqueRegionSkia::didDrawPoints):
999         (WebCore::OpaqueRegionSkia::didDrawBounded):
1000         (WebCore::OpaqueRegionSkia::didDraw):
1001         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
1002         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
1003         * platform/graphics/skia/OpaqueRegionSkia.h:
1004         (WebCore):
1005         (OpaqueRegionSkia):
1006         * platform/graphics/skia/PlatformContextSkia.cpp:
1007         (WebCore::PlatformContextSkia::didDrawRect):
1008         (WebCore::PlatformContextSkia::didDrawPath):
1009         (WebCore::PlatformContextSkia::didDrawPoints):
1010         (WebCore::PlatformContextSkia::didDrawBounded):
1011         * platform/graphics/skia/PlatformContextSkia.h:
1012         (PlatformContextSkia):
1013         (WebCore::PlatformContextSkia::setOpaqueRegionTransform):
1014
1015 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1016
1017         Remove [CustomHeader] from CanvasPixelArray and rename [CustomHeader] to [JSCustomHeader]
1018         https://bugs.webkit.org/show_bug.cgi?id=78089
1019
1020         Reviewed by Adam Barth.
1021
1022         This patch removes [CustomHeader] from CanvasPixelArray.idl, since CanvasPixelArrayCustom.h
1023         does not exist. (The reason why missing CanvasPixelArrayCustom.h has not caused build failure
1024         is that [CustomHeader] has been JSC-specific and JSC has not enabled CanvasPixelArray.)
1025         Also, this patch renames [CustomHeader] to [JSCustomHeader], since whether a given class
1026         should have custom header or not will depend on JavaScript bindings.
1027
1028         No tests. No change in behavior.
1029
1030         * bindings/scripts/CodeGeneratorJS.pm:
1031         (GenerateHeader):
1032         * dom/Node.idl:
1033         * html/canvas/CanvasPixelArray.idl:
1034
1035 2012-02-08  Zalan Bujtas  <zbujtas@gmail.com>
1036
1037         Dispatch updateViewportArguments(), when Document is finished
1038         restoring from page cache.
1039
1040         https://bugs.webkit.org/show_bug.cgi?id=77943
1041
1042         Reviewed by Kenneth Rohde Christiansen.
1043
1044         Move updateViewportArguments() call from setPageInCache() to
1045         documentDidResumeFromPageCache() to ensure, that the Document is
1046         fully resumed from the page cache and attached to the mainframe,
1047         when the viewport arguments are updated.
1048
1049         No tests. No change in behaviour.
1050
1051         * dom/Document.cpp:
1052         (WebCore::Document::setInPageCache):
1053         (WebCore::Document::documentDidResumeFromPageCache):
1054
1055 2012-02-08  Shawn Singh  <shawnsingh@chromium.org>
1056
1057         [chromium] Remove incorrect early exit in CCDamageTracker
1058         https://bugs.webkit.org/show_bug.cgi?id=76924
1059
1060         Reviewed by James Robinson.
1061
1062         New unit test added to CCDamageTrackerTest.cpp
1063
1064         This patch does three things: (1) adds unit test that demonstrates
1065         that early exiting in CCDamageTracker is wrong, (2) removes the
1066         early exit and cleans up the surrounding code, and (3) re-names
1067         several functions in CCDamageTracker so that state updating is
1068         implied by the name, and not just a bad side-effect of the functions.
1069
1070         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1071         (WebCore::CCDamageTracker::updateDamageTrackingState):
1072         (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
1073         (WebCore::CCDamageTracker::trackDamageFromSurfaceMask):
1074         (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
1075         * platform/graphics/chromium/cc/CCDamageTracker.h:
1076         (CCDamageTracker):
1077         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1078         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
1079
1080 2012-02-08  James Robinson  <jamesr@chromium.org>
1081
1082         [chromium] Check that we can make the SharedGraphicsContext3D current before returning
1083         https://bugs.webkit.org/show_bug.cgi?id=78142
1084
1085         Reviewed by Stephen White.
1086
1087         If we can't make the context current, we can't use it.
1088
1089         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1090         (WebCore::SharedGraphicsContext3D::get):
1091
1092 2012-02-08  Abhishek Arya  <inferno@chromium.org>
1093
1094         Crash in Node::normalize.
1095         https://bugs.webkit.org/show_bug.cgi?id=78135
1096
1097         Reviewed by Ryosuke Niwa.
1098
1099         No new tests. Original testcase does not reduce to manageable
1100         extent.
1101
1102         * dom/Node.cpp:
1103         (WebCore::Node::normalize):
1104
1105 2012-02-08  Antoine Labour  <piman@chromium.org>
1106
1107         Make WebGL context current early to check validity
1108         https://bugs.webkit.org/show_bug.cgi?id=78141
1109
1110         Reviewed by James Robinson.
1111
1112         Covered by existing tests
1113
1114         * html/canvas/WebGLRenderingContext.cpp:
1115         (WebCore):
1116         (WebCore::WebGLRenderingContext::create):
1117
1118 2012-02-08  Jonathan Backer  <backer@chromium.org>
1119
1120         [chromium] Disable root layer clears on release builds.
1121         https://bugs.webkit.org/show_bug.cgi?id=77478
1122
1123         Reviewed by James Robinson.
1124
1125         * platform/graphics/chromium/LayerRendererChromium.cpp:
1126         (WebCore::LayerRendererChromium::clearRenderSurface):
1127         (WebCore::LayerRendererChromium::drawRenderPass):
1128         * platform/graphics/chromium/LayerRendererChromium.h:
1129         (LayerRendererChromium):
1130
1131 2012-02-08  Anders Carlsson  <andersca@apple.com>
1132
1133         Add a content shadow layer to the render layer compositor
1134         https://bugs.webkit.org/show_bug.cgi?id=78133
1135         <rdar://problem/10797742>
1136
1137         Reviewed by Beth Dakin.
1138
1139         Have the render layer compositor optionally create a content shadow layer,
1140         and add a ScrollbarTheme::setUpContentShadowLayer member function that subclasses
1141         can use to set content shadow properties.
1142
1143         * platform/mac/ScrollbarThemeMac.mm:
1144         (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
1145         Set the layer properties once, and set the shadow path on every call, since we know that this
1146         function will be called every time the size of the content shadow layer changes.
1147
1148         * rendering/RenderLayerCompositor.cpp:
1149         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1150         Reposition the content shadow layer, and call ScrollbarTheme::setUpContentShadowLayer if the size changes.
1151
1152         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
1153         Add new helper function.
1154
1155         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1156         Create a content shadow layer if needed.
1157
1158 2012-02-07  Andy Estes  <aestes@apple.com>
1159
1160         REGRESSION (r102983): ClicktoFlash drawing of old style youtube embeds missing until resize
1161         https://bugs.webkit.org/show_bug.cgi?id=77167
1162
1163         Reviewed by Eric Seidel.
1164
1165         Test: plugins/layout-in-beforeload-listener-affects-plugin-loading.html
1166
1167         r102983 made FrameView::updateWidgets() check if the DOM node actually
1168         needs a widget update before calling updateWidget(). Due to historical
1169         reasons, however, updateWidget() can be legitimately called twice: once
1170         at attach time for non-Netscape plug-ins and once at layout time for
1171         Netscape plug-ins.
1172
1173         If the widget represents a Netscape plug-in, but updateWidget() is
1174         called for the CreateOnlyNonNetscapePlugins case after the DOM node was
1175         marked as needing an update, updateWidget() will clear the update flag
1176         and prevent a second call to updateWidget() at layout time for the
1177         CreateAnyWidgetType case.
1178
1179         As much as I loathe adding to the code duplication between
1180         HTMLEmbedElement::updateWidget() and HTMLObjectElement::updateWidget(),
1181         the simplest solution seems to be marking the DOM node as needing
1182         update in the case where we are calling updateWidget() for the
1183         CreateOnlyNonNetscapePlugins case and we know we will be loading a
1184         Netscape plug-in.
1185
1186         * html/HTMLEmbedElement.cpp:
1187         (WebCore::HTMLEmbedElement::updateWidget): Call
1188         setNeedsWidgetUpdate(true) if pluginCreationOption is
1189         CreateOnlyNonNetscapePlugins but we will load a Netscape plug-in.
1190         * html/HTMLObjectElement.cpp:
1191         (WebCore::HTMLObjectElement::updateWidget): Ditto.
1192         * html/HTMLPlugInElement.cpp:
1193         (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent): Remove an
1194         invalid assertion that prevents the layout test from running in a Debug
1195         configuration.
1196
1197 2012-02-07  Ojan Vafai  <ojan@chromium.org>
1198
1199         Floated flexboxes render as regular RenderBlocks
1200         https://bugs.webkit.org/show_bug.cgi?id=77909
1201
1202         Reviewed by Eric Seidel.
1203
1204         Add grid/flexbox cases to adjusting the display of floated/positioned
1205         elements. Also, move this logic into a switch statement. This makes
1206         the code more readable and gives compile warnings when new display types
1207         are added that aren't handled here.
1208
1209         Test: css3/flexbox/floated-flexbox.html
1210
1211         * css/CSSStyleSelector.cpp:
1212         (WebCore::adjustDisplay):
1213         (WebCore):
1214         (WebCore::CSSStyleSelector::adjustRenderStyle):
1215
1216 2012-02-08  Dirk Schulze  <krit@webkit.org>
1217
1218         viewBox on nested SVG causes wrong content size for relative values
1219         https://bugs.webkit.org/show_bug.cgi?id=69459
1220
1221         Reviewed by Nikolas.
1222
1223         In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
1224         with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
1225         Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.
1226
1227         With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
1228         need a relayout.
1229
1230         Test: inner-svg-change-viewBox.svg
1231
1232         * rendering/svg/RenderSVGContainer.cpp:
1233         (WebCore::RenderSVGContainer::layout):
1234         * rendering/svg/RenderSVGContainer.h:
1235         (RenderSVGContainer):
1236         (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
1237         * rendering/svg/RenderSVGRoot.cpp:
1238         (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
1239         * rendering/svg/RenderSVGViewportContainer.cpp:
1240         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
1241         (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
1242         (WebCore):
1243         * rendering/svg/RenderSVGViewportContainer.h:
1244         (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
1245         (RenderSVGViewportContainer):
1246         (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
1247         (WebCore):
1248         * rendering/svg/SVGRenderSupport.cpp:
1249         (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
1250         (WebCore):
1251         (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
1252         * svg/SVGSVGElement.cpp:
1253         (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.
1254
1255 2012-02-08  Gregg Tavares  <gman@google.com>
1256
1257         Implement new WEBGL compressed texture extensions
1258         https://bugs.webkit.org/show_bug.cgi?id=77066
1259
1260         This removes the old experimental compressed
1261         texture extension and implements the first new
1262         one.
1263
1264         A test is in the WebGL conformance tests in
1265         extensions/webgl-compressed-texture-s3tc.html
1266         and will be copied here in a future patch.
1267
1268         Reviewed by Kenneth Russell.
1269
1270         No new tests. Test coming in future patch.
1271
1272         * CMakeLists.txt:
1273         * DerivedSources.make:
1274         * GNUmakefile.list.am:
1275         * Target.pri:
1276         * WebCore.gypi:
1277         * WebCore.xcodeproj/project.pbxproj:
1278         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1279         (WebCore::toJS):
1280         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1281         (WebCore::toV8Object):
1282         * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
1283         (WebCore):
1284         (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
1285         (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
1286         (WebCore::WebGLCompressedTextureS3TC::getName):
1287         (WebCore::WebGLCompressedTextureS3TC::create):
1288         (WebCore::WebGLCompressedTextureS3TC::supported):
1289         * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1290         (WebCore):
1291         (WebGLCompressedTextureS3TC):
1292         * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
1293         * html/canvas/WebGLCompressedTextures.cpp: Removed.
1294         * html/canvas/WebGLCompressedTextures.h: Removed.
1295         * html/canvas/WebGLExtension.h:
1296         * html/canvas/WebGLGetInfo.cpp:
1297         (WebCore::WebGLGetInfo::WebGLGetInfo):
1298         (WebCore):
1299         (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
1300         * html/canvas/WebGLGetInfo.h:
1301         * html/canvas/WebGLObject.cpp:
1302         * html/canvas/WebGLRenderingContext.cpp:
1303         (WebCore):
1304         (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
1305         (WebCore::WebGLRenderingContext::compressedTexImage2D):
1306         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
1307         (WebCore::WebGLRenderingContext::getExtension):
1308         (WebCore::WebGLRenderingContext::getParameter):
1309         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1310         (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
1311         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
1312         (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
1313         (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
1314         * html/canvas/WebGLRenderingContext.h:
1315         (WebCore):
1316         (WebGLRenderingContext):
1317         * html/canvas/WebGLRenderingContext.idl:
1318
1319 2012-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
1320
1321         Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
1322         https://bugs.webkit.org/show_bug.cgi?id=78113
1323
1324         Retaining path list was replaced with Retaining tree some time ago.
1325         But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
1326
1327         Drive by fix: sort doesn't work in retaining tree panel.
1328         Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
1329
1330         Reviewed by Yury Semikhatsky.
1331
1332         * inspector/front-end/DetailedHeapshotGridNodes.js:
1333         (WebInspector.HeapSnapshotObjectNode):
1334         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
1335         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
1336         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
1337         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
1338         * inspector/front-end/DetailedHeapshotView.js:
1339         (WebInspector.HeapSnapshotContainmentDataGrid):
1340         (WebInspector.HeapSnapshotRetainmentDataGrid):
1341         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
1342         * inspector/front-end/HeapSnapshot.js:
1343         (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
1344         (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
1345         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
1346         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
1347         (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
1348         (WebInspector.HeapSnapshot.prototype._init):
1349         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1350         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
1351         (WebInspector.HeapSnapshot.prototype._bfs):
1352         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
1353         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
1354         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
1355         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
1356         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
1357         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
1358         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
1359         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
1360         * inspector/front-end/heapProfiler.css:
1361         (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
1362
1363 2012-02-08  Anders Carlsson  <andersca@apple.com>
1364
1365         Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
1366         https://bugs.webkit.org/show_bug.cgi?id=78126
1367
1368         Reviewed by Dan Bernstein.
1369
1370         This broke in r106977 when I tried to change an early return into an ASSERT,
1371         so let's bring back the early return.
1372
1373         * page/FrameView.cpp:
1374         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1375
1376 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1377
1378         Unreviewed, rolling out r106920, r106924, r106933, r106939,
1379         and r107090.
1380         http://trac.webkit.org/changeset/106920
1381         http://trac.webkit.org/changeset/106924
1382         http://trac.webkit.org/changeset/106933
1383         http://trac.webkit.org/changeset/106939
1384         http://trac.webkit.org/changeset/107090
1385         https://bugs.webkit.org/show_bug.cgi?id=78124
1386
1387         Something is completely wrong this change (Requested by
1388         Ossy_gardener on #webkit).
1389
1390         * platform/FileSystem.h:
1391         (WebCore):
1392         * platform/qt/FileSystemQt.cpp:
1393
1394 2012-02-08  David Hyatt  <hyatt@apple.com>
1395
1396         https://bugs.webkit.org/show_bug.cgi?id=78122
1397         
1398         Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
1399         text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
1400         centering headers in a line grid.
1401
1402         Reviewed by Adam Roben.
1403
1404         Added a new test in fast/line-grid.
1405
1406         * rendering/RootInlineBox.cpp:
1407         (WebCore::RootInlineBox::lineGridSnapAdjustment):
1408
1409 2012-02-08  Cary Clark  <caryclark@google.com>
1410
1411         [Skia Mac] Make misspelling underline dots unclipped
1412         https://bugs.webkit.org/show_bug.cgi?id=78117
1413         http://code.google.com/p/chromium/issues/detail?id=113154
1414
1415         Reviewed by Stephen White.
1416
1417         No new tests. Existing layout tests cover this.
1418
1419         As is done on the CoreGraphics Mac platform, adjust the
1420         underline width to remove partial dots, not including the
1421         trailing transparent pixel column.
1422
1423         * platform/graphics/skia/GraphicsContextSkia.cpp:
1424         (WebCore::GraphicsContext::drawLineForTextChecking):
1425
1426 2012-02-08  Pavel Feldman  <pfeldman@google.com>
1427
1428         Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
1429         https://bugs.webkit.org/show_bug.cgi?id=78116
1430
1431         Reviewed by Yury Semikhatsky.
1432
1433         * inspector/front-end/DOMAgent.js:
1434         (WebInspector.DOMNode):
1435         (WebInspector.DOMDocument):
1436         (WebInspector.DOMAgent.prototype._setDocument):
1437         (WebInspector.DOMAgent.prototype._setDetachedRoot):
1438         (WebInspector.DOMAgent.prototype._setChildNodes):
1439         (WebInspector.DOMAgent.prototype._childNodeRemoved):
1440         (WebInspector.DOMAgent.prototype._unbind):
1441
1442 2012-02-08  Peter Rybin  <peter.rybin@gmail.com>
1443
1444         Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
1445         https://bugs.webkit.org/show_bug.cgi?id=77967
1446
1447         Reviewed by Yury Semikhatsky.
1448
1449         Condition for RefPtr-based types added. This is more-or-less a hack
1450         and it's should be redone together with the switch to type-safe API.
1451
1452         * inspector/CodeGeneratorInspector.py:
1453         (Generator.process_command):
1454
1455 2012-02-07  Yury Semikhatsky  <yurys@chromium.org>
1456
1457         Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
1458         https://bugs.webkit.org/show_bug.cgi?id=77972
1459
1460         When object popover is shown the object under cursor is resolved and its
1461         wrapper is put into 'popover' object wrapper group. The group is discarded
1462         when the popover closes.
1463
1464         Reviewed by Pavel Feldman.
1465
1466         * bindings/js/ScriptProfiler.cpp:
1467         (WebCore::ScriptProfiler::objectByHeapObjectId):
1468         * bindings/js/ScriptProfiler.h:
1469         (WebCore):
1470         (ScriptProfiler):
1471         * bindings/v8/ScriptProfiler.cpp:
1472         (WebCore::ScriptProfiler::objectByHeapObjectId):
1473         (WebCore):
1474         * bindings/v8/ScriptProfiler.h:
1475         (WebCore):
1476         (ScriptProfiler):
1477         * inspector/Inspector.json:
1478         * inspector/InspectorProfilerAgent.cpp:
1479         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
1480         * inspector/InspectorProfilerAgent.h:
1481         (InspectorProfilerAgent):
1482         * inspector/front-end/DetailedHeapshotGridNodes.js:
1483         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
1484         * inspector/front-end/DetailedHeapshotView.js:
1485         (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
1486         * inspector/front-end/JavaScriptSourceFrame.js:
1487         (WebInspector.JavaScriptSourceFrame):
1488         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
1489         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
1490         * inspector/front-end/ObjectPopoverHelper.js:
1491         (WebInspector.ObjectPopoverHelper):
1492         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
1493         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
1494
1495 2012-02-08  Mario Sanchez Prada  <msanchez@igalia.com>
1496
1497         [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
1498         https://bugs.webkit.org/show_bug.cgi?id=73431
1499
1500         Reviewed by Chris Fleizach.
1501
1502         Don't replace item's markers with the objectReplacementCharacter
1503         character, as they will be treated in an special way later on.
1504
1505         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
1506         (textForRenderer): Don't append the objectReplacementCharacter
1507         character for list item's markers.
1508
1509 2012-02-08  Pavel Feldman  <pfeldman@google.com>
1510
1511         Web Inspector: do not clear entire tree map upon last element deletion.
1512         https://bugs.webkit.org/show_bug.cgi?id=78112
1513
1514         Reviewed by Yury Semikhatsky.
1515
1516         * inspector/front-end/treeoutline.js:
1517         (TreeOutline.prototype._forgetChildrenRecursive):
1518
1519 2012-02-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1520
1521         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
1522         https://bugs.webkit.org/show_bug.cgi?id=74386
1523
1524         Reviewed by Kentaro Hara.
1525
1526         Move createObjectURL & revokeObjectURL from DOMURL implementation to
1527         static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
1528
1529         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
1530         Already Existing:
1531             fast/files/revoke-blob-url.html
1532             fast/dom/window-domurl-crash.html
1533             fast/files/apply-blob-url-to-img.html
1534             fast/files/create-blob-url-crash.html
1535             fast/files/workers/inline-worker-via-blob-url.html
1536
1537         * GNUmakefile.list.am:
1538         * Target.pri:
1539         * WebCore.gypi:
1540         * WebCore.vcproj/WebCore.vcproj:
1541         * WebCore.xcodeproj/project.pbxproj:
1542         * dom/ScriptExecutionContext.cpp:
1543         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1544         (WebCore::ScriptExecutionContext::fileThread):
1545         (WebCore):
1546         (WebCore::ScriptExecutionContext::publicURLManager):
1547         * dom/ScriptExecutionContext.h:
1548         (WebCore):
1549         (ScriptExecutionContext):
1550         * html/DOMURL.cpp:
1551         (WebCore):
1552         (WebCore::DOMURL::createObjectURL): Changed to static.
1553         (WebCore::DOMURL::revokeObjectURL): ditto.
1554         * html/DOMURL.h:
1555         (DOMURL):
1556         (WebCore::DOMURL::create):
1557         * html/DOMURL.idl:
1558         * html/PublicURLManager.h: Added.
1559         (WebCore):
1560         (PublicURLManager):
1561         (WebCore::PublicURLManager::create):
1562         (WebCore::PublicURLManager::contextDestroyed):
1563         (WebCore::PublicURLManager::blobURLs):
1564         (WebCore::PublicURLManager::streamURLs):
1565         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
1566         (WebCore):
1567         * page/DOMWindow.h: ditto.
1568         (DOMWindow):
1569         * page/DOMWindow.idl:
1570         * workers/WorkerContext.cpp:
1571         (WebCore):
1572         * workers/WorkerContext.h:
1573         (WorkerContext):
1574         * workers/WorkerContext.idl:
1575
1576 2012-02-01  Brian Grinstead  <briangrinstead@gmail.com>
1577
1578         Web Inspector: Add changes for Spectrum colorpicker
1579         https://bugs.webkit.org/show_bug.cgi?id=75454
1580
1581         Reviewed by Pavel Feldman.
1582
1583         * inspector/front-end/Color.js:
1584         (WebInspector.Color.fromRGB):
1585         * inspector/front-end/utilities.js:
1586         (Element.prototype.totalOffsetLeft):
1587         (Element.prototype.totalOffsetTop):
1588         (Element.prototype.totalOffset):
1589         (Element.prototype.scrollOffset):
1590         ():
1591
1592 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
1593
1594         Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
1595         https://bugs.webkit.org/show_bug.cgi?id=78102
1596
1597         Reviewed by Vsevolod Vlasov.
1598
1599         * inspector/front-end/WatchExpressionsSidebarPane.js:
1600         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
1601
1602 2012-02-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
1603
1604         CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
1605         https://bugs.webkit.org/show_bug.cgi?id=69993
1606
1607         Reviewed by Simon Fraser.
1608
1609         The issue was that for overflow:scroll, currently webkit always places the horizontal
1610         and vertical scrollbar. But Since the listbox renderer handles its scrolling,
1611         we should not set scrollbar for list-box.
1612
1613         Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
1614                fast/forms/select-overflow-scroll-inherited.html
1615                fast/forms/select-overflow-scroll.html
1616
1617         * rendering/RenderBlock.cpp:
1618         (WebCore::RenderBlock::layoutBlock):
1619         * rendering/RenderLayer.cpp:
1620         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1621
1622 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
1623
1624         feImage doesn't invalidate when its target SVG element is animated
1625         https://bugs.webkit.org/show_bug.cgi?id=73860
1626
1627         Reviewed by Dirk Schulze.
1628
1629         Consider following testcase:
1630         <defs>
1631             <rect id="rect" fill="red" width="50" height="50"/>
1632             <filter id="filter">
1633                 <feImage xlink:href="#rect"/>
1634             </filter>
1635         </defs>
1636         <rect width="50" height="50" filter="url(#filter)"/>
1637
1638         If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
1639         doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
1640         a child of the <feImage/>. To get invalidations working for these situations, we have to track
1641         the referencingElement & referencedElement in SVGDocumentExtensions.
1642
1643         Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
1644
1645         Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
1646                svg/filters/feImage-late-indirect-update.svg
1647                svg/filters/feImage-mutliple-targets-id-change.svg
1648                svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
1649                svg/filters/feImage-target-attribute-change-with-use-indirection.svg
1650                svg/filters/feImage-target-attribute-change.svg
1651                svg/filters/feImage-target-inline-style-change.svg
1652                svg/filters/feImage-target-property-change.svg
1653                svg/filters/feImage-target-style-change.svg
1654
1655         * rendering/svg/RenderSVGResource.cpp:
1656         (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
1657         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
1658         * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
1659         * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
1660         (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
1661         (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
1662         (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
1663         (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
1664         * svg/SVGDocumentExtensions.h: Expose new methods.
1665         * svg/SVGElement.cpp:
1666         (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
1667         * svg/SVGFEImageElement.cpp:
1668         (WebCore::SVGFEImageElement::clearResourceReferences):
1669         (WebCore::SVGFEImageElement::buildPendingResource):
1670
1671 2012-02-08  Kihong Kwon  <kihong.kwon@samsung.com>
1672
1673         [EFL] Using string method instead of char* operation in the platformLanguage().
1674         https://bugs.webkit.org/show_bug.cgi?id=78077
1675
1676         Reviewed by Andreas Kling.
1677
1678         No new tests. Just fix a bug of platformLanguage function.
1679
1680         * platform/efl/LanguageEfl.cpp:
1681         (WebCore::platformLanguage):
1682         Change char* operation to string operation.
1683
1684 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
1685
1686         Web Inspector: Touch event emulation fails for iframes
1687         https://bugs.webkit.org/show_bug.cgi?id=77987
1688
1689         Reviewed by Pavel Feldman.
1690
1691         Test: fast/events/touch/emulated-touch-iframe.html
1692
1693         * page/EventHandler.cpp:
1694         (WebCore::EventHandler::handleMouseReleaseEvent):
1695
1696 2012-02-08  Andreas Kling  <awesomekling@apple.com>
1697
1698         StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
1699         <http://webkit.org/b/78068>
1700
1701         Rubber-stamped by Ryosuke Niwa.
1702
1703         Turns out that setProperty() with a CSSProperty has quite different behavior from
1704         the other setProperty() methods. We should probably clean that up (separately.)
1705         For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
1706         use setProperty(CSSProperty).
1707
1708         * dom/StyledElement.cpp:
1709         (WebCore::StyledElement::addCSSProperty):
1710         (WebCore::StyledElement::addCSSImageProperty):
1711
1712 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1713
1714         Unreviewed, rolling out r107050.
1715         http://trac.webkit.org/changeset/107050
1716         https://bugs.webkit.org/show_bug.cgi?id=78094
1717
1718         May crash editing tests (Requested by morrita on #webkit).
1719
1720         * html/HTMLDetailsElement.cpp:
1721         (WebCore::HTMLDetailsElement::createShadowSubtree):
1722         * html/HTMLKeygenElement.cpp:
1723         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1724         * html/HTMLMeterElement.cpp:
1725         (WebCore::HTMLMeterElement::createShadowSubtree):
1726         * html/HTMLProgressElement.cpp:
1727         (WebCore::HTMLProgressElement::createShadowSubtree):
1728         * html/HTMLSummaryElement.cpp:
1729         (WebCore::HTMLSummaryElement::createShadowSubtree):
1730         * html/HTMLTextAreaElement.cpp:
1731         (WebCore::HTMLTextAreaElement::createShadowSubtree):
1732
1733 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
1734
1735         [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
1736         https://bugs.webkit.org/show_bug.cgi?id=77995
1737
1738         Reviewed by Csaba Osztrogonác.
1739
1740         From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
1741         while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
1742         from frameDetached(). There's no point in redrawing there, so we should just stop it.
1743
1744         Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
1745
1746         * svg/graphics/SVGImage.cpp:
1747         (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
1748         (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
1749         * svg/graphics/SVGImage.h:
1750
1751 2012-02-08  Pablo Flouret  <pablof@motorola.com>
1752
1753         Add state attribute to history's dom interface.
1754         https://bugs.webkit.org/show_bug.cgi?id=76035
1755
1756         Reviewed by Kentaro Hara.
1757
1758         Tests: fast/loader/stateobjects/state-attribute-object-types.html
1759                fast/loader/stateobjects/state-attribute-only-one-deserialization.html
1760
1761         * bindings/js/JSHistoryCustom.cpp:
1762         (WebCore::JSHistory::state):
1763         (WebCore):
1764         (WebCore::JSHistory::pushState):
1765         (WebCore::JSHistory::replaceState):
1766         * bindings/v8/custom/V8HistoryCustom.cpp:
1767         (WebCore::V8History::stateAccessorGetter):
1768         (WebCore):
1769         (WebCore::V8History::pushStateCallback):
1770         (WebCore::V8History::replaceStateCallback):
1771         * page/History.cpp:
1772         (WebCore::History::History):
1773         (WebCore::History::state):
1774         (WebCore):
1775         (WebCore::History::stateInternal):
1776         (WebCore::History::stateChanged):
1777         * page/History.h:
1778         (History):
1779         * page/History.idl:
1780
1781 2012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
1782
1783         SVGLoad event fires too early
1784         https://bugs.webkit.org/show_bug.cgi?id=78084
1785
1786         Reviewed by Hajime Morita.
1787
1788         SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
1789
1790         We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
1791         which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
1792         thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
1793         <svg onload="alert(evt.target)"> will say SVGSVGElement).
1794
1795         Consider:
1796         <svg onload="alert('1')>
1797         <g onload="alert('2)">
1798         <rect onload="alert('3')"/>
1799         </svg>
1800
1801         As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
1802         So first you'll see '3', then '2', then '1'.
1803
1804         Using:
1805         <svg onload="alert('1')>
1806         <g onload="alert('2)">
1807         <image xlink:href="someExternal.jpg" onload="alert('3')"/>
1808         </svg>
1809
1810         will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
1811         then '3', then '2', all as expected and specified in SVG.
1812
1813         http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
1814         "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
1815         ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
1816         external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
1817         external resources are not required to be ready for the event to be triggered."
1818
1819         What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
1820         element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
1821         </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
1822         WebKit, as we're not yet "ready to render".
1823
1824         HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
1825         At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
1826         equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
1827
1828         Covered by existing tests.
1829
1830         * dom/Document.cpp:
1831         (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
1832         * svg/SVGDocumentExtensions.cpp:
1833         (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
1834         There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
1835         * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
1836         * svg/SVGElement.cpp:
1837         (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
1838         (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
1839         (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
1840         * svg/SVGElement.h: Add isOutermostSVGSVGElement().
1841         * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
1842         (WebCore::SVGSVGElement::currentScale):
1843         (WebCore::SVGSVGElement::setCurrentScale):
1844         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
1845         (WebCore::SVGSVGElement::createRenderer):
1846         * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
1847         * svg/SVGStyledElement.cpp:
1848         (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
1849
1850 2012-02-08  Alexander Pavlov  <apavlov@chromium.org>
1851
1852         Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
1853         https://bugs.webkit.org/show_bug.cgi?id=78090
1854
1855         Reviewed by Vsevolod Vlasov.
1856
1857         * inspector/InspectorDOMAgent.cpp:
1858         (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
1859
1860 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
1861
1862         Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
1863         https://bugs.webkit.org/show_bug.cgi?id=77865
1864
1865         Reviewed by Pavel Feldman.
1866
1867         Test: inspector/styles/lazy-computed-style.html
1868
1869         * inspector/front-end/StylesSidebarPane.js:
1870         (WebInspector.StylesSidebarPane):
1871         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
1872         (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
1873         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
1874         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
1875
1876 2012-02-08  Tommy Widenflycht  <tommyw@google.com>
1877
1878         MediaStream API: Adding the onstatechange callback to PeerConnection
1879         https://bugs.webkit.org/show_bug.cgi?id=77954
1880
1881         When readyState changes a callback should be triggered.
1882
1883         Reviewed by Adam Barth.
1884
1885         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
1886
1887         * dom/EventNames.h:
1888         (WebCore):
1889         * mediastream/PeerConnection.cpp:
1890         (WebCore::PeerConnection::changeReadyState):
1891         * mediastream/PeerConnection.h:
1892         (PeerConnection):
1893         (WebCore::PeerConnection::didChangeState):
1894         * mediastream/PeerConnection.idl:
1895         * platform/mediastream/PeerConnectionHandlerClient.h:
1896         (PeerConnectionHandlerClient):
1897
1898 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1899
1900         Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
1901         https://bugs.webkit.org/show_bug.cgi?id=77963
1902
1903         Reviewed by Adam Barth.
1904
1905         This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
1906         for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
1907
1908         No tests. No change in behavior.
1909
1910         * bindings/scripts/CodeGeneratorJS.pm:
1911         (GenerateHeader):
1912         (GenerateImplementation):
1913         * bindings/scripts/CodeGeneratorV8.pm:
1914         (GenerateHeaderNamedAndIndexedPropertyAccessors):
1915         (GenerateImplementationIndexer):
1916         (GenerateImplementationNamedPropertyGetter):
1917         * bindings/scripts/test/TestInterface.idl:
1918         * css/CSSStyleDeclaration.idl:
1919         * dom/DOMStringMap.idl:
1920         * html/HTMLAppletElement.idl:
1921         * html/HTMLEmbedElement.idl:
1922         * html/HTMLObjectElement.idl:
1923         * page/History.idl:
1924         * page/Location.idl:
1925         * storage/Storage.idl:
1926
1927 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1928
1929         Replace [CheckNodeSecurity] with [CheckAccessToNode]
1930         https://bugs.webkit.org/show_bug.cgi?id=77971
1931
1932         Reviewed by Adam Barth.
1933
1934         [CheckNodeSecurity] is not implemented by code generators.
1935         This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
1936
1937         Test: http/tests/security/cross-frame-access-frameelement.html
1938
1939         * page/DOMWindow.idl:
1940
1941 2012-02-08  Kentaro Hara  <haraken@chromium.org>
1942
1943         Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
1944         https://bugs.webkit.org/show_bug.cgi?id=78081
1945
1946         Reviewed by Adam Barth.
1947
1948         [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
1949         This patch renames it to [JSCustomPushEventHandlerScope]
1950
1951         No tests. No change in behavior.
1952
1953         * bindings/scripts/CodeGeneratorJS.pm:
1954         (GenerateHeader):
1955         * dom/Node.idl:
1956         * html/HTMLElement.idl:
1957
1958 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1959
1960         Add "JS" prefix to JSC-specific IDLs
1961         https://bugs.webkit.org/show_bug.cgi?id=77846
1962
1963         Reviewed by Darin Adler.
1964
1965         In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
1966         This patch adds "JS" prefix to the remaining JSC specific IDLs.
1967         Specifically, this patch renames IDLs as follows:
1968
1969         [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
1970         [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
1971         [GenerateNativeConverter] => [JSGenerateToNativeObject]  (Note: For naming consistency
1972         with [JSGenerateToJS] and [JSCustomToNativeObject])
1973         [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate]  (Note: Should be prefixed "JS",
1974         should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
1975
1976         No tests. No change in behavior.
1977
1978         * bindings/scripts/CodeGeneratorJS.pm:
1979         (GenerateGetOwnPropertySlotBody):
1980         (GenerateGetOwnPropertyDescriptorBody):
1981         (GenerateHeader):
1982         (GenerateImplementation):
1983         * bindings/scripts/test/TestTypedArray.idl:
1984         * dom/Attr.idl:
1985         * dom/DataTransferItemList.idl:
1986         * dom/Document.idl:
1987         * dom/DocumentType.idl:
1988         * dom/Element.idl:
1989         * dom/Node.idl:
1990         * fileapi/DirectoryEntry.idl:
1991         * fileapi/DirectoryEntrySync.idl:
1992         * fileapi/File.idl:
1993         * fileapi/FileEntry.idl:
1994         * fileapi/FileEntrySync.idl:
1995         * fileapi/WebKitBlobBuilder.idl:
1996         * html/DOMFormData.idl:
1997         * html/DOMURL.idl:
1998         * html/HTMLAppletElement.idl:
1999         * html/HTMLCanvasElement.idl:
2000         * html/HTMLElement.idl:
2001         * html/HTMLEmbedElement.idl:
2002         * html/HTMLImageElement.idl:
2003         * html/HTMLMediaElement.idl:
2004         * html/HTMLObjectElement.idl:
2005         * html/HTMLOptionElement.idl:
2006         * html/HTMLOptionsCollection.idl:
2007         * html/HTMLTableCaptionElement.idl:
2008         * html/HTMLTableSectionElement.idl:
2009         * html/HTMLVideoElement.idl:
2010         * html/TextTrackCue.idl:
2011         * html/canvas/Float32Array.idl:
2012         * html/canvas/Float64Array.idl:
2013         * html/canvas/Int16Array.idl:
2014         * html/canvas/Int32Array.idl:
2015         * html/canvas/Int8Array.idl:
2016         * html/canvas/Uint16Array.idl:
2017         * html/canvas/Uint32Array.idl:
2018         * html/canvas/Uint8Array.idl:
2019         * html/canvas/Uint8ClampedArray.idl:
2020         * mediastream/LocalMediaStream.idl:
2021         * page/DOMWindow.idl:
2022         * page/History.idl:
2023         * page/Location.idl:
2024         * storage/StorageInfo.idl:
2025         * svg/SVGElement.idl:
2026         * svg/SVGElementInstance.idl:
2027         * workers/DedicatedWorkerContext.idl:
2028         * workers/SharedWorker.idl:
2029         * workers/SharedWorkerContext.idl:
2030         * workers/Worker.idl:
2031         * workers/WorkerContext.idl:
2032
2033 2012-02-07  Kentaro Hara  <haraken@chromium.org>
2034
2035         Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
2036         https://bugs.webkit.org/show_bug.cgi?id=78076
2037
2038         Reviewed by Adam Barth.
2039
2040         This patch renames the [HasOverridingNameGetter] attribute to the
2041         [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
2042
2043         Test: bindings/scripts/test/TestCustomNamedGetter.idl
2044
2045         * bindings/scripts/CodeGeneratorJS.pm:
2046         (GenerateGetOwnPropertySlotBody):
2047         (GenerateGetOwnPropertyDescriptorBody):
2048         (GenerateHeader):
2049         (GenerateImplementation):
2050         * bindings/scripts/CodeGeneratorV8.pm:
2051         (GenerateHeaderNamedAndIndexedPropertyAccessors):
2052         (GenerateImplementationNamedPropertyGetter):
2053
2054         * html/HTMLDocument.idl:
2055         * html/HTMLFormElement.idl:
2056         * html/HTMLFrameSetElement.idl:
2057
2058         * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
2059
2060         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
2061         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
2062         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
2063         (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
2064         (WebDOMTestCustomNamedGetter::operator=):
2065         (WebDOMTestCustomNamedGetter::impl):
2066         (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
2067         (WebDOMTestCustomNamedGetter::anotherFunction):
2068         (toWebCore):
2069         (toWebKit):
2070         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
2071         (WebCore):
2072         (WebDOMTestCustomNamedGetter):
2073         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
2074         (WebKit):
2075         (WebKit::kit):
2076         (webkit_dom_test_custom_named_getter_another_function):
2077         (WebKit::core):
2078         (webkit_dom_test_custom_named_getter_finalize):
2079         (webkit_dom_test_custom_named_getter_set_property):
2080         (webkit_dom_test_custom_named_getter_get_property):
2081         (webkit_dom_test_custom_named_getter_constructed):
2082         (webkit_dom_test_custom_named_getter_class_init):
2083         (webkit_dom_test_custom_named_getter_init):
2084         (WebKit::wrapTestCustomNamedGetter):
2085         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
2086         (_WebKitDOMTestCustomNamedGetter):
2087         (_WebKitDOMTestCustomNamedGetterClass):
2088         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
2089         (WebKit):
2090         * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
2091         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
2092         (WebCore):
2093         (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
2094         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
2095         (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
2096         (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
2097         (WebCore::JSTestCustomNamedGetterPrototype::self):
2098         (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
2099         (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
2100         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
2101         (WebCore::JSTestCustomNamedGetter::finishCreation):
2102         (WebCore::JSTestCustomNamedGetter::createPrototype):
2103         (WebCore::JSTestCustomNamedGetter::destroy):
2104         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
2105         (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
2106         (WebCore::jsTestCustomNamedGetterConstructor):
2107         (WebCore::JSTestCustomNamedGetter::getConstructor):
2108         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2109         (WebCore::isObservable):
2110         (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
2111         (WebCore::JSTestCustomNamedGetterOwner::finalize):
2112         (WebCore::toJS):
2113         (WebCore::toTestCustomNamedGetter):
2114         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
2115         (WebCore):
2116         (JSTestCustomNamedGetter):
2117         (WebCore::JSTestCustomNamedGetter::create):
2118         (WebCore::JSTestCustomNamedGetter::createStructure):
2119         (WebCore::JSTestCustomNamedGetter::impl):
2120         (WebCore::JSTestCustomNamedGetter::releaseImpl):
2121         (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
2122         (JSTestCustomNamedGetterOwner):
2123         (WebCore::wrapperOwner):
2124         (WebCore::wrapperContext):
2125         (JSTestCustomNamedGetterPrototype):
2126         (WebCore::JSTestCustomNamedGetterPrototype::create):
2127         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
2128         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
2129         (JSTestCustomNamedGetterConstructor):
2130         (WebCore::JSTestCustomNamedGetterConstructor::create):
2131         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
2132         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
2133         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
2134         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
2135         (-[DOMTestCustomNamedGetter dealloc]):
2136         (-[DOMTestCustomNamedGetter finalize]):
2137         (-[DOMTestCustomNamedGetter anotherFunction:]):
2138         (core):
2139         (kit):
2140         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
2141         (WebCore):
2142         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
2143         (WebCore):
2144         (TestCustomNamedGetterInternal):
2145         (WebCore::TestCustomNamedGetterInternal::V8_USE):
2146         (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
2147         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2148         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
2149         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2150         (WebCore::V8TestCustomNamedGetter::HasInstance):
2151         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2152         (WebCore::V8TestCustomNamedGetter::derefObject):
2153         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
2154         (WebCore):
2155         (V8TestCustomNamedGetter):
2156         (WebCore::V8TestCustomNamedGetter::toNative):
2157         (WebCore::V8TestCustomNamedGetter::existingWrapper):
2158         (WebCore::V8TestCustomNamedGetter::wrap):
2159         (WebCore::toV8):
2160
2161 2012-02-07  Emil A Eklund  <eae@chromium.org>
2162
2163         Revert TableSection cell and border calculations to integers
2164         https://bugs.webkit.org/show_bug.cgi?id=77918
2165
2166         Reviewed by Eric Seidel.
2167
2168         Change RenderTableSection cell width, row height and border calculations
2169         back to use integers. Table layout is done on integer bounds to comply
2170         with the specification and to ensure that columns given the same width,
2171         including percentage widths, are rendered with identical widths. The same
2172         applies to heights.
2173
2174         No new tests.
2175
2176         * rendering/RenderTableSection.cpp:
2177         (WebCore::RenderTableSection::setCellLogicalWidths):
2178         (WebCore::RenderTableSection::calcRowLogicalHeight):
2179         (WebCore::RenderTableSection::layoutRows):
2180         (WebCore::RenderTableSection::calcOuterBorderBefore):
2181         (WebCore::RenderTableSection::calcOuterBorderAfter):
2182         (WebCore::RenderTableSection::calcOuterBorderStart):
2183         (WebCore::RenderTableSection::calcOuterBorderEnd):
2184         (WebCore::RenderTableSection::paintObject):
2185         (WebCore::RenderTableSection::nodeAtPoint):
2186         * rendering/RenderTableSection.h:
2187         (RenderTableSection):
2188         (WebCore::RenderTableSection::RowStruct::RowStruct):
2189         (WebCore::RenderTableSection::outerBorderBefore):
2190         (WebCore::RenderTableSection::outerBorderAfter):
2191         (WebCore::RenderTableSection::outerBorderStart):
2192         (WebCore::RenderTableSection::outerBorderEnd):
2193
2194 2012-02-07  Robert Kroeger  <rjkroege@chromium.org>
2195
2196         [chromium] Remove the no longer necessary Chromium gesture recognizer.
2197         https://bugs.webkit.org/show_bug.cgi?id=77492
2198
2199         Reviewed by Adam Barth.
2200
2201         * WebCore.gypi:
2202         * platform/PlatformGestureRecognizer.h: Removed.
2203         * platform/chromium/FramelessScrollView.h:
2204         (WebCore):
2205         (FramelessScrollView):
2206         * platform/chromium/GestureRecognizerChromium.cpp: Removed.
2207         * platform/chromium/GestureRecognizerChromium.h: Removed.
2208         * platform/chromium/PopupContainer.cpp:
2209         (WebCore):
2210         * platform/chromium/PopupContainer.h:
2211         * platform/chromium/PopupListBox.cpp:
2212         (WebCore):
2213         * platform/chromium/PopupListBox.h:
2214         (PopupListBox):
2215
2216 2012-02-07  Erik Arvidsson  <arv@chromium.org>
2217
2218         [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
2219         https://bugs.webkit.org/show_bug.cgi?id=78052
2220
2221         Reviewed by Nate Chapin.
2222
2223         Before this patch the code generator did not add the named hidden reference when the data node
2224         was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
2225
2226         Covered by existing tests
2227
2228         * Target.pri:
2229         * UseV8.cmake:
2230         * WebCore.gypi:
2231         * bindings/scripts/CodeGeneratorV8.pm:
2232         (GenerateNormalAttrGetter):
2233         (HasCustomToV8Implementation):
2234         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2235         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
2236         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2237
2238 2012-02-07  Kentaro Hara  <haraken@chromium.org>
2239
2240         [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
2241         https://bugs.webkit.org/show_bug.cgi?id=78059
2242
2243         Reviewed by Adam Barth.
2244
2245         CodeGeneratorGObject.pm does not support custom attributes.
2246         We can skip generating code for attributes with [Custom].
2247         The change would make sense, since CodeGeneratorGObject.pm already
2248         skips attributes with [CustomGetter] or [CustomSetter].
2249
2250         Test: bindings/scripts/test/TestObj.idl
2251
2252         * bindings/scripts/CodeGeneratorGObject.pm:
2253         (SkipAttribute):
2254         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2255
2256 2012-02-07  Emil A Eklund  <eae@chromium.org>
2257
2258         Add pixelSnappedX/Y/Width/Height methods
2259         https://bugs.webkit.org/show_bug.cgi?id=78040
2260
2261         Reviewed by Eric Seidel.
2262
2263         Add pixel snapped versions of x/y/width/height methods. These return the
2264         same value as the x/w/width/height methods for now but once we move over
2265         to sub pixel layout they will snap the subpixel value to a device pixel
2266         and return an integer value.
2267
2268         When snapping the left and top edge is simply rounded to the nearest
2269         device pixel.
2270         The right and bottom edges are computed by subtracting the rounded left/
2271         top edge from the precise location and size. This ensures that the edges
2272         all line up with device pixels and that the total size of an object,
2273         including borders, is at most one pixel off.
2274
2275         In summary, the values are computed as follows:
2276                 x: round(x)
2277                 y: round(y)
2278                 maxX: round(x + width)
2279                 maxY: round(y + height)
2280                 width: round(x + width) - round(x)
2281                 height: round(y + height) - round(y)
2282
2283         We use the term pixel snapped to indicate that the numbers are not merely
2284         rounded. This also matches the naming used by the line box tree.
2285
2286         No new tests, no functionality changes.
2287
2288         * page/PrintContext.cpp:
2289         (WebCore::PrintContext::pageNumberForElement):
2290         * rendering/RenderBlock.cpp:
2291         (WebCore::::collectIfNeeded):
2292         * rendering/RenderBlock.h:
2293         (RenderBlock):
2294         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
2295         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
2296         (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
2297         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
2298         (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
2299         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
2300         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
2301         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
2302         (FloatingObject):
2303         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
2304         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
2305         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
2306         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
2307         * rendering/RenderBlockLineLayout.cpp:
2308         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2309         * rendering/RenderBox.cpp:
2310         (WebCore::RenderBox::pixelSnappedClientWidth):
2311         (WebCore):
2312         (WebCore::RenderBox::pixelSnappedClientHeight):
2313         (WebCore::RenderBox::scrollHeight):
2314         * rendering/RenderBox.h:
2315         (WebCore::RenderBox::pixelSnappedWidth):
2316         (WebCore::RenderBox::pixelSnappedHeight):
2317         (RenderBox):
2318         (WebCore::RenderBox::pixelSnappedOffsetWidth):
2319         (WebCore::RenderBox::pixelSnappedOffsetHeight):
2320         (WebCore::RenderBox::clientLogicalWidth):
2321         (WebCore::RenderBox::clientLogicalHeight):
2322         * rendering/RenderBoxModelObject.cpp:
2323         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
2324         (WebCore):
2325         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
2326         * rendering/RenderBoxModelObject.h:
2327         (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
2328         (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
2329         (RenderBoxModelObject):
2330         * rendering/RenderLayer.cpp:
2331         (WebCore::RenderLayer::pixelSnappedScrollWidth):
2332         (WebCore):
2333         (WebCore::RenderLayer::pixelSnappedScrollHeight):
2334         (WebCore::RenderLayer::computeScrollDimensions):
2335         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2336         * rendering/RenderLayer.h:
2337         (RenderLayer):
2338         * rendering/RenderListBox.cpp:
2339         (WebCore::RenderListBox::scrollHeight):
2340         * rendering/RenderTheme.cpp:
2341         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
2342         * rendering/RenderTreeAsText.cpp:
2343         (WebCore::write):
2344
2345 2012-02-07  Mike Lawther  <mikelawther@chromium.org>
2346
2347         CSS3 calc() - simple parse time evaluation
2348         https://bugs.webkit.org/show_bug.cgi?id=77960
2349
2350         Adds simple number/percent expression evaluation. rgb() and hsl() functions now
2351         allow simple calc() expressions.
2352
2353         Reviewed by Ojan Vafai.
2354
2355         * css/CSSCalculationValue.cpp:
2356         (WebCore):
2357         (WebCore::CSSCalcValue::doubleValue):
2358         (WebCore::CSSCalcPrimitiveValue::doubleValue):
2359         (WebCore::CSSCalcBinaryOperation::doubleValue):
2360         (CSSCalcBinaryOperation):
2361         (WebCore::CSSCalcBinaryOperation::evaluate):
2362         * css/CSSCalculationValue.h:
2363         (CSSCalcExpressionNode):
2364         (WebCore::CSSCalcValue::isInt):
2365         (CSSCalcValue):
2366         * css/CSSParser.cpp:
2367         (WebCore::CSSParser::parsedDouble):
2368
2369 2012-02-07  Andreas Kling  <awesomekling@apple.com>
2370
2371         REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
2372         <http://webkit.org/b/78068>
2373
2374         Reviewed by Ryosuke Niwa.
2375
2376         Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
2377         This regressed in r106756 and I suspect it'll fix up the cycler regression.
2378
2379         * dom/StyledElement.cpp:
2380         (WebCore::StyledElement::addCSSProperty):
2381
2382 2012-02-07  Noel Gordon  <noel.gordon@gmail.com>
2383
2384         Remove TextureMapperQt from the gyp projects
2385         https://bugs.webkit.org/show_bug.cgi?id=78055
2386
2387         Reviewed by Noam Rosenthal.
2388
2389         TextureMapperQt.{cpp,h} were removed in r106659, remove references to
2390         these files from the gyp projects.
2391
2392         * WebCore.gypi:
2393
2394 2012-02-07  Tony Chang  <tony@chromium.org>
2395
2396         merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
2397         https://bugs.webkit.org/show_bug.cgi?id=78036
2398
2399         Reviewed by Darin Adler.
2400
2401         In r89362, we started running the preprocessor through CSSPropertyNames.in.
2402         Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
2403         and wrap it in an #if.
2404
2405         No new tests, build refactoring.
2406
2407         * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
2408         * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
2409         * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
2410         * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
2411         * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
2412         * css/DashboardSupportCSSPropertyNames.in: Removed.
2413
2414 2012-02-07  Xingnan Wang  <xingnan.wang@intel.com>
2415
2416         Enable IPP for FFTFrame
2417         https://bugs.webkit.org/show_bug.cgi?id=75522
2418
2419         Reviewed by Tony Chang.
2420
2421         Add the FFTFrame implementation using Intel IPP's DFT algorithm.
2422
2423         * WebCore.gyp/WebCore.gyp:
2424         * WebCore.gypi:
2425         * platform/audio/FFTFrame.h:
2426         (FFTFrame):
2427         * platform/audio/FFTFrameStub.cpp:
2428         * platform/audio/ipp/FFTFrameIPP.cpp: Added.
2429         (WebCore):
2430         (WebCore::FFTFrame::FFTFrame):
2431         (WebCore::FFTFrame::initialize):
2432         (WebCore::FFTFrame::cleanup):
2433         (WebCore::FFTFrame::~FFTFrame):
2434         (WebCore::FFTFrame::multiply):
2435         (WebCore::FFTFrame::doFFT):
2436         (WebCore::FFTFrame::doInverseFFT):
2437         (WebCore::FFTFrame::realData):
2438         (WebCore::FFTFrame::imagData):
2439         (WebCore::FFTFrame::getUpToDateComplexData):
2440
2441 2012-02-07  Adrienne Walker  <enne@google.com>
2442
2443         Properly detect top level frames when propogating compositing
2444         https://bugs.webkit.org/show_bug.cgi?id=78033
2445
2446         Reviewed by James Robinson.
2447
2448         There's no need to enumerate all tag names when searching for a
2449         top-level frame. If a render view's document has a frame, then that
2450         frame is not the top-level one.
2451
2452         * rendering/RenderLayerCompositor.cpp:
2453         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
2454         * rendering/RenderLayerCompositor.h:
2455         (RenderLayerCompositor):
2456
2457 2012-02-07  Chris Palmer  <palmer@google.com>
2458
2459         Resolve crash in FrameLoader::checkTimerFired.
2460         https://bugs.webkit.org/show_bug.cgi?id=77907
2461
2462         Reviewed by Eric Seidel.
2463
2464         Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
2465
2466         * loader/FrameLoader.cpp:
2467         (WebCore::FrameLoader::checkTimerFired):
2468
2469 2012-02-07  Yong Li  <yoli@rim.com>
2470
2471         [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
2472         https://bugs.webkit.org/show_bug.cgi?id=78029
2473
2474         Reviewed by Rob Buis.
2475
2476         When a redirect is rejected by security origin check, the ResourceRequest
2477         will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
2478         case, we should stop handling the request.
2479
2480         No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
2481         -origin-tripmine.html) can cover this.
2482
2483         * platform/network/blackberry/NetworkJob.cpp:
2484         (WebCore::NetworkJob::startNewJobWithRequest):
2485
2486 2012-02-07  David Barton  <dbarton@mathscribe.com>
2487
2488         Remove extraneous MathML code before bug 52444 fix
2489         https://bugs.webkit.org/show_bug.cgi?id=78034
2490
2491         Reviewed by Eric Seidel.
2492         
2493         Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
2494         This patch removes a couple unused functions, some extra blank lines, unused #include
2495         directives, etc., and adds a very few WebKit-standard changes to these files.
2496
2497         No new tests.
2498
2499         * rendering/mathml/RenderMathMLBlock.cpp:
2500         (WebCore):
2501         * rendering/mathml/RenderMathMLBlock.h:
2502         (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
2503             - changed to a static member function since 'this' is unused;
2504               removed redundant non-const version
2505         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
2506             - changed to a static member function since 'this' is unused;
2507               removed redundant non-const version
2508         (WebCore):
2509         * rendering/mathml/RenderMathMLFraction.cpp:
2510         * rendering/mathml/RenderMathMLMath.cpp:
2511         * rendering/mathml/RenderMathMLMath.h:
2512         * rendering/mathml/RenderMathMLOperator.h:
2513         (WebCore):
2514         * rendering/mathml/RenderMathMLRoot.cpp:
2515         * rendering/mathml/RenderMathMLRow.cpp:
2516         * rendering/mathml/RenderMathMLRow.h:
2517         * rendering/mathml/RenderMathMLSquareRoot.cpp:
2518         * rendering/mathml/RenderMathMLSquareRoot.h:
2519         * rendering/mathml/RenderMathMLSubSup.cpp:
2520         * rendering/mathml/RenderMathMLSubSup.h:
2521         * rendering/mathml/RenderMathMLUnderOver.cpp:
2522         * rendering/mathml/RenderMathMLUnderOver.h:
2523
2524 2012-02-07  David Reveman  <reveman@chromium.org>
2525
2526         [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
2527         https://bugs.webkit.org/show_bug.cgi?id=78020
2528
2529         Reviewed by James Robinson.
2530
2531         Revert r101854.
2532
2533         This patch is tested by the following unit test:
2534         - TextureManagerTest.requestTextureExceedingPreferredLimit
2535
2536         * platform/graphics/chromium/ManagedTexture.cpp:
2537         (WebCore::ManagedTexture::reserve):
2538         * platform/graphics/chromium/TextureManager.cpp:
2539         (WebCore::TextureManager::requestTexture):
2540         * platform/graphics/chromium/TextureManager.h:
2541         (TextureManager):
2542
2543 2012-02-07  Anders Carlsson  <andersca@apple.com>
2544
2545         Use the non-fast-scrollable region to detect when we can't do fast scrolling
2546         https://bugs.webkit.org/show_bug.cgi?id=78056
2547         <rdar://problem/10247932>
2548
2549         Reviewed by Sam Weinig.
2550
2551         * page/scrolling/ScrollingCoordinator.cpp:
2552         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
2553         Actually set the non-fast scrollable region on the scrolling tree state.
2554
2555         * page/scrolling/ScrollingTree.cpp:
2556         (WebCore::ScrollingTree::tryToHandleWheelEvent):
2557         Check if the wheel event's position is inside the non-fast-scrollable region
2558         and return false if it is.
2559
2560         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
2561         Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
2562
2563         * platform/graphics/Region.cpp:
2564         * platform/graphics/Region.h:
2565         Add a simple contains(const IntPoint&) member function.
2566
2567 2012-02-07  Dan Bernstein  <mitz@apple.com>
2568
2569         <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
2570         https://bugs.webkit.org/show_bug.cgi?id=78044
2571
2572         Reviewed by Beth Dakin.
2573
2574         Tests: fast/text/synthetic-bold-transformed-expected.html
2575                fast/text/synthetic-bold-transformed.html
2576
2577         * platform/graphics/mac/FontMac.mm:
2578         (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
2579
2580 2012-02-07  Levi Weintraub  <leviw@chromium.org>
2581
2582         Update LayoutUnit usage in ColumnInfo and RenderFrameSet
2583         https://bugs.webkit.org/show_bug.cgi?id=77914
2584
2585         Reviewed by Eric Seidel.
2586
2587         Updating ColumnInfo and RenderFrameSet to use LayoutUnits
2588         instead of directly referencing integers for locations and
2589         distances.
2590
2591         No new tests. No changed behavior.
2592
2593         * rendering/ColumnInfo.h:
2594         (WebCore::ColumnInfo::forcedBreakOffset):
2595         (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
2596         (ColumnInfo):
2597         * rendering/RenderFrameSet.cpp:
2598         (WebCore::RenderFrameSet::paintColumnBorder):
2599         (WebCore::RenderFrameSet::paintRowBorder):
2600         * rendering/RenderFrameSet.h:
2601         (RenderFrameSet):
2602
2603 2012-02-07  Adam Klein  <adamk@chromium.org>
2604
2605         Add JSC support for delivering mutations when the outermost script context exits
2606         https://bugs.webkit.org/show_bug.cgi?id=70289
2607
2608         Reviewed by Eric Seidel.
2609
2610         The meat of this change is in JSMainThreadExecState, where a counter
2611         is incremented every time WebCore calls into JSC and decremented every
2612         time it returns. When the counter reaches zero, any pending mutations
2613         are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
2614
2615         The rest of the changes are of two sorts: compilation/logic fixes for
2616         JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
2617         usages of JSMainThreadExecState so as to trigger the above
2618         increment/decrements at the appropriate times.
2619
2620         * bindings/js/JSCustomXPathNSResolver.cpp:
2621         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2622         Use JSMainThreadExecState instead of JSC::call.
2623         * bindings/js/JSDictionary.cpp:
2624         (WebCore::JSDictionary::convertValue): Add support
2625         for tryGetProperty with a HashMap<AtomicString>.
2626         * bindings/js/JSDictionary.h:
2627         * bindings/js/JSErrorHandler.cpp:
2628         (WebCore::JSErrorHandler::handleEvent):
2629         Use JSMainThreadExecState instead of JSC::call.
2630         * bindings/js/JSHTMLDocumentCustom.cpp:
2631         (WebCore::JSHTMLDocument::open):
2632         Use JSMainThreadExecState instead of JSC::call.
2633         * bindings/js/JSMainThreadExecState.cpp:
2634         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
2635         * bindings/js/JSMainThreadExecState.h:
2636         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
2637         Increment a static recursion level counter.
2638         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2639         Decrement a static recursion level counter and, if we are
2640         at zero (the outermost script invocation), deliver any
2641         outstanding mutation records.
2642         * bindings/js/JSNodeFilterCondition.cpp:
2643         (WebCore::JSNodeFilterCondition::acceptNode):
2644         Use JSMainThreadExecState instead of JSC::call.
2645         * bindings/js/JSWebKitMutationObserverCustom.cpp:
2646         (WebCore::JSWebKitMutationObserver::observe):
2647         Fix JSDictionary logic, add support for attributeFilter.
2648
2649 2012-02-07  Anders Carlsson  <andersca@apple.com>
2650
2651         Fix build.
2652
2653         * platform/ScrollableArea.h:
2654         (WebCore::ScrollableArea::scrollableAreaBoundingBox):
2655
2656 2012-02-07  Levi Weintraub  <leviw@chromium.org>
2657
2658         [SVG] Use element disappears after scripted change
2659         https://bugs.webkit.org/show_bug.cgi?id=74392
2660
2661         Reviewed by Eric Seidel.
2662
2663         Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
2664         SVGUseElements to not update the shadow root's style, and therefor not render
2665         correctly.
2666
2667         Test: svg/custom/use-disappears-after-style-update.svg
2668
2669         * svg/SVGUseElement.cpp:
2670         (WebCore::SVGUseElement::didRecalcStyle):
2671
2672 2012-02-07  Kentaro Hara  <haraken@chromium.org>
2673
2674         Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
2675         https://bugs.webkit.org/show_bug.cgi?id=77973
2676
2677         Reviewed by Adam Barth.
2678
2679         This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
2680         attributes should be prefixed by "V8".
2681
2682         No tests. No change in behavior.
2683
2684         * bindings/scripts/CodeGeneratorV8.pm:
2685         (GenerateNormalAttrGetter):
2686         (GenerateNormalAttrSetter):
2687         (GenerateSingleBatchedAttribute):
2688         (GenerateImplementation):
2689
2690 2011-10-10  Jer Noble  <jer.noble@apple.com>
2691
2692         media/audio-data-url.html test broken on Lion
2693         https://bugs.webkit.org/show_bug.cgi?id=69779
2694
2695         Reviewed by Eric Carlson.
2696
2697         Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
2698         handle those URLs.
2699
2700         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2701         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
2702
2703 2012-02-07  Anders Carlsson  <andersca@apple.com>
2704
2705         Scrolling tree should keep track of region we can't do fast scrolling for
2706         https://bugs.webkit.org/show_bug.cgi?id=78050
2707
2708         Reviewed by Dan Bernstein.
2709
2710         We currently won't do fast scrolling for subframes and other types of scrollable areas.
2711         Because of this, we'll have the scrolling tree keep a region of the page for which we can't
2712         do fast scrolling. This region will be updated after layout.
2713
2714         * page/FrameView.cpp:
2715         (WebCore::FrameView::scrollableAreaBoundingBox):
2716         Return the bounding box.
2717
2718         * page/scrolling/ScrollingCoordinator.cpp:
2719         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
2720         Go through all the scrollable areas in this frame view and compute the region which we can't do
2721         fast scrolling for.
2722
2723         * page/scrolling/ScrollingTree.cpp:
2724         (WebCore::ScrollingTree::commitNewTreeState):
2725         Update the non-fast-scrollable region.
2726
2727         * page/scrolling/ScrollingTreeState.cpp:
2728         (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
2729         Set the non-fast-scrollable region if it's changed.
2730
2731         * platform/ScrollableArea.h:
2732         Add scrollableAreaBoundingBox member function.
2733
2734         * rendering/RenderLayer.cpp:
2735         (WebCore::RenderLayer::scrollableAreaBoundingBox):
2736         Return the bounding box.
2737
2738         * rendering/RenderListBox.cpp:
2739         (WebCore::RenderListBox::scrollableAreaBoundingBox):
2740         Return the bounding box.
2741
2742 2012-02-07  Levi Weintraub  <leviw@chromium.org>
2743
2744         unicode-bidi:plaintext is supposed to be effective on display:inline elements too
2745         https://bugs.webkit.org/show_bug.cgi?id=73310
2746
2747         Reviewed by Eric Seidel.
2748
2749         Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
2750         like unicode-bidi: isolate with the addition of their directionality being determined
2751         by the UBA.
2752
2753         Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
2754                fast/text/international/inline-plaintext-is-isolated.html
2755                fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
2756                fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
2757                fast/text/international/inline-plaintext-with-generated-content-expected.html
2758                fast/text/international/inline-plaintext-with-generated-content.html
2759
2760         * platform/text/UnicodeBidi.h:
2761         (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
2762         are both treated as isolated content.
2763         * rendering/InlineIterator.h:
2764         (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
2765         (WebCore::notifyObserverWillExitObject): Ditto.
2766         (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
2767         (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
2768         * rendering/RenderBlockLineLayout.cpp:
2769         (WebCore::determineDirectionality): Generalized for inlines.
2770         (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
2771         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
2772         (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
2773         bidiFirstSkippingEmptyInlines.
2774
2775 2012-02-07  Kentaro Hara  <haraken@chromium.org>
2776
2777         [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
2778         https://bugs.webkit.org/show_bug.cgi?id=77957
2779
2780         Reviewed by Adam Barth.
2781
2782         This patch replaces IsSubType("WorkerContext") and something equivalent that
2783         with the [IsWorkerContext] IDL.
2784
2785         No tests. No change in behavior.
2786
2787         * bindings/scripts/CodeGeneratorV8.pm:
2788         (GetInternalFields):
2789         (GenerateConstructorGetter):
2790         (GenerateImplementation):
2791
2792 2012-02-07  David Reveman  <reveman@chromium.org>
2793
2794         [Chromium] Crash when using per-tile painting on Windows.
2795         https://bugs.webkit.org/show_bug.cgi?id=75715
2796
2797         Reviewed by James Robinson.
2798
2799         PlatformCanvas constructor on win32 expects forth argument to be a
2800         shared section handle. Passing a pointer to a system memory causes
2801         it to crash. Fix this by not using the PlatformCanvas API for
2802         SkCanvas construction in per-tile texture uploader.
2803
2804         Tested with manual tests.
2805
2806         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
2807         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
2808         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
2809         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
2810         (Texture):
2811
2812 2012-02-07  Jer Noble  <jer.noble@apple.com>
2813
2814         Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
2815
2816         * platform/mac/PlatformClockCM.mm:
2817
2818 2012-02-07  James Robinson  <jamesr@chromium.org>
2819
2820         [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
2821         https://bugs.webkit.org/show_bug.cgi?id=77923
2822
2823         Reviewed by Kenneth Russell.
2824
2825         Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
2826         frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
2827         error checking in case the TextureManager cannot successfully reserve memory for the texture.
2828
2829         Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
2830         continues and that we don't create a new set of textures for each plane on each frame.
2831
2832         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2833         (WebCore::CCVideoLayerImpl::draw):
2834         (WebCore::CCVideoLayerImpl::reserveTextures):
2835
2836 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
2837
2838         https://bugs.webkit.org/show_bug.cgi?id=77912
2839         Removing old CG shadow code.
2840         
2841         A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
2842         for this particular setShadow method. However, this shadow offset adjustment for CG
2843         has since moved down into platform specific code. Thus, this offset adjustment here
2844         is now redundant.
2845
2846         The CG-only shadow setting code block in this setShadow method is now redundant.
2847         Since it sets the shadow values to the CGContext directly - and not to the State object -
2848         it will be overwritten later by any subsequent calls to setting shadow values such as
2849         blur, offset, or shadow color.
2850
2851         Reviewed by Simon Fraser.
2852
2853         No new tests. Current canvas tests cover this path.
2854
2855         * html/canvas/CanvasRenderingContext2D.cpp:
2856         (WebCore::CanvasRenderingContext2D::setShadow):
2857
2858 2012-02-07  James Robinson  <jamesr@chromium.org>
2859
2860         [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
2861         https://bugs.webkit.org/show_bug.cgi?id=78013
2862
2863         Reviewed by Kenneth Russell.
2864
2865         If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
2866         some early outs.
2867
2868         Tested manually by forcing the first makeContextCurrent() call fail.
2869
2870         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2871         (WebCore::CCLayerTreeHost::updateLayers):
2872         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2873         (CCLayerTreeHost):
2874         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2875         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2876         (WebCore::CCSingleThreadProxy::compositeImmediately):
2877         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2878         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2879         (CCSingleThreadProxy):
2880
2881 2012-02-07  Brady Eidson  <beidson@apple.com>
2882
2883         <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
2884         WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
2885
2886         Reviewed by Alexey Proskuryakov.
2887
2888         Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
2889
2890         Associate the credential with the URL of the challenge itself, not the original request:
2891         * platform/network/cf/ResourceHandleCFNet.cpp:
2892         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 
2893         (WebCore::ResourceHandle::receivedCredential):
2894         * platform/network/mac/ResourceHandleMac.mm:
2895         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2896         (WebCore::ResourceHandle::receivedCredential):
2897
2898 2012-02-07  Tony Chang  <tony@chromium.org>
2899
2900         move warning about css values and render style constants closer to where it applies
2901         https://bugs.webkit.org/show_bug.cgi?id=78017
2902
2903         Reviewed by Darin Adler.
2904
2905         Move the warning about keeping RenderStyleConstnats.h enums and
2906         CSSValueKeywords.in values in the same order closer to the properties
2907         that the warning applies to. The warning was easy to miss and was
2908         confusing since it doesn't apply to most values.
2909
2910         Also refactor 2 conversion functions to
2911         enumerate the possible values so the order doesn't matter.
2912
2913         No new tests, just refactoring and comment cleanup.
2914
2915         * css/CSSPrimitiveValueMappings.h:
2916         (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
2917         (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
2918         * css/CSSValueKeywords.in:
2919         * css/SVGCSSPropertyNames.in:
2920         * css/SVGCSSValueKeywords.in:
2921         * rendering/style/RenderStyleConstants.h:
2922
2923 2012-02-06  Jer Noble  <jer.noble@apple.com>
2924
2925         Use CMClock as a timing source for PlatformClock where available.
2926         https://bugs.webkit.org/show_bug.cgi?id=77885
2927
2928         Reviewed by Eric Carlson.
2929
2930         No new tests; performance improvement covered by existing test cases.
2931
2932         * WebCore.xcodeproj/project.pbxproj:
2933         * platform/Clock.cpp:
2934         (Clock::create): Use PlatformClockCM if available.
2935         * platform/mac/PlatformClockCM.h: Added.
2936         (WebCore::PlatformClockCM::playRate):
2937         (WebCore::PlatformClockCM::isRunning):
2938         * platform/mac/PlatformClockCM.mm: Added.
2939         (PlatformClockCM::PlatformClockCM):
2940         (PlatformClockCM::initializeWithTimingSource):
2941         (PlatformClockCM::setCurrentTime):
2942         (PlatformClockCM::currentTime):
2943         (PlatformClockCM::setPlayRate):
2944         (PlatformClockCM::start):
2945         (PlatformClockCM::stop):
2946
2947 2012-02-06  Anders Carlsson  <andersca@apple.com>
2948
2949         ScrollableAreaSet should be moved from Page to FrameView
2950         https://bugs.webkit.org/show_bug.cgi?id=62762
2951
2952         Reviewed by Beth Dakin.
2953
2954         It makes more sense for the set of scrollable areas to be per frame view instead of per page;
2955         scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
2956         frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
2957
2958         * WebCore.exp.in:
2959         Replace the Page member functions with FrameView member functions instead.
2960
2961         * page/EventHandler.cpp:
2962         (WebCore::EventHandler::mouseMoved):
2963         Check if the frame view contains the given layer.
2964
2965         (WebCore::EventHandler::updateMouseEventTargetNode):
2966         Ditto.
2967
2968         * page/FocusController.cpp:
2969         (WebCore::contentAreaDidShowOrHide):
2970         Add helper function.
2971
2972         (WebCore::FocusController::setContainingWindowIsVisible):
2973         Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
2974         inside all subframe views.
2975
2976         * page/FrameView.cpp:
2977         (WebCore::FrameView::FrameView):
2978         Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
2979
2980         (WebCore::FrameView::~FrameView):
2981         Don't remove the scrollable area here.
2982
2983         (WebCore::FrameView::zoomAnimatorTransformChanged):
2984         m_page is gone so use m_frame->page() instead.
2985
2986         (WebCore::FrameView::setAnimatorsAreActive):
2987         Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
2988         this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
2989         this will be done implicitly.
2990
2991         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2992         Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
2993         to do this for all scrollable areas on the page, but we only need to do it for this frame view.
2994
2995         (WebCore::FrameView::scrollAnimatorEnabled):
2996         Get the page from m_frame since m_page is gone.
2997
2998         (WebCore::FrameView::addScrollableArea):
2999         (WebCore::FrameView::removeScrollableArea):
3000         (WebCore::FrameView::containsScrollableArea):
3001         Move these member functions here from Page.
3002
3003         (WebCore::FrameView::addChild):
3004         If we are adding a frame view, add it to the scrollable area set.
3005
3006         (WebCore::FrameView::removeChild):
3007         If we are removing a frame view, remove it from the scrollable area set.
3008
3009         * page/FrameView.h:
3010         Move the member function declarations and the scrollable area set member variable here from Page.
3011
3012         * page/Page.cpp:
3013         (WebCore::Page::~Page):
3014         Don't call disconnectPage on the scrollable areas anymore.
3015
3016         * platform/ScrollView.h:
3017         (ScrollView):
3018         Make addChild and removeChild virtual.
3019
3020         * platform/ScrollableArea.h:
3021         Remove disconnectFromPage.
3022
3023         * rendering/RenderLayer.cpp:
3024         (WebCore::RenderLayer::RenderLayer):
3025         (WebCore::RenderLayer::~RenderLayer):
3026         (WebCore::RenderLayer::styleChanged):
3027         The frame view now keeps track of the scrollable areas.
3028
3029         * rendering/RenderLayer.h:
3030         Remove the page member variable and disconnectFromPage.
3031
3032         * rendering/RenderListBox.cpp:
3033         (WebCore::RenderListBox::RenderListBox):
3034         (WebCore::RenderListBox::~RenderListBox):
3035         The frame view now keeps track of the scrollable areas.
3036
3037         * rendering/RenderListBox.h:
3038         Remove the page member variable and disconnectFromPage.
3039
3040 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
3041
3042         Remove redundant checks in CanvasRenderingContext2D.cpp
3043         https://bugs.webkit.org/show_bug.cgi?id=78000
3044
3045         Reviewed by Dan Bernstein.
3046
3047         * html/canvas/CanvasRenderingContext2D.cpp:
3048         (WebCore::CanvasRenderingContext2D::setShadowColor):
3049         (WebCore::CanvasRenderingContext2D::setShadow):
3050         (WebCore::CanvasRenderingContext2D::drawImage):
3051
3052 2012-02-07  Abhishek Arya  <inferno@chromium.org>
3053
3054         Crash in ContainerNode functions due to mutation events.
3055         https://bugs.webkit.org/show_bug.cgi?id=77999
3056
3057         Reviewed by Ryosuke Niwa.
3058
3059         Add RefPtr to protect premature deletion of this due to mutation events.
3060
3061         Tests: fast/dom/remove-body-during-body-replacement.html
3062                fast/dom/remove-body-during-body-replacement2.html
3063
3064         * dom/ContainerNode.cpp:
3065         (WebCore::ContainerNode::insertBefore):
3066         (WebCore::ContainerNode::replaceChild):
3067         (WebCore::ContainerNode::removeChild):
3068         (WebCore::ContainerNode::appendChild):
3069
3070 2012-02-07  Dana Jansens  <danakj@chromium.org>
3071
3072         [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
3073         https://bugs.webkit.org/show_bug.cgi?id=77996
3074
3075         Reviewed by James Robinson.
3076
3077         We're holding onto the last element in the Vector and then calling
3078         append(). If append() reallocates the Vector's buffer, the pointer
3079         is no longer valid.
3080
3081         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3082         (WebCore::enterTargetRenderSurface):
3083
3084 2012-02-07  Abhishek Arya  <inferno@chromium.org>
3085
3086         Crash due to column style not updated on post block
3087         in splitInlines.
3088         https://bugs.webkit.org/show_bug.cgi?id=77939
3089
3090         Reviewed by Julien Chaffraix.
3091
3092         Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
3093
3094         * rendering/RenderInline.cpp:
3095         (WebCore::RenderInline::splitFlow):
3096
3097 2012-02-07  Peter Rybin  <peter.rybin@gmail.com>
3098
3099         Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
3100         https://bugs.webkit.org/show_bug.cgi?id=77919
3101
3102         Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
3103         Reviewed by Yury Semikhatsky.
3104
3105         Array validator method runtimeCast is added, internal backing method
3106         is moved from .cpp to .h (it's template anyway), boolean validator is
3107         supported.
3108
3109         * inspector/CodeGeneratorInspector.py:
3110         (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
3111         (RawTypes.Bool.get_validate_method_params):
3112         (TypeBuilder):
3113
3114 2012-02-07  Dean Jackson  <dino@apple.com>
3115
3116         Apple/Safari: Enable WebGL multisampling on ATI cards
3117         for OS X 10.7.2 and above.
3118         https://bugs.webkit.org/show_bug.cgi?id=77922
3119
3120         Address review comments by Alexey Proskuryakov and Mark Rowe.
3121
3122         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3123         (WebCore::systemAllowsMultisamplingOnATICards):
3124
3125 2012-02-07  Dean Jackson  <dino@apple.com>
3126
3127         Apple/Safari: Enable WebGL multisampling on ATI cards
3128         for OS X 10.7.2 and above.
3129         https://bugs.webkit.org/show_bug.cgi?id=77922
3130
3131         Reviewed by Chris Marrin.
3132
3133         Follow Chrome's lead to allow WebGL antialiasing
3134         on ATI cards as long as we're on 10.7.2 and above.
3135
3136         No new tests. Covered by existing tests.
3137
3138         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3139         (WebCore::systemAllowsMultisamplingOnATICards):
3140         (WebCore):
3141         (WebCore::GraphicsContext3D::validateAttributes):
3142
3143 2012-02-07  Pavel Feldman  <pfeldman@google.com>
3144
3145         Web Inspector: add generic support for undo-ing DOM edits.
3146         https://bugs.webkit.org/show_bug.cgi?id=77875
3147
3148         Reviewed by Yury Semikhatsky.
3149
3150         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
3151         initiated by the inspector. There is a way to undo these actions up until the undoable
3152         state marker.
3153
3154         Tests: inspector/elements/undo-dom-edits-2.html
3155                inspector/elements/undo-dom-edits.html
3156                inspector/styles/undo-add-property.html
3157                inspector/styles/undo-change-property.html
3158                inspector/styles/undo-property-toggle.html
3159
3160         * CMakeLists.txt:
3161         * GNUmakefile.list.am:
3162         * Target.pri:
3163         * WebCore.gypi:
3164         * WebCore.vcproj/WebCore.vcproj:
3165         * WebCore.xcodeproj/project.pbxproj:
3166         * inspector/Inspector.json:
3167         * inspector/InspectorAllInOne.cpp:
3168         * inspector/InspectorCSSAgent.cpp:
3169         (InspectorCSSAgent::StyleSheetAction):
3170         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
3171         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
3172         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
3173         (WebCore):
3174         (InspectorCSSAgent::SetStyleSheetTextAction):
3175         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
3176         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
3177         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
3178         (InspectorCSSAgent::SetPropertyTextAction):
3179         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
3180         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
3181         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
3182         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
3183         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
3184         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
3185         (InspectorCSSAgent::TogglePropertyAction):
3186         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
3187         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
3188         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
3189         (WebCore::InspectorCSSAgent::getStyleSheetText):
3190         (WebCore::InspectorCSSAgent::setStyleSheetText):
3191         (WebCore::InspectorCSSAgent::setPropertyText):
3192         (WebCore::InspectorCSSAgent::toggleProperty):
3193         * inspector/InspectorCSSAgent.h:
3194         (InspectorCSSAgent):
3195         * inspector/InspectorDOMAgent.cpp:
3196         (InspectorDOMAgent::DOMAction):
3197         (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
3198         (WebCore::InspectorDOMAgent::DOMAction::perform):
3199         (WebCore::InspectorDOMAgent::DOMAction::undo):
3200         (WebCore):
3201         (InspectorDOMAgent::RemoveChildAction):
3202         (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
3203         (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
3204         (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
3205         (InspectorDOMAgent::InsertBeforeAction):
3206         (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
3207         (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
3208         (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
3209         (InspectorDOMAgent::RemoveAttributeAction):
3210         (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
3211         (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
3212         (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
3213         (InspectorDOMAgent::SetAttributeAction):
3214         (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
3215         (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
3216         (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
3217         (InspectorDOMAgent::SetOuterHTMLAction):
3218         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
3219         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
3220         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
3221         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
3222         (InspectorDOMAgent::ReplaceWholeTextAction):
3223         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
3224         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
3225         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
3226         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3227         (WebCore::InspectorDOMAgent::reset):
3228         (WebCore::InspectorDOMAgent::setAttributeValue):
3229         (WebCore::InspectorDOMAgent::setAttributesAsText):
3230         (WebCore::InspectorDOMAgent::removeAttribute):
3231         (WebCore::InspectorDOMAgent::removeNode):
3232         (WebCore::InspectorDOMAgent::setNodeName):
3233         (WebCore::InspectorDOMAgent::setOuterHTML):
3234         (WebCore::InspectorDOMAgent::setNodeValue):
3235         (WebCore::InspectorDOMAgent::moveTo):
3236         (WebCore::InspectorDOMAgent::undo):
3237         (WebCore::InspectorDOMAgent::markUndoableState):
3238         * inspector/InspectorDOMAgent.h:
3239         (InspectorDOMAgent):
3240         (WebCore::InspectorDOMAgent::history):
3241         * inspector/InspectorHistory.cpp: Added.
3242         (WebCore::InspectorHistory::Action::Action):
3243         (WebCore):
3244         (WebCore::InspectorHistory::Action::~Action):
3245         (WebCore::InspectorHistory::Action::toString):
3246         (WebCore::InspectorHistory::Action::isUndoableStateMark):
3247         (WebCore::InspectorHistory::Action::mergeId):
3248         (WebCore::InspectorHistory::Action::merge):
3249         (WebCore::InspectorHistory::InspectorHistory):
3250         (WebCore::InspectorHistory::~InspectorHistory):
3251         (WebCore::InspectorHistory::perform):
3252         (WebCore::InspectorHistory::markUndoableState):
3253         (WebCore::InspectorHistory::undo):
3254         (WebCore::InspectorHistory::reset):
3255         * inspector/InspectorHistory.h: Added.
3256         (WebCore):
3257         (InspectorHistory):
3258         (Action):
3259         * inspector/InspectorStyleSheet.cpp:
3260         (WebCore::InspectorStyle::setPropertyText):
3261         (WebCore::InspectorStyle::styleText):
3262         (WebCore::InspectorStyleSheet::addRule):
3263         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3264         (WebCore::InspectorStyleSheet::buildObjectForStyle):
3265         (WebCore::InspectorStyleSheet::setPropertyText):
3266         (WebCore::InspectorStyleSheet::getText):
3267         (WebCore::InspectorStyleSheetForInlineStyle::getText):
3268         * inspector/InspectorStyleSheet.h:
3269         (InspectorStyle):
3270         (InspectorStyleSheet):
3271         (InspectorStyleSheetForInlineStyle):
3272         * inspector/front-end/CSSStyleModel.js:
3273         (WebInspector.CSSProperty.prototype.setText):
3274         * inspector/front-end/ElementsPanel.js:
3275         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
3276         (WebInspector.ElementsPanel.prototype._updateSidebars):
3277         (WebInspector.ElementsPanel.prototype.handleShortcut):
3278         * inspector/front-end/StylesSidebarPane.js:
3279         (WebInspector.StylePropertiesSection.prototype.onpopulate):
3280         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
3281         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
3282         (WebInspector.StylePropertyTreeElement):
3283         (WebInspector.StylePropertyTreeElement.prototype):
3284
3285 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3286
3287         Unreviewed, rolling out r106935.
3288         http://trac.webkit.org/changeset/106935
3289         https://bugs.webkit.org/show_bug.cgi?id=77994
3290
3291         "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
3292         cr on #webkit).
3293
3294         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3295         (WebCore::CCLayerTreeHost::setNeedsRedraw):
3296         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3297         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
3298         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3299         (WebCore::CCThreadProxy::setNeedsRedraw):
3300         * platform/graphics/chromium/cc/CCThreadProxy.h:
3301         (CCThreadProxy):
3302
3303 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3304
3305         Unreviewed, rolling out r106932.
3306         http://trac.webkit.org/changeset/106932
3307         https://bugs.webkit.org/show_bug.cgi?id=77988
3308
3309         Breaks Mac bots (Requested by pfeldman on #webkit).
3310
3311         * CMakeLists.txt:
3312         * GNUmakefile.list.am:
3313         * Target.pri:
3314         * WebCore.gypi:
3315         * WebCore.vcproj/WebCore.vcproj:
3316         * WebCore.xcodeproj/project.pbxproj:
3317         * inspector/Inspector.json:
3318         * inspector/InspectorAllInOne.cpp:
3319         * inspector/InspectorCSSAgent.cpp:
3320         (WebCore::InspectorCSSAgent::getStyleSheetText):
3321         (WebCore::InspectorCSSAgent::setStyleSheetText):
3322         (WebCore::InspectorCSSAgent::setPropertyText):
3323         (WebCore::InspectorCSSAgent::toggleProperty):
3324         * inspector/InspectorCSSAgent.h:
3325         (InspectorCSSAgent):
3326         * inspector/InspectorDOMAgent.cpp:
3327         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3328         (WebCore::InspectorDOMAgent::reset):
3329         (WebCore::InspectorDOMAgent::setAttributeValue):
3330         (WebCore::InspectorDOMAgent::setAttributesAsText):
3331         (WebCore::InspectorDOMAgent::removeAttribute):
3332         (WebCore::InspectorDOMAgent::removeNode):
3333         (WebCore::InspectorDOMAgent::setNodeName):
3334         (WebCore::InspectorDOMAgent::setOuterHTML):
3335         (WebCore::InspectorDOMAgent::setNodeValue):
3336         (WebCore::InspectorDOMAgent::moveTo):
3337         * inspector/InspectorDOMAgent.h:
3338         (InspectorDOMAgent):
3339         * inspector/InspectorHistory.cpp: Removed.
3340         * inspector/InspectorHistory.h: Removed.
3341         * inspector/InspectorStyleSheet.cpp:
3342         (WebCore::InspectorStyle::setPropertyText):
3343         (WebCore::InspectorStyle::styleText):
3344         (WebCore::InspectorStyleSheet::addRule):
3345         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3346         (WebCore::InspectorStyleSheet::buildObjectForStyle):
3347         (WebCore::InspectorStyleSheet::setPropertyText):
3348         (WebCore::InspectorStyleSheet::text):
3349         (WebCore::InspectorStyleSheetForInlineStyle::text):
3350         * inspector/InspectorStyleSheet.h:
3351         (InspectorStyle):
3352         (InspectorStyleSheet):
3353         (InspectorStyleSheetForInlineStyle):
3354         * inspector/front-end/CSSStyleModel.js:
3355         (WebInspector.CSSProperty.prototype.setText):
3356         * inspector/front-end/ElementsPanel.js:
3357         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
3358         (WebInspector.ElementsPanel.prototype.handleShortcut):
3359         * inspector/front-end/StylesSidebarPane.js:
3360         (WebInspector.StylePropertiesSection.prototype.onpopulate):
3361         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
3362         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
3363         (WebInspector.StylePropertyTreeElement):
3364         (WebInspector.StylePropertyTreeElement.prototype):
3365
3366 2012-02-07  Priit Laes  <plaes@plaes.org>
3367
3368         [GTK] Build failure with --enable-web-audio
3369         https://bugs.webkit.org/show_bug.cgi?id=77978
3370
3371         Reviewed by Gustavo Noronha Silva.
3372
3373         * GNUmakefile.list.am: Include AudioSourceProviderClient.h
3374
3375 2012-02-07  Alexei Filippov  <alexeif@chromium.org>
3376
3377         Web Inspector: fix objects duplication when switching filter in heap profiler.
3378         https://bugs.webkit.org/show_bug.cgi?id=77974
3379
3380         Reviewed by Yury Semikhatsky.
3381
3382         * inspector/front-end/DetailedHeapshotView.js:
3383         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
3384
3385 2012-02-07  Jonathan Backer  <backer@chromium.org>
3386
3387         [chromium] Add setNeedsRedraw to WebWidget
3388         https://bugs.webkit.org/show_bug.cgi?id=77555
3389
3390         Reviewed by James Robinson.
3391
3392         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3393         (WebCore::CCLayerTreeHost::setNeedsRedraw):
3394         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3395         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
3396         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3397         (WebCore::CCThreadProxy::setNeedsRedraw):
3398         (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
3399         (WebCore):
3400         * platform/graphics/chromium/cc/CCThreadProxy.h:
3401         (CCThreadProxy):
3402
3403 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
3404
3405         [Qt][WK2] Compute and set cache capacities using the current CacheModel
3406         https://bugs.webkit.org/show_bug.cgi?id=73918
3407
3408         Reviewed by Kenneth Rohde Christiansen.
3409
3410         No new tests. (build fix)
3411
3412         * platform/qt/FileSystemQt.cpp:
3413         (WebCore::getVolumeFreeSizeForPath):
3414
3415 2012-02-07  Pavel Feldman  <pfeldman@google.com>
3416
3417         Web Inspector: add generic support for undo-ing DOM edits.
3418         https://bugs.webkit.org/show_bug.cgi?id=77875
3419
3420         Reviewed by Yury Semikhatsky.
3421
3422         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
3423         initiated by the inspector. There is a way to undo these actions up until the undoable
3424         state marker.
3425
3426         Tests: inspector/elements/undo-dom-edits-2.html
3427                inspector/elements/undo-dom-edits.html
3428                inspector/styles/undo-add-property.html
3429                inspector/styles/undo-change-property.html
3430                inspector/styles/undo-property-toggle.html
3431
3432         * CMakeLists.txt:
3433         * GNUmakefile.list.am:
3434         * Target.pri:
3435         * WebCore.gypi:
3436         * WebCore.vcproj/WebCore.vcproj:
3437         * WebCore.xcodeproj/project.pbxproj:
3438         * inspector/Inspector.json:
3439         * inspector/InspectorAllInOne.cpp:
3440         * inspector/InspectorCSSAgent.cpp:
3441         (InspectorCSSAgent::StyleSheetAction):
3442         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
3443         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
3444         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
3445         (WebCore):
3446         (InspectorCSSAgent::SetStyleSheetTextAction):
3447         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
3448         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
3449         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
3450         (InspectorCSSAgent::SetPropertyTextAction):
3451         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
3452         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
3453         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
3454         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
3455         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
3456         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
3457         (InspectorCSSAgent::TogglePropertyAction):
3458         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
3459         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
3460         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
3461         (WebCore::InspectorCSSAgent::getStyleSheetText):
3462         (WebCore::InspectorCSSAgent::setStyleSheetText):
3463         (WebCore::InspectorCSSAgent::setPropertyText):
3464         (WebCore::InspectorCSSAgent::toggleProperty):
3465         * inspector/InspectorCSSAgent.h:
3466         (InspectorCSSAgent):
3467         * inspector/InspectorDOMAgent.cpp:
3468         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3469         (WebCore::InspectorDOMAgent::reset):
3470         (WebCore::InspectorDOMAgent::setAttributeValue):
3471         (WebCore::InspectorDOMAgent::setAttributesAsText):
3472         (WebCore::InspectorDOMAgent::removeAttribute):
3473         (WebCore::InspectorDOMAgent::removeNode):