HTML: Remove unnecessary attributeChange() overrides.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-18  Andreas Kling  <awesomekling@apple.com>
2
3         HTML: Remove unnecessary attributeChange() overrides.
4         <http://webkit.org/b/78890>
5
6         Reviewed by Anders Carlsson.
7
8         Move logic from attributeChanged() overrides into parseAttribute().
9         This is a step towards making attributeChanged() non-virtual.
10
11         * html/HTMLMediaElement.cpp:
12         (WebCore::HTMLMediaElement::parseAttribute):
13         * html/HTMLMediaElement.h:
14         (HTMLMediaElement):
15         * html/HTMLScriptElement.cpp:
16         (WebCore::HTMLScriptElement::parseAttribute):
17         * html/HTMLScriptElement.h:
18         (HTMLScriptElement):
19         * html/HTMLTrackElement.cpp:
20         (WebCore::HTMLTrackElement::parseAttribute):
21         * html/HTMLTrackElement.h:
22         (HTMLTrackElement):
23
24 2012-02-18  Andreas Kling  <awesomekling@apple.com>
25
26         Remove Element::createAttribute().
27         <http://webkit.org/b/78965>
28
29         Reviewed by Anders Carlsson.
30
31         Switch call sites to use Attribute::create() directly, as there is no magic
32         in calling Element::createAttribute() anymore (it used to be virtual and handled
33         differently by StyledElement.)
34
35         * dom/Element.cpp:
36         (WebCore::Element::setAttributeInternal):
37         * dom/Element.h:
38         * svg/properties/SVGAnimatedPropertySynchronizer.h:
39
40 2012-02-18  Andreas Kling  <awesomekling@apple.com>
41
42         HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
43         <http://webkit.org/b/78959>
44
45         Reviewed by Anders Carlsson.
46
47         Mark the body element for deferred style recalc instead of doing it synchronously
48         when the attributes change.
49
50         * html/HTMLBodyElement.cpp:
51         (WebCore::HTMLBodyElement::parseAttribute):
52
53 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
54
55         Fix the TextureMapper build for non-Qt ports. Qt debug builds
56         must use RTTI, but GTK+, at least, does not.
57
58         * platform/graphics/texmap/TextureMapperLayer.cpp:
59         (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
60         Qt only.
61
62 2012-02-16  Andreas Kling  <awesomekling@apple.com>
63
64         FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
65         <http://webkit.org/b/78806>
66
67         Reviewed by Antti Koivisto.
68
69         Now that FontFamilyValue's string doesn't change after creation, we can just
70         pass the massaged family name up to the CSSPrimitiveValue constructor and get
71         cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
72         though that's less of an issue now that we cache them in CSSValuePool.
73
74         * css/FontFamilyValue.cpp:
75         (WebCore::stripFontFamilyJunk):
76         (WebCore::FontFamilyValue::FontFamilyValue):
77         * css/FontFamilyValue.h:
78         (WebCore::FontFamilyValue::familyName):
79         (FontFamilyValue):
80
81 2012-02-17  Adam Klein  <adamk@chromium.org>
82
83         Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
84         https://bugs.webkit.org/show_bug.cgi?id=76087
85
86         Reviewed by Ryosuke Niwa.
87
88         Move post-removal notifications after call to Node::removeFromDocument
89         to avoid inconsistent state of Node::inDocument() and thus avoid
90         inconsistent state in DocumentOrderedMap.
91
92         Tests: fast/dom/getElementById-consistency.html
93                fast/dom/getElementById-consistency2.html
94
95         * dom/ContainerNode.cpp:
96         (WebCore::ContainerNode::removeChild):
97         * svg/SVGTRefElement.cpp:
98         (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.
99
100 2012-02-17  Joshua Bell  <jsbell@chromium.org>
101
102         IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
103         https://bugs.webkit.org/show_bug.cgi?id=78399
104
105         Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.
106
107         Reviewed by Tony Chang.
108
109         Test: storage/indexeddb/delete-range.html
110
111         * bindings/scripts/CodeGeneratorV8.pm:
112         (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
113         * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
114         * storage/IDBLevelDBBackingStore.cpp:
115         (WebCore):
116         * storage/IDBObjectStore.cpp:
117         (WebCore::IDBObjectStore::deleteFunction):
118         (WebCore):
119         * storage/IDBObjectStore.h:
120         (IDBObjectStore):
121         * storage/IDBObjectStore.idl:
122         * storage/IDBObjectStoreBackendImpl.cpp:
123         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
124         (WebCore):
125         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
126         * storage/IDBObjectStoreBackendImpl.h:
127         (IDBObjectStoreBackendImpl):
128         * storage/IDBObjectStoreBackendInterface.h:
129
130 2012-02-17  Kentaro Hara  <haraken@chromium.org>
131
132         Replace [V8OnInstance] with [V8Unforgeable]
133         https://bugs.webkit.org/show_bug.cgi?id=78894
134
135         Reviewed by Adam Barth.
136
137         [V8OnInstance] means that the method should be defined
138         (not on a prototype chain but) on a DOM object. It is the
139         same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
140         with [V8Unforgeable].
141
142         No tests. No change in behavior.
143
144         * bindings/scripts/CodeGeneratorV8.pm:
145         (GenerateImplementation):
146         * page/Location.idl:
147
148 2012-02-17  James Robinson  <jamesr@chromium.org>
149
150         [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
151         target from different paths.
152
153         * WebCore.gypi:
154         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
155         (WebCore):
156         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
157         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
158         (WebCore::ScrollingCoordinator::setScrollLayer):
159         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
160         (WebCore::ScrollingCoordinator::setScrollParameters):
161         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
162         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
163
164 2012-02-17  James Robinson  <jamesr@chromium.org>
165
166         Unreviewed mac compile fix pt 2
167
168         * page/scrolling/ScrollingCoordinator.cpp:
169         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
170         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
171         (WebCore::ScrollingCoordinator::setScrollLayer):
172         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
173         (WebCore::ScrollingCoordinator::setScrollParameters):
174         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
175         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
176
177 2012-02-17  James Robinson  <jamesr@chromium.org>
178
179         Unreviewed mac compile fix (unused parameter warning)
180
181         * page/scrolling/ScrollingCoordinator.cpp:
182         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
183         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
184
185 2012-02-14  James Robinson  <jamesr@chromium.org>
186
187         Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
188         https://bugs.webkit.org/show_bug.cgi?id=78401
189
190         Reviewed by Adam Barth.
191
192         Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
193         chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
194         ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
195         events and interact with composited layers.
196
197         * WebCore.gyp/WebCore.gyp:
198         * WebCore.gypi:
199         * dom/Document.cpp:
200         (WebCore::wheelEventHandlerCountChanged):
201         * page/FrameView.cpp:
202         (WebCore::FrameView::addSlowRepaintObject):
203         (WebCore::FrameView::removeSlowRepaintObject):
204         (WebCore::FrameView::performPostLayoutTasks):
205         * page/Page.cpp:
206         (WebCore::Page::~Page):
207         (WebCore):
208         * page/Page.h:
209         (Page):
210         * page/Settings.cpp:
211         (WebCore::Settings::Settings):
212         * page/Settings.h:
213         (Settings):
214         * page/scrolling/ScrollingCoordinator.cpp:
215         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
216         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
217         (WebCore::ScrollingCoordinator::pageDestroyed):
218         (WebCore):
219         * page/scrolling/ScrollingCoordinator.h:
220         (WebCore):
221         (ScrollingCoordinator):
222         * page/scrolling/ScrollingThread.cpp:
223         (WebCore::ScrollingThread::createThreadIfNeeded):
224         * page/scrolling/ScrollingTreeState.cpp:
225         * page/scrolling/ScrollingTreeState.h:
226         * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
227         (WebCore):
228         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
229         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
230         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
231         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
232         * rendering/RenderLayerBacking.cpp:
233         (WebCore::RenderLayerBacking::RenderLayerBacking):
234         * rendering/RenderLayerCompositor.cpp:
235         (WebCore::RenderLayerCompositor::frameViewDidScroll):
236         (WebCore::shouldCompositeOverflowControls):
237         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
238         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
239         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
240         (WebCore::RenderLayerCompositor::ensureRootLayer):
241         (WebCore):
242         * rendering/RenderLayerCompositor.h:
243         (WebCore):
244         (RenderLayerCompositor):
245
246 2012-02-17  Emil A Eklund  <eae@chromium.org>
247
248         Add FractionalLayoutPoint for sub-pixel layout
249         https://bugs.webkit.org/show_bug.cgi?id=78913
250
251         Reviewed by Eric Seidel.
252
253         Add FractionalLayoutUnit version of Point class and a couple of
254         conversion methods to the Int and Float versions of same.
255
256         No new tests.
257
258         * GNUmakefile.list.am:
259         * WebCore.vcproj/WebCore.vcproj:
260         * WebCore.xcodeproj/project.pbxproj:
261         * platform/graphics/FloatPoint.cpp:
262         (WebCore::FloatPoint::FloatPoint):
263         (WebCore):
264         (WebCore::FloatPoint::moveBy):
265         * platform/graphics/FloatPoint.h:
266         (WebCore):
267         (FloatPoint):
268         * platform/graphics/FractionalLayoutPoint.h: Added.
269         (WebCore):
270         (FractionalLayoutPoint):
271         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
272         (WebCore::FractionalLayoutPoint::zero):
273         (WebCore::FractionalLayoutPoint::x):
274         (WebCore::FractionalLayoutPoint::y):
275         (WebCore::FractionalLayoutPoint::setX):
276         (WebCore::FractionalLayoutPoint::setY):
277         (WebCore::FractionalLayoutPoint::move):
278         (WebCore::FractionalLayoutPoint::moveBy):
279         (WebCore::FractionalLayoutPoint::scale):
280         (WebCore::FractionalLayoutPoint::expandedTo):
281         (WebCore::FractionalLayoutPoint::shrunkTo):
282         (WebCore::FractionalLayoutPoint::clampNegativeToZero):
283         (WebCore::FractionalLayoutPoint::transposedPoint):
284         (WebCore::operator+=):
285         (WebCore::operator-=):
286         (WebCore::operator+):
287         (WebCore::operator-):
288         (WebCore::operator==):
289         (WebCore::operator!=):
290         (WebCore::toPoint):
291         (WebCore::toSize):
292         (WebCore::flooredIntPoint):
293         (WebCore::roundedIntPoint):
294         (WebCore::ceiledIntPoint):
295         * platform/graphics/FractionalLayoutSize.cpp:
296         (WebCore::pixelSnappedIntSize):
297         * platform/graphics/FractionalLayoutSize.h:
298         (WebCore):
299
300 2012-02-17  Ryosuke Niwa  <rniwa@webkit.org>
301
302         Move textDirectionForSelection from Editor to EditingStyle
303         https://bugs.webkit.org/show_bug.cgi?id=78868
304
305         Reviewed by Enrica Casucci.
306
307         Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
308         dependency on CSSStyleDeclaration.
309
310         * editing/EditingStyle.cpp:
311         (WebCore::EditingStyle::textDirectionForSelection):
312         (WebCore):
313         * editing/EditingStyle.h:
314         (EditingStyle):
315         * editing/Editor.cpp:
316         (WebCore):
317         * editing/Editor.h:
318         (Editor):
319         * editing/EditorCommand.cpp:
320         (WebCore::stateTextWritingDirection):
321         * editing/ReplaceSelectionCommand.cpp:
322         * editing/markup.cpp:
323
324 2012-02-17  David Barton  <dbarton@mathscribe.com>
325
326         MathML internals - embellished operators, getBase() accessor functions
327         https://bugs.webkit.org/show_bug.cgi?id=78617
328
329         Reviewed by Eric Seidel.
330
331         Define functions that return an unembellished "base", by omitting
332         subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
333         subsequent patches both for correct operator stretching and simple code factoring.
334
335         No new tests.
336
337         * rendering/mathml/RenderMathMLBlock.h:
338         (WebCore):
339         (RenderMathMLBlock):
340         (WebCore::RenderMathMLBlock::unembellishedOperator):
341         * rendering/mathml/RenderMathMLFraction.cpp:
342         (WebCore::RenderMathMLFraction::unembellishedOperator):
343         (WebCore):
344         * rendering/mathml/RenderMathMLFraction.h:
345         (RenderMathMLFraction):
346         * rendering/mathml/RenderMathMLOperator.h:
347         (WebCore::RenderMathMLOperator::unembellishedOperator):
348         * rendering/mathml/RenderMathMLSubSup.cpp:
349         (WebCore::RenderMathMLSubSup::base):
350         (WebCore):
351         (WebCore::RenderMathMLSubSup::unembellishedOperator):
352         (WebCore::RenderMathMLSubSup::stretchToHeight):
353             - renamed a variable for clarity, especially in later patches
354         (WebCore::RenderMathMLSubSup::layout):
355             - renamed a variable for clarity, especially in later patches
356         * rendering/mathml/RenderMathMLSubSup.h:
357         (RenderMathMLSubSup):
358         * rendering/mathml/RenderMathMLUnderOver.cpp:
359         (WebCore::RenderMathMLUnderOver::base):
360         (WebCore):
361         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
362         (WebCore::RenderMathMLUnderOver::stretchToHeight):
363         * rendering/mathml/RenderMathMLUnderOver.h:
364         (RenderMathMLUnderOver):
365
366 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
367
368         [Qt][WK2] Allow opaque tiles
369         https://bugs.webkit.org/show_bug.cgi?id=78809
370
371         Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
372         Use reset/didReset instead of a virtual function that has to call the superclass.
373
374         Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
375         based on the source image.
376         Since we now disable blending for opaque textures, we also have to make sure that we treat
377         the depth buffer correctly and bring it back to its previous state.
378
379         Reviewed by Kenneth Rohde Christiansen.
380
381         No behavior changes.
382
383         * platform/graphics/opengl/TextureMapperGL.cpp:
384         (TextureMapperGLData):
385         (WebCore::TextureMapperGLData::initStencil):
386         (WebCore::TextureMapperGLData::TextureMapperGLData):
387         (BitmapTextureGL):
388         (WebCore::TextureMapperGL::beginPainting):
389         (WebCore::TextureMapperGL::endPainting):
390         (WebCore::TextureMapperGL::drawTexture):
391         (WebCore::BitmapTextureGL::didReset):
392         (WebCore::BitmapTextureGL::bind):
393         (WebCore::TextureMapperGL::beginClip):
394         * platform/graphics/texmap/TextureMapper.h:
395         (WebCore::BitmapTexture::BitmapTexture):
396         (WebCore::BitmapTexture::flags):
397         (WebCore::BitmapTexture::didReset):
398         (WebCore::BitmapTexture::reset):
399         (BitmapTexture):
400         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
401         (WebCore::TextureMapperTile::updateContents):
402         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
403         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
404         (WebCore::TextureMapperTiledBackingStore::updateContents):
405         * platform/graphics/texmap/TextureMapperBackingStore.h:
406         (TextureMapperTiledBackingStore):
407         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
408         (WebCore::BitmapTextureImageBuffer::didReset):
409         (WebCore):
410         * platform/graphics/texmap/TextureMapperImageBuffer.h:
411         (BitmapTextureImageBuffer):
412
413 2012-02-17  Stephen Chenney  <schenney@chromium.org>
414
415         Crash in SVGAnimateElement due to changed target
416         https://bugs.webkit.org/show_bug.cgi?id=75096
417
418         Reviewed by Nikolas Zimmermann.
419
420         The SVGAnimateElement object creates various internal objects
421         depending on the type of property being animated, which depends on the
422         target. These objects were not being recreated when the target
423         changed, and crashes ensued. Now the SVGSMILElement provides a virtual
424         method that is called when the target changes, and SVGAnimateElement
425         updates its objects as necessary. We also deactivate the animation
426         when the target changes, forcing recomputation of other derived
427         objects.
428
429         This change also removes various unnecessary calls to semi-expensive
430         methods.
431
432         Not only does this change fix the new test, it also fixes potential
433         crashes in other tests that apparently never manifested before (but
434         manifest when this new test is included in DRT).
435
436         Test: svg/animations/svglength-animation-retarget-crash.html
437
438         * svg/SVGAnimateElement.cpp:
439         (WebCore::SVGAnimateElement::hasValidAttributeType):
440         (WebCore::SVGAnimateElement::calculateAnimatedValue):
441         (WebCore::SVGAnimateElement::calculateFromAndToValues):
442         (WebCore::SVGAnimateElement::calculateFromAndByValues):
443         (WebCore::SVGAnimateElement::resetToBaseValue):
444         (WebCore::SVGAnimateElement::calculateDistance):
445         (WebCore):
446         (WebCore::SVGAnimateElement::targetElementDidChange):
447         * svg/SVGAnimateElement.h:
448         (SVGAnimateElement):
449         * svg/SVGAnimatedTypeAnimator.h:
450         (SVGAnimatedTypeAnimator):
451         (WebCore::SVGAnimatedTypeAnimator::type):
452         * svg/animation/SVGSMILElement.cpp:
453         (WebCore::SVGSMILElement::targetElement):
454         (WebCore::SVGSMILElement::resetTargetElement):
455         (WebCore):
456         * svg/animation/SVGSMILElement.h:
457         (SVGSMILElement):
458         (WebCore::SVGSMILElement::targetElementDidChange):
459
460 2012-02-17  David Hyatt  <hyatt@apple.com>
461
462         https://bugs.webkit.org/show_bug.cgi?id=78934
463         
464         Add the -webkit-line-align property to support the alignment of lines in the inline direction
465         to the line grid.
466
467         Reviewed by Dan Bernstein.
468
469         Added fast/line-grid/line-align-parsing.html
470
471         * css/CSSComputedStyleDeclaration.cpp:
472         (WebCore):
473         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
474         * css/CSSParser.cpp:
475         (WebCore::CSSParser::parseValue):
476         * css/CSSPrimitiveValueMappings.h:
477         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
478         (WebCore):
479         (WebCore::CSSPrimitiveValue::operator LineAlign):
480         * css/CSSProperty.cpp:
481         (WebCore::CSSProperty::isInheritedProperty):
482         * css/CSSPropertyNames.in:
483         * css/CSSStyleApplyProperty.cpp:
484         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
485         * css/CSSStyleSelector.cpp:
486         (WebCore::CSSStyleSelector::applyProperty):
487         * css/CSSValueKeywords.in:
488         * rendering/style/RenderStyle.cpp:
489         (WebCore::RenderStyle::diff):
490         * rendering/style/RenderStyle.h:
491         * rendering/style/RenderStyleConstants.h:
492         * rendering/style/StyleRareInheritedData.cpp:
493         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
494         (WebCore::StyleRareInheritedData::operator==):
495         * rendering/style/StyleRareInheritedData.h:
496         (StyleRareInheritedData):
497
498 2012-02-17  Emil A Eklund  <eae@chromium.org>
499
500         Add FractionalLayoutSize for sub-pixel layout
501         https://bugs.webkit.org/show_bug.cgi?id=78852
502
503         Reviewed by Eric Seidel.
504
505         Add FractionalLayoutUnit version of Size class and a couple of
506         conversion methods to the Int and Float versions of same.
507
508         No new tests.
509
510         * CMakeLists.txt:
511         * GNUmakefile.list.am:
512         * WebCore.gypi:
513         * WebCore.vcproj/WebCore.vcproj:
514         * WebCore.xcodeproj/project.pbxproj:
515         * platform/graphics/FloatPoint.cpp:
516         (WebCore::FloatPoint::move):
517         Add FractionalLayoutSize version of move.
518
519         * platform/graphics/FloatPoint.h:
520         * platform/graphics/FloatSize.cpp:
521         (WebCore::FloatSize::FloatSize):
522         Add FloatSize(FractionalLayoutSize) constructor.
523
524         * platform/graphics/FloatSize.h:
525         * platform/graphics/FractionalLayoutSize.cpp: Added.
526         * platform/graphics/FractionalLayoutSize.h: Added.
527
528 2012-02-17  Enrica Casucci  <enrica@apple.com>
529
530         REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
531         data to the pasteboard.
532         https://bugs.webkit.org/show_bug.cgi?id=78933
533         <rdar://problem/10874553>
534         
535         For this format, the data needs to be placed in the pasteboard as array of arrays
536         of strings. Currently is it stored as array of strings, which causes the code
537         that uses this format to break.
538         
539         Reviewed by Ryosuke Niwa.
540
541         * platform/mac/PlatformPasteboardMac.mm:
542         (WebCore::PlatformPasteboard::setPathnamesForType):
543
544 2012-02-17  Abhishek Arya  <inferno@chromium.org>
545
546         Incorrect placement of a new child when beforeChild and its
547         previous sibling are in the same table.
548         https://bugs.webkit.org/show_bug.cgi?id=78269
549
550         Reviewed by Julien Chaffraix.
551
552         Tests: fast/table/table-cell-split.html
553                fast/table/table-row-split.html
554                fast/table/table-section-split-with-after-content.html
555                fast/table/table-section-split.html
556
557         * rendering/RenderBlock.cpp:
558         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
559         call to splitTablePartsAroundChild to take care of splitting the
560         table first if the child is part of table.
561         (WebCore::markTableForSectionAndCellRecalculation): add helper to
562         mark table for complete relayout by invalidating sections and cells.
563         (WebCore):
564         (WebCore::moveAllTableChildrenTo): moves children to another table.
565         (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
566         and its next siblings into a new table. This allows adding a new
567         non-table child between the tables.
568         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
569         splitTablePartsAroundChild to see if we need to split the table
570         for adding this new child.
571         * rendering/RenderBlock.h:
572         (RenderBlock):
573         * rendering/RenderObject.cpp:
574         (WebCore::RenderObject::createAnonymousTable): add helper for
575         creating anonymous table.
576         (WebCore):
577         (WebCore::RenderObject::addChild): use the new helper for creating
578         anonymous table.
579         * rendering/RenderObject.h:
580         (WebCore):
581         (RenderObject):
582         (WebCore::RenderObject::isTablePart): add helper to tell if the object
583         is a table part.
584
585 2012-02-17  Andreas Kling  <awesomekling@apple.com>
586
587         Element: Inline style selector and AX invalidation in attributeChanged().
588         <http://webkit.org/b/78888>
589
590         Reviewed by Antti Koivisto.
591
592         Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
593         methods into Element::attributeChanged(). They were separated when we needed them in
594         StyledElement::attributeChanged(), but that's no longer the case.
595
596         * dom/Element.cpp:
597         (WebCore::Element::attributeChanged):
598         * dom/Element.h:
599
600 2012-02-17  David Reveman  <reveman@chromium.org>
601
602         [Chromium] Texture eviction doesn't show up in traces.
603         https://bugs.webkit.org/show_bug.cgi?id=78851
604
605         Reviewed by James Robinson.
606
607         Add TextureManager::evictTexture() function with TRACE statement so
608         that texture eviction shows up in traces.
609
610         No new tests.
611
612         * platform/graphics/chromium/TextureManager.cpp:
613         (WebCore::TextureManager::evictTexture):
614         (WebCore):
615         (WebCore::TextureManager::reduceMemoryToLimit):
616         * platform/graphics/chromium/TextureManager.h:
617         (TextureManager):
618
619 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
620
621         Remove unused parameters from WTF threading API
622         https://bugs.webkit.org/show_bug.cgi?id=78389
623
624         Reviewed by Adam Roben.
625
626         waitForThreadCompletion() had an out param 'void **result' to get the
627         'void *' returned by ThreadFunction. However, the implementation in
628         ThreadingWin.cpp ignored the out param, not filling it in. This had
629         led to a situation where none of the client code made use of the param
630         and just ignored it.
631
632         To clean this up, the patch changes the signature of ThreadFunction to
633         return void instead of void* and drops the the unused 'void **result'
634         parameter from waitForThreadCompletion. Also, all client code is
635         updated for the API change.
636
637         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
638         though the change only affects internal API, Safari is using it
639         directly and we'll need to keep the old versions around for ABI
640         compatibility. For this, the patch adds compatibility wrappers with
641         the old ABI.
642
643         * bindings/js/GCController.cpp:
644         (WebCore::collect):
645         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
646         * fileapi/FileThread.cpp:
647         (WebCore::FileThread::fileThreadStart):
648         (WebCore::FileThread::runLoop):
649         * fileapi/FileThread.h:
650         (FileThread):
651         * loader/icon/IconDatabase.cpp:
652         (WebCore::IconDatabase::close):
653         (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
654         (WebCore::IconDatabase::iconDatabaseSyncThread):
655         (WebCore::IconDatabase::syncThreadMainLoop):
656         * loader/icon/IconDatabase.h:
657         (IconDatabase):
658         * page/scrolling/ScrollingThread.cpp:
659         (WebCore::ScrollingThread::threadCallback):
660         * page/scrolling/ScrollingThread.h:
661         (ScrollingThread):
662         * platform/audio/HRTFDatabaseLoader.cpp:
663         (WebCore::databaseLoaderEntry):
664         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
665         * platform/audio/ReverbConvolver.cpp:
666         (WebCore::backgroundThreadEntry):
667         (WebCore::ReverbConvolver::~ReverbConvolver):
668         * platform/network/cf/LoaderRunLoopCF.cpp:
669         (WebCore::runLoaderThread):
670         * storage/DatabaseThread.cpp:
671         (WebCore::DatabaseThread::databaseThreadStart):
672         (WebCore::DatabaseThread::databaseThread):
673         * storage/DatabaseThread.h:
674         (DatabaseThread):
675         * storage/LocalStorageThread.cpp:
676         (WebCore::LocalStorageThread::threadEntryPointCallback):
677         (WebCore::LocalStorageThread::threadEntryPoint):
678         (WebCore::LocalStorageThread::terminate):
679         * storage/LocalStorageThread.h:
680         (LocalStorageThread):
681         * webaudio/AsyncAudioDecoder.cpp:
682         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
683         (WebCore::AsyncAudioDecoder::threadEntry):
684         * webaudio/AsyncAudioDecoder.h:
685         (AsyncAudioDecoder):
686         * webaudio/OfflineAudioDestinationNode.cpp:
687         (WebCore::OfflineAudioDestinationNode::uninitialize):
688         (WebCore::OfflineAudioDestinationNode::renderEntry):
689         * webaudio/OfflineAudioDestinationNode.h:
690         (OfflineAudioDestinationNode):
691         * workers/WorkerThread.cpp:
692         (WebCore::WorkerThread::workerThreadStart):
693         (WebCore::WorkerThread::workerThread):
694         * workers/WorkerThread.h:
695         (WorkerThread):
696
697 2012-02-17  Robert Hogan  <robert@webkit.org>
698
699         AppleMac Build fix for r108111
700
701         Remove variable that is now unused.
702
703         Unreviewed, build fix.
704
705         * rendering/RenderBlockLineLayout.cpp:
706         (WebCore::alwaysRequiresLineBox): Remove lineInfo
707         (WebCore::requiresLineBox): 
708         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
709
710 2012-02-17  Michal Mocny  <mmocny@google.com>
711
712         [chromium] GL_CHROMIUM_gpu_memory_manager extension
713         https://bugs.webkit.org/show_bug.cgi?id=77155
714
715         Reviewed by James Robinson.
716
717         * platform/graphics/chromium/Extensions3DChromium.h:
718         (GpuMemoryAllocationChangedCallbackCHROMIUM):
719         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
720         (Extensions3DChromium):
721
722 2012-01-23  Robert Hogan  <robert@webkit.org>
723
724         REGRESSION: empty span creates renders with non-zero height
725         https://bugs.webkit.org/show_bug.cgi?id=76465
726
727         Reviewed by David Hyatt.
728
729         Tests: fast/css/empty-span.html
730                fast/css/non-empty-span.html
731
732         Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
733         other content in the line. So only create line boxes for such elements on lines that are not empty.
734
735         This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
736         It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
737         vertical alignment or font-height of the empty inline.
738
739         * rendering/RenderBlockLineLayout.cpp:
740         (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
741         (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
742          will need a linebox if the rest of the line is not empty.
743         (WebCore):
744         (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
745         (WebCore::requiresLineBox):
746         (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
747          the line non-empty - otherwise hold off.
748
749 2012-02-17  Raymond Toy  <rtoy@google.com>
750
751         RealtimeAnalyserNode does not consistently respect .minDecibels
752         https://bugs.webkit.org/show_bug.cgi?id=78729
753
754         Make use of m_minDecibel consistent.  Clean up some style issues
755         with names of local variables and style issues with float
756         constants.
757         
758         Reviewed by Chris Rogers.
759
760         No new tests because the changes are cosmetic for style issues.
761
762         * webaudio/RealtimeAnalyser.cpp:
763         (WebCore):
764         (WebCore::RealtimeAnalyser::doFFTAnalysis):
765         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
766         (WebCore::RealtimeAnalyser::getByteFrequencyData):
767         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
768
769 2012-02-17  Abhishek Arya  <inferno@chromium.org>
770
771         :before content incorrectly placed in continuation
772         when we don't have a first child.
773         https://bugs.webkit.org/show_bug.cgi?id=78380
774
775         Reviewed by David Hyatt.
776
777         Test: fast/css-generated-content/before-content-continuation-chain.html
778
779         * rendering/RenderObjectChildList.cpp:
780         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
781
782 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
783
784         CSS regions enabled by default
785         https://bugs.webkit.org/show_bug.cgi?id=78525
786
787         Reviewed by David Hyatt.
788
789         Test: fast/regions/css-regions-disabled.html
790
791         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
792         CSSRegions are still enabled by default.
793         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
794
795         * WebCore.xcodeproj/project.pbxproj:
796         * css/CSSParser.cpp:
797         (WebCore::CSSParser::parseValue):
798         (WebCore::CSSParser::cssRegionsEnabled):
799         (WebCore):
800         (WebCore::CSSParser::parseFlowThread):
801         (WebCore::CSSParser::parseRegionThread):
802         (WebCore::CSSParser::createRegionRule):
803         * css/CSSParser.h:
804         * dom/Document.cpp:
805         (WebCore::Document::cssRegionsEnabled):
806         (WebCore):
807         (WebCore::Document::webkitGetFlowByName):
808         * dom/Document.h:
809         (Document):
810         * dom/Element.cpp:
811         (WebCore::Element::webkitRegionOverflow):
812         * dom/NodeRenderingContext.cpp:
813         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
814         * page/Settings.cpp:
815         (WebCore::Settings::Settings):
816         * page/Settings.h:
817         (WebCore::Settings::setCSSRegionsEnabled):
818         (WebCore::Settings::cssRegionsEnabled):
819         (Settings):
820         * rendering/RenderFlowThread.cpp:
821         (WebCore::RenderFlowThread::RenderFlowThread):
822         * rendering/RenderObject.cpp:
823         (WebCore::RenderObject::createObject):
824         * rendering/RenderRegion.cpp:
825         (WebCore::RenderRegion::RenderRegion):
826
827 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
828
829         [CSSRegions]Implement NamedFlow::overflow
830         https://bugs.webkit.org/show_bug.cgi?id=78880
831
832         Reviewed by David Hyatt.
833
834         Test: fast/regions/webkit-named-flow-overflow.html
835
836         * dom/WebKitNamedFlow.cpp:
837         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
838         (WebCore::WebKitNamedFlow::overflow):
839         (WebCore):
840         * dom/WebKitNamedFlow.h:
841         (WebCore):
842         (WebCore::WebKitNamedFlow::create):
843         (WebKitNamedFlow):
844         * dom/WebKitNamedFlow.idl:
845         * rendering/RenderFlowThread.cpp:
846         (WebCore::RenderFlowThread::RenderFlowThread):
847         (WebCore::RenderFlowThread::ensureNamedFlow):
848         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
849         * rendering/RenderFlowThread.h:
850
851 2012-02-17  Joe Thomas  <joethomas@motorola.com>
852
853         flex-wrap:nowrap should be flex-wrap:none
854         https://bugs.webkit.org/show_bug.cgi?id=78772
855
856         As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
857
858         Reviewed by Ojan Vafai.
859
860         * css/CSSParser.cpp:
861         (WebCore::CSSParser::parseValue):
862         * css/CSSPrimitiveValueMappings.h:
863         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
864         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
865         * css/CSSValueKeywords.in:
866         * rendering/style/RenderStyle.h:
867         * rendering/style/RenderStyleConstants.h:
868
869 2012-02-17  Enrica Casucci  <enrica@apple.com>
870
871         Refactor DragData class to use PlatformStrategies in the Mac implementation.
872         https://bugs.webkit.org/show_bug.cgi?id=78768
873
874         Reviewed by Darin Adler.
875
876         No new tests. No behavior change.
877
878         * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
879         * platform/DragData.h:
880         (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
881         * platform/PasteboardStrategy.h: Added color() method.
882         * platform/PlatformPasteboard.h: Ditto.
883         * platform/mac/ClipboardMac.mm:
884         (WebCore::Clipboard::create): Changed to use pasteboardName() method.
885         * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
886         and the pasteboardStrategy() methods.
887         (WebCore::DragData::DragData):
888         (WebCore::DragData::canSmartReplace):
889         (WebCore::DragData::containsColor):
890         (WebCore::DragData::containsFiles):
891         (WebCore::DragData::numberOfFiles):
892         (WebCore::DragData::asFilenames):
893         (WebCore::DragData::containsPlainText):
894         (WebCore::DragData::asPlainText):
895         (WebCore::DragData::asColor):
896         (WebCore::DragData::containsCompatibleContent):
897         (WebCore::DragData::asURL):
898         (WebCore::DragData::asFragment):
899         * platform/mac/PlatformPasteboardMac.mm:
900         (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
901
902 2012-02-17  Nate Chapin  <japhet@chromium.org>
903
904         [Chromium mac] Cursors and background images disappear.
905         https://bugs.webkit.org/show_bug.cgi?id=78834
906
907         The issue occurs because a CachedImage sees that it has no clients
908         and decide it is safe to purge its m_data buffer. However,
909         StyleCachedImage is holding a CachedResourceHandle to the
910         CachedImage, and it can still add a client later. If it does so,
911         the CachedImage says everything is loaded but has no data.
912
913         Reviewed by Adam Barth.
914
915         No new tests, since the known repros have resisted reduction.
916         Tested manually with chrome.angrybirds.com, redfin.com and a
917         couple of other sites.
918
919         * rendering/style/StyleCachedImage.cpp:
920         * rendering/style/StyleCachedImage.h: Ensure the underlying
921             CachedImage has a client for the lifetime of the
922             StyleCachedImage and doesn't purge its buffer. Call
923             addClient(this) in the constructor and removeClient(this) in
924             the destructor, then ignore all cache callbacks.
925
926 2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
927
928         Table cell's anonymous wrappers are left in the tree, impacting our layout
929         https://bugs.webkit.org/show_bug.cgi?id=7180
930
931         Reviewed by David Hyatt.
932
933         Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
934                fast/table/table-switch-cell-position-bad-layout.html
935
936         This patch implements cell's anonymous wrapper removal at detach time.
937
938         Trimming the render tree when we remove objects from it would be more complex
939         to generalize as several objects override the behavior to do their own clean-ups.
940         This would also open more potential for programming errors.
941
942         This change is limited to table cells' as a simple step towards fixing bug 52123
943         and more generally eliminate some anonymous wrappers from the tree at detach time.
944
945         * dom/Node.cpp:
946         (WebCore::Node::detach):
947         Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
948         to clean up any anonymous wrappers on detach.
949
950         * rendering/RenderObject.cpp:
951         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
952         Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
953         detach in some cases, added a fast path.
954
955         * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.
956
957 2012-02-17  Rob Buis  <rbuis@rim.com>
958
959         ASSERT (and crash) with dynamically moved <font-face>
960         https://bugs.webkit.org/show_bug.cgi?id=64839
961
962         Reviewed by Antti Koivisto.
963
964         Reset the style declaration when rmeoving the font-face element from the document.
965
966         Test: svg/custom/font-face-move.svg
967
968         * svg/SVGFontFaceElement.cpp:
969         (WebCore::SVGFontFaceElement::removedFromDocument):
970
971 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
972
973         Fix some warnings encountered during the GTK+ build
974         https://bugs.webkit.org/show_bug.cgi?id=78911
975
976         Reviewed by Xan Lopez.
977
978         No new tests. These are just fixes for warnings.
979
980         * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
981         a size_t type. Use size_t for iterating over members of a vector.
982         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
983         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
984         * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
985         (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
986         (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
987         (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.
988
989 2012-02-17  Tim Dresser  <tdresser@chromium.org>
990
991         [chromium] Refactor video drawing to be more data driven
992         https://bugs.webkit.org/show_bug.cgi?id=76720
993
994         Reviewed by James Robinson.
995
996         CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
997         These quads are then drawn by LayerRendererChromium.
998
999         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
1000         CCLayerImpl::didDraw() is called directly after all drawing has been completed.
1001         CCLayerImpl::draw has been removed.
1002
1003         willDraw and didDraw are used to handle interaction with the VideoFrameProvider
1004         in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
1005         didDraw returns it.
1006
1007         A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
1008         This test ensures that CCLayerImpl::didDraw() is called on all layers,
1009         including layers on different render surfaces.
1010
1011         As this was a refactor, no other tests were added.
1012
1013         * platform/graphics/chromium/LayerRendererChromium.cpp:
1014         (WebCore::LayerRendererChromium::drawYUV):
1015         (WebCore):
1016         (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
1017         (WebCore::LayerRendererChromium::drawRGBA):
1018         (WebCore::LayerRendererChromium::drawNativeTexture):
1019         (WebCore::LayerRendererChromium::copyFrameToTextures):
1020         (WebCore::LayerRendererChromium::copyPlaneToTexture):
1021         (WebCore::LayerRendererChromium::drawVideoQuad):
1022         * platform/graphics/chromium/LayerRendererChromium.h:
1023         (LayerRendererChromium):
1024         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1025         * platform/graphics/chromium/cc/CCLayerImpl.h:
1026         (WebCore::CCLayerImpl::didDraw):
1027         (CCLayerImpl):
1028         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1029         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1030         (WebCore::CCLayerTreeHostImpl::drawLayers):
1031         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1032         (CCLayerTreeHostImpl):
1033         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
1034         (WebCore::CCVideoDrawQuad::create):
1035         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
1036         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
1037         (CCVideoDrawQuad):
1038         (WebCore::CCVideoDrawQuad::textures):
1039         (WebCore::CCVideoDrawQuad::frame):
1040         (WebCore::CCVideoDrawQuad::format):
1041         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1042         (WebCore::CCVideoLayerImpl::willDraw):
1043         (WebCore::CCVideoLayerImpl::appendQuads):
1044         (WebCore::CCVideoLayerImpl::didDraw):
1045         (WebCore::CCVideoLayerImpl::computeVisibleSize):
1046         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1047         (CCVideoLayerImpl):
1048         (WebCore::CCVideoLayerImpl::providerMutex):
1049         (WebCore::CCVideoLayerImpl::provider):
1050         (Texture):
1051
1052 2012-02-17  Stephen Chenney  <schenney@chromium.org>
1053
1054         Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
1055         https://bugs.webkit.org/show_bug.cgi?id=77639
1056
1057         Reviewed by Nikolas Zimmermann.
1058
1059         Fix a SVG crash in Release builds, although it still crashes in Debug builds.
1060         The crash occurred when an SVG use element attempted to reference a style element while the file
1061         contained an error causing the error banner to display. The fix is to prevent SVGUseElement
1062         from recalculating style during tree building and return immediately when style is recalculated and
1063         the tree is building.
1064
1065         Test: svg/custom/use-referencing-style-crash.svg
1066
1067         * svg/SVGUseElement.cpp:
1068         (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
1069         (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
1070         is being built and we are not yet ready for style update.
1071
1072 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
1073
1074         Unreviewed, rolling out r108077.
1075         http://trac.webkit.org/changeset/108077
1076         https://bugs.webkit.org/show_bug.cgi?id=78390
1077
1078         it broke compilation.
1079
1080         * inspector/CodeGeneratorInspector.py:
1081         * inspector/InjectedScript.cpp:
1082         (WebCore::InjectedScript::evaluateOnCallFrame):
1083         (WebCore::InjectedScript::getFunctionDetails):
1084         (WebCore::InjectedScript::getProperties):
1085         (WebCore::InjectedScript::wrapCallFrames):
1086         * inspector/InjectedScript.h:
1087         (InjectedScript):
1088         * inspector/InspectorDebuggerAgent.cpp:
1089         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1090         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1091         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1092         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1093         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1094         (WebCore::InspectorDebuggerAgent::didParseSource):
1095         * inspector/InspectorDebuggerAgent.h:
1096         (InspectorDebuggerAgent):
1097
1098 2012-02-17  Florin Malita  <fmalita@google.com>
1099
1100         chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
1101         https://bugs.webkit.org/show_bug.cgi?id=74858
1102
1103         Reviewed by Nikolas Zimmermann.
1104
1105         Tests: svg/custom/tref-remove-target-crash-expected.svg
1106                svg/custom/tref-remove-target-crash.svg
1107
1108         Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
1109         cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
1110         at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
1111         the target element to simplify the implementation and reduce the scope.
1112
1113         * svg/SVGTRefElement.cpp:
1114         (WebCore::TargetListener::create):
1115         (WebCore::TargetListener::cast):
1116         (WebCore::TargetListener::clear):
1117         (WebCore::TargetListener::TargetListener):
1118         (WebCore::TargetListener::operator==):
1119         (WebCore::TargetListener::handleEvent):
1120         (WebCore::SVGTRefElement::detachTarget):
1121         (WebCore::SVGTRefElement::buildPendingResource):
1122         * svg/SVGTRefElement.h:
1123
1124 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
1125
1126         Fix the build after r108077.
1127
1128         * inspector/CodeGeneratorInspector.py:
1129         (RawTypes.Any.generate_validate_method):
1130
1131 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
1132
1133         Avoid using a transparency layer for rgba() border drawing when possible
1134         https://bugs.webkit.org/show_bug.cgi?id=63176
1135
1136         Reviewed by Dan Bernstein.
1137         
1138         The non-radiused border drawing code would use a transparency layer
1139         when drawing any one or more borders with alpha colors. However,
1140         we only need to use a transparency layer when there is a corner
1141         join between the borders being rendered with any one color,
1142         so add a utility function includesAdjacentEdges() that can tell us
1143         that, and use it to avoid making extraneous transparency layers.
1144
1145         Optimization only, no new tests.
1146
1147         * rendering/RenderBoxModelObject.cpp:
1148         (WebCore::includesAdjacentEdges):
1149         (WebCore):
1150         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
1151
1152 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1153
1154         Not reviewed: Qt minimal build fix.
1155
1156         * inspector/InjectedScript.h:
1157         (WebCore):
1158
1159 2012-02-17  Peter Rybin  <peter.rybin@gmail.com>
1160
1161         Web Inspector: Switch Debugger agent to TypeBuilder
1162         https://bugs.webkit.org/show_bug.cgi?id=78390
1163
1164         Reviewed by Vsevolod Vlasov.
1165
1166         Client code is switched to TypeBuilder.
1167
1168         * inspector/CodeGeneratorInspector.py:
1169         * inspector/InjectedScript.cpp:
1170         (WebCore::InjectedScript::evaluateOnCallFrame):
1171         (WebCore::InjectedScript::getFunctionDetails):
1172         (WebCore::InjectedScript::getProperties):
1173         (WebCore::InjectedScript::wrapCallFrames):
1174         * inspector/InjectedScript.h:
1175         (InjectedScript):
1176         * inspector/InspectorDebuggerAgent.cpp:
1177         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1178         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1179         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1180         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1181         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1182         (WebCore::InspectorDebuggerAgent::didParseSource):
1183         * inspector/InspectorDebuggerAgent.h:
1184         (InspectorDebuggerAgent):
1185
1186 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1187
1188         Web Inspector: hide color picker on selected node update.
1189         https://bugs.webkit.org/show_bug.cgi?id=78896
1190
1191         Reviewed by Vsevolod Vlasov.
1192
1193         * inspector/front-end/Spectrum.js:
1194         (WebInspector.Spectrum.prototype.get visible):
1195         (WebInspector.Spectrum.prototype.toggle):
1196         (WebInspector.Spectrum.prototype.show):
1197         * inspector/front-end/StylesSidebarPane.js:
1198         (WebInspector.StylesSidebarPane.prototype.update):
1199         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1200
1201 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1202
1203         Web Inspector: check undo-redo boundaries based on current action index, not history size.
1204         https://bugs.webkit.org/show_bug.cgi?id=78895
1205
1206         Reviewed by Vsevolod Vlasov.
1207
1208         Tests: inspector/elements/perform-undo-undo.html
1209                inspector/styles/perform-undo-perform-of-mergable-action.html
1210
1211         * inspector/InspectorHistory.cpp:
1212         (WebCore::InspectorHistory::perform):
1213
1214 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
1215
1216         Unreviewed, rolling out r108071.
1217         http://trac.webkit.org/changeset/108071
1218         https://bugs.webkit.org/show_bug.cgi?id=77155
1219
1220         chromium-mac compilation failed
1221
1222         * platform/graphics/chromium/Extensions3DChromium.h:
1223
1224 2012-02-17  Michal Mocny  <mmocny@google.com>
1225
1226         [chromium] GL_CHROMIUM_gpu_memory_manager extension
1227         https://bugs.webkit.org/show_bug.cgi?id=77155
1228
1229         Reviewed by James Robinson.
1230
1231         * platform/graphics/chromium/Extensions3DChromium.h:
1232         (GpuMemoryAllocationChangedCallbackCHROMIUM):
1233         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
1234         (Extensions3DChromium):
1235
1236 2012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
1237
1238         [CMake, EFL] Unreviewed, fix the build when building with
1239         SHARED_CORE=ON after r107820.
1240
1241         RunLoopEfl.cpp has not been upstreamed yet, and building only
1242         RunLoop.cpp created an .so with some missing, unimplemented
1243         symbols. The BlackBerry port seems to be in the same situation.
1244
1245         The best solution for now is to build RunLoop.cpp only on the
1246         WinCE port.
1247
1248         * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
1249         * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.
1250
1251 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1252
1253         Web Inspector: a bit of color picker polish
1254         https://bugs.webkit.org/show_bug.cgi?id=78892
1255
1256         - Fixed computed style swatch
1257         - Removed color: caption
1258         - Rendered value as source code, user-selectable
1259         - Removed scroller gap
1260
1261         Reviewed by Yury Semikhatsky.
1262
1263         * English.lproj/localizedStrings.js:
1264         * inspector/front-end/Popover.js:
1265         (WebInspector.Popover.prototype.setCanShrink):
1266         (WebInspector.Popover.prototype._positionElement):
1267         * inspector/front-end/Spectrum.js:
1268         * inspector/front-end/StylesSidebarPane.js:
1269         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
1270         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1271         * inspector/front-end/elementsPanel.css:
1272         (.spectrum-container):
1273         (.spectrum-display-value):
1274         (.spectrum-range-container):
1275         * inspector/front-end/popover.css:
1276         (.popover .content.fixed-height):
1277
1278 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1279
1280         Web Inspector: color picker does not allow changing the color.
1281         https://bugs.webkit.org/show_bug.cgi?id=78886
1282
1283         Reviewed by Vsevolod Vlasov.
1284
1285         * inspector/front-end/ElementsPanel.js:
1286         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
1287         * inspector/front-end/Popover.js:
1288         (WebInspector.Popover.prototype.setCanShrink):
1289         (WebInspector.Popover.prototype._positionElement):
1290         * inspector/front-end/Settings.js:
1291         * inspector/front-end/Spectrum.js:
1292         * inspector/front-end/StylesSidebarPane.js:
1293         (WebInspector.StylesSidebarPane):
1294         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1295
1296 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1297
1298         Web Inspector: new image preview has poorly positioned popover arrow.
1299         https://bugs.webkit.org/show_bug.cgi?id=78884
1300
1301         Reviewed by Vsevolod Vlasov.
1302
1303         * inspector/front-end/Popover.js:
1304         (WebInspector.Popover.prototype._positionElement):
1305         * inspector/front-end/utilities.js:
1306         (Element.prototype.boxInWindow):
1307
1308 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1309
1310         Web Inspector: enable "Single click CSS editing" experiment by default.
1311         https://bugs.webkit.org/show_bug.cgi?id=78881
1312
1313         Reviewed by Vsevolod Vlasov.
1314
1315         * inspector/front-end/elementsPanel.css:
1316         (.styles-section .properties .enabled-button):
1317
1318 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1319
1320         Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
1321         https://bugs.webkit.org/show_bug.cgi?id=78827
1322
1323         Reviewed by Vsevolod Vlasov.
1324
1325         * inspector/front-end/StylesSidebarPane.js:
1326         (WebInspector.StylesSidebarPane.prototype.update):
1327         (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
1328         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
1329         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1330         (WebInspector.StylesSidebarPane.prototype._validateNode):
1331         (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
1332         (WebInspector.StylesSidebarPane.prototype._attributesModified):
1333         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
1334         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
1335         (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
1336         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1337         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
1338         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
1339         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
1340         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
1341         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
1342         (WebInspector.StylePropertyTreeElement.prototype):
1343
1344 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1345
1346         [Qt][WK2] Allow partial updates
1347         https://bugs.webkit.org/show_bug.cgi?id=78824
1348
1349         BitmapTextureGL should not zero-fill the textures when resetting.
1350         This was needed in the previous buffer management system, where texture were not completely
1351         filled by the backing store.
1352
1353         Reviewed by Simon Hausmann.
1354
1355         No new behavior.
1356
1357         * platform/graphics/opengl/TextureMapperGL.cpp:
1358         (BitmapTextureGL):
1359         (WebCore::texSubImage2DResourceSafe):
1360         (WebCore):
1361         (WebCore::BitmapTextureGL::reset):
1362
1363 2012-02-17  Yosifumi Inoue  <yosin@chromium.org>
1364
1365         [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
1366         https://bugs.webkit.org/show_bug.cgi?id=78873
1367
1368         Reviewed by Kent Tamura.
1369
1370         This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
1371         and merge dispatchChangeEventInResponseToSetValue to setValue.
1372
1373         No new tests. No change in behavior.
1374
1375         * html/HTMLInputElement.cpp:
1376         (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
1377         * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
1378         * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
1379         (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
1380         * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
1381         * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
1382         (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
1383         * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.
1384
1385 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
1386
1387         Unreviewed. Mac build fix after r108047.
1388
1389         * WebCore.xcodeproj/project.pbxproj:
1390
1391 2012-02-16  Andreas Kling  <awesomekling@apple.com>
1392
1393         Removing the last presentation attribute should result in a null attributeStyle().
1394         <http://webkit.org/b/78812>
1395
1396         Reviewed by Antti Koivisto.
1397
1398         If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
1399         respected presentation attributes, set a null attributeStyle() instead of an empty one.
1400
1401         * css/CSSStyleSelector.cpp:
1402         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1403         * dom/StyledElement.cpp:
1404         (WebCore::StyledElement::updateAttributeStyle):
1405
1406 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
1407
1408         Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
1409         https://bugs.webkit.org/show_bug.cgi?id=78825
1410
1411         Introduced static counters of allocated Documents, Nodes and JS EventListeners.
1412         Their values are displayed on the Timeline panel.
1413
1414         Reviewed by Pavel Feldman.
1415
1416         * CMakeLists.txt:
1417         * English.lproj/localizedStrings.js:
1418         * GNUmakefile.list.am:
1419         * Target.pri:
1420         * WebCore.gypi:
1421         * WebCore.vcproj/WebCore.vcproj:
1422         * WebCore.xcodeproj/project.pbxproj:
1423         * bindings/js/JSEventListener.cpp:
1424         (WebCore::JSEventListener::JSEventListener):
1425         (WebCore::JSEventListener::~JSEventListener):
1426         * bindings/v8/V8AbstractEventListener.cpp:
1427         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
1428         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
1429         * dom/Document.cpp:
1430         (WebCore::Document::Document):
1431         (WebCore::Document::~Document):
1432         * dom/Document.h:
1433         (WebCore::Node::Node):
1434         * dom/Node.cpp:
1435         (WebCore::Node::~Node):
1436         * inspector/InspectorAllInOne.cpp:
1437         * inspector/InspectorController.cpp:
1438         (WebCore::InspectorController::InspectorController):
1439         * inspector/InspectorCounters.cpp: Added.
1440         (WebCore):
1441         (WebCore::InspectorCounters::counterValue):
1442         * inspector/InspectorCounters.h: Added.
1443         (WebCore):
1444         (InspectorCounters):
1445         (WebCore::InspectorCounters::incrementCounter):
1446         (WebCore::InspectorCounters::decrementCounter):
1447         * inspector/InspectorTimelineAgent.cpp:
1448         (WebCore::InspectorTimelineAgent::didCallFunction):
1449         (WebCore::InspectorTimelineAgent::didDispatchEvent):
1450         (WebCore::InspectorTimelineAgent::didWriteHTML):
1451         (WebCore::InspectorTimelineAgent::didFireTimer):
1452         (WebCore::InspectorTimelineAgent::didEvaluateScript):
1453         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1454         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1455         * inspector/InspectorTimelineAgent.h:
1456         (WebCore):
1457         (WebCore::InspectorTimelineAgent::create):
1458         (InspectorTimelineAgent):
1459         * inspector/front-end/MemoryStatistics.js:
1460         (WebInspector.MemoryStatistics):
1461         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1462         (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
1463         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1464         * inspector/front-end/TimelinePanel.js:
1465         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
1466
1467 2012-02-16  Cris Neckar  <cdn@chromium.org>
1468
1469         Correct a misleading comment regarding string delimiters in CSS parsing.
1470         https://bugs.webkit.org/show_bug.cgi?id=78521
1471
1472         Reviewed by Zoltan Herczeg.
1473
1474         * css/CSSParser.cpp:
1475         (WebCore::CSSParser::lex):
1476
1477 2012-02-16  Martin Robinson  <mrobinson@igalia.com>
1478
1479         Fix the TextureMapper build for GTK+.
1480
1481         No new tests. This is just a build fix.
1482
1483         * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.
1484
1485 2012-02-16  Daniel Bates  <dbates@webkit.org>
1486
1487         Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 
1488
1489         The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
1490         referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
1491         guard around its declaration.
1492
1493         * html/HTMLStyleElement.h:
1494         (HTMLStyleElement):
1495
1496 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
1497
1498         [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
1499         https://bugs.webkit.org/show_bug.cgi?id=78875
1500
1501         Reviewed by Kentaro Hara.
1502
1503         Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
1504         was saved in DOMObject storage instead of DOMNode storage.
1505
1506         CodeGenerator should handle with DOMNode correctly to solve the problem.
1507
1508         Test: fast/dom/shadow/shadow-root-new.html
1509
1510         * bindings/scripts/CodeGeneratorV8.pm:
1511         (GenerateConstructorCallback):
1512
1513 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
1514
1515         Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
1516         see http://webkit.org/b/78832
1517
1518         * CMakeLists.txt:
1519         * DerivedSources.cpp:
1520         * DerivedSources.make:
1521         * DerivedSources.pri:
1522         * GNUmakefile.list.am:
1523         * Target.pri:
1524         * WebCore.gypi:
1525         * WebCore.xcodeproj/project.pbxproj:
1526         * dom/DOMAllInOne.cpp:
1527         * dom/EventDispatchMediator.cpp:
1528         (WebCore::FocusEventDispatchMediator::create):
1529         (WebCore):
1530         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1531         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1532         (WebCore::BlurEventDispatchMediator::create):
1533         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1534         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1535         * dom/EventDispatchMediator.h:
1536         (FocusEventDispatchMediator):
1537         (WebCore):
1538         (BlurEventDispatchMediator):
1539         * dom/EventFactory.in:
1540         * dom/FocusEvent.cpp: Removed.
1541         * dom/FocusEvent.h: Removed.
1542         * dom/FocusEvent.idl: Removed.
1543         * dom/Node.cpp:
1544         (WebCore::Node::dispatchFocusInEvent):
1545         (WebCore::Node::dispatchFocusOutEvent):
1546         * dom/UIEvent.cpp:
1547         (WebCore::FocusInEventDispatchMediator::create):
1548         (WebCore):
1549         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1550         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1551         (WebCore::FocusOutEventDispatchMediator::create):
1552         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1553         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1554         * dom/UIEvent.h:
1555         (FocusInEventDispatchMediator):
1556         (WebCore):
1557         (FocusOutEventDispatchMediator):
1558         * page/DOMWindow.idl:
1559
1560 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1561
1562         Another fix for viewport tests
1563
1564         No new tests.
1565
1566         * dom/ViewportArguments.cpp:
1567         (WebCore::numericPrefix): When we don't parse a number, we could either be 
1568         trying to parse junk, which returns NaN, or we could get an empty string, 
1569         which returns 0, so we need to account for that in the assert.
1570
1571 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1572
1573         Another build fix for viewport tests
1574
1575         No new tests.
1576
1577         * dom/ViewportArguments.cpp:
1578         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
1579         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
1580         we have NaN rather than 0.
1581
1582 2012-02-16  Alexandre Elias  <aelias@google.com>
1583
1584         [chromium] Bundle page scale factor and limits in CCLayerTreeHost
1585         https://bugs.webkit.org/show_bug.cgi?id=78762
1586
1587         Setting page scale factor and its limits in separate methods
1588         may cause clamping bugs if one of them makes it to the
1589         impl thread before the other.  Change the API to bundle them together,
1590         which matches the existing impl-side interface.
1591
1592         Reviewed by James Robinson.
1593
1594         No new tests (API change will disallow this type of bug).
1595
1596         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1597         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1598         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1599         (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
1600         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1601         (CCLayerTreeHost):
1602
1603 2012-02-16  Kentaro Hara  <haraken@chromium.org>
1604
1605         Unreviewed. Rebaselined run-bindings-tests results.
1606
1607         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1608         (WebCore::JSTestEventConstructorConstructor::finishCreation):
1609         * bindings/scripts/test/JS/JSTestInterface.cpp:
1610         (WebCore::JSTestInterfaceConstructor::finishCreation):
1611         * bindings/scripts/test/JS/JSTestObj.cpp:
1612         (WebCore::JSTestObjConstructor::finishCreation):
1613         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1614         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
1615
1616 2012-02-16  Sami Kyostila  <skyostil@chromium.org>
1617
1618         [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
1619         https://bugs.webkit.org/show_bug.cgi?id=77464
1620
1621         Use bounds() instead of contentBounds() to calculate the region to mark
1622         as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
1623         includes contents scale, while bounds() does not.
1624
1625         Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
1626         given an unscaled rectangle, modify that function to scale the rectangle before
1627         using it to invalidate the underlying tiles.
1628
1629         Reviewed by James Robinson.
1630
1631         Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.
1632
1633         * platform/graphics/chromium/LayerChromium.h:
1634         (WebCore::LayerChromium::setNeedsDisplay):
1635         * platform/graphics/chromium/TiledLayerChromium.cpp:
1636         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
1637
1638 2012-02-16  Raymond Liu  <raymond.liu@intel.com>
1639
1640         Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
1641         https://bugs.webkit.org/show_bug.cgi?id=76509
1642
1643         Reviewed by Eric Seidel.
1644
1645         No new tests required.
1646
1647         * webaudio/AudioDestinationNode.h:
1648         * webaudio/AudioNode.h:
1649         (WebCore::AudioNode::sampleRate):
1650         * webaudio/DefaultAudioDestinationNode.cpp:
1651         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
1652         * webaudio/DefaultAudioDestinationNode.h:
1653         * webaudio/OfflineAudioDestinationNode.cpp:
1654         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
1655         * webaudio/OfflineAudioDestinationNode.h:
1656         (WebCore::OfflineAudioDestinationNode::sampleRate):
1657
1658 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
1659
1660         [Refactoring] Remove location from NodeRenderingContext.
1661         https://bugs.webkit.org/show_bug.cgi?id=78796
1662
1663         Reviewed by Hajime Morita.
1664
1665         This is a simple refactoring to remove m_location from NodeRenderingContext.
1666         TreeLocation is merged into AttachPhase like the following.
1667             LocationUndertermined -> Calculating
1668             LocationNotInTree -> AttachingNotInTree
1669             LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
1670             LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback
1671
1672         We have renamed the enum items of AttachPhase, because not only <content> but also
1673         <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
1674         'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.
1675
1676         No new tests, no change in behavior.
1677
1678         * dom/NodeRenderingContext.cpp:
1679         (WebCore::NodeRenderingContext::NodeRenderingContext):
1680         (WebCore::NodeRenderingContext::nextRenderer):
1681         (WebCore::NodeRenderingContext::previousRenderer):
1682         (WebCore::NodeRenderingContext::parentRenderer):
1683         (WebCore::NodeRenderingContext::shouldCreateRenderer):
1684         * dom/NodeRenderingContext.h:
1685         (NodeRenderingContext):
1686         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
1687
1688 2012-02-16  Kent Tamura  <tkent@chromium.org>
1689
1690         Run sort-Xcode-project-file.
1691
1692         * WebCore.xcodeproj/project.pbxproj: Sorted.
1693
1694 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1695
1696         Another build fix for viewport tests
1697
1698         No new tests.
1699
1700         * dom/ViewportArguments.cpp:
1701         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
1702         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
1703         we have NaN rather than 0.
1704
1705 2012-02-15  Michael Nordman  <michaeln@google.com>
1706
1707         [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
1708         https://bugs.webkit.org/show_bug.cgi?id=78841
1709
1710         WebDatabase now delegates this function entirely to DatabaseTracker,
1711         a new closeDatabasesImmediately() has been added for that purpose. That
1712         method posts tasks to the appropiate context thread for each database
1713         instance that should be closed immediately.
1714
1715         The DatabaseTracker getAllOpenDatabases() method has been removed from
1716         the chromium impl because it's unsafe, refs cannot be safely taken on
1717         AbstractDatabase instances in the tracker's collection of open databases.
1718
1719         Add a message to the console log when a database is forcibly closed.
1720
1721         Transactions initiated on a database instance that has been forcibly
1722         closed complete with a transaction error callback.
1723         
1724         This is part of resolving http://crbug.com/98939
1725
1726         Reviewed by David Levin.
1727
1728         No new layout tests, there is no common code way to closeImmediately.
1729         We have coverage for this in py automation tests.
1730
1731         * platform/sql/SQLiteDatabase.cpp:
1732         The closeImmediately code path can result in the underlying sqlite3 handle being
1733         closed earlier than usual and trip some assertions. Updated the assertions to no
1734         longer trigger in this early close case.
1735         (WebCore::SQLiteDatabase::close):
1736         (WebCore::SQLiteDatabase::setMaximumSize):
1737         * platform/sql/SQLiteDatabase.h:
1738         (WebCore::SQLiteDatabase::sqlite3Handle):
1739
1740         * storage/Database.cpp:
1741         (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
1742         (WebCore::Database::changeVersion): Use the private runTransaction helper method.
1743         (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
1744         (WebCore::Database::readTransaction): Ditto.
1745         (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
1746         (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
1747         to invoke the error callback in that case. This also avoids creating a reference cycle between
1748         a newly created transaction and the database that previously existed due to a transction being
1749         added and never removed from the Q while in this state.
1750         * storage/Database.h:
1751         * storage/DatabaseSync.cpp:
1752         (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
1753         * storage/DatabaseTracker.h:
1754
1755         * storage/chromium/DatabaseTrackerChromium.cpp:
1756         Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
1757         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
1758         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
1759         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
1760         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
1761         (WebCore::DatabaseTracker::closeDatabasesImmediately): 
1762         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
1763
1764 2012-02-16  Dana Jansens  <danakj@chromium.org>
1765
1766         [Chromium] Occlusion tracking with CSS filters
1767         https://bugs.webkit.org/show_bug.cgi?id=77498
1768
1769         Reviewed by James Robinson.
1770
1771         The new CSS filter support within the compositor changes how
1772         occlusion tracking needs to function. A filter can change the
1773         alpha value of pixels, making an otherwise opaque pixel no
1774         longer so. Secondly, a filter may move color values around
1775         on a surface, which can cause otherwise occluded areas to
1776         become visible and require painting.
1777
1778         New unit tests: CCLayerTreeHostTest.cpp
1779
1780         Tests: compositing/culling/filter-occlusion-alpha-large.html
1781                compositing/culling/filter-occlusion-alpha.html
1782                compositing/culling/filter-occlusion-blur-large.html
1783                compositing/culling/filter-occlusion-blur.html
1784
1785         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1786         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1787         * platform/graphics/chromium/RenderSurfaceChromium.h:
1788         (WebCore::RenderSurfaceChromium::setFilters):
1789         (WebCore::RenderSurfaceChromium::filters):
1790         (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
1791         (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
1792         (RenderSurfaceChromium):
1793         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1794         (WebCore::enterTargetRenderSurface):
1795         (WebCore::CCLayerTreeHost::paintLayerContents):
1796         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1797         (WebCore::subtreeShouldRenderToSeparateSurface):
1798         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1799         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
1800         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1801         (WebCore::CCRenderSurface::CCRenderSurface):
1802         * platform/graphics/chromium/cc/CCRenderSurface.h:
1803         (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
1804         (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
1805         (CCRenderSurface):
1806         * platform/graphics/filters/FilterOperation.h:
1807         (FilterOperation):
1808         (WebCore::FilterOperation::affectsOpacity):
1809         (WebCore::FilterOperation::movesPixels):
1810         (WebCore::ReferenceFilterOperation::affectsOpacity):
1811         (WebCore::ReferenceFilterOperation::movesPixels):
1812         (ReferenceFilterOperation):
1813         (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
1814         (BasicComponentTransferFilterOperation):
1815         (WebCore::BlurFilterOperation::affectsOpacity):
1816         (WebCore::BlurFilterOperation::movesPixels):
1817         (BlurFilterOperation):
1818         (WebCore::DropShadowFilterOperation::affectsOpacity):
1819         (DropShadowFilterOperation):
1820         * platform/graphics/filters/FilterOperations.cpp:
1821         (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
1822         (WebCore):
1823         (WebCore::FilterOperations::hasFilterThatMovesPixels):
1824         * platform/graphics/filters/FilterOperations.h:
1825         (WebCore::FilterOperations::isEmpty):
1826         (FilterOperations):
1827
1828 2012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1829
1830         [BlackBerry] Adapt to the removal of WebStringIml.h
1831         https://bugs.webkit.org/show_bug.cgi?id=78784
1832
1833         Reviewed by Antonio Gomes.
1834
1835         WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
1836         has been removed internally. We should adapt to this removal for the
1837         upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
1838         because it just inherits from WTF::StringImpl but adding nothing.
1839
1840         No functionalities changed, no new tests.
1841
1842         * platform/text/blackberry/StringBlackBerry.cpp:
1843         (WTF::String::operator WebString):
1844
1845 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
1846
1847         Made Weak<T> single-owner, adding PassWeak<T>
1848         https://bugs.webkit.org/show_bug.cgi?id=78740
1849
1850         Reviewed by Sam Weinig.
1851
1852         * bindings/js/JSDOMBinding.cpp:
1853         (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
1854         hash map API.
1855
1856         * bindings/js/JSDOMBinding.h:
1857         (WebCore::getCachedWrapper):
1858         (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
1859         our new hash map API.
1860
1861         * bindings/js/JSEventListener.h:
1862         (WebCore::JSEventListener::setWrapper):
1863         * bindings/js/ScriptWrappable.h:
1864         (WebCore::ScriptWrappable::setWrapper):
1865         * bridge/jsc/BridgeJSC.cpp:
1866         (JSC::Bindings::Instance::createRuntimeObject):
1867         * bridge/runtime_root.cpp:
1868         (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
1869         required by our new hash map and Weak<T> APIs.
1870
1871 2012-02-16  Ryosuke Niwa  <rniwa@webkit.org>
1872
1873         Crash in visiblePositionForIndex
1874         https://bugs.webkit.org/show_bug.cgi?id=77683
1875
1876         Reviewed by Eric Seidel.
1877
1878         Fixed the crash.
1879
1880         Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
1881
1882         * editing/ApplyBlockElementCommand.cpp:
1883         (WebCore::ApplyBlockElementCommand::doApply):
1884         * editing/InsertListCommand.cpp:
1885         (WebCore::InsertListCommand::doApply):
1886         * editing/htmlediting.cpp:
1887         (WebCore::indexForVisiblePosition):
1888         * editing/htmlediting.h:
1889         (WebCore):
1890
1891 2012-02-16  Matthew Delaney  <mdelaney@apple.com>
1892
1893         ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
1894         https://bugs.webkit.org/show_bug.cgi?id=78765
1895
1896         Reviewed by Simon Fraser.
1897
1898         No new tests due to the flaky nature of reproducing the issue.
1899
1900         * platform/graphics/ShadowBlur.cpp:
1901         (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
1902         when we create a new ImageBuffer in order to invalidate cached values.
1903         (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
1904         of cached values into one method to enforce them being the same.
1905         (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.
1906
1907         Restructure to use new method described above.
1908         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
1909         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
1910         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1911         (WebCore::ShadowBlur::drawRectShadowWithTiling):
1912         (WebCore::ShadowBlur::beginShadowLayer):
1913
1914 2012-02-16  Dana Jansens  <danakj@chromium.org>
1915
1916         [chromium] Empty divs not transforming overflow correctly
1917         https://bugs.webkit.org/show_bug.cgi?id=78850
1918
1919         Reviewed by James Robinson.
1920
1921         Test: compositing/overflow/transform-in-empty-container.html
1922
1923         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1924         (WebCore::GraphicsLayerChromium::setSize):
1925
1926 2012-02-16  Emil A Eklund  <eae@chromium.org>
1927
1928         Fix use of long long in FractionalLayoutUnit::setRawValue
1929         https://bugs.webkit.org/show_bug.cgi?id=78835
1930
1931         Reviewed by Eric Seidel.
1932
1933         Change setRawValue(long long) to compare against int min and max instead
1934         of using abs as not all platforms we support implement a long long
1935         version of abs or llabs.
1936
1937         No new tests.
1938
1939         * platform/FractionalLayoutUnit.h:
1940         (WebCore::FractionalLayoutUnit::setRawValue):
1941         Compare against int min/max instead of just max with abs.
1942         
1943         (WebCore::FractionalLayoutUnit::isInBounds):
1944         Fix type mismatch warning.
1945         
1946         (WebCore::operator==):
1947         Fix typo.
1948         
1949         (WebCore::operator*):
1950         Use long long version of setRawValue.
1951
1952 2012-02-15  Shinya Kawanaka  <shinyak@chromium.org>
1953
1954         Add an internal flag to accept multiple shadow roots for the purpose of tests.
1955         https://bugs.webkit.org/show_bug.cgi?id=78453
1956
1957         Reviewed by Hajime Morita.
1958
1959         This patch introduces a flag to enable multiple shadow subtrees.
1960         This flag is intended to be used for testing purpose for a while.
1961         We will remove it later.
1962
1963         No new tests, no change in behavior.
1964
1965         * WebCore.exp.in:
1966         * bindings/generic/RuntimeEnabledFeatures.cpp:
1967         (WebCore):
1968         * bindings/generic/RuntimeEnabledFeatures.h:
1969         (RuntimeEnabledFeatures):
1970         (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
1971         (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
1972         * dom/ShadowRoot.cpp:
1973         (WebCore::ShadowRoot::create):
1974         * dom/ShadowRootList.cpp:
1975         (WebCore::ShadowRootList::pushShadowRoot):
1976         * testing/Internals.cpp:
1977         (WebCore::Internals::setMultipleShadowSubtreesEnabled):
1978         (WebCore):
1979         * testing/Internals.h:
1980         (Internals):
1981         * testing/Internals.idl:
1982
1983 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1984
1985         Fix the broken viewport tests
1986         https://bugs.webkit.org/show_bug.cgi?id=78774
1987
1988         Reviewed by Kenneth Rohde Christiansen.
1989
1990         No new tests.
1991
1992         * dom/ViewportArguments.cpp:
1993         (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).
1994
1995 2012-02-16  Cris Neckar  <cdn@chromium.org>
1996
1997         Very large strings could cause the new quoted string to wrap.
1998         https://bugs.webkit.org/show_bug.cgi?id=78387
1999
2000         Reviewed by Eric Seidel.
2001
2002         * css/CSSParser.cpp:
2003         (WebCore::quoteCSSString):
2004
2005 2012-02-16  Eric Seidel  <eric@webkit.org>
2006
2007         Add a themeChromiumAndroid.css file for android-specific default styles
2008         https://bugs.webkit.org/show_bug.cgi?id=78547
2009
2010         Reviewed by Adam Barth.
2011
2012         This includes the themeChromiumAndroid.css file from the Chromium-Android port
2013         as well as some addidtional changes they had to html.css.  I believe those
2014         changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS.
2015
2016         * WebCore.gyp/WebCore.gyp:
2017         * css/themeChromiumAndroid.css: Added.
2018         (select[size][multiple]):
2019         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
2020         * rendering/RenderThemeChromiumAndroid.cpp:
2021         (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet):
2022         (WebCore):
2023         * rendering/RenderThemeChromiumAndroid.h:
2024         (RenderThemeChromiumAndroid):
2025         (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering):
2026         (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor):
2027
2028 2012-02-16  Brady Eidson  <beidson@apple.com>
2029
2030         <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
2031         REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages
2032
2033         Reviewed by Sam Weinig.
2034
2035         No new tests. (Subtle API change attached to a specific application)
2036
2037         * loader/DocumentLoader.cpp:
2038         (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk
2039         and there are outstanding subresource loads.
2040
2041         * page/Settings.cpp:
2042         (WebCore::Settings::Settings):
2043         * page/Settings.h:
2044         (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk):
2045         (WebCore::Settings::needsIsLoadingInAPISenseQuirk):
2046         (Settings):
2047
2048 2012-02-16  Kentaro Hara  <haraken@chromium.org>
2049
2050         Remove [ConvertScriptString] from FileReaderSync.idl
2051         https://bugs.webkit.org/show_bug.cgi?id=78335
2052
2053         Reviewed by Eric Seidel.
2054
2055         The spec says that FileReadSync should throw NOT_FOUND_ERR
2056         if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync
2057
2058         By this fix, we can completely remove [ConvertScriptString] from WebKit.
2059
2060         Tests: fast/files/workers/worker-read-blob-sync.html
2061                fast/files/workers/worker-read-file-sync.html
2062
2063         * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid.
2064         (WebCore::FileReaderSync::readAsArrayBuffer):
2065         (WebCore::FileReaderSync::readAsBinaryString):
2066         (WebCore::FileReaderSync::readAsText):
2067         (WebCore::FileReaderSync::readAsDataURL):
2068         * fileapi/FileReaderSync.idl:
2069
2070         * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString]
2071         since no one is using it.
2072         (NativeToJSValue):
2073         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2074         (NativeToJSValue):
2075
2076         * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString].
2077
2078         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2079         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2080         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2081         (webkit_dom_test_obj_get_property):
2082         (webkit_dom_test_obj_class_init):
2083         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2084         * bindings/scripts/test/JS/JSTestObj.cpp:
2085         (WebCore):
2086         * bindings/scripts/test/JS/JSTestObj.h:
2087         (WebCore):
2088         * bindings/scripts/test/ObjC/DOMTestObj.h:
2089         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2090         * bindings/scripts/test/V8/V8TestObj.cpp:
2091         (WebCore):
2092
2093
2094 2012-02-16  Dana Jansens  <danakj@chromium.org>
2095
2096         [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking
2097         https://bugs.webkit.org/show_bug.cgi?id=78775
2098
2099         Reviewed by Stephen White.
2100
2101         The clip was being applied in device coordinates, before transforming the painted
2102         rect into device coordinates. This made any translations get doubly represented,
2103         and gave incorrect paint tracking results.
2104
2105         Test: compositing/culling/unscrolled-within-boxshadow.html
2106
2107         Unit test: PlatformContextSkiaTest.cpp
2108
2109         * platform/graphics/skia/OpaqueRegionSkia.cpp:
2110         (WebCore::OpaqueRegionSkia::didDraw):
2111
2112 2012-02-16  Abhishek Arya  <inferno@chromium.org>
2113
2114         Crash with tables in multi-column layout.
2115         https://bugs.webkit.org/show_bug.cgi?id=78415
2116
2117         Reviewed by Julien Chaffraix.
2118
2119         Multi-column code creates anonymous column blocks directly
2120         under RenderTable, thereby violating table layout assumption.
2121         E.g. Captions in this testcase gets reparented to these anonymous
2122         column blocks and when they go away, they are not able to clear
2123         themselves from table's m_captions list (since RenderTable::removeChild
2124         is not called).
2125
2126         Test: fast/multicol/span/table-multi-column-crash.html
2127
2128         * rendering/RenderBlock.cpp:
2129         (WebCore::RenderBlock::containingColumnsBlock):
2130
2131 2012-02-16  ChangSeok Oh  <shivamidow@gmail.com>
2132
2133         [GTK] File system api build is broken
2134         https://bugs.webkit.org/show_bug.cgi?id=78479
2135
2136         Reviewed by Philippe Normand.
2137
2138         This patch is a small step to support FileSystem API for GTK port.
2139         As I know, bug58443 also dealt with it, but it looks like the submitted patch
2140         needs to be updated. To do that, I think I need to discuss with the original author.
2141         So, I hope to just fix build break issue in this bug.
2142
2143         No new tests. Implementing the feature is not done yet.
2144
2145         * GNUmakefile.list.am: Added some missing files.
2146         * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API.
2147         * platform/AsyncFileSystem.cpp:
2148         (WebCore):
2149         (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h.
2150         * platform/gtk/AsyncFileSystemGtk.cpp: Added.
2151         (WebCore):
2152         (WebCore::AsyncFileSystem::isAvailable):
2153         (WebCore::AsyncFileSystem::isValidType):
2154         (WebCore::AsyncFileSystem::create):
2155         (WebCore::AsyncFileSystem::openFileSystem):
2156         (WebCore::AsyncFileSystem::crackFileSystemURL):
2157         (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
2158         (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk):
2159         (WebCore::AsyncFileSystemGtk::toURL):
2160         (WebCore::AsyncFileSystemGtk::move):
2161         (WebCore::AsyncFileSystemGtk::copy):
2162         (WebCore::AsyncFileSystemGtk::remove):
2163         (WebCore::AsyncFileSystemGtk::removeRecursively):
2164         (WebCore::AsyncFileSystemGtk::readMetadata):
2165         (WebCore::AsyncFileSystemGtk::createFile):
2166         (WebCore::AsyncFileSystemGtk::createDirectory):
2167         (WebCore::AsyncFileSystemGtk::fileExists):
2168         (WebCore::AsyncFileSystemGtk::directoryExists):
2169         (WebCore::AsyncFileSystemGtk::readDirectory):
2170         (WebCore::AsyncFileSystemGtk::createWriter):
2171         * platform/gtk/AsyncFileSystemGtk.h: Added.
2172         (WebCore):
2173         (AsyncFileSystemGtk):
2174
2175 2012-02-16  Adrienne Walker  <enne@google.com>
2176
2177         Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll
2178         https://bugs.webkit.org/show_bug.cgi?id=78286
2179
2180         Reviewed by Julien Chaffraix.
2181
2182         This is an unfortunate bandaid over a corner case where sometimes the
2183         visible descendant status dirty flag is true when this function is
2184         called from FrameView::repaintFixedElementsAfterScrolling. As it
2185         should be cheap to refresh this flag when dirty in most cases (as it
2186         early outs after finding any visible descendant), just lazily update
2187         the dirty flag here to ensure correctness.
2188
2189         * rendering/RenderLayer.cpp:
2190         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2191
2192 2012-02-16  Adam Barth  <abarth@webkit.org>
2193
2194         Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed
2195         https://bugs.webkit.org/show_bug.cgi?id=78844
2196
2197         Reviewed by Eric Seidel.
2198
2199         These function serve no useful purpose and should be removed.
2200
2201         * page/Chrome.cpp:
2202         (WebCore):
2203         * page/Chrome.h:
2204         (Chrome):
2205         * page/Geolocation.cpp:
2206         (WebCore::Geolocation::reset):
2207         (WebCore::Geolocation::requestPermission):
2208
2209 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
2210
2211         [soup] Move important SoupSession feature initialization to WebCore
2212         https://bugs.webkit.org/show_bug.cgi?id=68602
2213
2214         Reviewed by Martin Robinson.
2215
2216         Moved content sniffer and decoder initialization from WebKit to
2217         WebCore because network stuff will not work as expected without
2218         them. Added also out-of-the-box proxy support to WebCore.
2219
2220         No new tests required as we're just moving stuff from WebKit to
2221         WebCore.
2222
2223         * platform/network/soup/ResourceHandleSoup.cpp:
2224         (WebCore::ResourceHandle::defaultSession):
2225
2226 2012-02-16  Julien Chaffraix  <jchaffraix@webkit.org>
2227
2228         thead in table without tbody causes table height doubling
2229         https://bugs.webkit.org/show_bug.cgi?id=37244
2230
2231         Reviewed by Ojan Vafai.
2232
2233         Tests: fast/table/double-height-table-no-tbody-expected.html
2234                fast/table/double-height-table-no-tbody.html
2235
2236         The bug is caused by the layout code would wrongly assuming that a
2237         table without a <tbody> is an empty table. We would set the logical
2238         height to the style's logical height wrongly before inflating the
2239         logical height to account for the section(s). This would cause us
2240         to increase past our needed size thus the bug.
2241
2242         * rendering/RenderTable.cpp:
2243         (WebCore::RenderTable::layout):
2244         A table is empty if it does not have any top section, not just a <tbody>.
2245         The test uncovered an issue with height distribution in layoutRows where we
2246         would distribute the extra height to the first <tbody> not section.
2247
2248 2012-02-07  Robert Hogan  <robert@webkit.org>
2249
2250         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
2251         https://bugs.webkit.org/show_bug.cgi?id=78027
2252
2253         Reviewed by Julien Chaffraix.
2254
2255         Both of these test the (slightly implicit) rule that width set on column-groups cannot
2256         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
2257         FF, Opera and IE all pass these two tests.
2258
2259         Tests: css2.1/20110323/fixed-table-layout-013.htm
2260                css2.1/20110323/fixed-table-layout-015.htm
2261
2262         * rendering/FixedTableLayout.cpp:
2263         (WebCore::nextCol): A helper function for finding the next column along.
2264         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
2265         * rendering/RenderTableCol.h:
2266         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
2267
2268 2012-02-16  Philippe Normand  <pnormand@igalia.com>
2269
2270         Unreviewed, rolling out r107941.
2271         http://trac.webkit.org/changeset/107941
2272         https://bugs.webkit.org/show_bug.cgi?id=68602
2273
2274         Broke 23 http tests on GTK
2275
2276         * platform/network/soup/ResourceHandleSoup.cpp:
2277         (WebCore::ResourceHandle::defaultSession):
2278
2279 2012-02-16  Tom Sepez  <tsepez@chromium.org>
2280
2281         XSS Auditor bypass with U+2028/2029
2282         https://bugs.webkit.org/show_bug.cgi?id=78732
2283
2284         Reviewed by Adam Barth.
2285
2286         Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html
2287
2288         * html/parser/XSSAuditor.cpp:
2289         (WebCore::isJSNewline):
2290         (WebCore::XSSAuditor::snippetForJavaScript):
2291
2292 2012-02-15  Mark Rowe  <mrowe@apple.com>
2293
2294         NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC
2295         <http://webkit.org/b/78766> / <rdar://problem/10729283>
2296
2297         Reviewed by Anders Carlsson.
2298
2299         * platform/network/cf/ProxyServerCFNet.cpp:
2300         (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process
2301         the results that we received.
2302         (WebCore::processProxyServers): Processing of array of proxy configuration information
2303         moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled
2304         by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result
2305         callback. Doing this synchronously is not great, but it's the best we can do without a lot
2306         of restructuring of the code that calls this. We arbitrarily time out the execution after five
2307         seconds to avoid permanently hanging.
2308         (WebCore::addProxyServersForURL): Call in to our helper function.
2309
2310 2012-02-16  Abhishek Arya  <inferno@chromium.org>
2311
2312         Fix clone() function to handle descendant classes of RenderBlock.
2313         https://bugs.webkit.org/show_bug.cgi?id=78273
2314
2315         Reviewed by Eric Seidel.
2316
2317         Test: fast/multicol/span/clone-flexbox-crash.html
2318
2319         * rendering/RenderBlock.cpp:
2320         (WebCore::RenderBlock::clone):
2321
2322 2012-02-16  Raul Hudea  <rhudea@adobe.com>
2323
2324         [CSSRegions]overflowRegion tests are flaky
2325         https://bugs.webkit.org/show_bug.cgi?id=78761
2326
2327         Reviewed by Tony Chang.
2328
2329         The overflowRegion tests were updated.
2330
2331         * dom/Element.cpp:
2332         (WebCore::Element::webkitRegionOverflow):
2333
2334 2012-02-16  Raul Hudea  <rhudea@adobe.com>
2335
2336         [CSS Regions] Repaint issues when changing innerHTML of content
2337         https://bugs.webkit.org/show_bug.cgi?id=78787
2338
2339         Reviewed by David Hyatt.
2340
2341         The calculation of the clipping rectangle is based on the repaint rectangle,
2342         so it needs to be clipped to the current region, because it might spread over multiple ones.
2343
2344         Test: fast/repaint/region-painting-invalidation.html
2345
2346         * rendering/RenderFlowThread.cpp:
2347         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2348
2349 2012-02-16  Adam Roben  <aroben@apple.com>
2350
2351         Roll out r107887
2352
2353         It broke 32-bit builds due to truncation from "long long" to "int".
2354
2355         Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for
2356         sub-pixel layout
2357
2358         * CMakeLists.txt:
2359         * GNUmakefile.list.am:
2360         * WebCore.gypi:
2361         * WebCore.order:
2362         * WebCore.vcproj/WebCore.vcproj:
2363         * WebCore.xcodeproj/project.pbxproj:
2364         * platform/FractionalLayoutUnit.h:
2365         (WebCore::FractionalLayoutUnit::isInBounds):
2366         (WebCore::operator==):
2367         (WebCore::operator*):
2368         * platform/graphics/FloatPoint.cpp:
2369         * platform/graphics/FloatPoint.h:
2370         (WebCore):
2371         (FloatPoint):
2372         (WebCore::FloatPoint::move):
2373         (WebCore::FloatPoint::moveBy):
2374         * platform/graphics/FloatRect.cpp:
2375         * platform/graphics/FloatRect.h:
2376         (WebCore):
2377         * platform/graphics/FloatSize.cpp:
2378         * platform/graphics/FloatSize.h:
2379         (WebCore):
2380         * platform/graphics/FractionalLayoutPoint.h: Removed.
2381         * platform/graphics/FractionalLayoutRect.cpp: Removed.
2382         * platform/graphics/FractionalLayoutRect.h: Removed.
2383         * platform/graphics/FractionalLayoutSize.cpp: Removed.
2384         * platform/graphics/FractionalLayoutSize.h: Removed.
2385         * platform/graphics/IntRect.cpp:
2386         * platform/graphics/IntRect.h:
2387         (WebCore):
2388         (IntRect):
2389
2390 2012-02-16  Pavel Feldman  <pfeldman@google.com>
2391
2392         Web Inspector: cache settings values
2393         https://bugs.webkit.org/show_bug.cgi?id=78815
2394
2395         Reviewed by Vsevolod Vlasov.
2396
2397         * inspector/front-end/Settings.js:
2398         (WebInspector.Setting.prototype.get if):
2399         (WebInspector.Setting.prototype):
2400         (WebInspector.Setting.prototype.):
2401         (WebInspector.Setting.prototype.set this):
2402
2403 2012-02-16  Terry Anderson  <tdanderson@chromium.org>
2404
2405         WebKit does not support DOM 3 Events FocusEvent
2406         https://bugs.webkit.org/show_bug.cgi?id=76216
2407
2408         Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
2409         the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
2410         focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
2411         attribute set accordingly.  No other logic changes have been made besides adding the
2412         FocusEvent class.
2413
2414         Reviewed by Eric Seidel.
2415
2416         Test: fast/events/related-target-focusevent.html
2417
2418         * CMakeLists.txt:
2419         * DerivedSources.cpp:
2420         * DerivedSources.make:
2421         * DerivedSources.pri:
2422         * GNUmakefile.list.am:
2423         * Target.pri:
2424         * WebCore.gypi:
2425         * WebCore.xcodeproj/project.pbxproj:
2426         * dom/DOMAllInOne.cpp:
2427             - Included mention of FocusEvent / JSFocusEvent in the above files to
2428               allow the patch to build on the different platforms
2429         * dom/EventDispatchMediator.cpp:
2430         * dom/EventDispatchMediator.h:
2431         * dom/EventFactory.in:
2432         * dom/FocusEvent.cpp: Added.
2433         (WebCore):
2434         (WebCore::FocusEvent::FocusEvent):
2435         (WebCore::FocusEvent::~FocusEvent):
2436         (WebCore::FocusEvent::initFocusEvent):
2437         (WebCore::FocusEvent::interfaceName):
2438         (WebCore::FocusInEventDispatchMediator::create):
2439         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
2440         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2441         (WebCore::FocusInEventDispatchMediator::event):
2442         (WebCore::FocusOutEventDispatchMediator::create):
2443         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
2444         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2445         (WebCore::FocusOutEventDispatchMediator::event):
2446         (WebCore::FocusEventDispatchMediator::create):
2447         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
2448         (WebCore::FocusEventDispatchMediator::dispatchEvent):
2449         (WebCore::BlurEventDispatchMediator::create):
2450         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
2451         (WebCore::BlurEventDispatchMediator::dispatchEvent):
2452         * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h.
2453         (WebCore):
2454         (FocusEvent):
2455         (WebCore::FocusEvent::create):
2456         (WebCore::FocusEvent::relatedTarget):
2457         (WebCore::FocusEvent::setRelatedTarget):
2458         (FocusInEventDispatchMediator):
2459         (FocusOutEventDispatchMediator):
2460         (FocusEventDispatchMediator):
2461         (BlurEventDispatchMediator):
2462         * dom/FocusEvent.idl: Added.
2463         * dom/Node.cpp:
2464         (WebCore::Node::dispatchFocusInEvent):
2465         (WebCore::Node::dispatchFocusOutEvent):
2466         * dom/UIEvent.cpp:
2467         * dom/UIEvent.h:
2468         * page/DOMWindow.idl:
2469
2470 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2471
2472         [Texmap] Improve the way we deal with BGRA extension
2473         https://bugs.webkit.org/show_bug.cgi?id=78822
2474
2475         Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available.
2476         Pass the pixel-format of the images when updating TextureMapperTiledBackingStore.
2477
2478         Reviewed by Kenneth Rohde Christiansen.
2479
2480         No new behavior.
2481
2482         * platform/graphics/opengl/TextureMapperGL.cpp:
2483         (WebCore):
2484         (WebCore::hasExtension):
2485         (WebCore::hasBgraExtension):
2486         (WebCore::BitmapTextureGL::updateContents):
2487         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2488         (WebCore::TextureMapperTile::updateContents):
2489         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
2490         (WebCore::TextureMapperTiledBackingStore::updateContents):
2491         * platform/graphics/texmap/TextureMapperBackingStore.h:
2492         (TextureMapperTile):
2493         (TextureMapperTiledBackingStore):
2494         (WebCore::TextureMapperTiledBackingStore::updateContents):
2495         * platform/graphics/texmap/TextureMapperLayer.cpp:
2496         (WebCore::TextureMapperLayer::updateBackingStore):
2497
2498 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2499
2500         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
2501         https://bugs.webkit.org/show_bug.cgi?id=78800
2502
2503         Reviewed by Kenneth Rohde Christiansen.
2504
2505         The file is not specific to Cairo and used in other ports. Move it into
2506         common space.
2507
2508         * GNUmakefile.list.am:
2509         * PlatformEfl.cmake:
2510         * Target.pri:
2511         * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp.
2512         (WebCore):
2513         (WebCore::openGLFunctionTable):
2514         (WebCore::getProcAddress):
2515         (WebCore::lookupOpenGLFunctionAddress):
2516         (WebCore::initializeOpenGLShims):
2517         * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h.
2518         (WebCore):
2519         (_OpenGLFunctionTable):
2520         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2521         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2522         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2523         * platform/graphics/opengl/TextureMapperGL.cpp:
2524         * platform/graphics/qt/Extensions3DQt.cpp:
2525         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2526
2527 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2528
2529         [Qt][WK2] Allow opaque tiles
2530         https://bugs.webkit.org/show_bug.cgi?id=78809
2531
2532         Add a supportsAlpha property to TiledBackingStore.
2533         We invalidate all the tiles if that property changes, because the buffers need to be
2534         recreated in a different format.
2535
2536         Reviewed by Kenneth Rohde Christiansen.
2537
2538         No behavior changes.
2539
2540         * platform/graphics/TiledBackingStore.cpp:
2541         (WebCore::TiledBackingStore::TiledBackingStore):
2542         (WebCore::TiledBackingStore::setSupportsAlpha):
2543         (WebCore):
2544         * platform/graphics/TiledBackingStore.h:
2545         (TiledBackingStore):
2546         (WebCore::TiledBackingStore::supportsAlpha):
2547
2548 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
2549
2550         [soup] Move important SoupSession feature initialization to WebCore
2551         https://bugs.webkit.org/show_bug.cgi?id=68602
2552
2553         Reviewed by Martin Robinson.
2554
2555         Moved content sniffer and decoder initialization from WebKit to
2556         WebCore because network stuff will not work as expected without
2557         them. Added also out-of-the-box proxy support to WebCore.
2558
2559         No new tests required as we're just moving stuff from WebKit to
2560         WebCore.
2561
2562         * platform/network/soup/ResourceHandleSoup.cpp:
2563         (WebCore::ResourceHandle::defaultSession):
2564
2565 2012-02-16  Pavel Feldman  <pfeldman@google.com>
2566
2567         Web Inspector: remove free flow DOM editing experiment.
2568         https://bugs.webkit.org/show_bug.cgi?id=78813
2569
2570         Reviewed by Yury Semikhatsky.
2571
2572         * inspector/front-end/DOMAgent.js:
2573         (WebInspector.DOMAgent.prototype._markRevision):
2574
2575 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
2576
2577         WinCE build fix after r107453.
2578
2579         * platform/FractionalLayoutUnit.h:
2580         (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs().
2581
2582 2012-02-15  Pavel Feldman  <pfeldman@google.com>
2583
2584         Web Inspector: explicitly mark undoable state from the front-end.
2585         https://bugs.webkit.org/show_bug.cgi?id=78716
2586
2587         Reviewed by Vsevolod Vlasov.
2588
2589         * inspector/InspectorCSSAgent.cpp:
2590         (WebCore::InspectorCSSAgent::toggleProperty):
2591         (WebCore::InspectorCSSAgent::setRuleSelector):
2592         (WebCore::InspectorCSSAgent::addRule):
2593         * inspector/InspectorDOMAgent.cpp:
2594         (WebCore::InspectorDOMAgent::setAttributeValue):
2595         (WebCore::InspectorDOMAgent::setAttributesAsText):
2596         (WebCore::InspectorDOMAgent::removeAttribute):
2597         (WebCore::InspectorDOMAgent::removeNode):
2598         (WebCore::InspectorDOMAgent::setNodeName):
2599         (WebCore::InspectorDOMAgent::setOuterHTML):
2600         (WebCore::InspectorDOMAgent::setNodeValue):
2601         (WebCore::InspectorDOMAgent::moveTo):
2602         * inspector/InspectorHistory.cpp:
2603         (WebCore::InspectorHistory::redo):
2604         * inspector/InspectorHistory.h:
2605         (InspectorHistory):
2606         * inspector/front-end/CSSStyleModel.js:
2607         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
2608         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2609         (WebInspector.CSSStyleModel.prototype.addRule.callback):
2610         (WebInspector.CSSStyleModel.prototype.addRule):
2611         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
2612         (WebInspector.CSSProperty.prototype.setText.callback):
2613         (WebInspector.CSSProperty.prototype.setText):
2614         (WebInspector.CSSProperty.prototype.setDisabled.callback):
2615         (WebInspector.CSSProperty.prototype.setDisabled):
2616         (WebInspector.CSSStyleSheet.prototype.setText):
2617         * inspector/front-end/DOMAgent.js:
2618         (WebInspector.DOMAgent.prototype._markRevision):
2619         (WebInspector.DOMAgent.prototype.get markUndoableState):
2620
2621 2012-02-15  Pavel Feldman  <pfeldman@google.com>
2622
2623         Web Inspector: revert 'modification of DOM upon single click for selected nodes'.
2624         https://bugs.webkit.org/show_bug.cgi?id=78717
2625
2626         Reviewed by Vsevolod Vlasov.
2627
2628         * inspector/front-end/ElementsTreeOutline.js:
2629         (WebInspector.ElementsTreeElement.prototype.onattach):
2630
2631 2012-02-16  Pavel Feldman  <pfeldman@google.com>
2632
2633         Web Inspector: move style disable checkboxes to the left
2634         https://bugs.webkit.org/show_bug.cgi?id=78780
2635
2636         Reviewed by Vsevolod Vlasov.
2637
2638         * inspector/front-end/StylesSidebarPane.js:
2639         (WebInspector.StylePropertiesSection):
2640         (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
2641         (WebInspector.StylePropertyTreeElement.prototype):
2642         * inspector/front-end/elementsPanel.css:
2643         (.styles-section.matched-styles .properties):
2644         (.styles-section.matched-styles .properties li):
2645         (.styles-section .properties li.parent::before):
2646         (.styles-section .properties li.parent.expanded::before):
2647         (.styles-section.matched-styles .properties li.parent .expand-element):
2648         (.styles-section.matched-styles .properties li.parent.expanded .expand-element):
2649         (.styles-section.computed-style .properties li.parent::before):
2650         (.styles-section.computed-style .properties li.parent.expanded::before):
2651         (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button):
2652         (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button):
2653         (.styles-section .properties .enabled-button):
2654         (.styles-section.matched-styles .properties ol.expanded):
2655         * inspector/front-end/treeoutline.js:
2656         (TreeElement.treeElementDoubleClicked):
2657
2658 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
2659
2660         Web Inspector: show memory counter graphics when switching to memory view
2661         https://bugs.webkit.org/show_bug.cgi?id=78808
2662
2663         Switching to memory view in timeline will display memory counters. Counter
2664         graphics know show fair data without approximations between sampling points.
2665
2666         Reviewed by Pavel Feldman.
2667
2668         * English.lproj/localizedStrings.js:
2669         * inspector/front-end/MemoryStatistics.js:
2670         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
2671         (WebInspector.MemoryStatistics.prototype._calculateXValues):
2672         (WebInspector.MemoryStatistics.prototype._drawPolyline):
2673         * inspector/front-end/TimelinePanel.js:
2674         (WebInspector.TimelinePanel.prototype.get statusBarItems):
2675         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2676         (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
2677         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
2678
2679 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
2680
2681         Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console.
2682         https://bugs.webkit.org/show_bug.cgi?id=78496
2683
2684         Reviewed by Yury Semikhatsky.
2685
2686        * bindings/js/JSInjectedScriptHostCustom.cpp:
2687         (WebCore::JSInjectedScriptHost::inspectedObject):
2688         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2689         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
2690         * inspector/InjectedScriptHost.cpp:
2691         (WebCore::InjectedScriptHost::InjectedScriptHost):
2692         (WebCore::InjectedScriptHost::InspectableObject::get):
2693         (WebCore):
2694         (WebCore::InjectedScriptHost::addInspectedObject):
2695         (WebCore::InjectedScriptHost::clearInspectedObjects):
2696         (WebCore::InjectedScriptHost::inspectedObject):
2697         * inspector/InjectedScriptHost.h:
2698         (InspectableObject):
2699         (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject):
2700         (InjectedScriptHost):
2701         * inspector/InjectedScriptHost.idl:
2702         * inspector/InjectedScriptSource.js:
2703         (.):
2704         * inspector/Inspector.json:
2705         * inspector/InspectorAgent.cpp:
2706         (WebCore::InspectorAgent::domContentLoadedEventFired):
2707         * inspector/InspectorConsoleAgent.cpp:
2708         (InspectableHeapObject):
2709         (WebCore::InspectableHeapObject::InspectableHeapObject):
2710         (WebCore::InspectableHeapObject::get):
2711         (WebCore):
2712         (WebCore::InspectorConsoleAgent::addInspectedHeapObject):
2713         * inspector/InspectorConsoleAgent.h:
2714         (InspectorConsoleAgent):
2715         * inspector/InspectorProfilerAgent.cpp:
2716         (WebCore::InspectorProfilerAgent::resetState):
2717         * inspector/PageConsoleAgent.cpp:
2718         (InspectableNode):
2719         (WebCore::InspectableNode::InspectableNode):
2720         (WebCore::InspectableNode::get):
2721         (WebCore):
2722         (WebCore::PageConsoleAgent::addInspectedNode):
2723         * inspector/front-end/DetailedHeapshotView.js:
2724         (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
2725         (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):
2726
2727 2012-02-16  Kihong Kwon  <kihong.kwon@samsung.com>
2728
2729         Add support for unsigned long[] to idl bindings to JSC.
2730         https://bugs.webkit.org/show_bug.cgi?id=78210
2731
2732         Reviewed by Kentaro Hara.
2733
2734         Add support for unsigned long[] parameter type in idl.
2735         This patch adds support just for unsigned long[] parameter type.
2736         (support for other types of array should be done in another patch.)
2737
2738         tests added to TestObj.idl.
2739
2740         * bindings/js/JSDOMBinding.h:
2741         (WebCore::jsUnsignedLongArrayToVector):
2742         * bindings/scripts/CodeGeneratorJS.pm:
2743         (AddIncludesForType):
2744         (JSValueToNative):
2745         (NativeToJSValue):
2746         * bindings/scripts/test/JS/JSTestObj.cpp:
2747         (WebCore):
2748         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
2749         * bindings/scripts/test/JS/JSTestObj.h:
2750         (WebCore):
2751         * bindings/scripts/test/TestObj.idl:
2752
2753 2012-02-16  Vsevolod Vlasov  <vsevik@chromium.org>
2754
2755         Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel.
2756         https://bugs.webkit.org/show_bug.cgi?id=78609
2757
2758         Reviewed by Yury Semikhatsky.
2759
2760         Added IndexedDB tree element to resources panel (behind experimental setting).
2761         Test is currently disabled, since we don't run tests with experiments enabled.
2762
2763         * English.lproj/localizedStrings.js:
2764         * WebCore.gypi:
2765         * inspector/front-end/Images/indexedDB.png: Added.
2766         * inspector/front-end/Images/indexedDBIndex.png: Added.
2767         * inspector/front-end/Images/indexedDBObjectStore.png: Added.
2768         * inspector/front-end/IndexedDBModel.js:
2769         (WebInspector.IndexedDBModel):
2770         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
2771         (WebInspector.IndexedDBModel.prototype.refreshDatabase):
2772         (WebInspector.IndexedDBModel.prototype._reset):
2773         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
2774         (WebInspector.IndexedDBModel.prototype._originRemoved):
2775         (WebInspector.IndexedDBModel.prototype._databaseAdded):
2776         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
2777         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
2778         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
2779         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2780         (WebInspector.IndexedDBModel.Frame):
2781         (WebInspector.IndexedDBModel.DatabaseId):
2782         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
2783         (WebInspector.IndexedDBModel.Database):
2784         (WebInspector.IndexedDBModel.Index):
2785         * inspector/front-end/ResourcesPanel.js:
2786         (WebInspector.IndexedDBTreeElement):
2787         (WebInspector.IndexedDBTreeElement.prototype.onexpand):
2788         (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel):
2789         (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
2790         (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
2791         (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
2792         (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded):
2793         (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
2794         (WebInspector.IDBDatabaseTreeElement):
2795         (WebInspector.IDBDatabaseTreeElement.prototype.update):
2796         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
2797         (WebInspector.IDBObjectStoreTreeElement):
2798         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
2799         (WebInspector.IDBIndexTreeElement):
2800         (WebInspector.IDBIndexTreeElement.prototype.update):
2801         * inspector/front-end/Settings.js:
2802         (WebInspector.ExperimentsSettings):
2803         * inspector/front-end/WebKit.qrc:
2804         * inspector/front-end/resourcesPanel.css:
2805         (.indexed-db-storage-tree-item .icon):
2806         (.indexed-db-object-store-storage-tree-item .icon):
2807         (.indexed-db-index-storage-tree-item .icon):
2808
2809 2012-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2810
2811         REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml
2812         https://bugs.webkit.org/show_bug.cgi?id=65072
2813
2814         Reviewed by Zoltan Herczeg.
2815
2816         Fix EMS/EXS length resolving, when the target context has no renderer, eg.
2817         <text display="none" dy="1em">ABC</text>, myText.dy.baseVal.getItem(0).value()
2818         currently throws, even if <text> has a parent, we could use to resolve the length.
2819
2820         Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it.
2821         The current behaviour stays the same, if the target element is not in the document,
2822         then we really can't resolve lengths like this.
2823
2824         Tests: svg/text/ems-display-none.svg
2825                svg/text/exs-display-none.svg
2826
2827         * svg/SVGLengthContext.cpp:
2828         (WebCore::renderStyleForLengthResolving):
2829         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
2830         (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
2831         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
2832         (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
2833
2834 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2835
2836         Build fix for Qt 5 without QtWidgets.
2837
2838         Reviewed by Tor Arne Vestbø.
2839
2840         The reason why QGLContext is included in Extensions3DQt.cpp is to
2841         achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch
2842         replaces the inclusion with the OpenGLShims.h inclusions, which has
2843         the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets.
2844
2845         * platform/graphics/qt/Extensions3DQt.cpp:
2846
2847 2012-02-16  Shawn Singh  <shawnsingh@chromium.org>
2848
2849         [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition
2850         https://bugs.webkit.org/show_bug.cgi?id=78539
2851
2852         Reviewed by James Robinson.
2853
2854         This change should introduce no change in behavior, and its
2855         expected behavior is already covered by existing tests.
2856
2857         In calculateDrawTransformsAndVisibility, there is a complex
2858         boolean condition that indicates whether we should create a
2859         RenderSurface or not. This patch pulls out that boolean logic,
2860         and wraps it in a helper function for much better readability.
2861
2862         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2863         (WebCore::layerShouldBeSkipped):
2864         (WebCore):
2865         (WebCore::subtreeShouldRenderToSeparateSurface):
2866         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2867
2868 2012-02-16  Andrey Kosyakov  <caseq@chromium.org>
2869
2870         Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane
2871         https://bugs.webkit.org/show_bug.cgi?id=78782
2872
2873         Reviewed by Vsevolod Vlasov.
2874
2875         * inspector/front-end/TimelineOverviewPane.js:
2876         (WebInspector.TimelineOverviewPane):
2877         (WebInspector.TimelineOverviewPane.prototype.showTimelines):
2878         (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
2879         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
2880         * inspector/front-end/TimelinePanel.js:
2881         (WebInspector.TimelinePanel):
2882         (WebInspector.TimelinePanel.prototype.sidebarResized):
2883
2884 2012-02-15  Andreas Kling  <awesomekling@apple.com>
2885
2886         Share font-family CSS values through CSSValuePool.
2887         <http://webkit.org/b/78604>
2888
2889         Reviewed by Darin Adler.
2890
2891         Cache and share FontFamilyValue instances in the per-document CSSValuePool.
2892         This reduces memory consumption by 248 kB on the Moz page cycler (64-bit)
2893         and avoids a bunch of extra work.
2894
2895         This is a regression from the recent attribute style refactoring; previously
2896         the mapped attribute declaration table would ensure that multiple 'font'
2897         elements with the same 'face' value would share the same FontFamilyValue.
2898
2899         We're not yet sharing the entire CSSValueList returned by parseFontFamily()
2900         but this is a step on the way there.
2901
2902         * css/FontFamilyValue.cpp:
2903         * css/FontFamilyValue.h:
2904
2905             Removed appendSpaceSeparated(), making FontFamilyValue immutable.
2906
2907         * css/CSSParser.cpp:
2908         (FontFamilyValueBuilder):
2909         (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
2910         (WebCore::FontFamilyValueBuilder::add):
2911         (WebCore::FontFamilyValueBuilder::commit):
2912         (WebCore::CSSParser::parseFontFamily):
2913
2914             Refactor parseFontFamily() to defer creation of FontFamilyValue until
2915             the whole family name is known. Added a little helper class to avoid
2916             code duplication.
2917
2918         * css/CSSValuePool.h:
2919         * css/CSSValuePool.cpp:
2920         (WebCore::CSSValuePool::createFontFamilyValue):
2921
2922             Added a FontFamilyValue cache to CSSValuePool. All values are tied to
2923             the lifetime of the pool.
2924
2925 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2926
2927         [Qt] Move event conversion functions from WebCore to WebKit
2928         https://bugs.webkit.org/show_bug.cgi?id=78788
2929
2930         Reviewed by Kenneth Rohde Christiansen.
2931
2932         Move QtWidgets dependent mouse event constructors out of WebCore
2933         into WebKit, similar to the web event conversions of WebKit2.
2934
2935         * Target.pri:
2936         * platform/PlatformMouseEvent.h:
2937         (PlatformMouseEvent):
2938         * platform/PlatformWheelEvent.h:
2939         (PlatformWheelEvent):
2940
2941 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2942
2943         Unreviewed prospective Qt 4.8/Mac build fix.
2944
2945         Cast the PlatformWidget from QObject* to QWidget* to gain access
2946         to QWidget methods.
2947
2948         * plugins/mac/PluginViewMac.mm:
2949         (WebCore::nativeWindowFor):
2950         (WebCore::cgHandleFor):
2951         (WebCore::topLevelOffsetFor):
2952         (WebCore::PluginView::setFocus):
2953         (WebCore::PluginView::invalidateRect):
2954
2955 2012-02-16  Roland Steiner  <rolandsteiner@chromium.org>
2956
2957         <style scoped>: Implement scoped selector matching in the slow path
2958         https://bugs.webkit.org/show_bug.cgi?id=77528
2959
2960         Added scope information to SelectorCheckingContext, SelectorChecker methods and CSSStyleSelector methods.
2961         Added matchOptions struct to CSSStyleSelector similar to SelectorCheckingContext in SelectorChecker.
2962         Adapted the calling sites.
2963
2964         Reviewed by Antti Koivisto.
2965
2966         No new tests. (extended existing tests)
2967
2968         * css/CSSStyleSelector.cpp:
2969         (RuleData):
2970         (RuleSet):
2971         (WebCore::CSSStyleSelector::determineScopingElement):
2972         (WebCore::CSSStyleSelector::collectMatchingRules):
2973         (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
2974         (WebCore::CSSStyleSelector::matchScopedAuthorRules):
2975         (WebCore::CSSStyleSelector::matchAuthorRules):
2976         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2977         * css/CSSStyleSelector.h:
2978         (CSSStyleSelector):
2979         (MatchOptions):
2980         (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
2981         * css/SelectorChecker.cpp:
2982         (WebCore::SelectorChecker::checkSelector):
2983         * css/SelectorChecker.h:
2984         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
2985         (SelectorCheckingContext):
2986         (SelectorChecker):
2987
2988 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
2989
2990         Windows build fix for !ENABLE(CSS_FILTERS) after r106593.
2991
2992         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2993
2994 2012-02-15  Antti Koivisto  <antti@apple.com>
2995
2996         Move the context invalidation code out from StylePropertySet
2997         https://bugs.webkit.org/show_bug.cgi?id=78589
2998
2999         Reviewed by Ryosuke Niwa.
3000
3001         StylePropertySet should be independent of its context so that they can in the future
3002         be shared between documents. The context invalidation code should move to the CSSOM wrapper.
3003         
3004         Parent rule and parent element pointers move to the CSSOM wrapper classes. 
3005         
3006         The wrapper is responsible of invalidating the element or document style on mutation.
3007         In case of internal mutation of style attribute, StyledElement takes care of the 
3008         invalidation.
3009         
3010         The StylePropertySet will still have a pointer to the context stylesheet so the patch
3011         doesn't actually reduce memory usage. That pointer will be factored out later.
3012
3013         * css/CSSFontFaceRule.cpp:
3014         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
3015         * css/CSSFontFaceRule.h:
3016         (WebCore::CSSFontFaceRule::style):
3017         * css/CSSPageRule.cpp:
3018         (WebCore::CSSPageRule::~CSSPageRule):
3019         * css/CSSPageRule.h:
3020         (WebCore::CSSPageRule::style):
3021         (WebCore::CSSPageRule::setDeclaration):
3022         * css/CSSParser.cpp:
3023         (WebCore::CSSParser::createStyleRule):
3024         (WebCore::CSSParser::createFontFaceRule):
3025         (WebCore::CSSParser::createPageRule):
3026         (WebCore::CSSParser::createKeyframeRule):
3027         * css/CSSStyleRule.cpp:
3028         (WebCore::CSSStyleRule::~CSSStyleRule):
3029         * css/CSSStyleRule.h:
3030         (WebCore::CSSStyleRule::style):
3031         (WebCore::CSSStyleRule::setDeclaration):
3032         * css/StylePropertySet.cpp:
3033         (PropertySetCSSStyleDeclaration):
3034         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
3035         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
3036         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
3037         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
3038         (RuleCSSStyleDeclaration):
3039         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
3040         (WebCore::RuleCSSStyleDeclaration::parentRule):
3041         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
3042         (WebCore):
3043         (InlineCSSStyleDeclaration):
3044         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
3045         (WebCore::InlineCSSStyleDeclaration::parentElement):
3046         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
3047         (WebCore::StylePropertySet::StylePropertySet):
3048         (WebCore::StylePropertySet::removeShorthandProperty):
3049         (WebCore::StylePropertySet::removeProperty):
3050         (WebCore::StylePropertySet::setProperty):
3051         (WebCore::StylePropertySet::parseDeclaration):
3052         (WebCore::StylePropertySet::addParsedProperties):
3053         (WebCore::StylePropertySet::addParsedProperty):
3054         (WebCore::StylePropertySet::merge):
3055         (WebCore::StylePropertySet::removePropertiesInSet):
3056         (WebCore::StylePropertySet::copy):
3057         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
3058         (WebCore::StylePropertySet::ensureRuleCSSStyleDeclaration):
3059         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
3060         (WebCore::StylePropertySet::clearParentRule):
3061         (WebCore::StylePropertySet::clearParentElement):
3062         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
3063         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
3064         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
3065         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
3066         (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
3067         (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
3068         * css/StylePropertySet.h:
3069         (WebCore::StylePropertySet::create):
3070         (StylePropertySet):
3071         (WebCore::StylePropertySet::useStrictParsing):
3072         (WebCore::StylePropertySet::contextStyleSheet):
3073         (WebCore::StylePropertySet::setContextStyleSheet):
3074         * css/WebKitCSSKeyframeRule.cpp:
3075         (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
3076         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
3077         * css/WebKitCSSKeyframeRule.h:
3078         (WebCore::WebKitCSSKeyframeRule::style):
3079         * dom/ElementAttributeData.cpp:
3080         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
3081         (WebCore::ElementAttributeData::destroyInlineStyleDecl):
3082         * dom/ElementAttributeData.h:
3083         (ElementAttributeData):
3084         * dom/StyledElement.cpp:
3085         (WebCore::StyledElement::insertedIntoDocument):
3086         (WebCore):
3087         (WebCore::StyledElement::removedFromDocument):
3088         (WebCore::StyledElement::parseAttribute):
3089         (WebCore::StyledElement::inlineStyleChanged):
3090         (WebCore::StyledElement::setInlineStyleProperty):
3091         (WebCore::StyledElement::removeInlineStyleProperty):
3092         (WebCore::StyledElement::updateAttributeStyle):
3093         * dom/StyledElement.h:
3094         (StyledElement):
3095         (WebCore::StyledElement::destroyInlineStyleDecl):
3096         * editing/ApplyStyleCommand.cpp:
3097         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3098         * editing/DeleteButtonController.cpp:
3099         (WebCore::DeleteButtonController::createDeletionUI):
3100         (WebCore::DeleteButtonController::show):
3101         (WebCore::DeleteButtonController::hide):
3102         * editing/Editor.cpp:
3103         (WebCore::Editor::applyEditingStyleToElement):
3104         * editing/RemoveCSSPropertyCommand.cpp:
3105         (WebCore::RemoveCSSPropertyCommand::doApply):
3106         (WebCore::RemoveCSSPropertyCommand::doUnapply):
3107         * editing/ReplaceSelectionCommand.cpp:
3108         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3109         * html/ColorInputType.cpp:
3110         (WebCore::ColorInputType::updateColorSwatch):
3111         * html/HTMLTextFormControlElement.cpp:
3112         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
3113         * html/ImageDocument.cpp:
3114         (WebCore::ImageDocument::resizeImageToFit):
3115         (WebCore::ImageDocument::restoreImageSize):
3116         (WebCore::ImageDocument::windowSizeChanged):
3117         * html/ValidationMessage.cpp:
3118         (WebCore::adjustBubblePosition):
3119         (WebCore::ValidationMessage::buildBubbleTree):
3120         * html/shadow/MediaControlElements.cpp:
3121         (WebCore::MediaControlElement::show):
3122         (WebCore::MediaControlElement::hide):
3123         (WebCore::MediaControlPanelElement::setPosition):
3124         (WebCore::MediaControlPanelElement::resetPosition):
3125         (WebCore::MediaControlPanelElement::makeOpaque):
3126         (WebCore::MediaControlPanelElement::makeTransparent):
3127         (WebCore::MediaControlInputElement::show):
3128         (WebCore::MediaControlInputElement::hide):
3129         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
3130         * html/shadow/MeterShadowElement.cpp:
3131         (WebCore::MeterValueElement::setWidthPercentage):
3132         * html/shadow/ProgressShadowElement.cpp:
3133         (WebCore::ProgressValueElement::setWidthPercentage):
3134         * html/shadow/SliderThumbElement.cpp:
3135         (WebCore::TrackLimiterElement::create):
3136         * rendering/RenderLayer.cpp:
3137         (WebCore::RenderLayer::resize):
3138         * rendering/RenderTextControlSingleLine.cpp:
3139         (WebCore::RenderTextControlSingleLine::styleDidChange):
3140         * svg/SVGFontFaceElement.cpp:
3141         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3142         (WebCore::SVGFontFaceElement::insertedIntoDocument):
3143         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
3144
3145 2012-02-15  Daniel Cheng  <dcheng@chromium.org>
3146
3147         dataTransfer.types (HTML5 drag & drop) should return DOMStringList
3148         https://bugs.webkit.org/show_bug.cgi?id=30416
3149
3150         Reviewed by Eric Seidel.
3151
3152         This change breaks backwards compatibility; however, since Firefox only supported
3153         event.dataTransfer.types.contains, sites already needed to check whether to use contains or
3154         indexOf. Therefore, the net compatibility effect of this change should be minimal.
3155
3156         Test: fast/events/drag-dataTransfer-live-attributes.html
3157
3158         * bindings/js/JSClipboardCustom.cpp:
3159         (WebCore):
3160         * bindings/v8/custom/V8ClipboardCustom.cpp:
3161         * dom/Clipboard.cpp:
3162         (WebCore::Clipboard::hasStringOfType):
3163         * dom/Clipboard.h:
3164         (WebCore):
3165         (Clipboard):
3166         * dom/Clipboard.idl:
3167         * platform/blackberry/ClipboardBlackBerry.cpp:
3168         (WebCore::ClipboardBlackBerry::types):
3169         * platform/blackberry/ClipboardBlackBerry.h:
3170         (ClipboardBlackBerry):
3171         * platform/chromium/ChromiumDataObject.cpp:
3172         (WebCore::ChromiumDataObject::types):
3173         * platform/chromium/ChromiumDataObject.h:
3174         (ChromiumDataObject):
3175         * platform/chromium/ClipboardChromium.cpp:
3176         (WebCore::ClipboardChromium::types):
3177         (WebCore::ClipboardChromium::mayUpdateItems):
3178         * platform/chromium/ClipboardChromium.h:
3179         (ClipboardChromium):
3180         * platform/chromium/DragDataChromium.cpp:
3181         (WebCore::containsHTML):
3182         (WebCore::DragData::containsURL):
3183         (WebCore::DragData::asURL):
3184         (WebCore::DragData::containsPlainText):
3185         (WebCore::DragData::canSmartReplace):
3186         (WebCore::DragData::asFragment):
3187         * platform/efl/ClipboardEfl.cpp:
3188         (WebCore::ClipboardEfl::types):
3189         * platform/efl/ClipboardEfl.h:
3190         (ClipboardEfl):
3191         * platform/gtk/ClipboardGtk.cpp:
3192         (WebCore::ClipboardGtk::types):
3193         * platform/gtk/ClipboardGtk.h:
3194         (ClipboardGtk):
3195         * platform/mac/ClipboardMac.h:
3196         (ClipboardMac):
3197         * platform/mac/ClipboardMac.mm:
3198         (WebCore::addHTMLClipboardTypesForCocoaType):
3199         (WebCore::ClipboardMac::types):
3200         * platform/qt/ClipboardQt.cpp:
3201         (WebCore::ClipboardQt::types):
3202         * platform/qt/ClipboardQt.h:
3203         (ClipboardQt):
3204         * platform/win/ClipboardWin.cpp:
3205         (WebCore::addMimeTypesForFormat):
3206         (WebCore::ClipboardWin::types):
3207         * platform/win/ClipboardWin.h:
3208         (ClipboardWin):
3209         * platform/wx/ClipboardWx.cpp:
3210         (WebCore::ClipboardWx::types):
3211         * platform/wx/ClipboardWx.h:
3212         (ClipboardWx):
3213
3214 2012-02-15  Bear Travis  <betravis@adobe.com>
3215
3216         Repaint issues on changing 'viewBox' of inner SVG
3217         https://bugs.webkit.org/show_bug.cgi?id=77903
3218
3219         Reviewed by Nikolas Zimmermann.
3220
3221         Do not update the child viewbox/viewport transform to its parent
3222         coordinate system until after layout has stored the old bounds for
3223         repainting purposes.
3224         
3225         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
3226
3227         * rendering/svg/RenderSVGViewportContainer.cpp:
3228         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
3229         (WebCore::RenderSVGViewportContainer::calcViewport):
3230         (WebCore):
3231         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
3232         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3233         * rendering/svg/RenderSVGViewportContainer.h:
3234         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
3235         (RenderSVGViewportContainer):
3236         * svg/SVGSVGElement.cpp:
3237         (WebCore::SVGSVGElement::svgAttributeChanged):
3238
3239 2012-02-15  Bear Travis  <betravis@adobe.com>
3240
3241         Repaint issues on changing 'viewBox' of inner SVG
3242         https://bugs.webkit.org/show_bug.cgi?id=77903
3243
3244         Reviewed by Nikolas Zimmermann.
3245
3246         Do not update the child viewbox/viewport transform to its parent
3247         coordinate system until after layout has stored the old bounds for
3248         repainting purposes.
3249         
3250         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
3251
3252         * rendering/svg/RenderSVGViewportContainer.cpp:
3253         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
3254         (WebCore::RenderSVGViewportContainer::calcViewport):
3255         (WebCore):
3256         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
3257         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3258         * rendering/svg/RenderSVGViewportContainer.h:
3259         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
3260         (RenderSVGViewportContainer):
3261         * svg/SVGSVGElement.cpp:
3262         (WebCore::SVGSVGElement::svgAttributeChanged):
3263
3264 2012-02-15  Daniel Cheng  <dcheng@chromium.org>
3265
3266         dataTransfer.types (HTML5 drag & drop) should return DOMStringList
3267         https://bugs.webkit.org/show_bug.cgi?id=30416
3268
3269         Reviewed by Eric Seidel.
3270
3271         This change breaks backwards compatibility; however, since Firefox only supported
3272         event.dataTransfer.types.contains, sites already needed to check whether to use contains or
3273         indexOf. Therefore, the net compatibility effect of this change should be minimal.
3274
3275         Test: fast/events/drag-dataTransfer-live-attributes.html
3276
3277         * bindings/js/JSClipboardCustom.cpp:
3278         (WebCore):
3279         * bindings/v8/custom/V8ClipboardCustom.cpp:
3280         * dom/Clipboard.cpp:
3281         (WebCore::Clipboard::hasStringOfType):
3282         * dom/Clipboard.h:
3283         (WebCore):
3284         (Clipboard):
3285         * dom/Clipboard.idl:
3286         * platform/blackberry/ClipboardBlackBerry.cpp:
3287         (WebCore::ClipboardBlackBerry::types):
3288         * platform/blackberry/ClipboardBlackBerry.h:
3289         (ClipboardBlackBerry):
3290         * platform/chromium/ChromiumDataObject.cpp:
3291         (WebCore::ChromiumDataObject::types):
3292         * platform/chromium/ChromiumDataObject.h:
3293         (ChromiumDataObject):
3294         * platform/chromium/ClipboardChromium.cpp:
3295         (WebCore::ClipboardChromium::types):
3296         (WebCore::ClipboardChromium::mayUpdateItems):
3297         * platform/chromium/ClipboardChromium.h:
3298         (ClipboardChromium):
3299         * platform/chromium/DragDataChromium.cpp:
3300         (WebCore::containsHTML):
3301         (WebCore::DragData::containsURL):
3302         (WebCore::DragData::asURL):
3303         (WebCore::DragData::containsPlainText):
3304         (WebCore::DragData::canSmartReplace):
3305         (WebCore::DragData::asFragment):
3306         * platform/efl/ClipboardEfl.cpp:
3307         (WebCore::ClipboardEfl::types):
3308         * platform/efl/ClipboardEfl.h:
3309         (ClipboardEfl):
3310         * platform/gtk/ClipboardGtk.cpp:
3311         (WebCore::ClipboardGtk::types):
3312         * platform/gtk/ClipboardGtk.h:
3313         (ClipboardGtk):
3314         * platform/mac/ClipboardMac.h:
3315         (ClipboardMac):
3316         * platform/mac/ClipboardMac.mm:
3317         (WebCore::addHTMLClipboardTypesForCocoaType):
3318         (WebCore::ClipboardMac::types):
3319         * platform/qt/ClipboardQt.cpp:
3320         (WebCore::ClipboardQt::types):
3321         * platform/qt/ClipboardQt.h:
3322         (ClipboardQt):
3323         * platform/win/ClipboardWin.cpp:
3324         (WebCore::addMimeTypesForFormat):
3325         (WebCore::ClipboardWin::types):
3326         * platform/win/ClipboardWin.h:
3327         (ClipboardWin):
3328         * platform/wx/ClipboardWx.cpp:
3329         (WebCore::ClipboardWx::types):
3330         * platform/wx/ClipboardWx.h:
3331         (ClipboardWx):
3332
3333 2012-02-15  Bear Travis  <betravis@adobe.com>
3334
3335         Repaint issues on changing 'viewBox' of inner SVG
3336         https://bugs.webkit.org/show_bug.cgi?id=77903
3337
3338         Reviewed by Nikolas Zimmermann.
3339
3340         Do not update the child viewbox/viewport transform to its parent
3341         coordinate system until after layout has stored the old bounds for
3342         repainting purposes.
3343         
3344         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
3345
3346         * rendering/svg/RenderSVGViewportContainer.cpp:
3347         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
3348         (WebCore::RenderSVGViewportContainer::calcViewport):
3349         (WebCore):
3350         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
3351         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3352         * rendering/svg/RenderSVGViewportContainer.h:
3353         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
3354         (RenderSVGViewportContainer):
3355         * svg/SVGSVGElement.cpp:
3356         (WebCore::SVGSVGElement::svgAttributeChanged):
3357
3358 2012-02-15  Anders Carlsson  <andersca@apple.com>
3359
3360         Fix unused parameter warnings.
3361
3362         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3363         (-[WebTileCacheLayer setContentsScale:]):
3364
3365 2012-02-15  Emil A Eklund  <eae@chromium.org>
3366
3367         Convert RenderFrameSet to LayoutUnits in preparation for turning on subpixel layout
3368         https://bugs.webkit.org/show_bug.cgi?id=78526
3369
3370         Reviewed by Eric Seidel.
3371
3372         Revert paintColumnBorder and paintRowBorder to IntRect and pixel snap in
3373         paint before calling them. This way the rounding logic is contained in a
3374         single place (in paint).
3375
3376         No new tests, no new functionality.
3377
3378         * rendering/RenderFrameSet.cpp:
3379         (WebCore::RenderFrameSet::paintColumnBorder):
3380         (WebCore::RenderFrameSet::paintRowBorder):
3381         (WebCore::RenderFrameSet::paint):
3382         (WebCore::RenderFrameSet::getCursor):
3383         * rendering/RenderFrameSet.h:
3384         (RenderFrameSet):
3385
3386 2012-02-15  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
3387
3388         Add FractionalLayoutPoint/Size/Rect for sub-pixel layout
3389         https://bugs.webkit.org/show_bug.cgi?id=76571
3390
3391         Reviewed by Eric Seidel.
3392
3393         Add fixed point versions of the Point, Size and Rect classes using
3394         the new FractionalLayoutPoint type and.
3395
3396         FractionalLayoutPoint, FractionalLayoutSize and FractionalLayoutRect are
3397         Point, Size and Rect implementations respectively using this new type.
3398
3399         No new tests.
3400
3401         * CMakeLists.txt:
3402         * GNUmakefile.list.am:
3403         * WebCore.gypi:
3404         * WebCore.order:
3405         * WebCore.vcproj/WebCore.vcproj:
3406         * WebCore.xcodeproj/project.pbxproj:
3407         * platform/FractionalLayoutUnit.h:
3408         Fixed a couple of typos and signed/unsigned bugs.
3409
3410         * platform/graphics/FloatPoint.cpp:
3411         (WebCore::FloatPoint::FloatPoint):
3412         Add explicit FloatPoint(FractionalLayoutPoint) constructor.
3413         
3414         (WebCore::FloatPoint::move):
3415         Add move(FractionalLayoutSize) implementation.
3416         
3417         (WebCore::FloatPoint::moveBy):
3418         Add moveBy(FractionalLayoutPoint) implementation.
3419
3420         * platform/graphics/FloatPoint.h:
3421         * platform/graphics/FloatRect.cpp:
3422         (WebCore::FloatRect::FloatRect):
3423         Add explicit FloatRectFractionalLayoutRect) constructor.
3424         
3425         * platform/graphics/FloatRect.h:
3426         (WebCore):
3427         (FloatRect):
3428         * platform/graphics/FloatSize.cpp:
3429         (WebCore::FloatSize::FloatSize):
3430         Add explicit FloatSize(FractionalLayoutSize) constructor.
3431
3432         * platform/graphics/FloatSize.h:
3433         * platform/graphics/FractionalLayoutPoint.h: Added.
3434         * platform/graphics/FractionalLayoutRect.cpp: Added.
3435         * platform/graphics/FractionalLayoutRect.h: Added.
3436         * platform/graphics/FractionalLayoutSize.cpp: Added.
3437         * platform/graphics/FractionalLayoutSize.h: Added.
3438         * platform/graphics/IntRect.cpp:
3439         (WebCore::IntRect::IntRect):
3440         Add explicit IntRect(FractionalLayoutRect) constructor.
3441
3442         * platform/graphics/IntRect.h:
3443
3444 2012-02-15  Kentaro Hara  <haraken@chromium.org>
3445
3446         [Mac] PasteboardMac.mm build fails
3447         https://bugs.webkit.org/show_bug.cgi?id=78655
3448
3449         Reviewed by Enrica Casucci.
3450
3451         This patch fixes the code to make a plain text for pasted file names.
3452         The code should return a string of concatenated file names.
3453
3454         Test: editing/pasteboard/drag-files-to-editable-element.html
3455
3456         * platform/mac/PasteboardMac.mm:
3457         (WebCore::Pasteboard::plainText):
3458
3459 2012-02-15  Anders Carlsson  <andersca@apple.com>
3460
3461         Another attempt at fixing the Snow Leopard build.
3462
3463         * platform/graphics/ca/mac/TileCache.mm:
3464         (WebCore::TileCache::setContentsScale):
3465
3466 2012-02-15  Pablo Flouret  <pablof@motorola.com>
3467
3468         Add support for the translate attribute in html elements.
3469         https://bugs.webkit.org/show_bug.cgi?id=78751
3470
3471         Reviewed by Adam Barth.
3472
3473         The translate attribute is used to specify whether an element's
3474         attribute values and the values of its Text node children are to be
3475         translated when the page is localized, or whether to leave them
3476         unchanged.
3477
3478         Details at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-translate
3479
3480         Test: fast/dom/HTMLElement/translate.html
3481
3482         * html/HTMLAttributeNames.in:
3483         * html/HTMLElement.cpp:
3484         (WebCore::HTMLElement::translateAttributeMode):
3485         (WebCore):
3486         (WebCore::HTMLElement::translate):
3487         (WebCore::HTMLElement::setTranslate):
3488         * html/HTMLElement.h:
3489         (HTMLElement):
3490         * html/HTMLElement.idl:
3491
3492 2012-02-15  Sami Kyostila  <skyostil@google.com>
3493
3494         Add -webkit-overflow-scrolling CSS property
3495         https://bugs.webkit.org/show_bug.cgi?id=78664
3496
3497         Reviewed by Eric Seidel.
3498
3499         Add a CSS property indicating that an element with overflow scrolling
3500         should follow the platform's behavior for touch scrollable user
3501         interface objects. For instance, this property could enable momentum
3502         scrolling for the element if that is the platform convention.
3503
3504         The property has two possible values: auto (default) and touch. The
3505         former does not alter overflow scrolling behavior, while the latter
3506         activates touch scrolling.
3507
3508         As a side effect, enabling touch scrolling also causes an element to