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