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