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