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