1 2012-02-09 Tony Chang <tony@chromium.org>
3 more refactoring of RenderFlexibleBox in preparation for multiline
4 https://bugs.webkit.org/show_bug.cgi?id=78281
6 Reviewed by Ojan Vafai.
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.
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.
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.
19 No new tests, just refactoring.
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:
32 2012-02-09 Kentaro Hara <haraken@chromium.org>
34 Rename [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue]
35 https://bugs.webkit.org/show_bug.cgi?id=78200
37 Reviewed by Adam Barth.
39 [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue] are confusing.
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.
51 With these observations, this patch renames as follows:
53 - Rename [Optional=CallWithDefaultValue] to [Optional=DefaultIsUndefined].
54 - Rename [Optional=CallWithNullValue] to [Optional=DefaultIsNullString].
56 Test: bindings/scripts/test/TestObj.idl
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.
63 * bindings/scripts/CodeGeneratorJS.pm: Modified to support the renaming.
64 (GenerateParametersCheck):
65 * bindings/scripts/CodeGeneratorV8.pm: Ditto.
66 (GenerateParametersCheck):
67 (RequiresCustomSignature):
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.
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:
87 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
88 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedString):
89 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
90 * bindings/scripts/test/JS/JSTestObj.h:
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):
102 (WebCore::TestObjInternal::methodWithOptionalStringIsUndefinedStringCallback):
103 (WebCore::TestObjInternal::methodWithOptionalStringIsNullStringCallback):
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:
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:
134 * dom/HashChangeEvent.idl:
135 * dom/KeyboardEvent.idl:
136 * dom/MessageEvent.idl:
137 * dom/MouseEvent.idl:
138 * dom/MutationEvent.idl:
139 * dom/NamedNodeMap.idl:
141 * dom/NodeFilter.idl:
143 * dom/OverflowEvent.idl:
145 * dom/ShadowRoot.idl:
148 * dom/TouchEvent.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:
181 * page/DOMSelection.idl:
182 * page/DOMWindow.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:
203 * svg/SVGTextContentElement.idl:
204 * webaudio/AudioNode.idl:
205 * workers/SharedWorker.idl:
206 * workers/WorkerContext.idl:
208 * xml/XMLSerializer.idl:
209 * xml/XPathEvaluator.idl:
210 * xml/XPathExpression.idl:
211 * xml/XPathNSResolver.idl:
212 * xml/XPathResult.idl:
214 2012-02-09 Matthew Delaney <mdelaney@apple.com>
216 getComputedStyle() returns different values for different zoom levels
217 https://bugs.webkit.org/show_bug.cgi?id=32230
219 Reviewed by Beth Dakin.
221 Test: fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html
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.
229 2012-02-09 Kentaro Hara <haraken@chromium.org>
231 Rename [Return] to [CustomReturn]
232 https://bugs.webkit.org/show_bug.cgi?id=78225
234 Reviewed by Adam Barth.
236 [Return] is used to handle custom code for a returned value.
237 To clarify it, this patch renames [Return] to [CustomReturn].
239 No tests. No change in behavior.
241 * bindings/scripts/CodeGeneratorCPP.pm:
242 (GenerateImplementation):
243 * bindings/scripts/CodeGeneratorGObject.pm:
245 * bindings/scripts/CodeGeneratorObjC.pm:
246 (GenerateImplementation):
249 2012-02-09 Levi Weintraub <leviw@chromium.org>
251 Add roundedIntPoint method for LayoutPoints
252 https://bugs.webkit.org/show_bug.cgi?id=78262
254 Reviewed by Eric Seidel.
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.
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).
264 No new tests. No change in functionality.
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):
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):
302 2012-02-09 John Bates <jbates@google.com>
304 [Chromium] Add chromium-style tracing support
305 https://bugs.webkit.org/show_bug.cgi?id=76885
307 Reviewed by Darin Fisher.
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.
313 * bindings/v8/V8Proxy.cpp:
314 (WebCore::V8Proxy::evaluate): Replace old tracing API.
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):
335 2012-02-09 David Hyatt <hyatt@apple.com>
337 https://bugs.webkit.org/show_bug.cgi?id=78256
339 Rename line-grid-snap to line-snap so that it matches the draft proposal for the
342 Reviewed by Dan Bernstein.
344 * css/CSSComputedStyleDeclaration.cpp:
346 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
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:
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):
374 2012-02-09 Benjamin Poulain <bpoulain@apple.com>
376 The localization of htmlSelectMultipleItems() needs better support of pluralization
377 https://bugs.webkit.org/show_bug.cgi?id=78197
379 Reviewed by Joseph Pecoraro.
381 For translation, the localization of 0 and 1 depends on the language.
383 * English.lproj/Localizable.strings:
384 * platform/DefaultLocalizationStrategy.cpp:
385 (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
387 2012-02-09 Anders Carlsson <andersca@apple.com>
389 ScrollingTreeNodeMac should implement ScrollElasticityController
390 https://bugs.webkit.org/show_bug.cgi?id=78277
392 Reviewed by Andreas Kling.
394 Add stubbed out implementations of the ScrollElasticityController member functions.
396 * page/scrolling/mac/ScrollingTreeNodeMac.h:
397 (ScrollingTreeNodeMac):
398 * page/scrolling/mac/ScrollingTreeNodeMac.mm:
399 (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
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):
413 2012-02-09 Adrienne Walker <enne@google.com>
415 [chromium] Correct potential double reserveTextures() in CCLayerTreeHost
416 https://bugs.webkit.org/show_bug.cgi?id=78258
418 Reviewed by James Robinson.
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.
425 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
426 (WebCore::CCLayerTreeHost::reserveTextures):
428 2012-02-09 Sheriff Bot <webkit.review.bot@gmail.com>
430 Unreviewed, rolling out r107261.
431 http://trac.webkit.org/changeset/107261
432 https://bugs.webkit.org/show_bug.cgi?id=78274
434 It has regressed svg/W3C-SVG-1.1/styling-css-05-b.svg (using
435 lang() selectors) (Requested by jchaffraix on #webkit).
437 * css/CSSStyleSelector.cpp:
438 (WebCore::CSSStyleSelector::canShareStyleWithControl):
439 (WebCore::CSSStyleSelector::canShareStyleWithElement):
440 (WebCore::isCommonAttributeSelectorAttribute):
442 2012-02-09 Joshua Bell <jsbell@chromium.org>
444 [Chromium] IndexedDB: IDBVersionChangeRequest V8 wrapper not generated as ActiveDOMObject
445 https://bugs.webkit.org/show_bug.cgi?id=78167
447 Add ActiveDOMObject annotation to IDBVersionChangeRequest.idl; it is not
448 automagically inherited from IDBRequest.idl.
450 Reviewed by Adam Barth.
452 Test: storage/indexeddb/versionchangerequest-activedomobject.html
454 * storage/IDBVersionChangeRequest.idl:
456 2012-02-09 Anders Carlsson <andersca@apple.com>
458 The scrolling tree should know more about the scrollbar state
459 https://bugs.webkit.org/show_bug.cgi?id=78268
461 Reviewed by Andreas Kling.
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.
466 This is needed in order to make rubber-banding work correctly when doing fast scrolling.
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:
475 * page/scrolling/ScrollingTreeState.cpp:
476 (WebCore::ScrollingTreeState::ScrollingTreeState):
477 (WebCore::ScrollingTreeState::setHorizontalScrollElasticity):
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):
489 2012-02-09 Xianzhu Wang <wangxianzhu@chromium.org>
491 Unnecessary and incorrect invalidation about composited fixed-position layers
492 https://bugs.webkit.org/show_bug.cgi?id=75638
494 When a FrameView scrolls, composited fixed-position layers should
495 not contribute to the invalidation rect of the root layer.
497 Reviewed by Simon Fraser.
499 No new tests. Haven't found a good way to test this programatically.
501 * page/FrameView.cpp:
502 (WebCore::FrameView::scrollContentsFastPath):
504 2012-02-09 Sheriff Bot <webkit.review.bot@gmail.com>
506 Unreviewed, rolling out r107035.
507 http://trac.webkit.org/changeset/107035
508 https://bugs.webkit.org/show_bug.cgi?id=78253
510 Regressed DOMDivWalk (Requested by arv on #webkit).
515 * bindings/scripts/CodeGeneratorV8.pm:
516 (GenerateNormalAttrGetter):
517 (HasCustomToV8Implementation):
518 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
521 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp.
524 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
528 2012-02-09 David Barton <dbarton@mathscribe.com>
530 MathML internals for bug 52444 fix - type checking, PassRefPtr
531 https://bugs.webkit.org/show_bug.cgi?id=78180
533 Reviewed by Eric Seidel.
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.
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:
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:
570 * rendering/mathml/RenderMathMLRow.cpp:
571 (WebCore::RenderMathMLRow::RenderMathMLRow):
572 * rendering/mathml/RenderMathMLRow.h:
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):
587 2012-02-09 Andreas Kling <awesomekling@apple.com>
589 Avoid unnecessary work when evaluating style sharing candidates.
590 <http://webkit.org/b/78220>
592 Reviewed by Antti Koivisto.
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().
601 Altogether this knocks off 8-9ms worth of samples per cycle of the "Moz" page cycler test.
603 * css/CSSStyleSelector.cpp:
604 (WebCore::CSSStyleSelector::canShareStyleWithControl):
605 (WebCore::CSSStyleSelector::canShareStyleWithElement):
606 (WebCore::isCommonAttributeSelectorAttribute):
608 2012-02-09 Mike Lawther <mikelawther@chromium.org>
610 CSS3 calc() - remove mod
611 https://bugs.webkit.org/show_bug.cgi?id=78226
613 mod has been removed from the spec for calc().
615 Reviewed by Ojan Vafai.
617 * css/CSSCalculationValue.cpp:
618 (WebCore::CSSCalcBinaryOperation::create):
619 (WebCore::CSSCalcBinaryOperation::evaluate):
620 (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
622 * platform/CalculationValue.h:
624 2012-02-09 Pavel Feldman <pfeldman@google.com>
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
630 Reviewed by Yury Semikhatsky.
633 * GNUmakefile.list.am:
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):
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:
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):
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.
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:
712 * inspector/InspectorPageAgent.cpp:
713 (WebCore::InspectorPageAgent::setDocumentContent):
715 2012-02-09 Mark Rowe <mrowe@apple.com>
717 REGRESSION (r104746): iframes load PDFs as media documents
718 <http://webkit.org/b/77079> / <rdar://problem/10757933>
720 Roll out r104746 since it completely broke support for loading PDF documents in subframes.
722 Reviewed by Adam Treat.
724 * dom/DOMImplementation.cpp:
725 (WebCore::DOMImplementation::createDocument):
727 2012-02-09 Andrey Kosyakov <caseq@chromium.org>
729 Web Inspector: [refactoring] take _showShortEvents out of timeline calculator
730 https://bugs.webkit.org/show_bug.cgi?id=78230
732 Reviewed by Pavel Feldman.
734 * inspector/front-end/TimelinePanel.js:
735 (WebInspector.TimelinePanel):
736 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
737 (WebInspector.TimelinePanel.prototype._refresh):
738 (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
740 2012-02-08 Dan Vrátil <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com>
742 [GTK] Embedded GtkWidgets are not drawn
743 https://bugs.webkit.org/show_bug.cgi?id=63451
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.
748 Reviewed by Martin Robinson.
750 * platform/gtk/GtkPluginWidget.cpp:
751 (WebCore::GtkPluginWidget::~GtkPluginWidget):
753 * platform/gtk/GtkPluginWidget.h:
756 2012-02-09 Arun Patole <arun.patole@motorola.com>
758 Setting media element 'src' attribute to "" should trigger load
759 https://bugs.webkit.org/show_bug.cgi?id=47907
761 Reviewed by Eric Carlson.
763 Test: media/video-src-empty.html
765 * html/HTMLMediaElement.cpp:
766 (WebCore::HTMLMediaElement::attributeChanged):Trigger a load, as long as the 'src' attribute is present.
768 2012-02-09 Jonathan Backer <backer@chromium.org>
770 [chromium] Add setNeedsRedraw to WebWidget
771 https://bugs.webkit.org/show_bug.cgi?id=77555
773 Reviewed by James Robinson.
775 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
776 (WebCore::CCLayerTreeHost::setNeedsRedraw):
777 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
778 (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
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):
788 * platform/graphics/chromium/cc/CCThreadProxy.h:
791 2012-02-09 Pavel Feldman <pfeldman@google.com>
793 Web Inspector: fix setOuterHTML for the case that adds / removes duplicate.
794 https://bugs.webkit.org/show_bug.cgi?id=78235
796 Reviewed by Yury Semikhatsky.
798 * inspector/DOMEditor.cpp:
799 (WebCore::DOMEditor::diff):
800 (WebCore::DOMEditor::innerPatchChildren):
803 (WebCore::DOMEditor::dumpMap):
804 * inspector/DOMEditor.h:
807 2012-02-09 Allan Sandfeld Jensen <allan.jensen@nokia.com>
809 Ensure timers and other active DOM objects do not fire in suspended documents.
810 https://bugs.webkit.org/show_bug.cgi?id=53733
812 ScriptExecutionContext now remembers it has suspended active DOM objects
813 and suspends all newly installed active DOM objects as well.
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
820 Reviewed by Mihai Parparita.
822 Test: fast/events/suspend-timers.html
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:
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):
899 2012-02-09 Vsevolod Vlasov <vsevik@chromium.org>
901 Unreviewed followup for r107235.
903 * inspector/front-end/ScriptsPanel.js:
904 (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
905 (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
907 2012-02-09 Vsevolod Vlasov <vsevik@chromium.org>
909 Web Inspector: Support hiding scripts panel debug sidebar.
910 https://bugs.webkit.org/show_bug.cgi?id=77543
912 Reviewed by Pavel Feldman.
914 * English.lproj/localizedStrings.js:
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:
956 2012-02-09 Alexei Filippov <alexeif@chromium.org>
958 Web Inspector: Show percentage by default in heap profiler.
959 https://bugs.webkit.org/show_bug.cgi?id=78103
961 Reviewed by Pavel Feldman.
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):
979 2012-02-09 Ilya Tikhonovsky <loislo@chromium.org>
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
984 Reviewed by Pavel Feldman.
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):
994 2012-02-09 Alexander Pavlov <apavlov@chromium.org>
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
999 Reviewed by Pavel Feldman.
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):
1018 2012-02-08 Pavel Feldman <pfeldman@google.com>
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
1023 Reviewed by Yury Semikhatsky.
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:
1047 2012-02-09 Roland Steiner <rolandsteiner@chromium.org>
1049 SelectorChecker::checkSelector: move parameters into a struct
1050 https://bugs.webkit.org/show_bug.cgi?id=77525
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).
1056 Reviewed by Antti Koivisto.
1058 No new tests. (refactoring)
1060 * css/CSSStyleSelector.cpp:
1061 (WebCore::CSSStyleSelector::checkSelector):
1062 * css/SelectorChecker.cpp:
1063 (WebCore::SelectorChecker::checkSelector):
1065 (WebCore::SelectorChecker::checkOneSelector):
1066 * css/SelectorChecker.h:
1067 (SelectorCheckingContext):
1068 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
1071 2012-02-09 Philip Rogers <pdr@google.com>
1073 Fix mirroring with SVG fonts
1074 https://bugs.webkit.org/show_bug.cgi?id=77067
1076 Reviewed by Nikolas Zimmermann.
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.
1085 Several new tests were added to test mirroring with SVG fonts in the
1086 presence of Arabic forms and non-BMP characters.
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
1092 * platform/graphics/SVGGlyph.cpp:
1093 (WebCore::charactersWithArabicForm):
1094 * svg/SVGFontData.cpp:
1095 (WebCore::SVGFontData::applySVGGlyphSelection):
1096 (WebCore::SVGFontData::createStringWithMirroredCharacters):
1097 * svg/SVGFontData.h:
1100 2012-02-09 Vsevolod Vlasov <vsevik@chromium.org>
1102 Web Inspector: Scripts navigator fails to reopen previously closed script.
1103 https://bugs.webkit.org/show_bug.cgi?id=78212
1105 Reviewed by Pavel Feldman.
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):
1114 2012-02-09 Shinya Kawanaka <shinyak@google.com>
1116 ASSERT_NO_EXCEPTION should be initialized with non-zero value.
1117 https://bugs.webkit.org/show_bug.cgi?id=78194
1119 Reviewed by Hajime Morita.
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.
1126 No new tests, no change in behavior.
1128 * dom/ExceptionCodePlaceholder.cpp:
1129 (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
1130 (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
1131 * dom/ExceptionCodePlaceholder.h:
1132 (NoExceptionAssertionChecker):
1134 2012-02-09 Roland Steiner <rolandsteiner@chromium.org>
1136 Unreviewed, rolling out r107197.
1137 http://trac.webkit.org/changeset/107197
1138 https://bugs.webkit.org/show_bug.cgi?id=77525
1140 broke Chromium Linux
1142 * css/CSSStyleSelector.cpp:
1143 (WebCore::CSSStyleSelector::checkSelector):
1144 * css/SelectorChecker.cpp:
1145 (WebCore::SelectorChecker::checkSelector):
1147 (WebCore::SelectorChecker::checkOneSelector):
1148 * css/SelectorChecker.h:
1150 2012-02-09 Kentaro Hara <haraken@chromium.org>
1152 Unreviewed, rolling out r107182, r107186, r107189, r107191,
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
1161 Layout tests of JSC-related port are crashing
1163 * Modules/gamepad/GamepadList.idl:
1164 * Modules/intents/Intent.idl:
1165 * bindings/js/JSDOMBinding.h:
1166 * bindings/scripts/CodeGeneratorJS.pm:
1167 (GenerateGetOwnPropertySlotBody):
1168 (GenerateParametersCheck):
1170 (GenerateConstructorDefinition):
1171 * bindings/scripts/CodeGeneratorV8.pm:
1172 (GenerateParametersCheck):
1173 (GenerateImplementationIndexer):
1174 (RequiresCustomSignature):
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:
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:
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):
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:
1292 * css/CSSRuleList.idl:
1293 * css/CSSStyleDeclaration.idl:
1294 * css/CSSStyleRule.idl:
1295 * css/CSSStyleSheet.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:
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:
1319 * dom/DocumentType.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:
1331 * dom/NodeFilter.idl:
1334 * dom/OverflowEvent.idl:
1335 * dom/ProcessingInstruction.idl:
1337 * dom/ShadowRoot.idl:
1339 * dom/TextEvent.idl:
1340 * dom/TouchEvent.idl:
1342 * dom/WheelEvent.idl:
1343 * html/DOMFormData.idl:
1344 * html/DOMTokenList.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:
1377 * page/DOMSelection.idl:
1378 * page/DOMWindow.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:
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:
1416 2012-02-09 Shinya Kawanaka <shinyak@google.com>
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
1421 Reviewed by Hajime Morita.
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.
1428 Test: fast/dom/shadow/shadow-disable.html
1431 (WebCore::Element::ensureShadowRoot):
1432 * dom/ShadowRoot.cpp:
1433 (WebCore::allowsUserShadowRoot):
1435 (WebCore::ShadowRoot::create):
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.
1452 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
1454 Web Inspector: hovering over element with :hover style halts inspector
1455 https://bugs.webkit.org/show_bug.cgi?id=78086
1457 Reviewed by Pavel Feldman.
1459 Test: inspector/styles/updates-throttled.html
1461 * inspector/front-end/StylesSidebarPane.js:
1462 (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
1463 (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
1464 (WebInspector.StylesSidebarPane.prototype._innerUpdate):
1466 2012-02-09 Kentaro Hara <haraken@chromium.org>
1468 Unreviewed. Fix build failure caused by r107191.
1470 * bindings/scripts/CodeGeneratorJS.pm:
1471 (GenerateParametersCheck):
1472 * bindings/scripts/CodeGeneratorV8.pm:
1473 (GenerateParametersCheck):
1475 2012-02-09 Roland Steiner <rolandsteiner@chromium.org>
1477 SelectorChecker::checkSelector: move parameters into a struct
1478 https://bugs.webkit.org/show_bug.cgi?id=77525
1480 Added 'SelectorCheckingContext' struct to hold parameters for the function.
1481 Adapted calling sites.
1483 Reviewed by Antti Koivisto.
1485 No new tests. (refactoring)
1487 * css/CSSStyleSelector.cpp:
1488 (WebCore::CSSStyleSelector::checkSelector):
1489 * css/SelectorChecker.cpp:
1490 (WebCore::SelectorChecker::checkSelector):
1492 (WebCore::SelectorChecker::checkOneSelector):
1493 * css/SelectorChecker.h:
1494 (SelectorCheckingContext):
1495 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
1498 2012-02-09 Kent Tamura <tkent@chromium.org>
1500 Do not localize numbers in scientific notation
1501 https://bugs.webkit.org/show_bug.cgi?id=78208
1503 Reviewed by Hajime Morita.
1505 For a preparation of fixing http://wkb.ug/62939, we stop supporting
1506 localized numbers in scientific notation in <input type=number>.
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.
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.
1518 2012-02-09 Leo Yang <leo.yang@torchmobile.com.cn>
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
1523 Reviewed by Antonio Gomes.
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.
1528 Build system fix, no new tests.
1532 2012-02-09 Andreas Kling <awesomekling@apple.com>
1534 REGRESSION(r53878): Input elements don't share their styles if the document contains no validity style rules.
1535 <http://webkit.org/b/69400>
1537 Reviewed by Kent Tamura.
1539 Don't reject style sharing candidates prematurely just because the document doesn't
1540 have any :valid or :invalid selectors.
1542 * css/CSSStyleSelector.cpp:
1543 (WebCore::CSSStyleSelector::canShareStyleWithControl):
1545 2012-02-09 Kentaro Hara <haraken@chromium.org>
1547 Unreviewed. Fixed typo in the following files. [TreatUndefinedAs] => [TreatAsUndefined].
1549 * bindings/scripts/CodeGeneratorJS.pm:
1550 (GenerateParametersCheck):
1552 * bindings/scripts/test/TestObj.idl:
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:
1564 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsUndefinedString):
1565 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
1566 (WebCore::jsTestObjPrototypeFunctionConvert5):
1567 * bindings/scripts/test/JS/JSTestObj.h:
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):
1576 2012-02-09 Kentaro Hara <haraken@chromium.org>
1578 Unreviewed. Fixed typo in the following files. [TreatReturnedNullStringTo=] => [TreatReturnedNullStringAs=].
1580 * bindings/scripts/test/TestObj.idl:
1581 * css/CSSCharsetRule.idl:
1582 * css/CSSImportRule.idl:
1583 * css/CSSPageRule.idl:
1585 * css/CSSStyleDeclaration.idl:
1586 * css/CSSStyleRule.idl:
1588 * css/MediaList.idl:
1589 * css/StyleSheet.idl:
1590 * css/WebKitCSSKeyframesRule.idl:
1592 * dom/CharacterData.idl:
1593 * dom/Clipboard.idl:
1594 * dom/DOMStringList.idl:
1596 * dom/DocumentType.idl:
1599 * dom/MutationRecord.idl:
1602 * dom/ProcessingInstruction.idl:
1603 * html/DOMTokenList.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:
1618 2012-02-08 Kentaro Hara <haraken@chromium.org>
1620 Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
1621 https://bugs.webkit.org/show_bug.cgi?id=78108
1623 Reviewed by Adam Barth.
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].
1630 No tests. No change in behavior.
1632 * bindings/scripts/CodeGeneratorJS.pm:
1633 (GenerateGetOwnPropertySlotBody):
1635 * bindings/scripts/CodeGeneratorV8.pm:
1636 (GenerateImplementationIndexer):
1639 * bindings/scripts/test/TestObj.idl: No change in run-bindings-tests results.
1641 * css/CSSCharsetRule.idl:
1642 * css/CSSImportRule.idl:
1643 * css/CSSPageRule.idl:
1645 * css/CSSStyleDeclaration.idl:
1646 * css/CSSStyleRule.idl:
1648 * css/MediaList.idl:
1649 * css/StyleSheet.idl:
1650 * css/WebKitCSSKeyframesRule.idl:
1652 * dom/CharacterData.idl:
1653 * dom/Clipboard.idl:
1654 * dom/DOMStringList.idl:
1656 * dom/DocumentType.idl:
1659 * dom/MutationRecord.idl:
1662 * dom/ProcessingInstruction.idl:
1663 * html/DOMTokenList.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:
1678 2012-02-08 Andreas Kling <awesomekling@apple.com>
1680 Simplify ownership of StyledElement::additionalAttributeStyles().
1681 <http://webkit.org/b/78204>
1683 Reviewed by Anders Carlsson.
1685 Change additionalAttributeStyle() to return a raw pointer rather than a PassRefPtr.
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:
1706 * html/HTMLTableSectionElement.cpp:
1707 (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
1708 * html/HTMLTableSectionElement.h:
1709 (HTMLTableSectionElement):
1711 2012-02-08 Kentaro Hara <haraken@chromium.org>
1713 Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
1714 https://bugs.webkit.org/show_bug.cgi?id=78200
1716 Reviewed by Adam Barth.
1718 [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.
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.
1730 With these observations, this patch renames them as follows:
1732 - Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
1733 - Remove [Optional=CallWithNullValue]. Instead, we use
1734 [Optional=TreatAsUndefined, TreatUndefinedAs=NullString].
1736 Test: bindings/scripts/test/TestInterface.idl
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.
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):
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:
1778 * dom/HashChangeEvent.idl:
1779 * dom/KeyboardEvent.idl:
1780 * dom/MessageEvent.idl:
1781 * dom/MouseEvent.idl:
1782 * dom/MutationEvent.idl:
1783 * dom/NamedNodeMap.idl:
1785 * dom/NodeFilter.idl:
1787 * dom/OverflowEvent.idl:
1789 * dom/ShadowRoot.idl:
1791 * dom/TextEvent.idl:
1792 * dom/TouchEvent.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:
1825 * page/DOMSelection.idl:
1826 * page/DOMWindow.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:
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:
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.
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.
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.
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):
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):
1982 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
1983 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1985 2012-02-08 Kentaro Hara <haraken@chromium.org>
1987 Rename [HasNumericIndexGetter] to [NumericIndexedGetter]
1988 https://bugs.webkit.org/show_bug.cgi?id=78096
1990 Reviewed by Adam Barth.
1992 This patch renames [HasNumericIndexGetter] to [NumericIndexedGetter],
1993 for naming consistency with [IndexedGetter] and [CustomIndexedGetter].
1995 No tests. No change in behavior.
1997 * bindings/scripts/CodeGeneratorJS.pm:
1998 (GenerateGetOwnPropertySlotBody):
1999 (GenerateGetOwnPropertyDescriptorBody):
2001 (GenerateImplementation):
2002 * bindings/scripts/CodeGeneratorV8.pm:
2003 (GenerateHeaderNamedAndIndexedPropertyAccessors):
2004 (GenerateImplementationIndexer):
2006 * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
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:
2019 2012-02-08 Tony Chang <tony@chromium.org>
2021 refactor RenderFlexibleBox to return preferred sizes of all children
2022 https://bugs.webkit.org/show_bug.cgi?id=78169
2024 Reviewed by Ojan Vafai.
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.
2029 No new tests, just refactoring.
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):
2040 2012-02-08 Shinya Kawanaka <shinyak@google.com>
2042 Stop calling Element::ensureShadowRoot() if it is used in construction phase.
2043 https://bugs.webkit.org/show_bug.cgi?id=77929
2045 Reviewed by Hajime Morita.
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.
2051 No new tests, no change in behavior.
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):
2069 2012-02-08 David Reveman <reveman@chromium.org>
2071 [Chromium] Avoid unnecessary full tile updates without breaking atomicity of commits.
2072 https://bugs.webkit.org/show_bug.cgi?id=76740
2074 Reviewed by James Robinson.
2076 Allow the final batch of texture uploads to be performed without
2077 allocating new textures and re-painting complete tiles.
2079 This patch is tested by the following unit test:
2080 - CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
2081 - TiledLayerChromiumTest.partialUpdates
2083 * platform/graphics/chromium/TiledLayerChromium.cpp:
2084 (WebCore::UpdatableTile::UpdatableTile):
2086 (WebCore::TiledLayerChromium::updateCompositorResources):
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):
2099 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2100 (WebCore::CCSettings::CCSettings):
2103 * platform/graphics/chromium/cc/CCProxy.h:
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):
2112 (WebCore::CCTextureUpdater::appendPartial):
2113 (WebCore::CCTextureUpdater::hasMoreUpdates):
2114 (WebCore::CCTextureUpdater::update):
2115 (WebCore::CCTextureUpdater::clear):
2116 * platform/graphics/chromium/cc/CCTextureUpdater.h:
2118 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2120 (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2121 (WebCore::CCThreadProxy::maxPartialTextureUpdates):
2122 * platform/graphics/chromium/cc/CCThreadProxy.h:
2125 2012-02-07 MORITA Hajime <morrita@google.com>
2127 Replacement text should be available from the marker.
2128 https://bugs.webkit.org/show_bug.cgi?id=77934
2130 Reviewed by Kent Tamura.
2132 On spellchecking, TextCheckingResult can contain a replacement text
2133 which is usable both for an automatic replacement and for showing a suggestion.
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.
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.
2145 Here is actual change:
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.
2152 Test: editing/spelling/spelling-marker-description.html
2155 * editing/Editor.cpp:
2156 (WebCore::Editor::markAndReplaceFor):
2157 * testing/Internals.cpp:
2158 (WebCore::Internals::markerAt):
2160 (WebCore::Internals::markerRangeForNode):
2161 (WebCore::Internals::markerDescriptionForNode):
2162 * testing/Internals.h:
2165 * testing/Internals.idl:
2167 2012-02-08 Eric Seidel <eric@webkit.org>
2169 Remove more cruft now that HTMLIsIndexElement is gone
2170 https://bugs.webkit.org/show_bug.cgi?id=77887
2172 Reviewed by Darin Adler.
2174 Just removing dead code, thus no tests.
2175 There is likely more to remove after this.
2178 * GNUmakefile.list.am:
2181 * WebCore.vcproj/WebCore.vcproj:
2182 * WebCore.xcodeproj/project.pbxproj:
2183 * html/HTMLInputElement.cpp:
2184 * html/HTMLInputElement.h:
2186 * html/InputType.cpp:
2187 (WebCore::createInputTypeFactoryMap):
2190 * html/IsIndexInputType.cpp: Removed.
2191 * html/IsIndexInputType.h: Removed.
2192 * rendering/HitTestResult.cpp:
2193 (WebCore::HitTestResult::isContentEditable):
2195 2012-02-08 Andreas Kling <awesomekling@apple.com>
2197 Increased style sharing for elements with presentation attributes.
2198 <http://webkit.org/b/78199>
2200 Reviewed by Antti Koivisto.
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.)
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.
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.
2214 * css/CSSStyleSelector.cpp:
2215 (WebCore::attributeStylesEqual):
2216 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2218 2012-02-08 Raymond Liu <raymond.liu@intel.com>
2220 Fix the caculation of preDelayFrames in DynamicsCompressorKernel
2221 https://bugs.webkit.org/show_bug.cgi?id=78057
2223 Reviewed by Chris Rogers.
2225 No new tests required.
2227 * platform/audio/DynamicsCompressorKernel.cpp:
2228 (WebCore::DynamicsCompressorKernel::setPreDelayTime):
2230 2012-02-08 Adam Klein <adamk@chromium.org>
2232 DOM mutations should not be delivered on worker threads
2233 https://bugs.webkit.org/show_bug.cgi?id=77898
2235 Reviewed by Dmitry Titov.
2237 In V8RecursionScope, only call WebKitMutationObserver::deliverAllMutations
2238 if in a Document context.
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
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.
2249 See also http://crbug.com/112586, where the problem was initially
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:
2263 * bindings/v8/V8RecursionScope.cpp:
2264 (WebCore::V8RecursionScope::didLeaveScriptContext):
2265 * bindings/v8/V8RecursionScope.h:
2267 (WebCore::V8RecursionScope::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):
2280 2012-02-08 Anders Carlsson <andersca@apple.com>
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
2285 Reviewed by Andreas Kling.
2287 Stop calling Document::didAddWheelEventHandler and Document::didRemoveWheelEventHandler when
2288 adding and removing scrollbars.
2290 * page/FrameView.cpp:
2293 * rendering/RenderLayer.cpp:
2294 * rendering/RenderLayer.h:
2296 2012-02-08 Igor Oliveira <igor.o@sisa.samsung.com>
2298 Implement reverse animation direction
2300 Implement reverse animation direction
2301 https://bugs.webkit.org/show_bug.cgi?id=60525
2303 Implement reverse and alternate-reverse direction.
2305 Reviewed by Dean Jackson.
2307 Tests: animations/animation-direction-alternate-reverse.html
2308 animations/animation-direction-reverse.html
2309 animations/fill-mode-reverse.html
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:
2323 * platform/graphics/texmap/TextureMapperAnimation.cpp:
2325 (WebCore::shouldReverseAnimationValue):
2326 (WebCore::normalizedAnimationValue):
2328 2012-02-08 James Robinson <jamesr@chromium.org>
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
2333 Reviewed by Kenneth Russell.
2335 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2336 (WebCore::CCSingleThreadProxy::context):
2338 2012-02-08 David Hyatt <hyatt@apple.com>
2340 https://bugs.webkit.org/show_bug.cgi?id=78157
2342 Make multi-column layout work with line grids that are outside of the multi-column
2345 Reviewed by Dan Bernstein.
2347 Added new tests in fast/line-grid.
2349 * rendering/LayoutState.cpp:
2350 (WebCore::LayoutState::LayoutState):
2351 (WebCore::LayoutState::propagateLineGridInfo):
2352 (WebCore::LayoutState::establishLineGrid):
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):
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):
2371 2012-02-08 Matthew Delaney <mdelaney@apple.com>
2373 GeneratorGeneratedImage::drawPattern does not factor in its destination context's scale when generating its image tiles
2375 https://bugs.webkit.org/show_bug.cgi?id=67729
2376 <rdar://problem/10087050>
2378 Reviewed by Beth Dakin.
2380 No new tests, current pixel tests will cover this. Though some pixel results might improve to become less pixel-y.
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.
2390 2012-02-08 Adam Klein <adamk@chromium.org>
2392 Simplify and correct mutation delivery timing for JSC
2393 https://bugs.webkit.org/show_bug.cgi?id=78172
2395 Reviewed by Adam Barth.
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.
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.
2408 * bindings/js/JSMainThreadExecState.cpp:
2410 * bindings/js/JSMainThreadExecState.h: Added a comment explaining the purpose of JSMainThreadNullState.
2411 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
2412 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2413 (JSMainThreadExecState):
2416 2012-02-08 Kentaro Hara <haraken@chromium.org>
2418 Remove [ConvertToString] from CodeGeneratorCPP.pm and rename
2419 it to [ObjCImplementedAsUnsignedLong]
2420 https://bugs.webkit.org/show_bug.cgi?id=78100
2422 Reviewed by Eric Seidel.
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].
2428 No tests. No change in behavior.
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)
2438 2012-02-08 Leo Yang <leo.yang@torchmobile.com.cn>
2440 REGRESSION(r84194): Build fails when turning on ENABLE_FILE_SYSTEM
2441 https://bugs.webkit.org/show_bug.cgi?id=78088
2443 Reviewed by Antonio Gomes.
2445 WebCore::getDOMObjectWrapper was changed to WebCore::wrap in r84194.
2446 Adapt to this change in JSEntryCustom.cpp and JSEntrySyncCustom.cpp.
2448 Build fix, no new tests.
2450 * bindings/js/JSEntryCustom.cpp:
2452 * bindings/js/JSEntrySyncCustom.cpp:
2455 2012-02-08 Dana Jansens <danakj@chromium.org>
2457 [Chromium] Fix opaque tracking for box shadows and non-composited child elements
2458 https://bugs.webkit.org/show_bug.cgi?id=78073
2460 Reviewed by Stephen White.
2462 Tests: compositing/culling/scrolled-within-boxshadow.html
2463 compositing/culling/translated-boxshadow.html
2465 Unit tests: PlatformContextSkiaTest.cpp
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.
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.
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.
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:
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:
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):
2512 2012-02-08 Kentaro Hara <haraken@chromium.org>
2514 Remove [CustomHeader] from CanvasPixelArray and rename [CustomHeader] to [JSCustomHeader]
2515 https://bugs.webkit.org/show_bug.cgi?id=78089
2517 Reviewed by Adam Barth.
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.
2525 No tests. No change in behavior.
2527 * bindings/scripts/CodeGeneratorJS.pm:
2530 * html/canvas/CanvasPixelArray.idl:
2532 2012-02-08 Zalan Bujtas <zbujtas@gmail.com>
2534 Dispatch updateViewportArguments(), when Document is finished
2535 restoring from page cache.
2537 https://bugs.webkit.org/show_bug.cgi?id=77943
2539 Reviewed by Kenneth Rohde Christiansen.
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.
2546 No tests. No change in behaviour.
2549 (WebCore::Document::setInPageCache):
2550 (WebCore::Document::documentDidResumeFromPageCache):
2552 2012-02-08 Shawn Singh <shawnsingh@chromium.org>
2554 [chromium] Remove incorrect early exit in CCDamageTracker
2555 https://bugs.webkit.org/show_bug.cgi?id=76924
2557 Reviewed by James Robinson.
2559 New unit test added to CCDamageTrackerTest.cpp
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.
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:
2574 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2575 (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
2577 2012-02-08 James Robinson <jamesr@chromium.org>
2579 [chromium] Check that we can make the SharedGraphicsContext3D current before returning
2580 https://bugs.webkit.org/show_bug.cgi?id=78142
2582 Reviewed by Stephen White.
2584 If we can't make the context current, we can't use it.
2586 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2587 (WebCore::SharedGraphicsContext3D::get):
2589 2012-02-08 Abhishek Arya <inferno@chromium.org>
2591 Crash in Node::normalize.
2592 https://bugs.webkit.org/show_bug.cgi?id=78135
2594 Reviewed by Ryosuke Niwa.
2596 No new tests. Original testcase does not reduce to manageable
2600 (WebCore::Node::normalize):
2602 2012-02-08 Antoine Labour <piman@chromium.org>
2604 Make WebGL context current early to check validity
2605 https://bugs.webkit.org/show_bug.cgi?id=78141
2607 Reviewed by James Robinson.
2609 Covered by existing tests
2611 * html/canvas/WebGLRenderingContext.cpp:
2613 (WebCore::WebGLRenderingContext::create):
2615 2012-02-08 Jonathan Backer <backer@chromium.org>
2617 [chromium] Disable root layer clears on release builds.
2618 https://bugs.webkit.org/show_bug.cgi?id=77478
2620 Reviewed by James Robinson.
2622 * platform/graphics/chromium/LayerRendererChromium.cpp:
2623 (WebCore::LayerRendererChromium::clearRenderSurface):
2624 (WebCore::LayerRendererChromium::drawRenderPass):
2625 * platform/graphics/chromium/LayerRendererChromium.h:
2626 (LayerRendererChromium):
2628 2012-02-08 Anders Carlsson <andersca@apple.com>
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>
2634 Reviewed by Beth Dakin.
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.
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.
2645 * rendering/RenderLayerCompositor.cpp:
2646 (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2647 Reposition the content shadow layer, and call ScrollbarTheme::setUpContentShadowLayer if the size changes.
2649 (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
2650 Add new helper function.
2652 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2653 Create a content shadow layer if needed.
2655 2012-02-07 Andy Estes <aestes@apple.com>
2657 REGRESSION (r102983): ClicktoFlash drawing of old style youtube embeds missing until resize
2658 https://bugs.webkit.org/show_bug.cgi?id=77167
2660 Reviewed by Eric Seidel.
2662 Test: plugins/layout-in-beforeload-listener-affects-plugin-loading.html
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
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.
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
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
2694 2012-02-07 Ojan Vafai <ojan@chromium.org>
2696 Floated flexboxes render as regular RenderBlocks
2697 https://bugs.webkit.org/show_bug.cgi?id=77909
2699 Reviewed by Eric Seidel.
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.
2706 Test: css3/flexbox/floated-flexbox.html
2708 * css/CSSStyleSelector.cpp:
2709 (WebCore::adjustDisplay):
2711 (WebCore::CSSStyleSelector::adjustRenderStyle):
2713 2012-02-08 Dirk Schulze <krit@webkit.org>
2715 viewBox on nested SVG causes wrong content size for relative values
2716 https://bugs.webkit.org/show_bug.cgi?id=69459
2718 Reviewed by Nikolas.
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.
2724 With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
2727 Test: inner-svg-change-viewBox.svg
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.
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.
2745 * rendering/svg/SVGRenderSupport.cpp:
2746 (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
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.
2752 2012-02-08 Gregg Tavares <gman@google.com>
2754 Implement new WEBGL compressed texture extensions
2755 https://bugs.webkit.org/show_bug.cgi?id=77066
2757 This removes the old experimental compressed
2758 texture extension and implements the first new
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.
2765 Reviewed by Kenneth Russell.
2767 No new tests. Test coming in future patch.
2770 * DerivedSources.make:
2771 * GNUmakefile.list.am:
2774 * WebCore.xcodeproj/project.pbxproj:
2775 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2777 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2778 (WebCore::toV8Object):
2779 * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
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.
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):
2796 (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
2797 * html/canvas/WebGLGetInfo.h:
2798 * html/canvas/WebGLObject.cpp:
2799 * html/canvas/WebGLRenderingContext.cpp:
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:
2813 (WebGLRenderingContext):
2814 * html/canvas/WebGLRenderingContext.idl:
2816 2012-02-08 Ilya Tikhonovsky <loislo@chromium.org>
2818 Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
2819 https://bugs.webkit.org/show_bug.cgi?id=78113
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.
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.
2827 Reviewed by Yury Semikhatsky.
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):
2860 2012-02-08 Anders Carlsson <andersca@apple.com>
2862 Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
2863 https://bugs.webkit.org/show_bug.cgi?id=78126
2865 Reviewed by Dan Bernstein.
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.
2870 * page/FrameView.cpp:
2871 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2873 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
2875 Unreviewed, rolling out r106920, r106924, r106933, r106939,
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
2884 Something is completely wrong this change (Requested by
2885 Ossy_gardener on #webkit).
2887 * platform/FileSystem.h:
2889 * platform/qt/FileSystemQt.cpp:
2891 2012-02-08 David Hyatt <hyatt@apple.com>
2893 https://bugs.webkit.org/show_bug.cgi?id=78122
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.
2899 Reviewed by Adam Roben.
2901 Added a new test in fast/line-grid.
2903 * rendering/RootInlineBox.cpp:
2904 (WebCore::RootInlineBox::lineGridSnapAdjustment):
2906 2012-02-08 Cary Clark <caryclark@google.com>
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
2912 Reviewed by Stephen White.
2914 No new tests. Existing layout tests cover this.
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.
2920 * platform/graphics/skia/GraphicsContextSkia.cpp:
2921 (WebCore::GraphicsContext::drawLineForTextChecking):
2923 2012-02-08 Pavel Feldman <pfeldman@google.com>
2925 Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
2926 https://bugs.webkit.org/show_bug.cgi?id=78116
2928 Reviewed by Yury Semikhatsky.
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):
2939 2012-02-08 Peter Rybin <peter.rybin@gmail.com>
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
2944 Reviewed by Yury Semikhatsky.
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.
2949 * inspector/CodeGeneratorInspector.py:
2950 (Generator.process_command):
2952 2012-02-07 Yury Semikhatsky <yurys@chromium.org>
2954 Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
2955 https://bugs.webkit.org/show_bug.cgi?id=77972
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.
2961 Reviewed by Pavel Feldman.
2963 * bindings/js/ScriptProfiler.cpp:
2964 (WebCore::ScriptProfiler::objectByHeapObjectId):
2965 * bindings/js/ScriptProfiler.h:
2968 * bindings/v8/ScriptProfiler.cpp:
2969 (WebCore::ScriptProfiler::objectByHeapObjectId):
2971 * bindings/v8/ScriptProfiler.h:
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):
2992 2012-02-08 Mario Sanchez Prada <msanchez@igalia.com>
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
2997 Reviewed by Chris Fleizach.
2999 Don't replace item's markers with the objectReplacementCharacter
3000 character, as they will be treated in an special way later on.
3002 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
3003 (textForRenderer): Don't append the objectReplacementCharacter
3004 character for list item's markers.
3006 2012-02-08 Pavel Feldman <pfeldman@google.com>
3008 Web Inspector: do not clear entire tree map upon last element deletion.
3009 https://bugs.webkit.org/show_bug.cgi?id=78112
3011 Reviewed by Yury Semikhatsky.
3013 * inspector/front-end/treeoutline.js:
3014 (TreeOutline.prototype._forgetChildrenRecursive):
3016 2012-02-08 Kaustubh Atrawalkar <kaustubh@motorola.com>
3018 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
3019 https://bugs.webkit.org/show_bug.cgi?id=74386
3021 Reviewed by Kentaro Hara.
3023 Move createObjectURL & revokeObjectURL from DOMURL implementation to
3024 static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
3026 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
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
3034 * GNUmakefile.list.am:
3037 * WebCore.vcproj/WebCore.vcproj:
3038 * WebCore.xcodeproj/project.pbxproj:
3039 * dom/ScriptExecutionContext.cpp:
3040 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3041 (WebCore::ScriptExecutionContext::fileThread):
3043 (WebCore::ScriptExecutionContext::publicURLManager):
3044 * dom/ScriptExecutionContext.h:
3046 (ScriptExecutionContext):
3049 (WebCore::DOMURL::createObjectURL): Changed to static.
3050 (WebCore::DOMURL::revokeObjectURL): ditto.
3053 (WebCore::DOMURL::create):
3055 * html/PublicURLManager.h: Added.
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.
3064 * page/DOMWindow.h: ditto.
3066 * page/DOMWindow.idl:
3067 * workers/WorkerContext.cpp:
3069 * workers/WorkerContext.h:
3071 * workers/WorkerContext.idl:
3073 2012-02-01 Brian Grinstead <briangrinstead@gmail.com>
3075 Web Inspector: Add changes for Spectrum colorpicker
3076 https://bugs.webkit.org/show_bug.cgi?id=75454
3078 Reviewed by Pavel Feldman.
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):
3089 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
3091 Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
3092 https://bugs.webkit.org/show_bug.cgi?id=78102
3094 Reviewed by Vsevolod Vlasov.
3096 * inspector/front-end/WatchExpressionsSidebarPane.js:
3097 (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
3099 2012-02-08 Antaryami Pandia <antaryami.pandia@motorola.com>
3101 CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
3102 https://bugs.webkit.org/show_bug.cgi?id=69993
3104 Reviewed by Simon Fraser.
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.
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
3114 * rendering/RenderBlock.cpp:
3115 (WebCore::RenderBlock::layoutBlock):
3116 * rendering/RenderLayer.cpp:
3117 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3119 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
3121 feImage doesn't invalidate when its target SVG element is animated
3122 https://bugs.webkit.org/show_bug.cgi?id=73860
3124 Reviewed by Dirk Schulze.
3126 Consider following testcase:
3128 <rect id="rect" fill="red" width="50" height="50"/>
3129 <filter id="filter">
3130 <feImage xlink:href="#rect"/>
3133 <rect width="50" height="50" filter="url(#filter)"/>
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.
3140 Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
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
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):
3168 2012-02-08 Kihong Kwon <kihong.kwon@samsung.com>
3170 [EFL] Using string method instead of char* operation in the platformLanguage().
3171 https://bugs.webkit.org/show_bug.cgi?id=78077
3173 Reviewed by Andreas Kling.
3175 No new tests. Just fix a bug of platformLanguage function.
3177 * platform/efl/LanguageEfl.cpp:
3178 (WebCore::platformLanguage):
3179 Change char* operation to string operation.
3181 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
3183 Web Inspector: Touch event emulation fails for iframes
3184 https://bugs.webkit.org/show_bug.cgi?id=77987
3186 Reviewed by Pavel Feldman.
3188 Test: fast/events/touch/emulated-touch-iframe.html
3190 * page/EventHandler.cpp:
3191 (WebCore::EventHandler::handleMouseReleaseEvent):
3193 2012-02-08 Andreas Kling <awesomekling@apple.com>
3195 StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
3196 <http://webkit.org/b/78068>
3198 Rubber-stamped by Ryosuke Niwa.
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).
3205 * dom/StyledElement.cpp:
3206 (WebCore::StyledElement::addCSSProperty):
3207 (WebCore::StyledElement::addCSSImageProperty):
3209 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
3211 Unreviewed, rolling out r107050.
3212 http://trac.webkit.org/changeset/107050
3213 https://bugs.webkit.org/show_bug.cgi?id=78094
3215 May crash editing tests (Requested by morrita on #webkit).
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):
3230 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
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
3235 Reviewed by Csaba Osztrogonác.
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.
3241 Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
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:
3248 2012-02-08 Pablo Flouret <pablof@motorola.com>
3250 Add state attribute to history's dom interface.
3251 https://bugs.webkit.org/show_bug.cgi?id=76035
3253 Reviewed by Kentaro Hara.
3255 Tests: fast/loader/stateobjects/state-attribute-object-types.html
3256 fast/loader/stateobjects/state-attribute-only-one-deserialization.html
3258 * bindings/js/JSHistoryCustom.cpp:
3259 (WebCore::JSHistory::state):
3261 (WebCore::JSHistory::pushState):
3262 (WebCore::JSHistory::replaceState):
3263 * bindings/v8/custom/V8HistoryCustom.cpp:
3264 (WebCore::V8History::stateAccessorGetter):
3266 (WebCore::V8History::pushStateCallback):
3267 (WebCore::V8History::replaceStateCallback):
3269 (WebCore::History::History):
3270 (WebCore::History::state):
3272 (WebCore::History::stateInternal):
3273 (WebCore::History::stateChanged):
3278 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
3280 SVGLoad event fires too early
3281 https://bugs.webkit.org/show_bug.cgi?id=78084
3283 Reviewed by Hajime Morita.
3285 SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
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).
3293 <svg onload="alert('1')>
3294 <g onload="alert('2)">
3295 <rect onload="alert('3')"/>
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'.
3302 <svg onload="alert('1')>
3303 <g onload="alert('2)">
3304 <image xlink:href="someExternal.jpg" onload="alert('3')"/>
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.
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."
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".
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.
3325 Covered by existing tests.
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.
3347 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
3349 Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
3350 https://bugs.webkit.org/show_bug.cgi?id=78090
3352 Reviewed by Vsevolod Vlasov.
3354 * inspector/InspectorDOMAgent.cpp:
3355 (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
3357 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
3359 Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
3360 https://bugs.webkit.org/show_bug.cgi?id=77865
3362 Reviewed by Pavel Feldman.
3364 Test: inspector/styles/lazy-computed-style.html
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):
3373 2012-02-08 Tommy Widenflycht <tommyw@google.com>
3375 MediaStream API: Adding the onstatechange callback to PeerConnection
3376 https://bugs.webkit.org/show_bug.cgi?id=77954
3378 When readyState changes a callback should be triggered.
3380 Reviewed by Adam Barth.
3382 Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
3386 * mediastream/PeerConnection.cpp:
3387 (WebCore::PeerConnection::changeReadyState):
3388 * mediastream/PeerConnection.h:
3390 (WebCore::PeerConnection::didChangeState):
3391 * mediastream/PeerConnection.idl:
3392 * platform/mediastream/PeerConnectionHandlerClient.h:
3393 (PeerConnectionHandlerClient):
3395 2012-02-08 Kentaro Hara <haraken@chromium.org>
3397 Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
3398 https://bugs.webkit.org/show_bug.cgi?id=77963
3400 Reviewed by Adam Barth.
3402 This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
3403 for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
3405 No tests. No change in behavior.
3407 * bindings/scripts/CodeGeneratorJS.pm:
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:
3421 * page/Location.idl:
3422 * storage/Storage.idl:
3424 2012-02-08 Kentaro Hara <haraken@chromium.org>
3426 Replace [CheckNodeSecurity] with [CheckAccessToNode]
3427 https://bugs.webkit.org/show_bug.cgi?id=77971
3429 Reviewed by Adam Barth.
3431 [CheckNodeSecurity] is not implemented by code generators.
3432 This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
3434 Test: http/tests/security/cross-frame-access-frameelement.html
3436 * page/DOMWindow.idl:
3438 2012-02-08 Kentaro Hara <haraken@chromium.org>
3440 Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
3441 https://bugs.webkit.org/show_bug.cgi?id=78081
3443 Reviewed by Adam Barth.
3445 [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
3446 This patch renames it to [JSCustomPushEventHandlerScope]
3448 No tests. No change in behavior.
3450 * bindings/scripts/CodeGeneratorJS.pm:
3453 * html/HTMLElement.idl:
3455 2012-02-06 Kentaro Hara <haraken@chromium.org>
3457 Add "JS" prefix to JSC-specific IDLs
3458 https://bugs.webkit.org/show_bug.cgi?id=77846
3460 Reviewed by Darin Adler.
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:
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