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