Unreviewed, rolling out r105828.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r105828.
4         http://trac.webkit.org/changeset/105828
5         https://bugs.webkit.org/show_bug.cgi?id=77036
6
7         Caused many crashes in ClusterFuzz and PerformanceTests
8         (Requested by inferno-sec on #webkit).
9
10         * rendering/RenderBlock.cpp:
11         (WebCore::RenderBlock::removeChild):
12         * rendering/RenderBlock.h:
13         (RenderBlock):
14
15 2012-01-25  Shawn Singh  <shawnsingh@chromium.org>
16
17         Fix the semantics of passing contentsVisible flag to GraphicsLayers
18         https://bugs.webkit.org/show_bug.cgi?id=76975
19
20         Reviewed by Simon Fraser.
21
22         This patch is covered by existing tests, in particular
23         compositing/visibility/layer-visible-content.html; its
24         expectations are rebaselined.
25
26         * rendering/RenderLayerBacking.cpp:
27         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
28
29 2012-01-25  Tony Chang  <tony@chromium.org>
30
31         support overflow:auto and overflow:scroll in new flexbox
32         https://bugs.webkit.org/show_bug.cgi?id=76953
33
34         Reviewed by David Hyatt.
35
36         Tests: css3/flexbox/flexbox-overflow-auto-expected.html
37                css3/flexbox/flexbox-overflow-auto.html
38
39         * rendering/RenderBox.cpp:
40         (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
41         * rendering/RenderFlexibleBox.cpp:
42         (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
43         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
44         (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
45         * rendering/RenderFlexibleBox.h:
46         (RenderFlexibleBox): Make isHorizontalFlow public.
47         * rendering/style/RenderStyle.h:
48         (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.
49
50 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
51
52         Unreviewed, rolling out r105885.
53         http://trac.webkit.org/changeset/105885
54         https://bugs.webkit.org/show_bug.cgi?id=77027
55
56         Causes assertions in Position. (Requested by leviw|gardening
57         on #webkit).
58
59         * dom/Position.cpp:
60         (WebCore::Position::upstream):
61         (WebCore::Position::downstream):
62         * dom/PositionIterator.cpp:
63         * dom/PositionIterator.h:
64         (PositionIterator):
65         * editing/htmlediting.cpp:
66         (WebCore::nextCandidate):
67         (WebCore::nextVisuallyDistinctCandidate):
68         (WebCore::previousCandidate):
69         (WebCore::previousVisuallyDistinctCandidate):
70
71 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
72
73         border-image should be implemented like a shorthand.
74         https://bugs.webkit.org/show_bug.cgi?id=76697
75
76         Reviewed by Tony Chang.
77
78         Make sure that border-image is implemented like a shorthand : when we parse
79         it we set the correct value to its longhands. The code was not doing it
80         previously as we inherited the old implementation of -webkit-border-image which
81         is not a shorthand but a regular property. It will then increase
82         style.length for a given element as we now expand the longhands.
83         The behavior stays the same for -webkit-border-image.
84
85         Test: fast/css/border-image-style-length.html
86
87         * css/CSSParser.cpp:
88         (WebCore::CSSParser::parseValue):
89         (WebCore::BorderImageParseContext::BorderImageParseContext):
90         (WebCore::BorderImageParseContext::commitWebKitBorderImage):
91         (WebCore::BorderImageParseContext::commitBorderImage):
92         (BorderImageParseContext):
93         (WebCore::BorderImageParseContext::commitBorderImageProperty):
94         (WebCore::CSSParser::parseBorderImage):
95         * css/CSSParser.h:
96         ():
97         * css/CSSPropertyLonghand.cpp:
98         (WebCore::initShorthandMap):
99         * css/CSSStyleApplyProperty.cpp:
100         ():
101         (WebCore::ApplyPropertyExpanding::applyInheritValue):
102         (WebCore::ApplyPropertyExpanding::applyInitialValue):
103         (WebCore::ApplyPropertyExpanding::applyValue):
104         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
105         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
106         * css/CSSStyleSelector.cpp:
107         (WebCore::CSSStyleSelector::mapNinePieceImage):
108         * page/animation/AnimationBase.cpp:
109         (WebCore::AnimationBase::ensurePropertyMap):
110         (WebCore::addShorthandProperties):
111         * rendering/style/RenderStyle.h:
112         (WebCore::RenderStyleBitfields::borderImageSlices):
113         (WebCore::RenderStyleBitfields::borderImageWidth):
114         (WebCore::RenderStyleBitfields::borderImageOutset):
115         (RenderStyleBitfields):
116         (WebCore::RenderStyleBitfields::setBorderImageSlices):
117         (WebCore::RenderStyleBitfields::setBorderImageWidth):
118         (WebCore::RenderStyleBitfields::setBorderImageOutset):
119
120 2012-01-23  MORITA Hajime  <morrita@google.com>
121
122         [Refactoring][Internals] Should have InternalSettings
123         https://bugs.webkit.org/show_bug.cgi?id=76424
124
125         Reviewed by Kent Tamura.
126
127         This change extracted setting related method from window.internals
128         to window.internals.settings object.
129         - Invoked Internals::reset() in the constructor to employ Document object.
130         - Moved setting and configuration related Internals methods to
131           newly introduced InternalSettings object.
132
133         No new tests, covered by existing tests.
134
135         * DerivedSources.make:
136         * DerivedSources.pri:
137         * GNUmakefile.am:
138         * GNUmakefile.list.am:
139         * Target.pri:
140         * WebCore.gyp/WebCore.gyp:
141         * WebCore.gypi:
142         * WebCore.vcproj/WebCoreTestSupport.vcproj:
143         * WebCore.xcodeproj/project.pbxproj:
144         * testing/InternalSettings.cpp: Added.
145         (WebCore::InternalSettings::create):
146         (WebCore::InternalSettings::~InternalSettings):
147         (WebCore::InternalSettings::InternalSettings):
148         (WebCore::InternalSettings::settings):
149         (WebCore::InternalSettings::document):
150         (WebCore::InternalSettings::page):
151         (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
152         (WebCore::InternalSettings::setForceCompositingMode):
153         (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
154         (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
155         (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
156         (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
157         (WebCore::InternalSettings::setEnableScrollAnimator):
158         (WebCore::InternalSettings::setZoomAnimatorTransform):
159         (WebCore::InternalSettings::setZoomParameters):
160         (WebCore::InternalSettings::setMockScrollbarsEnabled):
161         (WebCore::InternalSettings::setPasswordEchoEnabled):
162         (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
163         (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
164         (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
165         (WebCore::InternalSettings::unifiedTextCheckingEnabled):
166         (WebCore::InternalSettings::pageScaleFactor):
167         (WebCore::InternalSettings::setPageScaleFactor):
168         (WebCore::InternalSettings::setPerTileDrawingEnabled):
169         * testing/InternalSettings.h: Added.
170         * testing/InternalSettings.idl: Added.
171         * testing/Internals.cpp:
172         (WebCore::Internals::create):
173         (WebCore::Internals::Internals):
174         (WebCore::Internals::reset):
175         * testing/Internals.h:
176         (WebCore::Internals::settings):
177         * testing/Internals.idl:
178         * testing/js/WebCoreTestSupport.cpp:
179         (WebCoreTestSupport::injectInternalsObject):
180         * testing/v8/WebCoreTestSupport.cpp:
181         (WebCoreTestSupport::injectInternalsObject):
182
183 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
184
185         border-image should not crash when the source is not specified.
186         https://bugs.webkit.org/show_bug.cgi?id=77001
187
188         Reviewed by Andreas Kling.
189
190         This bug was introduced by r105502 but was exposed by r105738.
191         The image-source of a border-image is not mandatory therefore it
192         may happen that you have no value set for it. WebCore::createBorderImageValue
193         was wrongly assuming that the image is always set. This problem also required a bit
194         of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
195         the image could be optional (just like other properties).
196
197         Test: fast/css/border-image-null-image-crash.html
198
199         * css/CSSBorderImage.cpp:
200         (WebCore::createBorderImageValue):
201         * css/CSSStyleSelector.cpp:
202         (WebCore::CSSStyleSelector::mapNinePieceImage):
203
204 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
205
206         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
207         https://bugs.webkit.org/show_bug.cgi?id=76914
208
209         Reviewed by Simon Hausmann.
210
211         Implement highlighting of dom nodes with a rounded rect, respecting
212         the color of -webkit-tap-highlight-color and any transform applied
213         to the element.
214
215         Tested with manual test.
216
217         * Target.pri:
218         * page/GestureTapHighlighter.cpp: Added.
219         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
220         * page/GestureTapHighlighter.h: Added.
221
222 2012-01-25  Joshua Bell  <jsbell@chromium.org>
223
224         IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
225         https://bugs.webkit.org/show_bug.cgi?id=76487
226
227         Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
228         if there is a key generator (autoIncrement) and the path yields a value and the value
229         is not a valid key; raise an error if any of the index key paths yield a value which
230         is not a valid key.
231
232         Reviewed by Tony Chang.
233
234         Tests: storage/indexeddb/keypath-edges.html
235                storage/indexeddb/objectstore-basics.html
236
237         * storage/IDBObjectStoreBackendImpl.cpp:
238         (WebCore::IDBObjectStoreBackendImpl::put):
239
240 2012-01-25  Yong Li  <yoli@rim.com>
241
242         https://bugs.webkit.org/show_bug.cgi?id=65377
243         Skip the entire node when it is right to do so, instead of stepping
244         through every character, so we save CPU time on checking every position
245         unnecessarily.
246
247         Reviewed by Darin Adler.
248
249         Test: perf/selection-skip-hidden-node.html
250
251         * dom/Position.cpp:
252         (WebCore::Position::upstream):
253         (WebCore::Position::downstream):
254         * dom/PositionIterator.cpp:
255         (WebCore::PositionIterator::moveToLeafNodeStart):
256         (WebCore::PositionIterator::moveToLeafNodeEnd):
257         * dom/PositionIterator.h:
258         * editing/htmlediting.cpp:
259         (WebCore::nextCandidate):
260         (WebCore::nextVisuallyDistinctCandidate):
261         (WebCore::previousCandidate):
262         (WebCore::previousVisuallyDistinctCandidate):
263
264 2012-01-25  Kaustubh Atrawalkar  <kaustubh@motorola.com>
265
266         Remove unnecessary member variable from PluginView.
267         https://bugs.webkit.org/show_bug.cgi?id=76909
268
269         Reviewed by Adam Roben.
270
271         No new tests needed.
272
273         * plugins/PluginView.cpp:
274         (WebCore::PluginView::getURLNotify):
275         (WebCore::PluginView::getURL):
276         (WebCore::PluginView::PluginView):
277         (WebCore::PluginView::handlePost):
278         (WebCore::PluginView::getValueForURL):
279         (WebCore::PluginView::setValueForURL):
280         * plugins/PluginView.h:
281
282 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
283
284         [Qt] Build fix when using force_static_libs_as_shared
285         https://bugs.webkit.org/show_bug.cgi?id=76832
286
287         Reviewed by Simon Hausmann.
288
289         Add a dependency on QtWidgets, when compiling against Qt5.
290
291         No new tests. This is a build fix.
292
293         * Target.pri:
294
295 2012-01-25  Sami Kyostila  <skyostil@chromium.org>
296
297         Clipping of render layer boundaries does not take page scale into account
298         https://bugs.webkit.org/show_bug.cgi?id=76850
299
300         Reviewed by Simon Fraser.
301
302         When inserting render layers into the compositor's overlap map, the
303         layer boundaries are clipped against any potential parent clip rects.
304         The clip rects are given in CSS coordinates, while the render layer
305         boundaries are in scaled CSS coordinates, so the result is incorrect.
306         This patch scales the clip rects before calculating the intersection.
307
308         Test: compositing/overflow/overflow-scaled-descendant-overlapping.html
309
310         * rendering/RenderLayerCompositor.cpp:
311         (WebCore::RenderLayerCompositor::addToOverlapMap):
312
313 2012-01-25  Stephen Chenney  <schenney@chromium.org>
314
315         Linecaps wrong for zero length lines
316         https://bugs.webkit.org/show_bug.cgi?id=71820
317
318         Reviewed by Nikolas Zimmermann.
319
320         Total reworking of the method used to draw zero-length linecaps for
321         SVG. This patch works for all zero length sub-paths.
322
323         Tests: svg/stroke/zero-length-path-linecap-rendering.svg
324                svg/stroke/zero-length-subpaths-linecap-rendering.svg
325
326         * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
327           new implementation and clarify code.
328         (WebCore::RenderSVGShape::createShape):
329         (WebCore::RenderSVGShape::strokeContains):
330         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
331         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
332         (WebCore::RenderSVGShape::zeroLengthLinecapPath):
333         (WebCore::RenderSVGShape::nonScalingStrokePath):
334         (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
335         (WebCore::RenderSVGShape::fillShape):
336         (WebCore::RenderSVGShape::strokePath):
337         (WebCore::RenderSVGShape::fillAndStrokePath):
338         (WebCore::RenderSVGShape::updateCachedBoundaries):
339         (WebCore::RenderSVGShape::processZeroLengthSubpaths):
340         * rendering/svg/RenderSVGShape.h: Declarations for new methods.
341         * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
342         * svg/SVGPathBuilder.h: Fix typos
343         * svg/SVGPathConsumer.h: Fix typos
344         * svg/SVGPathSegListBuilder.h: Fix typos
345         * svg/SVGPathTraversalStateBuilder.h: Fix typos
346
347 2012-01-23  Yury Semikhatsky  <yurys@chromium.org>
348
349         Web Inspector: show memory counter graphs in timeline panel
350         https://bugs.webkit.org/show_bug.cgi?id=76843
351
352         Timeline panel is extended with several graphs depicting total node count,
353         number of DOM groups and event listeners. This feature is hidden behind
354         experimental setting.
355
356         Reviewed by Pavel Feldman.
357
358         * English.lproj/localizedStrings.js:
359         * inspector/Inspector.json:
360         * inspector/InspectorController.cpp:
361         (WebCore::InspectorController::InspectorController):
362         * inspector/InspectorTimelineAgent.cpp:
363         (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
364         (WebCore::InspectorTimelineAgent::didCallFunction):
365         (WebCore::InspectorTimelineAgent::didDispatchEvent):
366         (WebCore::InspectorTimelineAgent::didWriteHTML):
367         (WebCore::InspectorTimelineAgent::didFireTimer):
368         (WebCore::InspectorTimelineAgent::didEvaluateScript):
369         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
370         (WebCore::InspectorTimelineAgent::collectDomCounters):
371         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
372         * inspector/InspectorTimelineAgent.h:
373         (WebCore::InspectorTimelineAgent::create):
374         * inspector/TimelineRecordFactory.cpp:
375         * inspector/front-end/Settings.js:
376         (WebInspector.ExperimentsSettings):
377         * inspector/front-end/TimelinePanel.js:
378         (WebInspector.TimelinePanel):
379         (WebInspector.MemoryStatistics):
380         (WebInspector.MemoryStatistics.prototype.setTopPosition):
381         (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
382         (WebInspector.MemoryStatistics.prototype._sidebarResized):
383         (WebInspector.MemoryStatistics.prototype._updateSize):
384         (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
385         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
386         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
387         (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
388         (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
389         (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
390         (WebInspector.MemoryStatistics.prototype._draw):
391         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
392         (WebInspector.MemoryStatistics.prototype._onMouseOver):
393         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
394         (WebInspector.MemoryStatistics.prototype.visible):
395         (WebInspector.MemoryStatistics.prototype.show):
396         (WebInspector.MemoryStatistics.prototype.refresh):
397         (WebInspector.MemoryStatistics.prototype.hide):
398         (WebInspector.MemoryStatistics.prototype._setVerticalClip):
399         (WebInspector.MemoryStatistics.prototype._calculateXValues):
400         (WebInspector.MemoryStatistics.prototype._drawPolyline):
401         (WebInspector.MemoryStatistics.prototype._drawBottomBound):
402         (WebInspector.MemoryStatistics.prototype._clear):
403         (WebInspector.TimelinePanel.prototype._startSplitterDragging):
404         (WebInspector.TimelinePanel.prototype._splitterDragging):
405         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
406         (WebInspector.TimelinePanel.prototype._setSplitterPosition):
407         (WebInspector.TimelinePanel.prototype.get statusBarItems):
408         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
409         (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
410         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
411         (WebInspector.TimelinePanel.prototype.sidebarResized):
412         (WebInspector.TimelinePanel.prototype._refresh):
413         * inspector/front-end/timelinePanel.css:
414         (#timeline-memory-splitter):
415         (#memory-counters-graph):
416         (#memory-graphs-container):
417         (#memory-graphs-container .split-view-contents):
418         (.timeline-marker):
419         (.memory-counter-sidebar-info):
420         (.memory-counter-sidebar-info.bottom-border-visible):
421
422 2012-01-25  Joseph Pecoraro  <pecoraro@apple.com>
423
424         <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub
425
426         Reviewed by Pavel Feldman.
427
428         * inspector/front-end/InspectorFrontendHostStub.js:
429
430 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
431
432         Unreviewed inspector style fix.
433
434         * inspector/front-end/tabbedPane.css:
435         (.tabbed-pane-header-tab-close-button):
436         (select.tabbed-pane-header-tabs-drop-down-select):
437
438 2012-01-25  Pablo Flouret  <pablof@motorola.com>
439
440         Fix incorrect behavior in HTMLCollection.prototype.item().
441         https://bugs.webkit.org/show_bug.cgi?id=74468
442
443         Reviewed by Adam Barth.
444
445         HTMLCollection.prototype.item("someString") was falling back to
446         .namedItem("someString"), which is wrong per spec. Also align the
447         handling of various other types of objects passed as the argument with
448         the spec and the rest of the browsers.
449
450         Test: fast/dom/collection-item.html
451
452         * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
453         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
454         * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.
455
456 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
457
458         Unreviewed, rolling out r105858.
459         http://trac.webkit.org/changeset/105858
460         https://bugs.webkit.org/show_bug.cgi?id=77004
461
462         It made many tests crash on Qt (Requested by Ossy on #webkit).
463
464         * GNUmakefile.list.am:
465         * Target.pri:
466         * WebCore.gypi:
467         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
468         (WebCore::GraphicsLayerTextureMapper::addAnimation):
469         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
470         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
471         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
472         (GraphicsLayerTextureMapper):
473         * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
474         * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
475         * platform/graphics/texmap/TextureMapperNode.cpp:
476         (WebCore::TextureMapperNode::syncCompositingStateSelf):
477         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
478         (WebCore::normalizedAnimationValue):
479         (WebCore):
480         (WebCore::TextureMapperNode::applyOpacityAnimation):
481         (WebCore::solveEpsilon):
482         (WebCore::solveCubicBezierFunction):
483         (WebCore::solveStepsFunction):
484         (WebCore::applyTimingFunction):
485         (WebCore::TextureMapperNode::applyTransformAnimation):
486         (WebCore::TextureMapperNode::applyAnimationFrame):
487         (WebCore::TextureMapperNode::applyAnimation):
488         (WebCore::TextureMapperNode::hasOpacityAnimation):
489         (WebCore::TextureMapperNode::hasTransformAnimation):
490         (WebCore::TextureMapperNode::syncAnimations):
491         (WebCore::TextureMapperNode::syncAnimationsRecursively):
492         (WebCore::TextureMapperNode::syncCompositingState):
493         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
494         * platform/graphics/texmap/TextureMapperNode.h:
495         (TextureMapperAnimation):
496         (WebCore::TextureMapperAnimation::create):
497         (WebCore):
498         (TextureMapperNode):
499
500 2012-01-25  Kenichi Ishibashi  <bashi@chromium.org>
501
502         fast/text/unicode-variation-selector.html doesn't pass on Lion
503         https://bugs.webkit.org/show_bug.cgi?id=76041
504
505         Reviewed by Dan Bernstein.
506
507         Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
508         account Ideographic variation selectors (these are non-BMP marks).
509
510         No new tests. fast/text/unicode-variation-selector.html should pass on Lion.
511
512         * platform/graphics/mac/ComplexTextController.cpp:
513         (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
514         to iterate the loop which consumes marks.
515
516 2012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>
517
518         Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
519         https://bugs.webkit.org/show_bug.cgi?id=76989
520
521         Reviewed by Pavel Feldman.
522
523         * English.lproj/localizedStrings.js:
524         * inspector/front-end/DetailedHeapshotGridNodes.js:
525         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
526         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
527         (WebInspector.HeapSnapshotObjectNode):
528         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
529         (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
530         * inspector/front-end/HeapSnapshot.js:
531         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
532
533 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
534
535         Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
536         https://bugs.webkit.org/show_bug.cgi?id=76711
537
538         Reviewed by Yury Semikhatsky.
539
540         * inspector/Inspector.json:
541         * inspector/InspectorIndexedDBAgent.cpp:
542         (WebCore):
543         (WebCore::assertDocument):
544         (WebCore::assertIDBFactory):
545         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
546         (WebCore::InspectorIndexedDBAgent::requestDatabase):
547         * inspector/InspectorIndexedDBAgent.h:
548         (InspectorIndexedDBAgent):
549         * inspector/front-end/IndexedDBModel.js:
550         (WebInspector.IndexedDBModel):
551         (WebInspector.IndexedDBModel.prototype._frameDetached):
552         (WebInspector.IndexedDBModel.prototype._reset):
553         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
554         (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
555         (WebInspector.IndexedDBModel.prototype._originRemoved):
556         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
557         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
558         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
559         (WebInspector.IndexedDBModel.prototype._loadDatabase):
560         (WebInspector.IndexedDBModel.Frame):
561         (WebInspector.IndexedDBModel.Database):
562         (WebInspector.IndexedDBModel.ObjectStore):
563         (WebInspector.IndexedDBModel.ObjectStoreIndex):
564         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
565         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
566         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
567         (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
568         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
569         (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
570         (WebInspector.IndexedDBRequestManager.prototype._reset):
571         (WebInspector.IndexedDBRequestManager.DatabaseRequest):
572         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
573         (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
574
575 2012-01-25  Peter Rybin  <peter.rybin@gmail.com>
576
577         Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
578         https://bugs.webkit.org/show_bug.cgi?id=76676
579
580         Reviewed by Yury Semikhatsky.
581
582         Generator algorithm is redone significantly.
583
584         * inspector/CodeGeneratorInspector.py:
585         (RawTypes.BaseType):
586         (RawTypes.BaseType.request_raw_internal_runtime_cast):
587         (RawTypes.BaseType.generate_validate_method_impl):
588         (RawTypes):
589         (RawTypes.generate_validate_methods):
590         (RawTypes.String):
591         (RawTypes.String.generate_validate_method):
592         (RawTypes.String.get_raw_validator_call_text):
593         (RawTypes.Int):
594         (RawTypes.Int.generate_validate_method):
595         (RawTypes.Int.get_raw_validator_call_text):
596         (RawTypes.Number):
597         (RawTypes.Number.generate_validate_method):
598         (RawTypes.Number.get_raw_validator_call_text):
599         (RawTypes.Bool):
600         (RawTypes.Bool.generate_validate_method):
601         (RawTypes.Bool.get_raw_validator_call_text):
602         (RawTypes.Object):
603         (RawTypes.Object.generate_validate_method):
604         (RawTypes.Object.get_raw_validator_call_text):
605         (RawTypes.Any):
606         (RawTypes.Any.generate_validate_method):
607         (RawTypes.Any.get_raw_validator_call_text):
608         (RawTypes.Array):
609         (RawTypes.Array.generate_validate_method):
610         (RawTypes.Array.get_raw_validator_call_text):
611         (TypeBindings.create_named_type_declaration.Helper):
612         (TypeBindings.create_ad_hoc_type_declaration.Helper):
613         (TypeBindings.create_type_declaration_.EnumBinding):
614         (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
615         (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
616         (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
617         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
618         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
619         (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
620         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
621         (TypeBindings.create_type_declaration_.PlainString):
622         (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
623         (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
624         (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
625         (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
626         (TypeBindings.create_type_declaration_.TypedefString):
627         (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
628         (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
629         (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
630         (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
631         (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
632         (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
633         (TypeBindings.create_type_declaration_.ClassBinding):
634         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
635         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
636         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
637         (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
638         (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
639         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
640         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
641         (get_validator_call_text):
642         (get_in_c_type_text):
643         (AdHocTypeContextImpl):
644         (AdHocTypeContextImpl.__init__):
645         (AdHocTypeContextImpl.get_type_name_fix):
646         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
647         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
648         (AdHocTypeContextImpl.add_type):
649         (PlainObjectBinding):
650         (PlainObjectBinding.resolve_inner):
651         (PlainObjectBinding.request_user_runtime_cast):
652         (PlainObjectBinding.request_internal_runtime_cast):
653         (PlainObjectBinding.get_validator_call_text):
654         (ArrayBinding):
655         (ArrayBinding.resolve_inner):
656         (ArrayBinding.resolve_inner.AdHocTypeContext):
657         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
658         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
659         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
660         (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
661         (ArrayBinding.resolve_inner.ResolveData):
662         (ArrayBinding.request_user_runtime_cast):
663         (ArrayBinding.request_internal_runtime_cast):
664         (ArrayBinding.get_code_generator):
665         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
666         (ArrayBinding.get_validator_call_text):
667         (ArrayBinding.get_in_c_type_text):
668         (RawTypeBinding.resolve_inner):
669         (RawTypeBinding):
670         (RawTypeBinding.request_user_runtime_cast):
671         (RawTypeBinding.request_internal_runtime_cast):
672         (RawTypeBinding.get_validator_call_text):
673         (TypeData.get_name):
674         (TypeData):
675         (TypeData.get_domain_name):
676         (resolve_param_type):
677         (NeedRuntimeCastRequest):
678         (NeedRuntimeCastRequest.__init__):
679         (NeedRuntimeCastRequest.acknowledge):
680         (NeedRuntimeCastRequest.is_acknowledged):
681         (resolve_all_types):
682         (resolve_all_types.ForwardListener):
683         (resolve_all_types.ForwardListener.add_type_data):
684         (resolve_all_types.ResolveContext):
685         (Generator):
686         (Generator.go):
687         (Generator.process_event):
688         (Generator.process_event.AdHocTypeContext):
689         (Generator.process_event.AdHocTypeContext.add_type):
690         (Generator.process_event.EventForwardListener):
691         (Generator.process_event.EventForwardListener.add_type_data):
692         (Generator.process_event.EventResolveContext):
693         (Generator.process_event.EventGenerateContext):
694         (Generator.process_types.GenerateContext):
695         (Generator.process_types.create_type_builder_caller.call_type_builder):
696         (Generator.process_types.generate_forward_callback):
697         * inspector/InspectorValues.h:
698         (WebCore::InspectorObject::size):
699
700 2012-01-25  Anton Muhin  <antonm@chromium.org>
701
702         Unreview manual revert of r105843.
703
704         * fileapi/EntryBase.cpp:
705         (WebCore::EntryBase::toURL):
706         * page/SecurityOrigin.cpp:
707         (WebCore::extractInnerURL):
708         * platform/KURL.h:
709         (KURL):
710         * platform/KURLGoogle.cpp:
711         (WebCore):
712         (WebCore::KURLGooglePrivate::setUtf8):
713         (WebCore::KURLGooglePrivate::setAscii):
714         (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
715         (WebCore::KURLGooglePrivate::copyTo):
716         (WebCore::encodeWithURLEscapeSequences):
717         * platform/KURLGooglePrivate.h:
718         (KURLGooglePrivate):
719
720 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
721
722         Use maximum image dimension definition from libwebp
723         https://bugs.webkit.org/show_bug.cgi?id=76980
724
725         Reviewed by Kent Tamura.
726
727         No new tests, no change in behavior.
728
729         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
730         (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
731         * platform/image-encoders/skia/WEBPImageEncoder.h:
732         (): Remove local definition of the maximum webp image dimension
733
734 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
735
736         JPEGDecoder should use imageDecoder colorProfile helpers
737         https://bugs.webkit.org/show_bug.cgi?id=76968
738         
739         Reviewed by Adam Barth.
740
741         No new tests. Cover by existing tests, in particular:
742           fast/images/ycbcr-with-cmyk-color-profile.html
743           fast/images/gray-scale-jpeg-with-color-profile.html
744           fast/images/cmyk-jpeg-with-color-profile.html
745           fast/images/color-jpeg-with-color-profile.html
746
747         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
748         (WebCore::readColorProfile):  Use ImageDecoder.h color profile helper routines.
749         (WebCore::JPEGImageReader::JPEGImageReader):
750         (WebCore::JPEGImageReader::decode):
751
752 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
753
754         [Texmap] Divide TextureMapperNode.cpp to 3 files.
755         https://bugs.webkit.org/show_bug.cgi?id=76660
756
757         Reviewed by Kenneth Rohde Christiansen.
758
759         Split the animation part of TextureMapperNode out to a separate file, called
760         TextureMapperAnimation.
761         Provide a clean interface for that class, that allows separating the internals of the scene
762         painting from the internals of the animation interpolation.
763
764         No new tests. Existing animation tests cover this.
765
766         * GNUmakefile.list.am: Added new TextureMapper-related files.
767         * Target.pri: Added new TextureMapper-related files.
768         * WebCore.gypi: Added new TextureMapper-related files.
769         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
770         (WebCore::GraphicsLayerTextureMapper::addAnimation):
771         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
772         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
773         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
774         * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
775         * platform/graphics/texmap/TextureMapperAnimation.h: Added.
776         * platform/graphics/texmap/TextureMapperNode.cpp:
777         (WebCore::TextureMapperNode::syncCompositingStateSelf):
778         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
779         (WebCore::TextureMapperNode::syncAnimations):
780         (WebCore::TextureMapperNode::syncAnimationsRecursively):
781         (WebCore::TextureMapperNode::syncCompositingState):
782         * platform/graphics/texmap/TextureMapperNode.h:
783
784 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
785
786         <style scoped>: Implement registering of <style scoped> with the scoping element
787         https://bugs.webkit.org/show_bug.cgi?id=67790
788
789         Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
790         Update the registration whenever the 'scoped' attribute is changed,
791         or the <style> element eneters or leaves the tree.
792
793         Also, extend windows.internals to allow for testing of the registration ref-counting.
794
795         Reviewed by Dimitri Glazkov.
796
797         Test: fast/css/style-scoped/registering.html
798
799         * WebCore.exp.in:
800         * dom/Element.cpp:
801         (WebCore::Element::hasScopedHTMLStyleChild):
802         (WebCore::Element::numberOfScopedHTMLStyleChildren):
803         (WebCore::Element::registerScopedHTMLStyleChild):
804         (WebCore::Element::unregisterScopedHTMLStyleChild):
805         * dom/Element.h:
806         * dom/ElementRareData.h:
807         (WebCore::ElementRareData::ElementRareData):
808         (WebCore::ElementRareData::registerScopedHTMLStyleChild):
809         (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
810         (WebCore::ElementRareData::hasScopedHTMLStyleChild):
811         (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
812         * html/HTMLStyleElement.cpp:
813         (WebCore::HTMLStyleElement::HTMLStyleElement):
814         (WebCore::HTMLStyleElement::~HTMLStyleElement):
815         (WebCore::HTMLStyleElement::parseMappedAttribute):
816         (WebCore::HTMLStyleElement::registerWithScopingNode):
817         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
818         (WebCore::HTMLStyleElement::insertedIntoDocument):
819         (WebCore::HTMLStyleElement::removedFromDocument):
820         (WebCore::HTMLStyleElement::willRemove):
821         * html/HTMLStyleElement.h:
822         * testing/Internals.cpp:
823         (WebCore::Internals::numberOfScopedHTMLStyleChildren):
824         * testing/Internals.h:
825         * testing/Internals.idl:
826
827 2012-01-24  Daniel Bates  <dbates@webkit.org>
828
829         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
830         (https://bugs.webkit.org/show_bug.cgi?id=75049)
831
832         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
833         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
834         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
835
836         * platform/KURL.h:
837         (WebCore::KURL::innerURL):
838
839 2012-01-24  Vangelis Kokkevis  <vangelis@chromium.org>
840
841         [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
842         https://bugs.webkit.org/show_bug.cgi?id=76735
843
844         This is to add skipped layers to their RenderSurface's layer list so that they
845         are considered in the next update. Without this change, m_skipsDraw = false sticks
846         with the layer for the remainder of its lifetime.
847
848         Reviewed by James Robinson.
849
850         Tests: Unit test (TiledLayerChromiumTest.cpp)
851
852         * platform/graphics/chromium/TiledLayerChromium.cpp:
853         (WebCore::TiledLayerChromium::drawsContent):
854         * platform/graphics/chromium/TiledLayerChromium.h:
855         (WebCore::TiledLayerChromium::skipsDraw):
856
857 2012-01-24  Kentaro Hara  <haraken@chromium.org>
858
859         Invalidate r105697, r105766, r105809 and r105805
860         https://bugs.webkit.org/show_bug.cgi?id=76970
861
862         Reviewed by Adam Barth.
863
864         I've been trying to stop rebuilding .h/.cpp files generated by
865         unchanged IDLs (bug 76836), but the approach was wrong.
866         This patch invalidates patches committed in r105697, r105766,
867         r105809 and r105805.
868
869         In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
870         so that they overwrite .h/.cpp files only when the bytes differ.
871         By this fix, we were able to stop rebuilding .h/.cpp files that are not
872         changed. However, the fix has made generate-bindings.pl run for almost
873         all IDLs every time. The reason is as follows:
874
875         (0) Assume that there are A.idl, B.idl and C.idl.
876
877         (1) Modify A.idl.
878         (2) First build.
879         (3) supplemental_dependency.tmp is updated.
880         (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
881         (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.
882
883         (6) Second build.
884         (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
885         (8) B.h, B.cpp, C.h and C.cpp are not updated.
886
887         (9) Third build.
888         (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
889         (11) B.h, B.cpp, C.h and C.cpp are not updated.
890         ...
891
892         We should fix the bug somehow, but how to fix it is not obvious.
893         For the time being, this patch invalidates r105697, r105766, r105809
894         and r105805.
895
896         No tests. No change in behavior.
897
898         * bindings/scripts/CodeGenerator.pm:
899         (UpdateFile):
900         * bindings/scripts/CodeGeneratorCPP.pm:
901         (WriteData):
902         * bindings/scripts/CodeGeneratorJS.pm:
903         (WriteData):
904         * bindings/scripts/CodeGeneratorObjC.pm:
905         (WriteData):
906         * bindings/scripts/CodeGeneratorV8.pm:
907         (WriteData):
908
909 2012-01-24  Eric Uhrhane  <ericu@chromium.org>
910
911         Add full support for filesystem URLs.
912         https://bugs.webkit.org/show_bug.cgi?id=75049
913
914         Reviewed by Adam Barth.
915
916         No new tests; existing layout tests cover the basic functionality, and
917         the new functionality won't be there until Chromium adds it.  This patch
918         merely enables that, without changing behavior.
919
920         * fileapi/EntryBase.cpp:
921         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
922
923         * page/SecurityOrigin.cpp:
924         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
925
926         * platform/KURL.h:
927         (WebCore::KURL::innerURL): Add innerURL member.
928
929         * platform/KURLGoogle.cpp:
930         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
931         (WebCore::KURLGooglePrivate::operator=):
932         Add copy constructor and operator=, which are now needed since
933         m_innerURL needs special handling.
934         (WebCore::KURLGooglePrivate::setUtf8):
935         (WebCore::KURLGooglePrivate::setAscii):
936         Add calls to initInnerURL.
937         (WebCore::KURLGooglePrivate::initInnerURL):
938         Add method to init/copy m_innerURL.
939         (WebCore::KURLGooglePrivate::copyTo):
940         Handle m_innerURL during copies.
941         (WebCore::encodeWithURLEscapeSequences):
942         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
943
944         * platform/KURLGooglePrivate.h:
945         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
946
947 2012-01-24  Ken Buchanan  <kenrb@chromium.org>
948
949         Crash in updateFirstLetter() from unnecessary anonymous block
950         https://bugs.webkit.org/show_bug.cgi?id=72675
951
952         Reviewed by David Hyatt.
953
954         There was a problem with anonymous blocks not getting removed when
955         their only block flow siblings are removed if they also have non-block
956         flow first-letter siblings (i.e. floats). This patch modifies
957         RenderBlock::removeChild() to look for this situation and strip out
958         unnecessary anonymous container blocks if it occurs.
959
960         * rendering/RenderBlock.cpp:
961         (WebCore::RenderBlock::removeChild):
962         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
963         * rendering/RenderBlock.h:
964         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
965
966 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
967
968         [chromium] event.dataTransfer.types should not return "Text" or "URL"
969         https://bugs.webkit.org/show_bug.cgi?id=76218
970
971         Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
972         dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
973         elsewhere.
974
975         Reviewed by Tony Chang.
976
977         Test: fast/events/dropzone-005.html
978
979         * platform/chromium/ChromiumDataObject.cpp:
980         (WebCore::ChromiumDataObject::types):
981         (WebCore::ChromiumDataObject::getData):
982         * platform/chromium/DragDataChromium.cpp:
983         (WebCore::DragData::containsURL):
984         (WebCore::DragData::asURL):
985         (WebCore::DragData::canSmartReplace):
986
987 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
988
989         Make DataTransferItemList::length() const.
990         https://bugs.webkit.org/show_bug.cgi?id=76946
991
992         Just a const-correctness change.
993
994         Reviewed by Tony Chang.
995
996         No new tests since no functionality changed.
997
998         * dom/DataTransferItemList.h:
999         (DataTransferItemList):
1000         * platform/chromium/DataTransferItemListChromium.cpp:
1001         (WebCore::DataTransferItemListChromium::length):
1002         * platform/chromium/DataTransferItemListChromium.h:
1003         (DataTransferItemListChromium):
1004         * platform/qt/DataTransferItemListQt.cpp:
1005         (WebCore::DataTransferItemListQt::length):
1006         * platform/qt/DataTransferItemListQt.h:
1007         (DataTransferItemListQt):
1008
1009 2012-01-24  Tony Chang  <tony@chromium.org>
1010
1011         REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
1012         https://bugs.webkit.org/show_bug.cgi?id=76317
1013
1014         Reviewed by Darin Adler.
1015
1016         Test: scrollbars/scroll-rtl-or-bt-layer.html
1017
1018         * rendering/RenderLayer.cpp:
1019         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
1020         scrolling to the just computed offset.
1021
1022 2012-01-24  Mark Rowe  <mrowe@apple.com>
1023
1024         Fix all of the builds after r105812.
1025
1026         * loader/EmptyClients.h: Move the #include in to the correct #if.
1027
1028 2012-01-24  Dmitry Lomov  <dslomov@google.com>
1029
1030         [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
1031         https://bugs.webkit.org/show_bug.cgi?id=76944.
1032
1033         Reviewed by David Levin.
1034
1035         * bindings/v8/V8Proxy.cpp:
1036         (WebCore::V8Proxy::retrieveWindowForCallingContext):
1037         * bindings/v8/V8Proxy.h:
1038         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1039         (WebCore::handlePostMessageCallback):
1040
1041 2012-01-24  Geoffrey Garen  <ggaren@apple.com>
1042
1043         Updated bindings test expectations after my last patch.
1044
1045         Not reviewed.
1046
1047         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1048         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
1049         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1050         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
1051         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1052         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
1053         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
1054         * bindings/scripts/test/JS/JSTestInterface.cpp:
1055         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
1056         (WebCore::setJSTestInterfaceSupplementalStr2):
1057         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1058         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1059         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1060         * bindings/scripts/test/JS/JSTestObj.cpp:
1061         (WebCore::setJSTestObjStringAttr):
1062         (WebCore::setJSTestObjStringAttrWithGetterException):
1063         (WebCore::setJSTestObjStringAttrWithSetterException):
1064         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1065         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
1066         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1067         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1068         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1069         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1070         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1071         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1072         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
1073         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1074         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
1075         (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
1076         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1077         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1078
1079 2012-01-24  Greg Billock  <gbillock@google.com>
1080
1081         Change dispatchIntent API to pure virtual in FrameLoaderClient.
1082
1083         The Windows compiler needs this to deal with the forward declaration
1084         of WebCore::IntentRequest.
1085         https://bugs.webkit.org/show_bug.cgi?id=76940
1086
1087         Reviewed by Adam Barth.
1088
1089         * loader/EmptyClients.h:
1090         (WebCore::EmptyFrameLoaderClient::dispatchIntent):
1091         * loader/FrameLoaderClient.h:
1092
1093 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1094
1095         CodeGeneratorJS.pm should overwrite the output .h/.cpp
1096         only if the bytes differ
1097         https://bugs.webkit.org/show_bug.cgi?id=76922
1098
1099         Reviewed by Darin Adler.
1100
1101         This is one of steps to stop rebuilding .h/.cpp files
1102         generated by unchanged IDLs (bug 76836).
1103         This patch makes a change on CodeGeneratorJS.pm so that
1104         it overwrites the output .h/.cpp only if the bytes differ.
1105
1106         No tests. No change in behavior.
1107         I manually confirmed that when I add a new attribute to Element.idl,
1108         the time-stamps of unrelated JS*.h and JS*.cpp do not change.
1109
1110         * bindings/scripts/CodeGeneratorJS.pm:
1111         (WriteData): Used UpdateFileIfChanged().
1112
1113 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1114
1115         CodeGeneratorCPP.pm should overwrite the output .h/.cpp
1116         only if the bytes differ
1117         https://bugs.webkit.org/show_bug.cgi?id=76926
1118
1119         Reviewed by Adam Barth.
1120
1121         This is one of steps to stop rebuilding .h/.cpp files
1122         generated by unchanged IDLs (bug 76836).
1123         This patch makes a change on CodeGeneratorCPP.pm so that
1124         it overwrites the output .h/.cpp only if the bytes differ.
1125
1126         No tests. No change in behavior.
1127         Manually confirm that when you add a new attribute to Element.idl,
1128         the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.
1129
1130         * bindings/scripts/CodeGeneratorCPP.pm:
1131         (WriteData): Used UpdateFileIfChanged().
1132
1133 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1134
1135         Unreviewed, rolling out r105238.
1136         http://trac.webkit.org/changeset/105238
1137         https://bugs.webkit.org/show_bug.cgi?id=76943
1138
1139         Remove the assert text hack as it served its purpose.
1140         (Requested by dave_levin on #webkit).
1141
1142         * dom/ActiveDOMObject.cpp:
1143         (WebCore::ContextDestructionObserver::ContextDestructionObserver):
1144         (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
1145         (WebCore::ActiveDOMObject::ActiveDOMObject):
1146         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1147         * storage/DatabaseSync.cpp:
1148         (WebCore::DatabaseSync::openDatabaseSync):
1149         (WebCore::DatabaseSync::~DatabaseSync):
1150         (WebCore::DatabaseSync::changeVersion):
1151         (WebCore::DatabaseSync::runTransaction):
1152
1153 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1154
1155         [Refactoring] In CodeGeneratorGObject.pm, merge
1156         GeneratePrivateHeader() into WriteData()
1157         https://bugs.webkit.org/show_bug.cgi?id=76923
1158
1159         Reviewed by Adam Barth.
1160
1161         This patch merges GeneratePrivateHeader() into WriteData(),
1162         so that all code to output .h/.cpp is managed by WriteData(),
1163         just like other CodeGenerator*.pm does.
1164
1165         No tests. No change in behavior.
1166         Confirm that GTK/GObject build passes.
1167
1168         * bindings/scripts/CodeGeneratorGObject.pm:
1169         (Generate):
1170         (WriteData): Copied GeneratePrivateHeader() to here.
1171         Removed $hasLegacyParen, $hasRealParent and $hasParent
1172         since they are not used.
1173         (GenerateInterface):
1174
1175 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
1176
1177         dropzone does not normalize type strings
1178         https://bugs.webkit.org/show_bug.cgi?id=76925
1179
1180         Per the HTML spec, we are supposed to normalize types during dropzone processing by
1181         lowercasing them.
1182
1183         Reviewed by Tony Chang.
1184
1185         Tests: fast/events/dropzone-002.html
1186
1187         * dom/Clipboard.cpp:
1188         (WebCore::Clipboard::hasDropZoneType):
1189
1190 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1191
1192         [GTK] Refactor GTK's accessibilitity code to be more modular
1193         https://bugs.webkit.org/show_bug.cgi?id=76783
1194
1195         Reviewed by Martin Robinson.
1196
1197         Don't expose functions for the ATK interfaces in header files.
1198
1199         Expose only the initialization function for each interface, and
1200         use the generic functions from ATK interfaces where needed.
1201
1202         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
1203         (webkitAccessibleActionDoAction): Made this function static.
1204         (webkitAccessibleActionGetNActions): Ditto.
1205         (webkitAccessibleActionGetDescription): Ditto.
1206         (webkitAccessibleActionGetKeybinding): Ditto.
1207         (webkitAccessibleActionGetName): Ditto.
1208         (webkitAccessibleActionInterfaceInit): Moved to the bottom.
1209         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
1210         functions but the one for initializing the interface from here.
1211
1212         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
1213         (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
1214         (webkitAccessibleComponentGetExtents): Ditto.
1215         (webkitAccessibleComponentGrabFocus): Ditto.
1216         (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
1217         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
1218         functions but the one for initializing the interface from here.
1219
1220         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
1221         (webkitAccessibleDocumentGetAttributeValue): Made this function static.
1222         (webkitAccessibleDocumentGetAttributes): Ditto.
1223         (webkitAccessibleDocumentGetLocale): Ditto.
1224         (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
1225         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
1226         functions but the one for initializing the interface from here.
1227
1228         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
1229         (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
1230         (webkitAccessibleEditableTextSetTextContents): Ditto.
1231         (webkitAccessibleEditableTextInsertText): Ditto.
1232         (webkitAccessibleEditableTextCopyText): Ditto.
1233         (webkitAccessibleEditableTextCutText): Ditto.
1234         (webkitAccessibleEditableTextDeleteText): Ditto.
1235         (webkitAccessibleEditableTextPasteText): Ditto.
1236         (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
1237         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
1238         functions but the one for initializing the interface from here.
1239
1240         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
1241         (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
1242         (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
1243         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
1244         functions but the one for initializing the interface from here.
1245
1246         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
1247         (webkitAccessibleHypertextGetLink): Made this function static.
1248         (webkitAccessibleHypertextGetNLinks): Ditto.
1249         (webkitAccessibleHypertextGetLinkIndex): Ditto.
1250         (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
1251         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
1252         functions but the one for initializing the interface from here.
1253
1254         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
1255         (webkitAccessibleImageGetImagePosition): Made this function static.
1256         (webkitAccessibleImageGetImageDescription): Ditto.
1257         (webkitAccessibleImageGetImageSize): Ditto.
1258         (webkitAccessibleImageInterfaceInit): Moved to the bottom.
1259         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
1260         functions but the one for initializing the interface from here.
1261
1262         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
1263         (webkitAccessibleSelectionAddSelection): Made this function static.
1264         (webkitAccessibleSelectionClearSelection): Ditto.
1265         (webkitAccessibleSelectionRefSelection): Ditto.
1266         (webkitAccessibleSelectionGetSelectionCount): Ditto.
1267         (webkitAccessibleSelectionIsChildSelected): Ditto.
1268         (webkitAccessibleSelectionRemoveSelection): Ditto.
1269         (webkitAccessibleSelectionSelectAllSelection): Ditto.
1270         (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
1271         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
1272         functions but the one for initializing the interface from here.
1273
1274         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
1275         (webkitAccessibleTableRefAt): Made this function static.
1276         (webkitAccessibleTableGetIndexAt): Ditto.
1277         (webkitAccessibleTableGetColumnAtIndex): Ditto.
1278         (webkitAccessibleTableGetRowAtIndex): Ditto.
1279         (webkitAccessibleTableGetNColumns): Ditto.
1280         (webkitAccessibleTableGetNRows): Ditto.
1281         (webkitAccessibleTableGetColumnExtentAt): Ditto.
1282         (webkitAccessibleTableGetRowExtentAt): Ditto.
1283         (webkitAccessibleTableGetColumnHeader): Ditto.
1284         (webkitAccessibleTableGetRowHeader): Ditto.
1285         (webkitAccessibleTableGetCaption): Ditto.
1286         (webkitAccessibleTableGetColumnDescription): Ditto.
1287         (webkitAccessibleTableGetRowDescription): Ditto.
1288         (webkitAccessibleTableInterfaceInit): Moved to the bottom.
1289         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
1290         functions but the one for initializing the interface from here.
1291
1292         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
1293         (textForRenderer): Made this function static.
1294         (textForObject): Ditto.
1295         (webkitAccessibleTextGetText): Ditto.
1296         (webkitAccessibleTextGetTextAfterOffset): Ditto.
1297         (webkitAccessibleTextGetTextAtOffset): Ditto.
1298         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
1299         (webkitAccessibleTextGetCharacterAtOffset): Ditto.
1300         (webkitAccessibleTextGetCaretOffset): Ditto.
1301         (webkitAccessibleTextGetRunAttributes): Ditto.
1302         (webkitAccessibleTextGetDefaultAttributes): Ditto.
1303         (webkitAccessibleTextGetCharacterExtents): Ditto.
1304         (webkitAccessibleTextGetRangeExtents): Ditto.
1305         (webkitAccessibleTextGetCharacterCount): Ditto.
1306         (webkitAccessibleTextGetOffsetAtPoint): Ditto.
1307         (webkitAccessibleTextGetNSelections): Ditto.
1308         (webkitAccessibleTextGetSelection): Ditto.
1309         (webkitAccessibleTextAddSelection): Ditto.
1310         (webkitAccessibleTextSetSelection): Ditto.
1311         (webkitAccessibleTextRemoveSelection): Ditto.
1312         (webkitAccessibleTextSetCaretOffset): Ditto.
1313         (webkitAccessibleTextInterfaceInit): Moved to the bottom.
1314         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
1315         functions but the one for initializing the interface from here.
1316
1317         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
1318         (webkitAccessibleValueGetCurrentValue): Made this function static.
1319         (webkitAccessibleValueGetMaximumValue): Ditto.
1320         (webkitAccessibleValueGetMinimumValue): Ditto.
1321         (webkitAccessibleValueSetCurrentValue): Ditto.
1322         (webkitAccessibleValueGetMinimumIncrement): Ditto.
1323         (webkitAccessibleValueInterfaceInit): Moved to the bottom.
1324         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
1325         functions but the one for initializing the interface from here.
1326
1327         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1328         (webkitAccessibleGetName): Replace call to
1329         webkitAccessibleTextGetText with atk_text_get_text.
1330
1331 2012-01-24  James Robinson  <jamesr@chromium.org>
1332
1333         [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
1334         https://bugs.webkit.org/show_bug.cgi?id=76887
1335
1336         Reviewed by Dimitri Glazkov.
1337
1338         A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
1339         It's possible in some circumstances for this to happen during painting. The null check for this pointer was
1340         erroneously removed from the base class TiledLayerChromium in r105460.
1341
1342         No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
1343         trying!). Fix based on crash reports from the field.
1344
1345         * platform/graphics/chromium/ContentLayerChromium.cpp:
1346         (WebCore::ContentLayerChromium::drawsContent):
1347         * platform/graphics/chromium/ContentLayerChromium.h:
1348
1349 2012-01-16  Robert Hogan  <robert@webkit.org>
1350
1351         REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
1352         https://bugs.webkit.org/show_bug.cgi?id=74874
1353
1354         Reviewed by Julien Chaffraix.
1355
1356         Tests: fast/css/min-width-with-spanned-cell-fixed.html
1357                fast/css/min-width-with-spanned-cell.html
1358
1359         A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
1360         columns are all percent and the width of the span cell is wider than the cells it spans in any other 
1361         row then it will squeeze those cells beyond the width required to display their contents.
1362
1363         To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
1364         their contents. The squeezing remains for fixed layout tables as per FF and Opera.
1365
1366         * rendering/AutoTableLayout.cpp:
1367         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1368
1369 2012-01-24  Tommy Widenflycht  <tommyw@google.com>
1370
1371         MediaStream API: Split the MediaStream track list into audio/video specific ones.
1372         https://bugs.webkit.org/show_bug.cgi?id=76614
1373
1374         The latest draft of the WebRTC standard have split the MediaStream combined track list
1375         into audio/video specific ones.
1376
1377         Reviewed by Darin Fisher.
1378
1379         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
1380
1381         * mediastream/LocalMediaStream.cpp:
1382         (WebCore::LocalMediaStream::create):
1383         (WebCore::LocalMediaStream::LocalMediaStream):
1384         * mediastream/LocalMediaStream.h:
1385         * mediastream/MediaStream.cpp:
1386         (WebCore::processTrackList):
1387         (WebCore::MediaStream::create):
1388         (WebCore::MediaStream::MediaStream):
1389         * mediastream/MediaStream.h:
1390         (WebCore::MediaStream::audioTracks):
1391         (WebCore::MediaStream::videoTracks):
1392         * mediastream/MediaStream.idl:
1393         * mediastream/MediaStreamTrack.cpp:
1394         (WebCore::MediaStreamTrack::create):
1395         (WebCore::MediaStreamTrack::MediaStreamTrack):
1396         (WebCore::MediaStreamTrack::kind):
1397         (WebCore::MediaStreamTrack::label):
1398         (WebCore::MediaStreamTrack::enabled):
1399         (WebCore::MediaStreamTrack::setEnabled):
1400         (WebCore::MediaStreamTrack::component):
1401         * mediastream/MediaStreamTrack.h:
1402         * mediastream/UserMediaClient.h:
1403         * mediastream/UserMediaRequest.cpp:
1404         (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
1405         (WebCore::UserMediaRequest::succeed):
1406         * mediastream/UserMediaRequest.h:
1407         * platform/mediastream/MediaStreamCenter.cpp:
1408         (WebCore::MediaStreamCenter::queryMediaStreamSources):
1409         (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
1410         * platform/mediastream/MediaStreamCenter.h:
1411         * platform/mediastream/MediaStreamDescriptor.h:
1412         (WebCore::MediaStreamDescriptor::create):
1413         (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
1414         (WebCore::MediaStreamDescriptor::audioComponent):
1415         (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
1416         (WebCore::MediaStreamDescriptor::videoComponent):
1417         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
1418
1419 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1420
1421         Unreviewed, rolling out r105738.
1422         http://trac.webkit.org/changeset/105738
1423         https://bugs.webkit.org/show_bug.cgi?id=76930
1424
1425         caused fast/css/getComputedStyle/computed-style-border-
1426         image.html to crash (Requested by kling on #webkit).
1427
1428         * dom/NamedNodeMap.cpp:
1429         * dom/NamedNodeMap.h:
1430         * dom/StyledElement.cpp:
1431         (WebCore::StyledElement::updateStyleAttribute):
1432         (WebCore::StyledElement::createInlineStyleDecl):
1433         (WebCore::StyledElement::destroyInlineStyleDecl):
1434         (WebCore::StyledElement::ensureInlineStyleDecl):
1435         (WebCore::StyledElement::style):
1436         (WebCore::StyledElement::addSubresourceAttributeURLs):
1437         * dom/StyledElement.h:
1438         (WebCore::StyledElement::inlineStyleDecl):
1439
1440 2012-01-24  Parag Radke  <nrqv63@motorola.com>
1441
1442         REGRESSION (r73385): Marquee with behavior="alternate" is not working
1443         https://bugs.webkit.org/show_bug.cgi?id=64230
1444
1445         Reviewed by Simon Fraser.
1446
1447         This patch gives correct content width for marquee, which computes
1448         correct start position to scroll marquee.
1449
1450         Test: fast/html/marquee-alternate.html
1451
1452         * rendering/RenderBlock.cpp:
1453         (WebCore::RenderBlock::computePreferredLogicalWidths):
1454         We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's 
1455         actual content width to compute the initial/end position in case of 'MALTERNATE'.
1456         So we need to calculate the logical width in Alternate case even if fixed width is specified
1457         as content has to animate between renderBox().right().x() - contentWidth() and 
1458         renderBox().left().x() + contentWidth().
1459         
1460         * rendering/RenderMarquee.cpp:
1461         (WebCore::RenderMarquee::computePosition):
1462         Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.
1463
1464 2012-01-24  Andreas Kling  <awesomekling@apple.com>
1465
1466         RenderInline: Skip caching the computed line height.
1467         <http://webkit.org/b/76929>
1468
1469         Reviewed by David Hyatt.
1470
1471         Stop caching the computed line height on RenderInline and make retrieving it from
1472         RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
1473         This appears to be mostly performance neutral, I don't get more than the occasional
1474         sample hit when instrumenting heavier web pages.
1475
1476         This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
1477         HTML5 spec at <http://whatwg.org/c>.
1478
1479         * rendering/RenderInline.cpp:
1480         (WebCore::RenderInline::RenderInline):
1481         (WebCore::RenderInline::styleDidChange):
1482         (WebCore::RenderInline::lineHeight):
1483         * rendering/RenderInline.h:
1484         * rendering/style/RenderStyle.h:
1485         (WebCore::RenderStyle::computedLineHeight):
1486
1487             Optimize computedLineHeight() to mitigate some of the damage of calling
1488             it more often.
1489
1490 2012-01-24  Abhishek Arya  <inferno@chromium.org>
1491
1492         Crash when rendering -webkit-column-span.
1493         https://bugs.webkit.org/show_bug.cgi?id=73265
1494
1495         Reviewed by David Hyatt.
1496
1497         This patch addresses 2 problems causing crashes in multi-column layout
1498         1. Trying to render -webkit-column-span for :before, :after caused
1499            re-entrancy in updateBeforeAfterContent while working on splitFlow.
1500         2. Cloning a block which has its :before, :after content not added yet,
1501            caused issues because cloneBlock will definitely have its :before,
1502            :after content created when setStyle() is called. So, we would
1503            overwrite cloneBlock with a wrong childrenInline value.
1504
1505         Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
1506                fast/multicol/span/generated-child-split-flow-crash.html
1507
1508         * rendering/RenderBlock.cpp:
1509         (WebCore::RenderBlock::clone):
1510         (WebCore::RenderBlock::columnsBlockForSpanningElement):
1511
1512 2012-01-22  Robert Hogan  <robert@webkit.org>
1513
1514         Incorrect positioning of floating pseudo-elements in table captions
1515         https://bugs.webkit.org/show_bug.cgi?id=76664
1516
1517         Reviewed by Julien Chaffraix.
1518
1519         Tests: fast/table/caption-encloses-overhanging-float-expected.html
1520                fast/table/caption-encloses-overhanging-float.html
1521
1522         Allow table captions to expand and enclose overhanging floats. When performing
1523         layout on a caption ensure that its logical top is set so that it does not mistakenly
1524         conclude that floats in a previous sibling are intruding into it when they're not.
1525
1526         Mostly diagnosed by Abhishek Arya.
1527
1528         * rendering/RenderBlock.cpp:
1529         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
1530          that can enclosed overhanging floats.
1531         * rendering/RenderTable.cpp:
1532         (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
1533          top offset before laying it out.
1534         (WebCore::RenderTable::layout):
1535         * rendering/RenderTable.h:
1536
1537 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1538
1539         In CodeGeneratorV8.pm, overwrite the output .h/.cpp
1540         only if the bytes differ
1541         https://bugs.webkit.org/show_bug.cgi?id=76920
1542
1543         Reviewed by Darin Adler.
1544
1545         This is one of steps to stop rebuilding .h/.cpp files
1546         generated by unchanged IDLs (bug 76836).
1547         This patch makes a change on CodeGeneratorV8.pm so that
1548         it overwrites the output .h/.cpp only if the bytes differ.
1549
1550         No tests. No change in behavior.
1551         I manually confirmed that when I add a new attribute to Element.idl,
1552         the time-stamps of unrelated V8*.h and V8*.cpp do not change.
1553
1554         * bindings/scripts/CodeGeneratorV8.pm:
1555         (WriteData): Used UpdateFileIfChanged().
1556
1557 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1558
1559         [Refactoring] Remove finish() from all CodeGenerator*.pm
1560         https://bugs.webkit.org/show_bug.cgi?id=76918
1561
1562         Reviewed by Darin Adler.
1563
1564         Now finish() is empty in all CodeGenerator*.pm. This patch removes them.
1565
1566         No tests. No change in behavior.
1567
1568         * bindings/scripts/CodeGenerator.pm:
1569         (ProcessDocument):
1570         * bindings/scripts/CodeGeneratorCPP.pm:
1571         * bindings/scripts/CodeGeneratorGObject.pm:
1572         * bindings/scripts/CodeGeneratorJS.pm:
1573         * bindings/scripts/CodeGeneratorObjC.pm:
1574         * bindings/scripts/CodeGeneratorV8.pm:
1575
1576 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1577
1578         Web Inspector: incorrect highlight position when searching in console
1579         https://bugs.webkit.org/show_bug.cgi?id=76837
1580
1581         Reviewed by Yury Semikhatsky.
1582
1583         * inspector/front-end/ConsoleMessage.js:
1584         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1585         (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
1586         (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
1587         (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
1588         (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):
1589
1590 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
1591
1592         Show layer borders for scrollbar layers
1593         https://bugs.webkit.org/show_bug.cgi?id=76888
1594
1595         Reviewed by Beth Dakin.
1596         
1597         When compositing layer borders are showing, show the borders
1598         for scrollbars layers. This reduces confusion about whether scrollbars
1599         are rendering into their own layers.
1600         
1601         Requires a new parameter to two GraphicsLayerClient methods.
1602
1603         * platform/graphics/GraphicsLayer.h:
1604         (WebCore::GraphicsLayer::showDebugBorders):
1605         (WebCore::GraphicsLayer::showRepaintCounter):
1606         * platform/graphics/GraphicsLayerClient.h:
1607         * rendering/RenderLayerBacking.cpp:
1608         (WebCore::RenderLayerBacking::showDebugBorders):
1609         (WebCore::RenderLayerBacking::showRepaintCounter):
1610         * rendering/RenderLayerBacking.h:
1611         * rendering/RenderLayerCompositor.cpp:
1612         (WebCore::RenderLayerCompositor::showDebugBorders):
1613         (WebCore::RenderLayerCompositor::showRepaintCounter):
1614         * rendering/RenderLayerCompositor.h:
1615
1616 2012-01-24  David Levin  <levin@chromium.org>
1617
1618         [windows] Convert usage of GetDC to HWndDC Part 3.
1619         https://bugs.webkit.org/show_bug.cgi?id=76889
1620
1621         Reviewed by Adam Roben.
1622
1623         No new functionality so no new tests.
1624
1625         * platform/graphics/win/UniscribeController.cpp:
1626         (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
1627         (WebCore::UniscribeController::shape): Use the delayed allocation.
1628         * platform/win/PopupMenuWin.cpp:
1629         (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.
1630
1631 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1632
1633         [GTK] Refactor GTK's accessibilitity code to be more modular
1634         https://bugs.webkit.org/show_bug.cgi?id=76783
1635
1636         Reviewed by Martin Robinson.
1637
1638         Fix coding style in the ATK AccessibilityObject wrapper.
1639
1640         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1641         (webkitAccessibleGetName):
1642         (webkitAccessibleGetDescription):
1643         (webkitAccessibleGetParent):
1644         (webkitAccessibleGetNChildren):
1645         (webkitAccessibleRefChild):
1646         (webkitAccessibleGetIndexInParent):
1647         (webkitAccessibleGetAttributes):
1648         (atkRole):
1649         (webkitAccessibleGetRole):
1650         (setAtkStateSetFromCoreObject):
1651         (webkitAccessibleRefStateSet):
1652         (webkitAccessibleRefRelationSet):
1653         (webkitAccessibleInit):
1654         (webkitAccessibleFinalize):
1655         (webkit_accessible_class_init):
1656
1657 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1658
1659         [GTK] Refactor GTK's accessibilitity code to be more modular
1660         https://bugs.webkit.org/show_bug.cgi?id=76783
1661
1662         Reviewed by Martin Robinson.
1663
1664         Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.
1665
1666         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
1667         'include' lines that are no longer needed after the refactor.
1668
1669 2012-01-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
1670
1671         [EFL] Remove CookieJarEfl.cpp
1672         https://bugs.webkit.org/show_bug.cgi?id=76916
1673
1674         Reviewed by Gustavo Noronha Silva.
1675
1676         CookieJarEfl.cpp has not been used for years -- we either need
1677         CookieJarCurl or CookieJarSoup depending on the chosen network
1678         backend.
1679
1680         No new tests, just an unused file being removed.
1681
1682         * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
1683         * platform/efl/CookieJarEfl.cpp: Removed.
1684
1685 2012-01-24  Abhishek Arya  <inferno@chromium.org>
1686
1687         Crash when accessing removed parent in InlineTextBox.
1688         https://bugs.webkit.org/show_bug.cgi?id=72982
1689
1690         Reviewed by James Robinson.
1691
1692         The crash happens because:
1693         1. We add heading element(h1) before the span element(span1),
1694            causing splitflow on the anonymous block containing BeforeText,
1695            span1(and SpanText) and AfterText.
1696         2. span1 moves to the cloneBlock (continuation).
1697         3. Our anonymous block and cloneBlock are both marked for layout,
1698            however we still have a copy of our lineboxes with its childs
1699            as the textboxes belonging to SpanText.
1700         4. Our anonymous block only child BeforeText is getting removed,
1701            so we dont have any children anymore and we delete our lineboxes,
1702            leaving behind the children textboxes belonging to SpanText.
1703         5. SpanText is getting destroyed, so it tries to inform removed
1704            parent lineboxes causing the crash.
1705
1706         Test: fast/block/block-remove-child-delete-line-box-crash.html
1707
1708         * rendering/RenderBlock.cpp:
1709         (WebCore::RenderBlock::removeChild):
1710
1711 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1712
1713         [GTK] Refactor GTK's accessibilitity code to be more modular
1714         https://bugs.webkit.org/show_bug.cgi?id=76783
1715
1716         Reviewed by Martin Robinson.
1717
1718         New files for the implementation of the AtkTable interface,
1719         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1720
1721         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
1722         (core):
1723         (cell):
1724         (cellIndex):
1725         (cellAtIndex):
1726         (webkitAccessibleTableInterfaceInit):
1727         (webkitAccessibleTableRefAt):
1728         (webkitAccessibleTableGetIndexAt):
1729         (webkitAccessibleTableGetColumnAtIndex):
1730         (webkitAccessibleTableGetRowAtIndex):
1731         (webkitAccessibleTableGetNColumns):
1732         (webkitAccessibleTableGetNRows):
1733         (webkitAccessibleTableGetColumnExtentAt):
1734         (webkitAccessibleTableGetRowExtentAt):
1735         (webkitAccessibleTableGetColumnHeader):
1736         (webkitAccessibleTableGetRowHeader):
1737         (webkitAccessibleTableGetCaption):
1738         (webkitAccessibleTableGetColumnDescription):
1739         (webkitAccessibleTableGetRowDescription):
1740         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
1741         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1742         related to the implementation of the AtkTable interface.
1743
1744         Add new files to build files.
1745
1746         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
1747         * WebCore.gypi: Ditto.
1748
1749 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1750
1751         Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
1752         https://bugs.webkit.org/show_bug.cgi?id=76903
1753
1754         Reviewed by Yury Semikhatsky.
1755
1756         * inspector/front-end/TabbedPane.js:
1757         (WebInspector.TabbedPane.prototype._updateTabElements):
1758         * inspector/front-end/tabbedPane.css:
1759         (.tabbed-pane-content.has-no-tabs):
1760
1761 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1762
1763         Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
1764         https://bugs.webkit.org/show_bug.cgi?id=76907
1765
1766         Reviewed by Yury Semikhatsky.
1767
1768         * inspector/front-end/FilteredItemSelectionDialog.js:
1769         (WebInspector.OpenResourceDialog.install):
1770         * inspector/front-end/ScriptsPanel.js:
1771
1772 2012-01-24  Peter Rybin  <peter.rybin@gmail.com>
1773
1774         Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
1775         https://bugs.webkit.org/show_bug.cgi?id=76868
1776
1777         Reviewed by Yury Semikhatsky.
1778
1779         Configurations of (hopefully) all build systems are fixed.
1780
1781         * CMakeLists.txt:
1782         * DerivedSources.make:
1783         * DerivedSources.pri:
1784         * GNUmakefile.am:
1785         * GNUmakefile.list.am:
1786         * WebCore.gyp/WebCore.gyp:
1787         * WebCore.gypi:
1788         * WebCore.vcproj/WebCore.vcproj:
1789         * WebCore.xcodeproj/project.pbxproj:
1790         * inspector/CodeGeneratorInspector.py:
1791         (dash_to_camelcase):
1792         (InspectorFrontend_h):
1793         (InspectorBackendDispatcher_h):
1794
1795 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1796
1797         [GTK] Refactor GTK's accessibilitity code to be more modular
1798         https://bugs.webkit.org/show_bug.cgi?id=76783
1799
1800         Reviewed by Martin Robinson.
1801
1802         New files for the implementation of the AtkText interface,
1803         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1804
1805         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
1806         (core):
1807         (textForRenderer):
1808         (textForObject):
1809         (getGailTextUtilForAtk):
1810         (getPangoLayoutForAtk):
1811         (baselinePositionForRenderObject):
1812         (getAttributeSetForAccessibilityObject):
1813         (compareAttribute):
1814         (attributeSetDifference):
1815         (accessibilityObjectLength):
1816         (getAccessibilityObjectForOffset):
1817         (getRunAttributesFromAccesibilityObject):
1818         (textExtents):
1819         (getSelectionOffsetsForObject):
1820         (webkitAccessibleTextInterfaceInit):
1821         (webkitAccessibleTextGetText):
1822         (webkitAccessibleTextGetTextAfterOffset):
1823         (webkitAccessibleTextGetTextAtOffset):
1824         (webkitAccessibleTextGetTextBeforeOffset):
1825         (webkitAccessibleTextGetCharacterAtOffset):
1826         (webkitAccessibleTextGetCaretOffset):
1827         (webkitAccessibleTextGetRunAttributes):
1828         (webkitAccessibleTextGetDefaultAttributes):
1829         (webkitAccessibleTextGetCharacterExtents):
1830         (webkitAccessibleTextGetRangeExtents):
1831         (webkitAccessibleTextGetCharacterCount):
1832         (webkitAccessibleTextGetOffsetAtPoint):
1833         (webkitAccessibleTextGetNSelections):
1834         (webkitAccessibleTextGetSelection):
1835         (webkitAccessibleTextAddSelection):
1836         (webkitAccessibleTextRemoveSelection):
1837         (webkitAccessibleTextSetSelection):
1838         (webkitAccessibleTextSetCaretOffset):
1839         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.
1840
1841         Move common function selectionBelongsToObject out from the wrapper
1842         to the utility file, used from WebKitAccessibleInterfaceText.cpp.
1843
1844         * accessibility/gtk/WebKitAccessibleUtil.cpp:
1845         (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
1846         * accessibility/gtk/WebKitAccessibleUtil.h:
1847         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
1848         implementation of selectionBelongsToObject, and the code related
1849         to the implementation of the AtkText interface.
1850         (webkit_accessible_get_name): Update call to the former function
1851         webkit_accessible_text_get_text and use the new function name.
1852         (webkit_accessible_table_get_column_description): Ditto.
1853         (webkit_accessible_table_get_row_description): Ditto.
1854
1855         Add new files to build files.
1856
1857         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
1858         * WebCore.gypi: Ditto.
1859
1860 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1861
1862         [GTK] Refactor GTK's accessibilitity code to be more modular
1863         https://bugs.webkit.org/show_bug.cgi?id=76783
1864
1865         Reviewed by Martin Robinson.
1866
1867         New files for the implementation of the AtkValue interface,
1868         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1869
1870         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
1871         (core):
1872         (webkitAccessibleValueInterfaceInit):
1873         (webkitAccessibleValueGetCurrentValue):
1874         (webkitAccessibleValueGetMaximumValue):
1875         (webkitAccessibleValueGetMinimumValue):
1876         (webkitAccessibleValueSetCurrentValue):
1877         (webkitAccessibleValueGetMinimumIncrement):
1878         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
1879         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1880         related to the implementation of the AtkValue interface.
1881
1882         Add new files to build files.
1883
1884         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceValue.[h|cpp].
1885         * WebCore.gypi: Ditto.
1886
1887 2012-01-24  Antti Koivisto  <antti@apple.com>
1888
1889         Reduce internal use of CSSStyleDeclaration base class
1890         https://bugs.webkit.org/show_bug.cgi?id=76904
1891
1892         Reviewed by Andreas Kling.
1893
1894         Internally WebCore should use the more specific CSSMutableStyleDeclaration and CSSComputedStyleDeclaration types.
1895         The CSSStyleDeclaration base should be used in the DOM API functions only. This will make it easier to separate 
1896         internal style sheet implementation from the DOM in the future.
1897         
1898         - Switch CSSStyleDeclaration -> CSSMutableStyleDeclaration where feasible
1899         - Use StyledElement::ensureInlineStyleDecl() instead of Element::style() (which is a DOM API function)
1900         - Remove Attribute::style() which looks like a DOM API function but is not exposed.
1901
1902         * css/CSSMutableStyleDeclaration.h:
1903         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1904         * dom/Attr.h:
1905         (WebCore::Attr::style):
1906         * dom/Attribute.h:
1907         * editing/EditingStyle.cpp:
1908         (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
1909         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
1910         (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
1911         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
1912         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
1913         * editing/Editor.cpp:
1914         (WebCore::Editor::applyEditingStyleToElement):
1915         * editing/markup.cpp:
1916         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
1917         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1918         (WebCore::propertyMissingOrEqualToNone):
1919         * inspector/InspectorCSSAgent.cpp:
1920         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1921         * page/DragController.cpp:
1922         (WebCore::DragController::concludeEditDrag):
1923         * page/PageSerializer.cpp:
1924         (WebCore::PageSerializer::serializeFrame):
1925         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
1926         * page/PageSerializer.h:
1927         * rendering/RenderLayer.cpp:
1928         (WebCore::RenderLayer::resize):
1929         * svg/SVGStyledElement.cpp:
1930         (WebCore::SVGStyledElement::getPresentationAttribute):
1931
1932 2012-01-23  Andreas Kling  <awesomekling@apple.com>
1933
1934         Make elements that don't have attributes smaller.
1935         <http://webkit.org/b/76876>
1936
1937         Reviewed by Antti Koivisto.
1938
1939         Move the inline style declaration from StyledElement to NamedNodeMap, since having
1940         an inline style declaration also implies having a style attribute on the element.
1941         This saves one CPU word per element that has no attributes.
1942
1943         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
1944         HTML5 spec at <http://whatwg.org/c>.
1945
1946         * dom/NamedNodeMap.cpp:
1947         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
1948         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
1949         (WebCore::NamedNodeMap::createInlineStyleDecl):
1950         * dom/NamedNodeMap.h:
1951         (WebCore::NamedNodeMap::inlineStyleDecl):
1952         * dom/StyledElement.cpp:
1953         (WebCore::StyledElement::updateStyleAttribute):
1954         (WebCore::StyledElement::addSubresourceAttributeURLs):
1955         * dom/StyledElement.h:
1956         (WebCore::StyledElement::inlineStyleDecl):
1957         (WebCore::StyledElement::ensureInlineStyleDecl):
1958         (WebCore::StyledElement::destroyInlineStyleDecl):
1959
1960 2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
1961
1962         [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
1963         https://bugs.webkit.org/show_bug.cgi?id=76877
1964
1965         Reviewed by Kenneth Rohde Christiansen.
1966
1967         Add BitmapTexture::updateRawContents(), which allows uploading image data to a texture
1968         without changing its format or swizzling RGB. The data has to be in the texture's native
1969         format.
1970
1971         No new tests, this affects performance on all existing tests.
1972
1973         * platform/graphics/opengl/TextureMapperGL.cpp:
1974         (WebCore::BitmapTextureGL::updateRawContents):
1975         * platform/graphics/qt/TextureMapperQt.cpp:
1976         * platform/graphics/texmap/TextureMapper.h:
1977         (WebCore::BitmapTexture::updateRawContents):
1978         * platform/graphics/texmap/TextureMapperNode.cpp:
1979         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
1980         * platform/graphics/texmap/TextureMapperNode.h:
1981
1982 2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
1983
1984         Web Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
1985         https://bugs.webkit.org/show_bug.cgi?id=76908
1986
1987         Reviewed by Yury Semikhatsky.
1988
1989         * css/CSSMutableStyleDeclaration.cpp:
1990
1991 2012-01-24  Csaba Osztrogonác  <ossy@webkit.org>
1992
1993         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
1994         https://bugs.webkit.org/show_bug.cgi?id=76846
1995
1996         Reviewed by Tor Arne Vestbø.
1997
1998         * bindings/scripts/CodeGeneratorJS.pm: Warning fix after r105683.
1999         (WriteData):
2000
2001 2012-01-24  Andras Becsi  <andras.becsi@nokia.com>
2002
2003         [Qt] Fix the build with the newes Qt5 hashes
2004         https://bugs.webkit.org/show_bug.cgi?id=76657
2005
2006         Reviewed by Simon Hausmann.
2007
2008         No new tests needed.
2009
2010         * platform/graphics/cairo/OpenGLShims.cpp:
2011         (WebCore::getProcAddress): Adopt API changes.
2012
2013 2012-01-24  Ádám Kallai  <Kallai.Adam@stud.u-szeged.hu>
2014
2015         [Qt] Incremental build problem.
2016         https://bugs.webkit.org/show_bug.cgi?id=74687
2017
2018         It is necessary to set mathattrs.in dependency for generating MathMLNames.cpp file.
2019
2020         Reviewed by Csaba Osztrogonác.
2021
2022         * DerivedSources.pri:
2023         I added missing depend.
2024
2025 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2026
2027         [GTK] Refactor GTK's accessibilitity code to be more modular
2028         https://bugs.webkit.org/show_bug.cgi?id=76783
2029
2030         Reviewed by Martin Robinson.
2031
2032         New files for the implementation of the AtkSelection interface,
2033         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2034
2035         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: Added.
2036         (core):
2037         (listObjectForSelection):
2038         (optionFromList):
2039         (optionFromSelection):
2040         (webkitAccessibleSelectionInterfaceInit):
2041         (webkitAccessibleSelectionAddSelection):
2042         (webkitAccessibleSelectionClearSelection):
2043         (webkitAccessibleSelectionRefSelection):
2044         (webkitAccessibleSelectionGetSelectionCount):
2045         (webkitAccessibleSelectionIsChildSelected):
2046         (webkitAccessibleSelectionRemoveSelection):
2047         (webkitAccessibleSelectionSelectAllSelection):
2048         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Added.
2049         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2050         related to the implementation of the AtkSelection interface.
2051
2052         Add new files to build files.
2053
2054         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceSelection.[h|cpp].
2055         * WebCore.gypi: Ditto.
2056
2057 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2058
2059         [GTK] Refactor GTK's accessibilitity code to be more modular
2060         https://bugs.webkit.org/show_bug.cgi?id=76783
2061
2062         Reviewed by Martin Robinson.
2063
2064         New files for the implementation of the AtkImage interface,
2065         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2066
2067         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: Added.
2068         (core):
2069         (webkitAccessibleImageInterfaceInit):
2070         (webkitAccessibleImageGetImagePosition):
2071         (webkitAccessibleImageGetImageDescription):
2072         (webkitAccessibleImageGetImageSize):
2073         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Added.
2074         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2075         related to the implementation of the AtkImage interface.
2076
2077         Add new files to build files.
2078
2079         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceImage.[h|cpp].
2080         * WebCore.gypi: Ditto.
2081
2082 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2083
2084         [GTK] Refactor GTK's accessibilitity code to be more modular
2085         https://bugs.webkit.org/show_bug.cgi?id=76783
2086
2087         Reviewed by Martin Robinson.
2088
2089         New files for the implementation of the AtkHypertext interface,
2090         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2091
2092         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: Added.
2093         (core):
2094         (webkitAccessibleHypertextInterfaceInit):
2095         (webkitAccessibleHypertextGetLink):
2096         (webkitAccessibleHypertextGetNLinks):
2097         (webkitAccessibleHypertextGetLinkIndex):
2098         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Added.
2099         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2100         related to the implementation of the AtkHypertext interface.
2101
2102         Add new files to build files.
2103
2104         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHypertext.[h|cpp].
2105         * WebCore.gypi: Ditto.
2106
2107 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2108
2109         [GTK] Refactor GTK's accessibilitity code to be more modular
2110         https://bugs.webkit.org/show_bug.cgi?id=76783
2111
2112         Reviewed by Martin Robinson.
2113
2114         New files for the implementation of the AtkHyperlinkImpl interface,
2115         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2116
2117         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: Added.
2118         (webkitAccessibleHyperlinkImplInterfaceInit):
2119         (webkitAccessibleHyperlinkImplGetHyperlink):
2120         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Added.
2121         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2122         related to the implementation of the AtkHyperlinkImpl interface.
2123         (webkit_accessible_class_init):
2124
2125         Add new files to build files.
2126
2127         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHyperlinkImpl.[h|cpp].
2128         * WebCore.gypi: Ditto.
2129
2130 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2131
2132         [GTK] Refactor GTK's accessibilitity code to be more modular
2133         https://bugs.webkit.org/show_bug.cgi?id=76783
2134
2135         Reviewed by Martin Robinson.
2136
2137         New files for the implementation of the AtkEditableText interface,
2138         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2139
2140         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.
2141         (core):
2142         (webkitAccessibleEditableTextInterfaceInit):
2143         (webkitAccessibleEditableTextSetRunAttributes):
2144         (webkitAccessibleEditableTextSetTextContents):
2145         (webkitAccessibleEditableTextInsertText):
2146         (webkitAccessibleEditableTextCopyText):
2147         (webkitAccessibleEditableTextCutText):
2148         (webkitAccessibleEditableTextDeleteText):
2149         (webkitAccessibleEditableTextPasteText):
2150         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
2151         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2152         related to the implementation of the AtkEditableText interface.
2153
2154         Add new files to build files.
2155
2156         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
2157         * WebCore.gypi: Ditto.
2158
2159 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2160
2161         [GTK] Refactor GTK's accessibilitity code to be more modular
2162         https://bugs.webkit.org/show_bug.cgi?id=76783
2163
2164         Reviewed by Martin Robinson.
2165
2166         New files for the implementation of the AtkDocument interface,
2167         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2168
2169         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: Added.
2170         (core):
2171         (documentAttributeValue):
2172         (webkitAccessibleDocumentInterfaceInit):
2173         (webkitAccessibleDocumentGetAttributeValue):
2174         (webkitAccessibleDocumentGetAttributes):
2175         (webkitAccessibleDocumentGetLocale):
2176         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Added.
2177
2178         Move common function addAttributeToSet() out from the wrapper to
2179         the utility file, used from WebKitAccessibleInterfaceDocument.cpp.
2180
2181         * accessibility/gtk/WebKitAccessibleUtil.cpp:
2182         (addToAtkAttributeSet): Taken from WebKitAccessibleWrapperAtk.cpp.
2183         * accessibility/gtk/WebKitAccessibleUtil.h:
2184         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
2185         implementation of addAttributeToSet, as well as all the code related
2186         to the implementation of the AtkDocument interface.
2187
2188         Add new files to build files.
2189
2190         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceDocument.[h|cpp].
2191         * WebCore.gypi: Ditto.
2192
2193 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2194
2195         [GTK] Refactor GTK's accessibilitity code to be more modular
2196         https://bugs.webkit.org/show_bug.cgi?id=76783
2197
2198         Reviewed by Martin Robinson.
2199
2200         New files for the implementation of the AtkComponent interface,
2201         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2202
2203         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: Added.
2204         (core):
2205         (atkToContents):
2206         (webkitAccessibleComponentInterfaceInit):
2207         (webkitAccessibleComponentRefAccessibleAtPoint):
2208         (webkitAccessibleComponentGetExtents):
2209         (webkitAccessibleComponentGrabFocus):
2210         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Added.
2211
2212         Move common function contentsToAtk() out from the wrapper to the
2213         utility file, used from WebKitAccessibleInterfaceComponent.cpp.
2214
2215         * accessibility/gtk/WebKitAccessibleUtil.cpp:
2216         (contentsRelativeToAtkCoordinateType): Taken from WebKitAccessibleWrapperAtk.cpp.
2217         * accessibility/gtk/WebKitAccessibleUtil.h:
2218         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
2219         implementation of contentsToAtk, as well as all the code related
2220         to the implementation of the AtkComponent interface.
2221
2222         Add new files to build files.
2223
2224         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceComponent.[h|cpp].
2225         * WebCore.gypi: Ditto.
2226
2227 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2228
2229         [Refactoring] Makes finish() of CodeGeneratorV8.pm empty
2230         https://bugs.webkit.org/show_bug.cgi?id=76841
2231
2232         Reviewed by Adam Barth.
2233
2234         This is one of steps to stop rebuilding .h/.cpp files
2235         generated by unchanged IDLs (bug 76836).
2236
2237         As refactoring, we are planning to remove finish() from
2238         all CodeGenerators. This patch makes finish() of
2239         CodeGeneratorV8.pm empty.
2240
2241         No new tests. No change in behavior.
2242
2243         * bindings/scripts/CodeGeneratorV8.pm:
2244         (finish): Made it empty. We will remove finish() after
2245         making finish() of all CodeGenerators empty.
2246         (GenerateInterface): Modified to call WriteData().
2247         (WriteData): Simple code refactoring.
2248         Removed if(defined $IMPL).
2249         Removed if(defined $HEADER).
2250         $IMPL -> IMPL.
2251         $HEADER -> HEADER.
2252
2253 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2254
2255         Unreviewed build fix for GTK after r105698.
2256
2257         * bindings/js/JSPeerConnectionCustom.cpp:
2258         (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
2259
2260 2012-01-24  Kent Tamura  <tkent@chromium.org>
2261
2262         Fix build erros on Mac by r105706.
2263         https://bugs.webkit.org/show_bug.cgi?id=76763
2264
2265         * html/canvas/WebGLRenderingContext.cpp:
2266         (WebCore::WebGLRenderingContext::compressedTexImage2D): Removed unused argument names.
2267         (WebCore::WebGLRenderingContext::compressedTexSubImage2D): ditto.
2268
2269 2012-01-23  Kent Tamura  <tkent@chromium.org>
2270
2271         Introduce RadioButtonGroup class to keep track of the group members and required state
2272         https://bugs.webkit.org/show_bug.cgi?id=74909
2273
2274         Reviewed by Darin Adler.
2275
2276         RadioButtonGroup contains a set of member radio buttons in the group,
2277         and "required" status of the group. This helps implementing correct
2278         radio button validity, and improving performance of updating validity
2279         status of radio buttons.
2280
2281         This change fixes the following bugs:
2282         - A radio button should be "required" if one of a member of the same
2283           group has the "required" attribute.
2284           https://bugs.webkit.org/show_bug.cgi?id=76365
2285         - :invalid style is not applied when a checked radio button is removed
2286           from its radio group
2287           https://bugs.webkit.org/show_bug.cgi?id=74914
2288         - Loading a page with N radio buttons in a group takes O(N^2) time.
2289
2290         Tests: fast/forms/radio/radio-live-validation-style.html
2291                perf/adding-radio-buttons.html
2292
2293         * dom/CheckedRadioButtons.cpp:
2294         (WebCore::RadioButtonGroup::isEmpty):
2295         (WebCore::RadioButtonGroup::isRequired):
2296         (WebCore::RadioButtonGroup::checkedButton):
2297         (WebCore::RadioButtonGroup::RadioButtonGroup):
2298         (WebCore::RadioButtonGroup::create):
2299         (WebCore::RadioButtonGroup::isValid):
2300         (WebCore::RadioButtonGroup::setCheckedButton):
2301         (WebCore::RadioButtonGroup::add):
2302         (WebCore::RadioButtonGroup::updateCheckedState):
2303         (WebCore::RadioButtonGroup::requiredAttributeChanged):
2304         (WebCore::RadioButtonGroup::remove):
2305         (WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons):
2306         Add RadioButtonGroup class. It keeps track of pointers to member radio
2307         buttons and required status of the group in addition to the checked
2308         radio button pointer.
2309
2310         (WebCore::CheckedRadioButtons::CheckedRadioButtons):
2311         (WebCore::CheckedRadioButtons::~CheckedRadioButtons):
2312         Define empty constructor and destructor in order to avoid exposing
2313         RadioButtonGroup class.
2314
2315         (WebCore::CheckedRadioButtons::addButton):
2316         (WebCore::CheckedRadioButtons::updateCheckedState):
2317         (WebCore::CheckedRadioButtons::requiredAttributeChanged):
2318         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
2319         (WebCore::CheckedRadioButtons::isInRequiredGroup):
2320         (WebCore::CheckedRadioButtons::removeButton):
2321         Change the HashMap member of this class so that it maps a group name to
2322         a RadioButtonGroup object. These functions just get a RadioButtonGroup
2323         object and call a corresponding member function of RadioButtonGroup.
2324
2325         * dom/CheckedRadioButtons.h: Update declarations.
2326
2327         * html/HTMLFormControlElement.cpp:
2328         (WebCore::HTMLFormControlElement::parseMappedAttribute):
2329         (WebCore::HTMLFormControlElement::requiredAttributeChanged):
2330         Move a part of parseMappedAttribute() into requiredAttributeChanged().
2331         * html/HTMLFormControlElement.h: Add requiredAttributeChanged().
2332         * html/HTMLInputElement.cpp:
2333         (WebCore::HTMLInputElement::valueMissing):
2334         Move required check code to InputType::valueMissing implementations.
2335         RadioInputType needs special handling for checking required state.
2336         readOnly() and disabled() are unnecessary because willValidate() checks them.
2337         (WebCore::HTMLInputElement::setChecked):
2338         Call new function CheckedRadioButtons::updateCheckedState() instead of
2339         removeButton() and updateCheckedRadioButtons().
2340         (WebCore::HTMLInputElement::requiredAttributeChanged):
2341         Override this to call CheckedRadioButtons::requiredAttributeChanged().
2342         * html/HTMLInputElement.h: Add requiredAttributeChanged().
2343         * html/RadioInputType.cpp:
2344         (WebCore::RadioInputType::valueMissing):
2345         Check required state by CheckedRadioButtons::isInRequiredGroup().
2346         * html/RadioInputType.h: Remove attach().
2347
2348         * html/CheckboxInputType.cpp:
2349         (WebCore::CheckboxInputType::valueMissing):
2350           Move required check from HTMLInputElement::valueMissing().
2351         * html/FileInputType.cpp:
2352         (WebCore::FileInputType::valueMissing): ditto.
2353         * html/TextFieldInputType.cpp:
2354         (WebCore::TextFieldInputType::valueMissing): ditto.
2355
2356 2012-01-24  Noel Gordon  <noel.gordon@gmail.com>
2357
2358         [chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
2359         https://bugs.webkit.org/show_bug.cgi?id=76804
2360
2361         Reviewed by Adam Barth.
2362
2363         Use color profiles for PNG images only if their embedded color profile is from an RGB
2364         color space input device.
2365
2366         Test: fast/images/rgb-png-with-cmyk-color-profile.html
2367
2368         * platform/image-decoders/ImageDecoder.h:
2369         (WebCore::ImageDecoder::rgbColorProfile): Return true if the profile has an RGB color space.
2370         (WebCore::ImageDecoder::inputDeviceColorProfile): Return true if the profile is from an input device.
2371         * platform/image-decoders/png/PNGImageDecoder.cpp:
2372         (WebCore::readColorProfile): Ignore PNG image embedded color profile unless the profile
2373         comes from an RGB color space input device.
2374         (WebCore::PNGImageDecoder::headerAvailable): Minor white-space removals courtesy Xcode.
2375
2376 2012-01-23  Pavel Podivilov  <podivilov@chromium.org>
2377
2378         Web Inspector: fix sticky DOM breakpoints.
2379         https://bugs.webkit.org/show_bug.cgi?id=64437
2380
2381         Reviewed by Yury Semikhatsky.
2382
2383         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2384         (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
2385
2386 2012-01-24  Gregg Tavares  <gman@google.com>
2387
2388         Expose WebGL texture compression methods on WebGLRenderingContext
2389         https://bugs.webkit.org/show_bug.cgi?id=76763
2390
2391         Reviewed by Kenneth Russell.
2392
2393         Test: fast/canvas/webgl/compressed-tex-image.html
2394
2395         * html/canvas/WebGLRenderingContext.cpp:
2396         (WebCore::WebGLRenderingContext::compressedTexImage2D):
2397         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
2398         * html/canvas/WebGLRenderingContext.h:
2399         * html/canvas/WebGLRenderingContext.idl:
2400
2401 2012-01-24  Kenichi Ishibashi  <bashi@chromium.org>
2402
2403         [V8] Add Uint8ClampedArray support
2404         https://bugs.webkit.org/show_bug.cgi?id=76803
2405
2406         Reviewed by Kenneth Russell.
2407
2408         No new tests. fast/js/script-tests/dfg-uint8clampedarray.js should pass on chromium port.
2409
2410         * WebCore.gypi: Added required files.
2411         * bindings/scripts/CodeGeneratorV8.pm:
2412         (IsTypedArrayType): Added Uint8ClampedArray.
2413         * bindings/v8/SerializedScriptValue.cpp: Added the tag for Uint8ClampedArray.
2414         (WebCore::V8ObjectMap::Writer::writeArrayBufferView): Appends the tag when buffer is Uint8ClampedArray.
2415         (WebCore::V8ObjectMap::Reader::readArrayBufferView): Creates Uint8ClampedArray instance when the tag represents Uint8ClampedArray.
2416         * bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
2417         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Added.
2418         (WebCore::V8Uint8ClampedArray::constructorCallback):
2419         (WebCore::V8Uint8ClampedArray::setCallback):
2420         (WebCore::toV8):
2421         * page/Crypto.cpp: Added isUnsignedByteClampedArray() call to isIntegerArray().
2422         * page/DOMWindow.idl: Removed ifdefs.
2423         * workers/WorkerContext.idl: Added Uint8ArrayConstructor.
2424
2425 2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
2426
2427         Unreviewed build fix for GTK Debug build after r105698.
2428
2429         * bindings/js/JSNavigatorCustom.cpp:
2430         (WebCore::JSNavigator::webkitGetUserMedia):
2431
2432 2012-01-23  Scott Graham  <scottmg@chromium.org>
2433
2434         Avoid spurious rebuilds on vs2010 due to DerivedSources not existing
2435         https://bugs.webkit.org/show_bug.cgi?id=76873
2436
2437         Reviewed by Adam Barth.
2438
2439         * WebCore.gyp/WebCore.gyp:
2440
2441 2012-01-23  Geoffrey Garen  <ggaren@apple.com>
2442
2443         JSValue::toString() should return a JSString* instead of a UString
2444         https://bugs.webkit.org/show_bug.cgi?id=76861
2445
2446         Reviewed by Gavin Barraclough.
2447
2448         Mechanical changes to call value() after calling toString(), to
2449         convert from "JS string" (JSString*) to "C++ string" (UString), since
2450         toString() no longer returns a "C++ string".
2451
2452         * bindings/js/IDBBindingUtilities.cpp:
2453         (WebCore::createIDBKeyFromValue):
2454         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2455         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
2456         * bindings/js/JSClipboardCustom.cpp:
2457         (WebCore::JSClipboard::clearData):
2458         (WebCore::JSClipboard::getData):
2459         * bindings/js/JSCustomXPathNSResolver.cpp:
2460         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2461         * bindings/js/JSDOMBinding.cpp:
2462         (WebCore::valueToStringWithNullCheck):
2463         (WebCore::valueToStringWithUndefinedOrNullCheck):
2464         (WebCore::reportException):
2465         * bindings/js/JSDOMFormDataCustom.cpp:
2466         (WebCore::JSDOMFormData::append):
2467         * bindings/js/JSDOMStringMapCustom.cpp:
2468         (WebCore::JSDOMStringMap::putDelegate):
2469         * bindings/js/JSDOMWindowCustom.cpp:
2470         (WebCore::JSDOMWindow::setLocation):
2471         (WebCore::JSDOMWindow::open):
2472         (WebCore::JSDOMWindow::addEventListener):
2473         (WebCore::JSDOMWindow::removeEventListener):
2474         * bindings/js/JSDeviceMotionEventCustom.cpp:
2475         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
2476         * bindings/js/JSDeviceOrientationEventCustom.cpp:
2477         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
2478         * bindings/js/JSDictionary.cpp:
2479         (WebCore::JSDictionary::convertValue):
2480         * bindings/js/JSDocumentCustom.cpp:
2481         (WebCore::JSDocument::setLocation):
2482         * bindings/js/JSEventListener.cpp:
2483         (WebCore::JSEventListener::handleEvent):
2484         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2485         (WebCore::callHTMLAllCollection):
2486         (WebCore::JSHTMLAllCollection::item):
2487         (WebCore::JSHTMLAllCollection::namedItem):
2488         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2489         (WebCore::JSHTMLCanvasElement::getContext):
2490         * bindings/js/JSHTMLCollectionCustom.cpp:
2491         (WebCore::JSHTMLCollection::item):
2492         (WebCore::JSHTMLCollection::namedItem):
2493         * bindings/js/JSHTMLDocumentCustom.cpp:
2494         (WebCore::documentWrite):
2495         * bindings/js/JSHTMLInputElementCustom.cpp:
2496         (WebCore::JSHTMLInputElement::setSelectionDirection):
2497         (WebCore::JSHTMLInputElement::setSelectionRange):
2498         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2499         (WebCore::JSInspectorFrontendHost::showContextMenu):
2500         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2501         (WebCore::JSJavaScriptCallFrame::evaluate):
2502         * bindings/js/JSLocationCustom.cpp:
2503         (WebCore::JSLocation::setHref):
2504         (WebCore::JSLocation::setProtocol):
2505         (WebCore::JSLocation::setHost):
2506         (WebCore::JSLocation::setHostname):
2507         (WebCore::JSLocation::setPort):
2508         (WebCore::JSLocation::setPathname):
2509         (WebCore::JSLocation::setSearch):
2510         (WebCore::JSLocation::setHash):
2511         (WebCore::JSLocation::replace):
2512         (WebCore::JSLocation::assign):
2513         * bindings/js/JSMessageEventCustom.cpp:
2514         (WebCore::handleInitMessageEvent):
2515         * bindings/js/JSSQLTransactionCustom.cpp:
2516         (WebCore::JSSQLTransaction::executeSql):
2517         * bindings/js/JSSQLTransactionSyncCustom.cpp:
2518         (WebCore::JSSQLTransactionSync::executeSql):
2519         * bindings/js/JSSharedWorkerCustom.cpp:
2520         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
2521         * bindings/js/JSStorageCustom.cpp:
2522         (WebCore::JSStorage::putDelegate):
2523         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2524         (WebCore::JSWebGLRenderingContext::getExtension):
2525         * bindings/js/JSWebSocketCustom.cpp:
2526         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
2527         (WebCore::JSWebSocket::send):
2528         (WebCore::JSWebSocket::close):
2529         * bindings/js/JSWorkerContextCustom.cpp:
2530         (WebCore::JSWorkerContext::importScripts):
2531         * bindings/js/JSWorkerCustom.cpp:
2532         (WebCore::JSWorkerConstructor::constructJSWorker):
2533         * bindings/js/JSXMLHttpRequestCustom.cpp:
2534         (WebCore::JSXMLHttpRequest::open):
2535         (WebCore::JSXMLHttpRequest::send):
2536         * bindings/js/JSXSLTProcessorCustom.cpp:
2537         (WebCore::JSXSLTProcessor::setParameter):
2538         (WebCore::JSXSLTProcessor::getParameter):
2539         (WebCore::JSXSLTProcessor::removeParameter):
2540         * bindings/js/ScheduledAction.cpp:
2541         (WebCore::ScheduledAction::create):
2542         * bindings/js/ScriptEventListener.cpp:
2543         (WebCore::eventListenerHandlerBody):
2544         * bindings/js/ScriptValue.cpp:
2545         (WebCore::ScriptValue::toString):
2546         * bindings/scripts/CodeGeneratorJS.pm:
2547         (GenerateEventListenerCall):
2548         (JSValueToNative):
2549         (GenerateConstructorDefinition):
2550         * bridge/c/c_utility.cpp:
2551         (JSC::Bindings::convertValueToNPVariant):
2552         * bridge/jni/jni_jsobject.mm:
2553         (JavaJSObject::convertValueToJObject):
2554         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2555         (JSC::Bindings::convertArrayInstanceToJavaArray):
2556         (JSC::Bindings::convertValueToJValue):
2557         * bridge/jni/jsc/JavaFieldJSC.cpp:
2558         (JavaField::dispatchValueFromInstance):
2559         (JavaField::valueFromInstance):
2560         (JavaField::dispatchSetValueToInstance):
2561         (JavaField::setValueToInstance):
2562         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2563         (JavaInstance::invokeMethod):
2564         * testing/js/JSInternalsCustom.cpp:
2565         (WebCore::JSInternals::setUserPreferredLanguages):
2566
2567 2012-01-23  Kentaro Hara  <haraken@chromium.org>
2568
2569         In CodeGeneratorObjC.pm, overwrite the output .h/.mm
2570         only if the bytes differ
2571         https://bugs.webkit.org/show_bug.cgi?id=76874
2572
2573         Reviewed by Adam Barth.
2574
2575         This is one of steps to stop rebuilding .h/.cpp/.mm files
2576         generated by unchanged IDLs (bug 76836).
2577         This patch makes a change on CodeGeneratorObjC.pm so that
2578         it overwrites the output .h/.mm only if the bytes differ.
2579
2580         No tests. No change in behavior.
2581         I manually confirmed that when I add a new attribute to Element.idl,
2582         the time-stamps of unrelated DOM*.h and DOM*.mm do not change.
2583
2584         * bindings/scripts/CodeGenerator.pm:
2585         (UpdateFileIfChanged): Added. This method writes data to a file
2586         only if the data is different from the data in the current file.
2587         * bindings/scripts/CodeGeneratorObjC.pm:
2588         (WriteData): Used UpdateFileIfChanged().
2589
2590 2012-01-23  Alexey Proskuryakov  <ap@apple.com>
2591
2592         REGRESSION: Downloaded file name fallback encodings are not set correctly
2593         https://bugs.webkit.org/show_bug.cgi?id=76862
2594
2595         Reviewed by Adam Barth.
2596
2597         Tests: http/tests/download/default-encoding.html
2598                http/tests/download/form-submission-result.html
2599                http/tests/download/inherited-encoding.html
2600                http/tests/download/literal-utf-8.html
2601
2602         * loader/DocumentWriter.cpp:
2603         * loader/DocumentWriter.h:
2604         Removed deprecatedFrameEncoding. Due to changes in Document::encoding behavior, it can now
2605         be used in its place.
2606
2607         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Instead of hunting
2608         down a correct loader (and active one is not always correct any more), just use opening document's
2609         encoding.
2610
2611 2012-01-23  Ojan Vafai  <ojan@chromium.org>
2612
2613         Implement flex-pack:distribute
2614         https://bugs.webkit.org/show_bug.cgi?id=76864
2615
2616         Reviewed by Tony Chang.
2617
2618         See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.
2619
2620         * css/CSSParser.cpp:
2621         (WebCore::CSSParser::parseValue):
2622         * css/CSSPrimitiveValueMappings.h:
2623         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2624         (WebCore::CSSPrimitiveValue::operator EFlexPack):
2625         * css/CSSValueKeywords.in:
2626         * rendering/RenderFlexibleBox.cpp:
2627         (WebCore::initialPackingOffset):
2628         (WebCore::packingSpaceBetweenChildren):
2629         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2630         (WebCore::RenderFlexibleBox::layoutColumnReverse):
2631         * rendering/style/RenderStyleConstants.h:
2632         * rendering/style/StyleFlexibleBoxData.h:
2633
2634 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
2635
2636         Implement CSS clip property in CSSStyleApplyProperty.
2637         https://bugs.webkit.org/show_bug.cgi?id=74913
2638
2639         Reviewed by Andreas Kling.
2640
2641         No new tests / refactoring only.
2642
2643         * css/CSSPrimitiveValue.h:
2644         * css/CSSPrimitiveValueMappings.h:
2645         (WebCore::CSSPrimitiveValue::convertToLength):
2646         This new function aims to provide a single call for converting many CSSPrimitiveValue
2647         values to Lengths. It is templated to allow the caller to specify which conversions
2648         are appropriate depending on the context in which the value is used.
2649         * css/CSSStyleApplyProperty.cpp:
2650         (WebCore::ApplyPropertyClip::convertToLength):
2651         (WebCore::ApplyPropertyClip::applyInheritValue):
2652         (WebCore::ApplyPropertyClip::applyInitialValue):
2653         (WebCore::ApplyPropertyClip::applyValue):
2654         (WebCore::ApplyPropertyClip::createHandler):
2655         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2656         * css/CSSStyleSelector.cpp:
2657         (WebCore::CSSStyleSelector::applyProperty):
2658
2659 2012-01-23  Tom Sepez  <tsepez@chromium.org>
2660
2661         decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
2662         https://bugs.webkit.org/show_bug.cgi?id=71316
2663
2664         Reviewed by Daniel Bates.
2665
2666         Pass trailing unescaped bytes into the character set decoder to get correct
2667         results in the presence of encodings which re-use ASCII values in sequences.
2668         
2669         Tests: http/tests/navigation/anchor-frames-gbk.html
2670                http/tests/security/xssAuditor/iframe-onload-GBK-char.html
2671                http/tests/security/xssAuditor/img-onerror-GBK-char.html
2672                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
2673                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
2674                http/tests/security/xssAuditor/script-tag-Big5-char.html
2675                http/tests/security/xssAuditor/script-tag-Big5-char2.html
2676
2677         * platform/text/DecodeEscapeSequences.h:
2678         (WebCore::Unicode16BitEscapeSequence::findInString):
2679         (WebCore::Unicode16BitEscapeSequence::findEndOfRun):
2680         (WebCore::Unicode16BitEscapeSequence::decodeRun):
2681         (WebCore::URLEscapeSequence::findInString):
2682         (WebCore::URLEscapeSequence::findEndOfRun):
2683         (WebCore::URLEscapeSequence::decodeRun):
2684         (WebCore::decodeEscapeSequences):
2685
2686 2012-01-23  Adam Barth  <abarth@webkit.org>
2687
2688         Fix a build break in a clean compile of the Chromium port (at least
2689         reported by tbreisacher).
2690
2691         * css/CSSStyleDeclaration.cpp:
2692
2693 2012-01-23  Zan Dobersek  <zandobersek@gmail.com>
2694
2695         [GTK] editing/deleting/5408255.html results are incorrect
2696         https://bugs.webkit.org/show_bug.cgi?id=53644
2697
2698         Reviewed by Martin Robinson.
2699
2700         When the WEBKIT_TOP_LEVEL environment variable is set, resources
2701         should be loaded from the source tree to which the variable is
2702         pointing. This approach is used when performing testing on the
2703         Gtk port.
2704
2705         No new tests, changes cause one test to pass.
2706
2707         * platform/graphics/gtk/ImageGtk.cpp:
2708         (getPathToImageResource): Also make changes to the resource path
2709         construction code on Windows.
2710         (WebCore::Image::loadPlatformResource):
2711
2712 2012-01-23  Julien Chaffraix  <jchaffraix@webkit.org>
2713
2714         Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
2715         https://webkit.org/b/76842
2716
2717         Reviewed by Darin Adler.
2718
2719         Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html
2720
2721         The issue was that we would access our section's structure when it was dirty.
2722
2723         * rendering/RenderTableSection.cpp:
2724         (WebCore::RenderTableSection::rowLogicalHeightChanged):
2725         Bail out if we need cells recalculation as our internal structure is not up-to-date
2726         and we will recompute all the rows' heights as part of the recomputation anyway.
2727
2728 2012-01-23  Kentaro Hara  <haraken@chromium.org>
2729
2730         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
2731         https://bugs.webkit.org/show_bug.cgi?id=76846
2732
2733         Reviewed by Adam Barth.
2734
2735         This is one of steps to stop rebuilding .h/.cpp files generated
2736         by unchanged IDLs (bug 76836).
2737
2738         As a refactoring, we are planning to remove finish() from all
2739         CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
2740         empty.
2741
2742         No new tests. No change in behavior.
2743
2744         * bindings/scripts/CodeGeneratorJS.pm:
2745         (finish): Made it empty. We will remove finish() after
2746         making finish() of all CodeGenerators empty.
2747         (GenerateInterface): Modified to call WriteData().
2748         (WriteData): Simple code refactoring.
2749         Removed if(defined $IMPL).
2750         Removed if(defined $HEADER).
2751         Removed if(defined $DEPS).
2752         $IMPL -> IMPL.
2753         $HEADER -> HEADER.
2754         $DEPS -> DEPS.
2755
2756 2012-01-23  Shawn Singh  <shawnsingh@chromium.org>
2757
2758         [chromium] updateRect is incorrect when contentBounds != bounds
2759         https://bugs.webkit.org/show_bug.cgi?id=72919
2760
2761         Reviewed by James Robinson.
2762
2763         Unit test added to TiledLayerChromiumTest.cpp
2764
2765         The m_updateRect member in LayerChromium types is used to track
2766         what was painted for that layer. For tiled layers (especially
2767         image layers), the updateRect was being given with respect to the
2768         size of the content, rather than the size of the layer. This patch
2769         adds a conversion so that updateRect is always with respect to the
2770         layer size, so that damage tracking will work correctly in those
2771         cases.
2772
2773         * platform/graphics/chromium/LayerChromium.h:
2774         * platform/graphics/chromium/TiledLayerChromium.cpp:
2775         (WebCore::TiledLayerChromium::updateCompositorResources):
2776
2777 2012-01-23  Konrad Piascik  <kpiascik@rim.com>
2778
2779         Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
2780         https://bugs.webkit.org/show_bug.cgi?id=76706
2781
2782         Reviewed by Pavel Feldman.
2783
2784         Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
2785         return the text to InspectorFrontendHost.copyText.  This will make all copy
2786         functions use the same code path.
2787
2788         Not testable.
2789
2790         * inspector/Inspector.json:
2791         * inspector/InspectorDOMAgent.cpp:
2792         * inspector/InspectorDOMAgent.h:
2793         * inspector/front-end/DOMAgent.js:
2794         (WebInspector.DOMNode.prototype.copyNode.copy):
2795         (WebInspector.DOMNode.prototype.copyNode):
2796
2797 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
2798
2799         Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
2800         https://bugs.webkit.org/show_bug.cgi?id=69490
2801
2802         Reviewed by Andreas Kling.
2803
2804         Covered by existing tests.
2805
2806         * css/CSSPrimitiveValue.cpp:
2807         (WebCore::CSSPrimitiveValue::computeLength):
2808         Use float multiplier instead of double.
2809         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2810         Use float multiplier instead of double.
2811         * css/CSSPrimitiveValue.h:
2812         Change type signatures of computeLength template prototype.
2813
2814 2012-01-23  Priit Laes  <plaes@plaes.org>
2815
2816         [GTK][PATCH] More build silencing with (AM_V_...)
2817         https://bugs.webkit.org/show_bug.cgi?id=76791
2818
2819         Reviewed by Gustavo Noronha Silva.
2820
2821         * GNUmakefile.am: Silence is golden...
2822
2823 2012-01-23  Arko Saha  <nghq36@motorola.com>
2824
2825         MicroData: Remove ExceptionCode& from setAttribute() call.
2826         https://bugs.webkit.org/show_bug.cgi?id=76695
2827
2828         Reviewed by Hajime Morita.
2829
2830         Changeset http://trac.webkit.org/changeset/103296 removed unused
2831         ExceptionCode& argument from Element::setAttribute(QualifiedName).
2832         Hence updating all calls to setAttribute() method in MicroData code.
2833
2834         * html/HTMLAnchorElement.cpp:
2835         (WebCore::HTMLAnchorElement::setItemValueText):
2836         * html/HTMLAreaElement.cpp:
2837         (WebCore::HTMLAreaElement::setItemValueText):
2838         * html/HTMLEmbedElement.cpp:
2839         (WebCore::HTMLEmbedElement::setItemValueText):
2840         * html/HTMLIFrameElement.cpp:
2841         (WebCore::HTMLIFrameElement::setItemValueText):
2842         * html/HTMLImageElement.cpp:
2843         (WebCore::HTMLImageElement::setItemValueText):
2844         * html/HTMLLinkElement.cpp:
2845         (WebCore::HTMLLinkElement::setItemValueText):
2846         * html/HTMLMediaElement.cpp:
2847         (WebCore::HTMLMediaElement::setItemValueText):
2848         * html/HTMLMetaElement.cpp:
2849         (WebCore::HTMLMetaElement::setItemValueText):
2850         * html/HTMLObjectElement.cpp:
2851         (WebCore::HTMLObjectElement::setItemValueText):
2852         * html/HTMLSourceElement.cpp:
2853         (WebCore::HTMLSourceElement::setItemValueText):
2854         * html/HTMLTrackElement.cpp:
2855         (WebCore::HTMLTrackElement::setItemValueText):
2856
2857 2012-01-23  Hayato Ito  <hayato@chromium.org>
2858
2859         Fix crash when a focused node is removed while in processing focusin event.
2860         https://bugs.webkit.org/show_bug.cgi?id=76656
2861
2862         Reviewed by Dimitri Glazkov.
2863
2864         Test: fast/events/focus-remove-focuesed-node.html
2865
2866         * dom/Document.cpp:
2867         (WebCore::Document::setFocusedNode):
2868
2869 2012-01-23  David Levin  <levin@chromium.org>
2870
2871         [windows] Convert usages of GetDC to HWndDC Part 1.
2872         https://bugs.webkit.org/show_bug.cgi?id=76744
2873
2874         Reviewed by Adam Roben.
2875
2876         No new functionality so no new tests.
2877
2878         * platform/graphics/win/FontCacheWin.cpp:
2879         (WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
2880         and removed ReleaseDC.
2881         (WebCore::createGDIFont): Ditto.
2882         (WebCore::FontCache::getTraitsInFamily): Ditto.
2883         * platform/graphics/win/FontPlatformDataWin.cpp:
2884         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2885         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2886         (WebCore::SimpleFontData::platformInit): Ditto.
2887         * platform/graphics/win/SimpleFontDataWin.cpp:
2888         (WebCore::SimpleFontData::initGDIFont): Ditto.
2889         (WebCore::SimpleFontData::containsCharacters): Ditto.
2890         (WebCore::SimpleFontData::determinePitch): Ditto.
2891         (WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
2892         (WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
2893         (WebCore::SimpleFontData::scriptFontProperties): Ditto.
2894         * platform/win/CursorWin.cpp:
2895         (WebCore::createSharedCursor): Ditto.
2896         * platform/win/DragImageCGWin.cpp:
2897         (WebCore::scaleDragImage): Ditto.
2898         (WebCore::createDragImageFromImage): Ditto.
2899         * platform/win/DragImageWin.cpp:
2900         (WebCore::createDragImageForLink): Ditto.
2901         * platform/win/PasteboardWin.cpp:
2902         (WebCore::Pasteboard::writeImage): Ditto.
2903
2904 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
2905
2906         [GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
2907         https://bugs.webkit.org/show_bug.cgi?id=76747
2908
2909         Reviewed by Gustavo Noronha Silva.
2910
2911         No new tests. Regressions are covered by existing tests, but testing
2912         different GTK+ theme configurations is not possible yet.
2913
2914         * platform/gtk/ScrollbarThemeGtk.cpp:
2915         (WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
2916         (WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
2917         (WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
2918         no steppers.
2919         * platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
2920         * platform/gtk/ScrollbarThemeGtk2.cpp:
2921         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
2922         are primary foward and back steppers.
2923         * platform/gtk/ScrollbarThemeGtk3.cpp:
2924         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
2925
2926 2012-01-23  Ryosuke Niwa  <rniwa@webkit.org>
2927
2928         REGRESSION(r105396): drag state is not cleared after each drag
2929         https://bugs.webkit.org/show_bug.cgi?id=76878
2930
2931         Reviewed by Alexey Proskuryakov.
2932
2933         Revert a part of r105396 that made performDragAndDrop not call clearDragState
2934         when the default action was not prevented since it caused a regression.
2935
2936         I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
2937         but I can't think of a test case where this becomes a problem at the moment.
2938         Since this area is not well tested, revert the change instead of making further
2939         changes to the code base.
2940
2941         Tests: fast/events/clear-drag-state.html
2942                fast/events/clear-edit-drag-state.html
2943
2944         * page/EventHandler.cpp:
2945         (WebCore::EventHandler::performDragAndDrop):
2946
2947 2012-01-23  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
2948
2949         Fixed typo in exception messages
2950         https://bugs.webkit.org/show_bug.cgi?id=76710
2951
2952         Reviewed by Alexey Proskuryakov.
2953
2954         * dom/DOMCoreException.cpp:
2955         * fileapi/FileException.cpp:
2956         * storage/SQLTransaction.cpp:
2957         (WebCore::SQLTransaction::openTransactionAndPreflight):
2958         (WebCore::SQLTransaction::postflightAndCommit):
2959         * xml/XMLHttpRequestException.cpp:
2960
2961 2012-01-18  David Levin  <levin@chromium.org>
2962
2963         Allow delayed DC allocation in HWndDC.
2964         https://bugs.webkit.org/show_bug.cgi?id=76737
2965
2966         Reviewed by Adam Roben.
2967
2968         No new functionality exposed so no new tests.
2969
2970         * platform/win/HWndDC.h: Changed this slightly to allow
2971         for allocating a window DC after the initial creation since
2972         this pattern occurrs in several places so this makes it easy to
2973         replace them in an upcoming change.
2974         (WebCore::HWndDC::HWndDC):
2975         (WebCore::HWndDC::~HWndDC):
2976         (WebCore::HWndDC::setHWnd):
2977         (WebCore::HWndDC::clear):
2978
2979 2012-01-23  Arko Saha  <nghq36@motorola.com>
2980
2981         MicroData: Compilation error while building Webkit with --microdata.
2982         https://bugs.webkit.org/show_bug.cgi?id=76703
2983
2984         Reviewed by Hajime Morita.
2985
2986         * dom/MicroDataItemList.cpp:
2987         (WebCore::MicroDataItemList::MicroDataItemList):
2988         (WebCore::MicroDataItemList::~MicroDataItemList):
2989         * dom/MicroDataItemList.h:
2990         * dom/NodeRareData.h:
2991         (WebCore::NodeRareData::properties):
2992         * html/HTMLPropertiesCollection.cpp:
2993         (WebCore::HTMLPropertiesCollection::create):
2994         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
2995         * html/HTMLPropertiesCollection.h:
2996
2997 2012-01-13  David Levin  <levin@chromium.org>
2998
2999         [chromium] Convert uses of GetDC to HWndDC.
3000         https://bugs.webkit.org/show_bug.cgi?id=76290
3001
3002         Reviewed by Dmitry Titov.
3003
3004         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3005         (WebCore::createFontIndirectAndGetWinName):
3006         (WebCore::fontContainsCharacter):
3007         (WebCore::FontCache::getLastResortFallbackFont):
3008         (WebCore::FontCache::getTraitsInFamily):
3009         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3010         (WebCore::FontPlatformData::scriptFontProperties):
3011         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
3012         (WebCore::FontMap::getAscent):
3013         (WebCore::FontMap::getSpaceGlyph):
3014         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
3015         (WebCore::fillBMPGlyphs):
3016         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3017         (WebCore::SimpleFontData::platformInit):
3018         (WebCore::SimpleFontData::determinePitch):
3019         (WebCore::SimpleFontData::platformWidthForGlyph):
3020         * platform/graphics/chromium/UniscribeHelper.cpp:
3021         (WebCore::UniscribeHelper::EnsureCachedDCCreated):
3022         * rendering/RenderThemeChromiumWin.cpp:
3023         (WebCore::systemFontSize):
3024         (WebCore::pointsToPixels):
3025
3026 2012-01-23  Joe Thomas  <joethomas@motorola.com>
3027
3028         https://bugs.webkit.org/show_bug.cgi?id=75799
3029         Calling intersectsNode on a detached range should throw.
3030
3031         INVALID_STATE_ERR exception should be thrown if intersectsNode is called on a detached Range.
3032
3033         Reviewed by Darin Adler.
3034
3035         Test: fast/dom/Range/range-intersectsNode-exception.html
3036
3037         * dom/Range.cpp:
3038         (WebCore::Range::intersectsNode): Throwing INVALID_STATE_ERR exception if the range is detached.
3039
3040 2012-01-23  Daniel Cheng  <dcheng@chromium.org>
3041
3042         Convert DataTransferItem/DataTransferItemList back into an interface class
3043         https://bugs.webkit.org/show_bug.cgi?id=76856
3044
3045         When Qt implemented the DataTransferItemList, a lot of logic was moved into the shared
3046         classes since Chromium/Qt happened to implement it the same way. Now that I want to do some
3047         refactoring/cleanup work to better implement DataTransferItemList in Chromium, we won't
3048         share the same data anymore so it doesn't make sense to keep that code in a common location.
3049
3050         Reviewed by David Levin.
3051
3052         Covered by existing tests.
3053
3054         * CMakeLists.txt:
3055         * GNUmakefile.list.am:
3056         * Target.pri:
3057         * WebCore.gypi:
3058         * WebCore.vcproj/WebCore.vcproj:
3059         * WebCore.xcodeproj/project.pbxproj:
3060         * dom/DataTransferItem.cpp:
3061         * dom/DataTransferItem.h:
3062         * dom/DataTransferItemList.cpp: Removed.
3063         * dom/DataTransferItemList.h:
3064         * platform/chromium/ClipboardChromium.cpp:
3065         (WebCore::ClipboardChromium::mayUpdateItems):
3066         * platform/chromium/DataTransferItemChromium.cpp:
3067         (WebCore::DataTransferItemChromium::create):
3068         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
3069         (WebCore::DataTransferItemChromium::getAsString):
3070         (WebCore::DataTransferItemChromium::getAsFile):
3071         (WebCore::DataTransferItemChromium::clipboardChromium):
3072         * platform/chromium/DataTransferItemChromium.h:
3073         (WebCore::DataTransferItemChromium::kind):
3074         (WebCore::DataTransferItemChromium::type):
3075         * platform/chromium/DataTransferItemListChromium.cpp:
3076         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
3077         * platform/chromium/DataTransferItemListChromium.h:
3078         * platform/qt/DataTransferItemListQt.cpp:
3079         (WebCore::DataTransferItemListQt::DataTransferItemListQt):
3080         (WebCore::DataTransferItemListQt::length):
3081         (WebCore::DataTransferItemListQt::item):
3082         (WebCore::DataTransferItemListQt::deleteItem):
3083         (WebCore::DataTransferItemListQt::clear):
3084         (WebCore::DataTransferItemListQt::add):
3085         * platform/qt/DataTransferItemListQt.h:
3086         * platform/qt/DataTransferItemQt.cpp:
3087         (WebCore::DataTransferItemQt::create):
3088         (WebCore::DataTransferItemQt::DataTransferItemQt):
3089         (WebCore::DataTransferItemQt::getAsString):
3090         (WebCore::DataTransferItemQt::getAsFile):
3091         * platform/qt/DataTransferItemQt.h:
3092         (WebCore::DataTransferItemQt::kind):
3093         (WebCore::DataTransferItemQt::type):
3094
3095 2012-01-23  Andreas Kling  <awesomekling@apple.com>
3096
3097         Unreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.
3098
3099         * css/CSSMutableStyleDeclaration.cpp:
3100
3101 2012-01-23  Philip Rogers  <pdr@google.com>
3102
3103         Update uniteIfNonZero to use isZero.
3104         https://bugs.webkit.org/show_bug.cgi?id=76637
3105
3106         Reviewed by Darin Adler.
3107
3108         No new tests. (I found no existing codepath that would be affected by
3109         this change but I think this change is still valuable in preventing
3110         future bugs.)
3111
3112         * platform/graphics/FloatRect.cpp:
3113         (WebCore::FloatRect::uniteIfNonZero):
3114
3115         The following change is a minor followup to
3116         https://bugs.webkit.org/show_bug.cgi?id=76177#c12 and is not directly
3117         related to the rest of this patch.
3118         * rendering/svg/SVGRenderSupport.cpp:
3119         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
3120
3121 2012-01-23  Antti Koivisto  <antti@apple.com>
3122
3123         Eliminate CSSElementStyleDeclaration
3124         https://bugs.webkit.org/show_bug.cgi?id=76848
3125
3126         Reviewed by Andreas Kling.
3127
3128         CSSElementStyleDeclaration has little functionality. It can merge with CSSMutableStyleDeclaration simplifying the code.
3129         
3130         Having an element parent is mutually exclusive with having a css rule parent. We can keep them in a union. This also
3131         shrinks all inline style declarations by one pointer.
3132
3133         * CMakeLists.txt:
3134         * GNUmakefile.list.am:
3135         * Target.pri:
3136         * WebCore.gypi:
3137         * WebCore.vcproj/WebCore.vcproj:
3138         * WebCore.xcodeproj/project.pbxproj:
3139         * bindings/js/JSDOMBinding.h:
3140         (WebCore::root):
3141         * css/CSSAllInOne.cpp:
3142         * css/CSSElementStyleDeclaration.cpp: Removed.
3143         * css/CSSElementStyleDeclaration.h: Removed.
3144         * css/CSSMutableStyleDeclaration.cpp:
3145         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
3146         * css/CSSMutableStyleDeclaration.h:
3147         (WebCore::CSSMutableStyleDeclaration::createInline):
3148         (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
3149         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
3150         * css/CSSStyleDeclaration.cpp:
3151         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
3152         (WebCore::CSSStyleDeclaration::parentStyleSheet):
3153         
3154             Merge the CSSElementStyleDeclaration::styleSheet() logic here.
3155         
3156         * css/CSSStyleDeclaration.h:
3157         (WebCore::CSSStyleDeclaration::parentRule):
3158         (WebCore::CSSStyleDeclaration::clearParentRule):
3159         (WebCore::CSSStyleDeclaration::parentElement):
3160         (WebCore::CSSStyleDeclaration::clearParentElement):
3161         * css/CSSStyleRule.cpp:
3162         (WebCore::CSSStyleRule::setSelectorText):
3163         
3164             CSSStyleRule's style declaration can't have isElementStyleDeclaration set, the dead code can be removed.
3165             This is asserted in setDeclaration() and again implicitly in the destructor (by clearParentRule()).
3166         
3167         * dom/StyledElement.cpp:
3168         (WebCore::StyledElement::createInlineStyleDecl):
3169         (WebCore::StyledElement::destroyInlineStyleDecl):
3170         (WebCore::StyledElement::ensureInlineStyleDecl):
3171         (WebCore::StyledElement::copyNonAttributeProperties):
3172         * dom/StyledElement.h:
3173         (WebCore::StyledElement::inlineStyleDecl):
3174         * editing/ApplyStyleCommand.cpp:
3175         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3176         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3177         * editing/DeleteButtonController.cpp:
3178         (WebCore::DeleteButtonController::createDeletionUI):
3179         * html/ValidationMessage.cpp:
3180         (WebCore::adjustBubblePosition):
3181         * html/shadow/MediaControlElements.cpp:
3182         (WebCore::MediaControlPanelElement::setPosition):
3183         (WebCore::MediaControlPanelElement::resetPosition):
3184         (WebCore::MediaControlPanelElement::makeOpaque):
3185         (WebCore::MediaControlPanelElement::makeTransparent):
3186         * html/shadow/SliderThumbElement.cpp:
3187         (WebCore::TrackLimiterElement::create):
3188         * svg/SVGFontFaceElement.cpp:
3189         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3190
3191 2012-01-23  Benjamin Poulain  <bpoulain@apple.com>
3192
3193         Use OVERRIDE for PopupMenuClient's implementations
3194         https://bugs.webkit.org/show_bug.cgi?id=76774
3195
3196         Reviewed by Darin Adler.
3197
3198         * rendering/RenderMenuList.h: Also sort the methods to the same
3199         order as PopupMenuClient.
3200         * rendering/RenderTextControlSingleLine.h:
3201
3202 2012-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>
3203
3204         Basic enhancements to StringBuilder
3205         https://bugs.webkit.org/show_bug.cgi?id=67081
3206
3207         These changes are because we explicitly disallowed StringBuilder's
3208         copy constructor and assignment operator, and the change of return
3209         type of StringBuilder::toString().
3210
3211         Reviewed by Darin Adler.
3212
3213         No new tests. All layout tests and unit tests should run as before.
3214
3215         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3216         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
3217         * svg/SVGPathStringBuilder.h:
3218         (WebCore::SVGPathStringBuilder::cleanup):
3219
3220 2012-01-23  W. James MacLean  <wjmaclean@chromium.org>
3221
3222         [chromium] Add WebSolidColorLayer interface to draw non-textured color layers from Aura.
3223         https://bugs.webkit.org/show_bug.cgi?id=75732
3224
3225         Reviewed by James Robinson.
3226
3227         Add WebSolidColorLayer to paint solid-color layers without a backing texture.
3228
3229         Test: unit test for CCSolidColorLayerImpl.
3230
3231         * WebCore.gypi:
3232         * platform/graphics/chromium/SolidColorLayerChromium.cpp: Added.
3233         (WebCore::SolidColorLayerChromium::createCCLayerImpl):
3234         (WebCore::SolidColorLayerChromium::create):
3235         (WebCore::SolidColorLayerChromium::SolidColorLayerChromium):
3236         (WebCore::SolidColorLayerChromium::~SolidColorLayerChromium):
3237         * platform/graphics/chromium/SolidColorLayerChromium.h: Added.
3238         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Added.
3239         (WebCore::CCSolidColorLayerImpl::CCSolidColorLayerImpl):
3240         (WebCore::CCSolidColorLayerImpl::~CCSolidColorLayerImpl):
3241         (WebCore::CCSolidColorLayerImpl::quadTransform):
3242         (WebCore::CCSolidColorLayerImpl::appendQuads):
3243         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Added.
3244         (WebCore::CCSolidColorLayerImpl::create):
3245         (WebCore::CCSolidColorLayerImpl::layerTypeAsString):
3246
3247 2012-01-23  Antti Koivisto  <antti@apple.com>
3248
3249         Attempt to fix Qt build.
3250     
3251         Not reviewed.
3252
3253         * css/CSSElementStyleDeclaration.cpp:
3254         * css/CSSElementStyleDeclaration.h:
3255         (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
3256
3257 2012-01-23  Andreas Kling  <awesomekling@apple.com>
3258
3259         Move m_rootEditableElementForSelectionOnMouseDown off of HTMLAnchorElement.
3260         <http://webkit.org/b/76833>
3261
3262         Reviewed by Antti Koivisto.
3263
3264         Move HTMLAnchorElement::m_rootEditableElementForSelectionOnMouseDown to a rare
3265         data-style hashmap, effectively shrinking HTMLAnchorElement by one CPU word.
3266
3267         The pointer is only used during interactive event handling, so it shouldn't have
3268         any noticeable effects on web performance.
3269
3270         This reduces memory consumption by 256 kB (on 64-bit) when viewing the full
3271         HTML5 spec at <http://whatwg.org/c>.
3272
3273         * html/HTMLAnchorElement.cpp:
3274         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
3275         (WebCore::HTMLAnchorElement::~HTMLAnchorElement):
3276         (WebCore::HTMLAnchorElement::defaultEventHandler):
3277         (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
3278         (WebCore::rootEditableElementMap):
3279         (WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
3280         (WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
3281         * html/HTMLAnchorElement.h:
3282
3283 2012-01-23  Antti Koivisto  <antti@apple.com>
3284
3285         Eliminate CSSElementStyleDeclaration subclasses
3286         https://bugs.webkit.org/show_bug.cgi?id=76827
3287
3288         Reviewed by Andreas Kling.
3289
3290         CSSInlineStyleDeclaration and FontFaceStyleDeclaration serve no real purpose.
3291
3292         * GNUmakefile.list.am:
3293         * Target.pri:
3294         * WebCore.gypi:
3295         * WebCore.vcproj/WebCore.vcproj:
3296         * WebCore.xcodeproj/project.pbxproj:
3297         * css/CSSElementStyleDeclaration.cpp:
3298         (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
3299         (WebCore::CSSElementStyleDeclaration::styleSheet):
3300         * css/CSSElementStyleDeclaration.h:
3301         (WebCore::CSSElementStyleDeclaration::createInline):
3302         (WebCore::toCSSElementStyleDeclaration):
3303         * css/CSSInlineStyleDeclaration.h: Removed.
3304         * css/CSSMutableStyleDeclaration.cpp:
3305         * dom/StyledElement.cpp:
3306         (WebCore::StyledElement::createInlineStyleDecl):
3307         (WebCore::StyledElement::ensureInlineStyleDecl):
3308         (WebCore::StyledElement::copyNonAttributeProperties):
3309         * dom/StyledElement.h:
3310         (WebCore::StyledElement::inlineStyleDecl):
3311         * editing/ApplyStyleCommand.cpp:
3312         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3313         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3314         * editing/DeleteButtonController.cpp:
3315         (WebCore::DeleteButtonController::createDeletionUI):
3316         * html/ValidationMessage.cpp:
3317         (WebCore::adjustBubblePosition):
3318         * html/shadow/MediaControlElements.cpp:
3319         (WebCore::MediaControlPanelElement::setPosition):
3320         (WebCore::MediaControlPanelElement::resetPosition):
3321         (WebCore::MediaControlPanelElement::makeOpaque):
3322         (WebCore::MediaControlPanelElement::makeTransparent):
3323         * html/shadow/SliderThumbElement.cpp:
3324         (WebCore::TrackLimiterElement::create):
3325         * svg/SVGFontFaceElement.cpp:
3326         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3327
3328 2012-01-23  Pavel Feldman  <pfeldman@google.com>
3329
3330         Not reviewed: annotate inspector's js so that it compiled.
3331
3332         * inspector/front-end/ElementsTreeOutline.js:
3333         * inspector/front-end/TextPrompt.js:
3334         (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
3335         (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
3336
3337 2012-01-23  Philippe Normand  <pnormand@igalia.com>
3338
3339         [GStreamer] fix WebAudio build after r105431
3340         https://bugs.webkit.org/show_bug.cgi?id=76819
3341
3342         Reviewed by Martin Robinson.
3343
3344         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
3345         (WebCore::copyGstreamerBuffersToAudioChannel): Use mutableData()
3346         when copying.
3347         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3348         (webKitWebAudioSrcLoop): Drop constness when setting the buffer
3349         data pointer.
3350
3351 2012-01-23  Pavel Feldman  <pfeldman@google.com>
3352
3353         Web Inspector: add touch events to the event listeners list.
3354         https://bugs.webkit.org/show_bug.cgi?id=76830
3355
3356         Reviewed by Yury Semikhatsky.
3357
3358         * English.lproj/localizedStrings.js:
3359         * inspector/InjectedScriptSource.js:
3360         (.):
3361         * inspector/front-end/BreakpointsSidebarPane.js:
3362         (WebInspector.EventListenerBreakpointsSidebarPane):
3363
3364 2012-01-23  Pavel Feldman  <pfeldman@google.com>
3365
3366         Web Inspector: inspector close button is missing in the dock-to-right mode.
3367         https://bugs.webkit.org/show_bug.cgi?id=76829
3368
3369         Reviewed by Timothy Hatcher.
3370
3371         * inspector/front-end/inspector.js:
3372         (WebInspector.set attached):
3373         (WebInspector.get _setCompactMode):
3374
3375 2012-01-23  Vsevolod Vlasov  <vsevik@chromium.org>
3376
3377         Web Inspector: IndexedDBModel should keep track of requests sent to the backend.
3378         https://bugs.webkit.org/show_bug.cgi?id=76705
3379
3380         Reviewed by Pavel Feldman.
3381
3382         * inspector/Inspector.json:
3383         * inspector/InspectorIndexedDBAgent.cpp:
3384         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
3385         * inspector/InspectorIndexedDBAgent.h:
3386         * inspector/front-end/IndexedDBModel.js:
3387         (WebInspector.IndexedDBModel):
3388         (WebInspector.IndexedDBModel.prototype._frameDetached):
3389         (WebInspector.IndexedDBModel.prototype._reset):
3390         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
3391         (WebInspector.IndexedDBRequestManager):
3392         (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame.innerCallback):
3393         (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame):
3394         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
3395         (WebInspector.IndexedDBRequestManager.prototype._requestId):
3396         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
3397         (WebInspector.IndexedDBRequestManager.prototype._reset):
3398         (WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest):
3399         (WebInspector.IndexedDBDispatcher):
3400         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
3401
3402 2012-01-23  Pavel Feldman  <pfeldman@google.com>
3403
3404         Web Inspector: Inspecting an element inside an iframe no longer works
3405         https://bugs.webkit.org/show_bug.cgi?id=76808
3406
3407         Reviewed by Timothy Hatcher.
3408
3409         Test: http/tests/inspector/inspect-element.html
3410
3411         * inspector/InspectorDOMAgent.cpp:
3412         (WebCore::InspectorDOMAgent::innerParentNode):
3413         * inspector/front-end/DOMAgent.js:
3414         (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
3415         (WebInspector.DOMNode.prototype.getChildNodes):
3416         (WebInspector.DOMNode.prototype._setChildrenPayload):
3417         * inspector/front-end/ElementsTreeOutline.js:
3418         (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
3419
3420 2012-01-23  Andrey Kosyakov  <caseq@chromium.org>
3421
3422         Web Inspector: response.bodySize in HAR is invalid (negative) for cached resources
3423         https://bugs.webkit.org/show_bug.cgi?id=76823
3424
3425         Reviewed by Yury Semikhatsky.
3426
3427         - fix response.bodySize for cached resources;
3428         Also some drive-by fixes:
3429         - pretty-print HAR when exported
3430         - proper annotation for JSON.stringify()
3431         - de-obfuscate a piece of code in TimelinePanel
3432
3433         * inspector/front-end/HAREntry.js:
3434         (WebInspector.HAREntry.prototype.get responseBodySize):
3435         * inspector/front-end/NetworkPanel.js:
3436         (WebInspector.NetworkLogView.prototype._exportAll):
3437         (WebInspector.NetworkLogView.prototype._exportResource):
3438
3439 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
3440
3441         [GTK] Refactor GTK's accessibilitity code to be more modular
3442         https://bugs.webkit.org/show_bug.cgi?id=76783
3443
3444         Reviewed by Martin Robinson.
3445
3446         New files for the implementation of the AtkAction interface,
3447         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3448
3449         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp: Added.
3450         (core):
3451         (webkitAccessibleActionInterfaceInit):
3452         (webkitAccessibleActionDoAction):
3453         (webkitAccessibleActionGetNActions):
3454         (webkitAccessibleActionGetDescription):
3455         (webkitAccessibleActionGetKeybinding):
3456         (webkitAccessibleActionGetName):
3457         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Added.
3458
3459         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3460         related to the implementation of the AtkAction interface.
3461
3462         Add new files to build files.
3463
3464         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceAction.[h|cpp].
3465         * WebCore.gypi: Ditto.
3466
3467 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
3468
3469         SVG animation repaint issue with image and dynamic clipPath
3470         https://bugs.webkit.org/show_bug.cgi?id=76559
3471
3472         Reviewed by Zoltan Herczeg.
3473
3474         Based on patch by Kelly Norton <knorton@google.com>. I extended the patch
3475         to correctly handle relative length resolution as well.
3476
3477         RenderSVGImage doesn't react on setNeedsBoundariesUpdate() calls
3478         and thus fails to update its boundaries in some cases.
3479
3480         The logic is also inconsistent, compared to the other renderers.
3481         Fix that properly, by reusing the method used in RenderSVGViewportContainer.
3482         Call calculateImageViewport() immediately, after initializing the LayoutRepainter.
3483         Previously we resolved the image viewport in RenderSVGImage::updateFromElement. This is
3484         wrong, as it queries the frameRect() of the RenderSVGRoot in a state, where the renderer
3485         still needs layout, leading to wrong results.
3486
3487         I turned Kellys manual testcase into a predictable test, see svg/repaint/image-with-clip-path.svg