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