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