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