eb1687fe2d51fd2de8c966faec71874dab3db446
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-18  Alexander Pavlov  <apavlov@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
6         https://bugs.webkit.org/show_bug.cgi?id=49656
7
8         Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
9
10         * bindings/scripts/CodeGeneratorV8.pm:
11
12 2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
13
14         Reviewed by Dirk Schulze.
15
16         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
17         https://bugs.webkit.org/show_bug.cgi?id=49580
18
19         SVGPathElement.cloneNode loses generated pathSegList
20         https://bugs.webkit.org/show_bug.cgi?id=43388
21
22         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
23         https://bugs.webkit.org/show_bug.cgi?id=30219
24
25         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
26         https://bugs.webkit.org/show_bug.cgi?id=19741
27
28         SVGPathElement should only build SVGPathSeg* list on demand
29         https://bugs.webkit.org/show_bug.cgi?id=10827
30
31         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
32                svg/dom/SVGPathSegList-appendItem.xhtml
33                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
34                svg/dom/SVGPathSegList-cloning.html
35                svg/dom/SVGPathSegList-insertItemBefore.xhtml
36                svg/dom/SVGPathSegList-removeItem.xhtml
37                svg/dom/SVGPathSegList-replaceItem.xhtml
38                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
39                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
40                svg/dom/SVGPathSegList-segment-modification.svg
41
42         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
43         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
44         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
45         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
46         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
47
48         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
49         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
50         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
51         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
52         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
53         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
54
55         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
56         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
57
58         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
59         * CMakeLists.txt: Ditto.
60         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
61         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
62         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
63         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
64         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
65         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
66         * WebCore.vcproj/WebCore.vcproj: Ditto.
67         * WebCore.xcodeproj/project.pbxproj: Ditto.
68         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
69         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
70         (WebCore::setDOMException):
71         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
72         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
73         (WebCore::toJS):
74         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
75         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
76         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
77         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
78         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
79         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
80         (WebCore::operator<<):
81         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
82         * svg/SVGAnimatedPathData.cpp: Removed.
83         * svg/SVGAnimatedPathData.h: Removed.
84         * svg/SVGAnimatedPathData.idl: Removed.
85         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
86         (WebCore::SVGPathElement::SVGPathElement):
87         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
88         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
89         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
90         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
91         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
92         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
93         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
94         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
95         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
96         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
97         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
98         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
99         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
100         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
101         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
102         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
103         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
104         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
105         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
106         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
107         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
108         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
109         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
110         (WebCore::SVGPathElement::synchronizeD): Added.
111         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
112         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
113         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
114         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
115         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
116         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
117         * svg/SVGPathElement.h: Add new accessors...
118         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
119         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
120         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
121         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
122         (WebCore::globalSVGPathSegListBuilder):
123         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
124         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
125         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
126         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
127         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
128         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
129         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
130         * svg/SVGPathParserFactory.h:
131         * svg/SVGPathSeg.cpp: Removed.
132         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
133         (WebCore::SVGPathSeg::SVGPathSeg):
134         * svg/SVGPathSeg.idl: Reindented.
135         * svg/SVGPathSegArc.cpp: Removed.
136         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
137         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
138         * svg/SVGPathSegArcRel.idl: Ditto.
139         * svg/SVGPathSegClosePath.cpp: Removed.
140         * svg/SVGPathSegClosePath.h:
141         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
142         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
143         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
144         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
145         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
146         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
147         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
148         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
149         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
150         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
151         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
152         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
153         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
154         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
155         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
156         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
157         * svg/SVGPathSegLineto.cpp: Removed.
158         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
159         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
160         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
161         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
162         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
163         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
164         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
165         * svg/SVGPathSegLinetoVertical.cpp: Removed.
166         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
167         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
168         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
169         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
170         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
171         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
172         * svg/SVGPathSegList.h:
173         (WebCore::SVGPathSegList::SVGPathSegList):
174         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
175         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
176         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
177         (WebCore::SVGPathSegListBuilder::moveTo):
178         (WebCore::SVGPathSegListBuilder::lineTo):
179         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
180         (WebCore::SVGPathSegListBuilder::lineToVertical):
181         (WebCore::SVGPathSegListBuilder::curveToCubic):
182         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
183         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
184         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
185         (WebCore::SVGPathSegListBuilder::arcTo):
186         (WebCore::SVGPathSegListBuilder::closePath):
187         * svg/SVGPathSegListBuilder.h: Ditto.
188         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
189         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
190         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
191         (WebCore::SVGPathSegListBuilder::cleanup):
192         * svg/SVGPathSegListSource.cpp: Ditto.
193         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
194         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
195         (WebCore::SVGPathSegListSource::nextCommand):
196         (WebCore::SVGPathSegListSource::parseMoveToSegment):
197         (WebCore::SVGPathSegListSource::parseLineToSegment):
198         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
199         * svg/SVGPathSegListSource.h: Ditto.
200         (WebCore::SVGPathSegListSource::create):
201         * svg/SVGPathSegMoveto.cpp: Removed.
202         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
203         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
204         * svg/SVGPathSegMovetoRel.idl: Ditto.
205         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
206         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
207         (WebCore::SVGPathSegWithContext::animatedProperty):
208         (WebCore::SVGPathSegWithContext::setContextAndRole):
209         (WebCore::SVGPathSegWithContext::commitChange):
210         (WebCore::SVGPathSegSingleCoordinate::x):
211         (WebCore::SVGPathSegSingleCoordinate::setX):
212         (WebCore::SVGPathSegSingleCoordinate::y):
213         (WebCore::SVGPathSegSingleCoordinate::setY):
214         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
215         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
216         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
217         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
218         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
219         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
220         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
221         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
222         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
223         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
224         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
225         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
226         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
227         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
228         (WebCore::SVGPathSegListPropertyTearOff::create):
229         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
230         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
231         (WebCore::SVGPathSegListPropertyTearOff::initialize):
232         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
233         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
234         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
235         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
236         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
237         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
238
239 2010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>
240
241         Reviewed by Martin Robinson.
242
243         [Gtk]  atk_text_get_selection returns the wrong offsets after a link
244         https://bugs.webkit.org/show_bug.cgi?id=49514
245
246         Consider possible embedded objects to calculate startOffset.
247
248         So far we were using offsetInContainerNode() to calculate the
249         value of startOffset when checking the offsets for the current
250         selection, which was wrong because that wouldn't work ok if any
251         embedded object was present in the paragraph before the
252         selection. Thus, we need to consider this fact when calculating
253         the startOffset from the point of view of the object this function
254         is called on, in order to return the right and actual values.
255
256         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
257         (getSelectionOffsetsForObject): Check range length from the first
258         position in the object the function is called on until the first
259         position of current selection, and use it as startOffset.
260
261 2010-11-12  Stephen White  <senorblanco@chromium.org>
262
263         Reviewed by Simon Fraser.
264
265         Fix for multiple urls in a background-image causing repeated repaints.
266         https://bugs.webkit.org/show_bug.cgi?id=42390
267
268         Change the key of RenderBoxModelObject's LastPaintSizeMap to include
269         the layer of the element being drawn, so that the same URL used
270         repeated in the same background-image, or another element's
271         background-image, can be uniquely identified.  The layer is a void
272         pointer, since it is only used as part of the key and using a
273         void pointer will discourage dereferencing it.  This pointer is NULL
274         when called from RenderImage (<img> elements).
275
276         Covered by fast/backgrounds/size/contain-and-cover.html
277
278         * rendering/RenderBoxModelObject.cpp:
279         (WebCore::ImageQualityController::keyDestroyed):
280         The old objectDestroyed() is renamed to keyDestroyed().
281         (WebCore::ImageQualityController::objectDestroyed):
282         The new objectDestroyed() iterates over all outstanding resizes
283         to remove any resizes pertaining to this object.
284         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
285         Retrieve the RenderBoxModelObject from the pair's "first" member.
286         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
287         Create a key from the {object, layer} pair, and use it to access
288         the repaint size map.
289         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
290         Plumb the layer through to the image quality controller.
291         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
292         Pass the bgLayer when checking 
293         * rendering/RenderBoxModelObject.h:
294         Add the void* layer parameter to shouldPaintAtLowQuality.
295         * rendering/RenderImage.cpp:
296         (WebCore::RenderImage::paintIntoRect):
297         Pass 0 (null) for the layer parameter in this case.
298
299 2010-11-18  Chris Rogers  <crogers@google.com>
300
301         Reviewed by Dimitri Glazkov.
302
303         Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
304         https://bugs.webkit.org/show_bug.cgi?id=49557
305
306         No new tests since audio API is not yet implemented.
307
308         * platform/chromium/ChromiumBridge.h:
309
310 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
311
312         Unreviewed, rolling out r72228.
313         http://trac.webkit.org/changeset/72228
314         https://bugs.webkit.org/show_bug.cgi?id=49712
315
316         Caused many >10 regressions on Win and Linux gpu layout test
317         runs. (Requested by dave_levin on #webkit).
318
319         * html/canvas/WebGLFramebuffer.cpp:
320         (WebCore::WebGLFramebuffer::onAccess):
321         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
322         * html/canvas/WebGLFramebuffer.h:
323         * html/canvas/WebGLRenderingContext.cpp:
324         (WebCore::WebGLRenderingContext::clear):
325         (WebCore::WebGLRenderingContext::copyTexImage2D):
326         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
327         (WebCore::WebGLRenderingContext::drawArrays):
328         (WebCore::WebGLRenderingContext::drawElements):
329         (WebCore::WebGLRenderingContext::readPixels):
330         (WebCore::WebGLRenderingContext::texImage2DBase):
331
332 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
333
334         Unreviewed, rolling out r72243.
335         http://trac.webkit.org/changeset/72243
336         https://bugs.webkit.org/show_bug.cgi?id=49710
337
338         Seemed to cause a large set of Chromium layout test to start
339         failing. (Requested by dave_levin on #webkit).
340
341         * bindings/v8/V8NPUtils.cpp:
342         (WebCore::convertV8ObjectToNPVariant):
343
344 2010-11-17  Adam Roben  <aroben@apple.com>
345
346         Fix Acid3 in Safari for Windows
347
348         Reviewed by Dave Hyatt.
349
350         * platform/graphics/win/SimpleFontDataWin.cpp:
351         (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
352         if we have a font size of 0.
353
354 2010-11-17  Dimitri Glazkov  <dglazkov@chromium.org>
355
356         Reviewed by Darin Adler.
357
358         Converge means of querying a parent node into one way, which is Node::parentNode.
359         https://bugs.webkit.org/show_bug.cgi?id=49686
360
361         No change in behavior, so no new tests.
362
363         * accessibility/AccessibilityObject.cpp:
364         (WebCore::renderListItemContainerForNode): Changed to use parentNode.
365         * accessibility/AccessibilityRenderObject.cpp:
366         (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
367         (WebCore::siblingWithAriaRole): Ditto.
368         (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
369         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
370         * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
371         (blockquoteLevel): Ditto.
372         * bindings/v8/V8GCController.cpp:
373         (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
374         * dom/ContainerNode.cpp: Ditto.
375         (WebCore::ContainerNode::insertBefore): Ditto.
376         (WebCore::ContainerNode::insertBeforeCommon): Ditto.
377         (WebCore::ContainerNode::replaceChild): Ditto.
378         (WebCore::ContainerNode::removeChild): Ditto.
379         (WebCore::ContainerNode::appendChild): Ditto.
380         (WebCore::ContainerNode::parserAddChild): Ditto.
381         * dom/DocumentType.cpp:
382         (WebCore::DocumentType::insertedIntoDocument): Ditto.
383         * dom/Element.cpp:
384         (WebCore::Element::computeInheritedLanguage): Ditto.
385         * dom/MouseRelatedEvent.cpp:
386         (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
387         * dom/Position.cpp:
388         (WebCore::Position::isCandidate): Changed to use parentNode.
389         * dom/PositionIterator.cpp:
390         (WebCore::PositionIterator::isCandidate): Ditto.
391         * editing/AppendNodeCommand.cpp:
392         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
393         * editing/ApplyStyleCommand.cpp:
394         (WebCore::dummySpanAncestorForNode): Ditto.
395         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
396         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
397         (WebCore::highestEmbeddingAncestor): Ditto.
398         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
399         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
400         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
401         * editing/CompositeEditCommand.cpp:
402         (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
403         * editing/DeleteSelectionCommand.cpp:
404         (WebCore::updatePositionForNodeRemoval): Ditto.
405         * editing/Editor.cpp:
406         (WebCore::Editor::textDirectionForSelection): Ditto.
407         * editing/MergeIdenticalElementsCommand.cpp:
408         (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
409         * editing/htmlediting.cpp:
410         (WebCore::isEmptyTableCell): Ditto.
411         * editing/markup.cpp:
412         (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
413         * editing/visible_units.cpp:
414         (WebCore::previousLinePosition): Ditto.
415         (WebCore::nextLinePosition): Ditto.
416         * html/HTMLAreaElement.cpp:
417         (WebCore::HTMLAreaElement::imageElement): Ditto.
418         * html/HTMLElement.cpp:
419         (WebCore::HTMLElement::setOuterHTML): Ditto.
420         (WebCore::HTMLElement::insertAdjacent): Ditto.
421         (WebCore::HTMLElement::supportsFocus): Ditto.
422         * html/HTMLEmbedElement.cpp:
423         (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
424         (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
425         * html/HTMLTableElement.cpp:
426         (WebCore::HTMLTableElement::insertRow): Ditto.
427         * html/HTMLTableRowsCollection.cpp: Ditto.
428         (WebCore::isInHead): Ditto.
429         (WebCore::isInBody): Ditto.
430         (WebCore::isInFoot): Ditto.
431         (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
432         * html/HTMLViewSourceDocument.cpp:
433         (WebCore::HTMLViewSourceDocument::addRange): Ditto.
434         * html/MediaDocument.cpp:
435         (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
436         * html/parser/HTMLConstructionSite.cpp:
437         (WebCore::HTMLConstructionSite::attach): Ditto.
438         (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
439         * html/parser/HTMLTreeBuilder.cpp:
440         * page/FocusController.cpp:
441         (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
442         * rendering/MediaControlElements.cpp:
443         (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
444         (WebCore::MediaControlElement::attach): Ditto.
445         (WebCore::MediaControlElement::updateStyle): Ditto.
446         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
447         (WebCore::MediaControlInputElement::attach): Ditto.
448         (WebCore::MediaControlInputElement::updateStyle): Ditto.
449         * rendering/RenderSVGGradientStop.cpp:
450         (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
451         * svg/SVGAElement.cpp:
452         (WebCore::SVGAElement::createRenderer): Ditto.
453         (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
454         * svg/SVGFELightElement.cpp:
455         (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
456         (WebCore::SVGFELightElement::childrenChanged): Ditto.
457         * svg/SVGFEMergeNodeElement.cpp:
458         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
459         * svg/SVGLength.cpp:
460         (WebCore::SVGLength::determineViewport): Ditto.
461         * svg/SVGStyledElement.cpp:
462         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
463         * svg/SVGUseElement.cpp:
464         (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
465         * svg/animation/SVGSMILElement.cpp:
466         (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
467         * xml/XPathNodeSet.cpp:
468         (WebCore::XPath::NodeSet::sort): Ditto.
469         * xml/XPathStep.cpp:
470         (WebCore::XPath::Step::nodesInAxis): Ditto.
471         * xml/XSLTProcessorLibxslt.cpp:
472         (WebCore::xsltStylesheetPointer): Ditto.
473
474 2010-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
475
476         Reviewed by Andreas Kling.
477
478         ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
479
480         This makes paint() with paintEntireContents() do exactly what it's supposed to:
481         paint from 0,0 to contentsSize().
482
483         The clipping was a no-op anyway since visibleContentRect() will return the whole
484         rect in paintsEntireContents() mode.
485
486         * platform/ScrollView.cpp:
487         (WebCore::ScrollView::paint):
488
489 2010-11-17  Kenneth Rohde Christansen  <kenneth@webkit.org>
490
491         Reviewed by Andreas Kling.
492
493         ScrollView: Update the actualVisibleContentRect after delegating a scroll.
494
495         This lets us avoid updating the actualVisibleContentRect from the client
496         after each scroll. We had to do this synchronously for WebKit2 to support
497         programmatic "animated scrolling" from JS.
498
499         * platform/ScrollView.cpp:
500         (WebCore::ScrollView::setScrollPosition):
501
502 2010-11-17  Andreas Kling  <kling@webkit.org>
503
504         Reviewed by Kenneth Rohde Christiansen.
505
506         ScrollView: Decouple actualVisibleContentRect from visibleContentRect
507
508         Added actualVisibleContentRect() which will return the override provided
509         by setActualVisibleContentRect() or fall back to visibleContentRect()
510         if no override has been set.
511
512         This is similar to what the iPhone does.
513
514         * platform/ScrollView.cpp:
515         (WebCore::ScrollView::visibleContentRect):
516         * platform/ScrollView.h:
517         (WebCore::ScrollView::actualVisibleContentRect):
518         (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
519
520 2010-11-17  Tony Chang  <tony@chromium.org>
521
522         Reviewed by Adam Barth.
523
524         [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
525         https://bugs.webkit.org/show_bug.cgi?id=49036
526
527         No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
528
529         In http://codereview.chromium.org/11574, the forked chromium test
530         plugin changed how it testGetIntIdentifier to work around a change
531         caused by a silverlight specific plugin fix:
532         http://codereview.chromium.org/11569/diff/1/2
533
534         It's not clear to me that this change is needed anymore since
535         silverlight has had multiple releases, testing without this patch
536         works on a test windows build, and safari win seems to run silverlight
537         without this either.  Since there's no test for this behavior, I'm
538         rolling it out so we can match the upstream test.
539
540         * bindings/v8/V8NPUtils.cpp:
541         (WebCore::convertV8ObjectToNPVariant):
542
543 2010-11-17  Andreas Kling  <kling@webkit.org>
544
545         Reviewed by Kenneth Rohde Christiansen.
546
547         ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
548
549         * platform/ScrollView.cpp:
550         (WebCore::ScrollView::visibleContentRect):
551
552 2010-11-17  James Simonsen  <simonjam@chromium.org>
553
554         Reviewed by Tony Chang.
555
556         [chromium] Fix negative letter spacing in complex text on linux
557         https://bugs.webkit.org/show_bug.cgi?id=49563
558
559         Test: fast/text/atsui-negative-spacing-features.html
560
561         * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
562
563 2010-11-17  Andreas Kling  <kling@webkit.org>
564
565         Reviewed by Kenneth Rohde Christiansen.
566
567         ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
568
569         * platform/ScrollView.cpp:
570         (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
571         newScrollPosition, so move that calculation below the delegation path.
572
573 2010-11-17  Dave Hyatt  <hyatt@apple.com>
574
575         Reviewed by Sam Weinig.
576
577         https://bugs.webkit.org/show_bug.cgi?id=48537
578
579         Fonts with no vertical metrics should synthesize baselines when they appear
580         on lines that do use fonts with vertical metrics.  Basically we want to make
581         sure that English text behaves like vertical-align:middle, i.e., its baseline
582         should be treated as though it cuts through the middle of the ascent+descent.
583         
584         The way this works is that each line in the line box tree is labeled as having
585         a baseline type that is either ideographic or alphabetic for the purposes of
586         vertical alignment.  A line becomes ideographic if any font with vertical tables
587         is either explicitly specified as the primary font or in any of the used fonts
588         in the text on that line.
589         
590         This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
591         and passed to the ascent and descent methods of the fonts that are examined.
592         The underlying Font code selects an appropriate baseline given the type passed in.
593         
594         This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
595         to instead carry around the cached vertical positions for RenderInlines in a new
596         VerticalPositionCache object.  This cache only lives for a single layout
597         operation, but it does cache information across all the lines built and placed during the
598         layout.
599         
600         This matches the old behavior, since every call to layoutInlineChildren invalidated
601         all of the vertical positions in all of the RenderInlines anyway.
602         
603         The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
604         positions for both alphabetic and ideographic baseline types.
605         
606         The vertical-align computation has now been moved out of RenderBoxModelObject and
607         RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
608         This function has been changed to no longer be recursive when checking parents,
609         and it now relies on the fact that the parent vertical alignment computation result
610         has already been stored in the logicalTop() of that parent's line box.  By checking
611         the line box logicalTop() value instead of recurring, the performance of first lines
612         now significantly improves to no longer have O(n^2) behavior in the depth of the line
613         box tree on the first line.
614         
615         All of the baselinePosition functions on the various RenderObjects have been amended
616         to take a FontBaseline as the first argument.  This patch does not attempt to fix up
617         MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
618         
619         The RenderTableCell baselinePosition virtual method has been made non-virtual and had
620         all arguments removed, since it actually had no real connection with the rest of the 
621         baseline positioning system.  Cell baseline positioning works by calling firstLineBoxBaseline,
622         and that method has been patched to use the cached baselineType for the first line box
623         when computing the baseline of that line.
624          
625         Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
626
627         * WebCore.xcodeproj/project.pbxproj:
628         * mathml/RenderMathMLFraction.cpp:
629         (WebCore::RenderMathMLFraction::baselinePosition):
630         * mathml/RenderMathMLFraction.h:
631         * mathml/RenderMathMLOperator.cpp:
632         (WebCore::RenderMathMLOperator::baselinePosition):
633         * mathml/RenderMathMLOperator.h:
634         * mathml/RenderMathMLRow.cpp:
635         (WebCore::RenderMathMLRow::baselinePosition):
636         * mathml/RenderMathMLRow.h:
637         * mathml/RenderMathMLSubSup.cpp:
638         (WebCore::RenderMathMLSubSup::baselinePosition):
639         * mathml/RenderMathMLSubSup.h:
640         * mathml/RenderMathMLUnderOver.cpp:
641         (WebCore::RenderMathMLUnderOver::layout):
642         (WebCore::RenderMathMLUnderOver::baselinePosition):
643         * mathml/RenderMathMLUnderOver.h:
644         * platform/graphics/SimpleFontData.h:
645         * rendering/InlineBox.h:
646         (WebCore::InlineBox::baselinePosition):
647         * rendering/InlineFlowBox.cpp:
648         (WebCore::verticalPositionForBox):
649         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
650         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
651         * rendering/InlineFlowBox.h:
652         * rendering/InlineTextBox.cpp:
653         (WebCore::InlineTextBox::baselinePosition):
654         * rendering/InlineTextBox.h:
655         * rendering/RenderBlock.cpp:
656         (WebCore::RenderBlock::baselinePosition):
657         (WebCore::RenderBlock::firstLineBoxBaseline):
658         (WebCore::RenderBlock::lastLineBoxBaseline):
659         * rendering/RenderBlock.h:
660         * rendering/RenderBlockLineLayout.cpp:
661         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
662         (WebCore::RenderBlock::layoutInlineChildren):
663         * rendering/RenderBox.cpp:
664         (WebCore::RenderBox::baselinePosition):
665         * rendering/RenderBox.h:
666         * rendering/RenderBoxModelObject.cpp:
667         * rendering/RenderBoxModelObject.h:
668         * rendering/RenderFileUploadControl.cpp:
669         (WebCore::RenderFileUploadControl::paintObject):
670         * rendering/RenderInline.cpp:
671         (WebCore::RenderInline::RenderInline):
672         (WebCore::RenderInline::baselinePosition):
673         * rendering/RenderInline.h:
674         * rendering/RenderListBox.cpp:
675         (WebCore::RenderListBox::baselinePosition):
676         * rendering/RenderListBox.h:
677         * rendering/RenderListMarker.cpp:
678         (WebCore::RenderListMarker::baselinePosition):
679         * rendering/RenderListMarker.h:
680         * rendering/RenderSlider.cpp:
681         (WebCore::RenderSlider::baselinePosition):
682         * rendering/RenderSlider.h:
683         * rendering/RenderTableCell.cpp:
684         (WebCore::RenderTableCell::baselinePosition):
685         * rendering/RenderTableCell.h:
686         * rendering/RenderTextControlMultiLine.cpp:
687         (WebCore::RenderTextControlMultiLine::baselinePosition):
688         * rendering/RenderTextControlMultiLine.h:
689         * rendering/RootInlineBox.cpp:
690         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
691         * rendering/RootInlineBox.h:
692         (WebCore::RootInlineBox::baselinePosition):
693         * rendering/VerticalPositionCache.h: Added.
694         (WebCore::VerticalPositionCache::VerticalPositionCache):
695         (WebCore::VerticalPositionCache::get):
696         (WebCore::VerticalPositionCache::set):
697         * rendering/svg/SVGInlineTextBox.cpp:
698         (WebCore::SVGInlineTextBox::calculateBoundaries):
699
700 2010-11-17  Sam Weinig  <sam@webkit.org>
701
702         Reviewed by Anders Carlsson.
703
704         Add stubbed out ScrollAnimator for the Mac
705         https://bugs.webkit.org/show_bug.cgi?id=49678
706
707         * WebCore.xcodeproj/project.pbxproj:
708         Add ScrollAnimator.h/cpp.
709
710         * platform/mac/ScrollAnimatorMac.cpp: Added.
711         (WebCore::ScrollAnimator::create):
712         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
713         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
714         (WebCore::ScrollAnimatorMac::scroll):
715         (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
716         * platform/mac/ScrollAnimatorMac.h: Added.
717         ScrollAnimatorMac just calls through to the base class for now.
718
719 2010-11-17  Cris Neckar  <cdn@chromium.org>
720
721         Reviewed by Adam Barth.
722
723         Modified codepath for object fallback content which has failed to load.
724         Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
725         https://bugs.webkit.org/show_bug.cgi?id=46921
726
727         Test: fast/html/object-image-nested-fallback.html
728
729         * html/HTMLObjectElement.cpp:
730         (WebCore::HTMLObjectElement::renderFallbackContent):
731         * loader/cache/CachedCSSStyleSheet.cpp:
732         (WebCore::CachedCSSStyleSheet::error):
733         * loader/cache/CachedCSSStyleSheet.h:
734         * loader/cache/CachedFont.cpp:
735         (WebCore::CachedFont::ensureCustomFontData):
736         (WebCore::CachedFont::error):
737         * loader/cache/CachedFont.h:
738         * loader/cache/CachedImage.cpp:
739         (WebCore::CachedImage::data):
740         (WebCore::CachedImage::error):
741         * loader/cache/CachedImage.h:
742         * loader/cache/CachedResource.cpp:
743         (WebCore::CachedResource::CachedResource):
744         (WebCore::CachedResource::canUseCacheValidator):
745         (WebCore::CachedResource::mustRevalidate):
746         * loader/cache/CachedResource.h:
747         (WebCore::CachedResource::error):
748         (WebCore::CachedResource::httpStatusCodeError):
749         (WebCore::CachedResource::errorOccurred):
750         * loader/cache/CachedScript.cpp:
751         (WebCore::CachedScript::error):
752         * loader/cache/CachedScript.h:
753         * loader/cache/CachedXSLStyleSheet.cpp:
754         (WebCore::CachedXSLStyleSheet::error):
755         * loader/cache/CachedXSLStyleSheet.h:
756         * loader/loader.cpp:
757         (WebCore::Loader::load):
758         (WebCore::Loader::didFinishLoading):
759         (WebCore::Loader::didFail):
760         (WebCore::Loader::didReceiveData):
761
762 2010-11-16  Zhenyao Mo  <zmo@google.com>
763
764         Reviewed by Kenneth Russell.
765
766         WebGLRenderingContext needs to zero textures and renderbuffers
767         https://bugs.webkit.org/show_bug.cgi?id=49355
768
769         Test: fast/canvas/webgl/uninitialized-test.html
770
771         * html/canvas/WebGLFramebuffer.cpp:
772         (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
773         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
774         * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature.
775         * html/canvas/WebGLRenderingContext.cpp:
776         (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
777         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
778         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
779         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
780         (WebCore::WebGLRenderingContext::drawElements): Ditto.
781         (WebCore::WebGLRenderingContext::readPixels): Ditto.
782         (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
783
784 2010-11-17  Ryosuke Niwa  <rniwa@webkit.org>
785
786         Reviewed by Darin Adler.
787
788         Merge ScriptElement and ScriptElementData
789         https://bugs.webkit.org/show_bug.cgi?id=49647
790
791         Merged two classes.
792
793         * dom/AsyncScriptRunner.cpp:
794         (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
795         (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
796         * dom/AsyncScriptRunner.h:
797         * dom/ScriptElement.cpp:
798         (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
799         (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
800         (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
801         (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
802         (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
803         (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
804         (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
805         (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
806         (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
807         (WebCore::ScriptElement::executeScript): Ditto.
808         (WebCore::ScriptElement::stopLoadRequest): Ditto.
809         (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
810         (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
811         (WebCore::ScriptElement::ignoresLoadRequest): Ditto.
812         (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
813         forAttributeValue, and eventAttributeValue.
814         (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
815         (WebCore::ScriptElement::scriptContent): Ditto.
816         (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
817         (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
818         and deferAttributeValue.
819         * dom/ScriptElement.h:
820         (WebCore::ScriptElement::element):
821         (WebCore::ScriptElement::haveFiredLoadEvent):
822         (WebCore::ScriptElement::setHaveFiredLoadEvent):
823         (WebCore::ScriptElement::createdByParser):
824         (WebCore::ScriptElement::isEvaluated):
825
826 2010-11-17  Tenghui Zhu  <ztenghui@google.com>
827
828         Reviewed by Jeremy Orlow.
829
830         profileCallback and profileEndCallback  should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
831         https://bugs.webkit.org/show_bug.cgi?id=49623
832
833         No new tests. Just a compiling error fix.
834
835         * bindings/v8/custom/V8ConsoleCustom.cpp:
836           Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback
837
838 2010-11-17  John Knottenbelt  <jknotten@chromium.org>
839
840         Reviewed by Jeremy Orlow.
841
842         Introduce GeoNotifierVector typedef for increased readability
843         https://bugs.webkit.org/show_bug.cgi?id=49597
844
845         * page/Geolocation.cpp:
846         (WebCore::Geolocation::Watchers::getNotifiersVector):
847         (WebCore::Geolocation::sendError):
848         (WebCore::Geolocation::sendPosition):
849         (WebCore::Geolocation::stopTimer):
850         (WebCore::Geolocation::stopTimersForOneShots):
851         (WebCore::Geolocation::stopTimersForWatchers):
852         (WebCore::Geolocation::cancelRequests):
853         (WebCore::Geolocation::cancelAllRequests):
854         (WebCore::Geolocation::handleError):
855         (WebCore::Geolocation::makeSuccessCallbacks):
856         * page/Geolocation.h:
857
858 2010-11-17  John Knottenbelt  <jknotten@chromium.org>
859
860         Reviewed by Jeremy Orlow.
861
862         Convert correctly between GeolocationPosition and Geoposition
863         timestamp formats.
864         https://bugs.webkit.org/show_bug.cgi?id=48518
865
866         Test: fast/dom/Geolocation/timestamp.html
867
868         * page/Geolocation.cpp:
869         (WebCore::createGeoposition):
870
871 2010-11-17  Chang Shu  <chang.shu@nokia.com>
872
873         Reviewed by Antonio Gomes.
874
875         [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
876         This makes spatial navigation work properly for single select box.
877
878         Test: fast/events/spatial-navigation/snav-single-select.html
879
880         * dom/SelectElement.cpp:
881         (WebCore::nextValidIndex):
882         (WebCore::SelectElement::menuListDefaultEventHandler):
883
884 2010-11-17  Satish Sampath  <satish@chromium.org>
885
886         Reviewed by Jeremy Orlow.
887
888         Clear the speech input mock explicitly before each test.
889         https://bugs.webkit.org/show_bug.cgi?id=49660
890
891         * platform/mock/SpeechInputClientMock.cpp:
892         (WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
893         * platform/mock/SpeechInputClientMock.h:
894
895 2010-11-17  Alexander Pavlov  <apavlov@chromium.org>
896
897         [Chromium] Unreviewed, fix Chromium-Mac build from r72189.
898
899         * css/CSSPrimitiveValue.cpp:
900         (WebCore::CSSPrimitiveValue::getDoubleValue):
901
902 2010-11-17  Hans Wennborg  <hans@chromium.org>
903
904         Reviewed by Jeremy Orlow.
905
906         IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
907         https://bugs.webkit.org/show_bug.cgi?id=49601
908
909         The WHERE clause should specifiy a condition for each key column to
910         make sure that the ObjectStoreData_composit index can be used when
911         querying the object store based on key. Not using the index causes
912         severe performance degradation for common IDB operations.
913
914         * storage/IDBKey.cpp:
915         (WebCore::IDBKey::whereSyntax):
916
917 2010-11-17  Eric Uhrhane  <ericu@chromium.org>
918
919         Reviewed by David Levin.
920
921         [Chromium] implementation of async FileWriter for workers
922         https://bugs.webkit.org/show_bug.cgi?id=47681
923
924         Tests are in a separate changelist.
925
926         * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs
927
928 2010-11-17  Alejandro G. Castro  <alex@igalia.com>
929
930         Reviewed by Martin Robinson.
931
932         [gtk] r69119 modified just the gtk2 version of the
933         scrolled_window_paint function but not the gtk3 version
934         https://bugs.webkit.org/show_bug.cgi?id=49585
935
936         Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
937         using state and use the same values we are using for gtk2 in the
938         paint function.
939
940         * platform/gtk/ScrollbarThemeGtk.cpp:
941         (WebCore::ScrollbarThemeGtk::paintButton): Initialized the
942         depressed attribute of the state variable to avoid using it
943         without initialization.
944         * platform/gtk/gtk3drawing.c:
945         (moz_gtk_scrolled_window_paint):
946
947 2010-11-16  Alexander Pavlov  <apavlov@chromium.org>
948
949         Reviewed by Simon Fraser.
950
951         CSSPrimitiveValue.getFloatValue does not convert sizes
952         https://bugs.webkit.org/show_bug.cgi?id=35770
953
954         Implemented all same-category unit conversions (length, angle, time, frequency) and retained
955         absolute-relative (cm, mm, in, pt, pc) length conversions intact.
956         Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
957
958         * css/CSSPrimitiveValue.cpp:
959         (WebCore::unitCategory):
960         (WebCore::conversionToCanonicalUnitsScaleFactor):
961         (WebCore::CSSPrimitiveValue::getDoubleValue):
962         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
963         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
964         (WebCore::CSSPrimitiveValue::getIdent):
965         * css/CSSPrimitiveValue.h:
966         (WebCore::CSSPrimitiveValue::getFloatValue):
967         (WebCore::CSSPrimitiveValue::getIntValue):
968
969 2010-11-17  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
970
971         Reviewed by Andreas Kling.
972
973         Document::nodesFromRect() has wrong source code documentation
974         https://bugs.webkit.org/show_bug.cgi?id=49610
975
976         * dom/Document.h: fix nodesFromRect() documentation
977
978 2010-11-17  Alexis Menard  <alexis.menard@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>
979
980         Reviewed by Kenneth Christiansen, Tor Arne Vestbø.
981
982         [Qt] Add support for use GStreamer with the Qt build
983
984         Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
985         integration is rather basic at this point, allowing for software based rendering
986         only at the moment. AC integration and fullscreen playback is still missing.
987
988         * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
989         build option with the USE_GSTREAMER macro.
990         * platform/graphics/MediaPlayer.cpp:
991         (WebCore::installedMediaEngines): Don't use the generic media player registration
992         when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
993         to be able to build with gstreamer _and_ another backend simultaenously.
994         * platform/graphics/gstreamer/ImageGStreamer.h:
995         * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
996         (ImageGStreamer::createImage):
997         (ImageGStreamer::ImageGStreamer):
998         (ImageGStreamer::~ImageGStreamer):
999         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
1000         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
1001         (FullScreenVideoWindow::FullScreenVideoWindow):
1002         (FullScreenVideoWindow::keyPressEvent):
1003         (FullScreenVideoWindow::event):
1004         (PlatformVideoWindow::PlatformVideoWindow):
1005         (PlatformVideoWindow::~PlatformVideoWindow):
1006         (PlatformVideoWindow::prepareForOverlay):
1007
1008 2010-11-17  Alexander Pavlov  <apavlov@chromium.org>
1009
1010         Reviewed by Pavel Feldman.
1011
1012         Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
1013         https://bugs.webkit.org/show_bug.cgi?id=49602
1014
1015         * inspector/InspectorStyleSheet.cpp:
1016         (WebCore::InspectorStyle::setPropertyText):
1017         * inspector/front-end/StylesSidebarPane.js:
1018         (WebInspector.StylePropertyTreeElement.prototype.get name):
1019         (WebInspector.StylePropertyTreeElement.prototype.get priority):
1020         (WebInspector.StylePropertyTreeElement.prototype.get value):
1021
1022 2010-11-16  Adam Roben  <aroben@apple.com>
1023
1024         Move QTMovieWin's settings into a vsprops file
1025
1026         Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file
1027
1028         Reviewed by Steve Falkenburg.
1029
1030         * WebCore.vcproj/QTMovieWin.vcproj:
1031         * WebCore.vcproj/QTMovieWinCommon.vsprops: Added.
1032
1033 2010-11-16  Andy Estes  <aestes@apple.com>
1034
1035         Reviewed by Dave Hyatt.
1036
1037         WebKit mishandles line boxes where the content height exceeds the
1038         specified line-height.
1039         https://bugs.webkit.org/show_bug.cgi?id=49410
1040
1041         If a line height is explicitly specified on a text box and fallback
1042         fonts are in use, only the primary font should be considered when
1043         computing the box's ascent and descent. This prevents the inline box
1044         from being sized larger than the specified line height.
1045
1046         This patch also fixes a math error when computing a used font's descent
1047         in the case where line height isn't explicitly set. This change results
1048         in a number of layout tests needing re-baselining.
1049
1050         Test: fast/css/line-height-determined-by-primary-font.html
1051
1052         * rendering/InlineFlowBox.cpp:
1053         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1054
1055 2010-11-15  Ryosuke Niwa  <rniwa@webkit.org>
1056
1057         Reviewed by Darin Adler.
1058
1059         ScriptElementData should be a private member of ScriptElement
1060         https://bugs.webkit.org/show_bug.cgi?id=49578
1061
1062         Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
1063         and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.
1064
1065         No tests are added since this is a cleanup.
1066
1067         * dom/ScriptElement.h:
1068         (WebCore::ScriptElement::haveFiredLoadEvent): Added.
1069         (WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
1070         (WebCore::ScriptElement::createdByParser): Added.
1071         (WebCore::ScriptElement::isEvaluated): Added.
1072         * html/HTMLScriptElement.cpp:
1073         (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
1074         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
1075         * html/HTMLScriptElement.h:
1076         (WebCore::HTMLScriptElement::text): Calls scriptContent.
1077         (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
1078         * svg/SVGScriptElement.cpp:
1079         (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
1080         (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
1081         (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
1082         (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
1083         (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
1084         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
1085         haveFiredLoadEvent, and setHaveFiredLoadEvent.
1086
1087 2010-11-16  Antti Koivisto  <antti@apple.com>
1088
1089         Reviewed by Darin Adler.
1090
1091         https://bugs.webkit.org/show_bug.cgi?id=49320
1092         Minor ResourceLoadScheduler cleanups
1093
1094         * loader/ResourceLoadScheduler.cpp:
1095         (WebCore::ResourceLoadScheduler::scheduleLoad):
1096         (WebCore::ResourceLoadScheduler::servePendingRequests):
1097         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
1098         (WebCore::ResourceLoadScheduler::HostInformation::remove):
1099         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
1100         * loader/ResourceLoadScheduler.h:
1101
1102 2010-11-16  Dave Hyatt  <hyatt@apple.com>
1103
1104         Reviewed by Sam Weinig.
1105
1106         Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
1107         line should be ideographic or alphabetic.  Add a requiresIdeographicsBaseline recursive function to
1108         InlineFlowBox that scans for the use of any vertical fonts.
1109
1110         * rendering/InlineFlowBox.cpp:
1111         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1112         * rendering/InlineFlowBox.h:
1113         * rendering/RootInlineBox.cpp:
1114         (WebCore::RootInlineBox::RootInlineBox):
1115         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1116         * rendering/RootInlineBox.h:
1117         (WebCore::RootInlineBox::baselineType):
1118
1119 2010-11-16  Dave Hyatt  <hyatt@apple.com>
1120
1121         Reviewed by Sam Weinig.
1122
1123         Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
1124         alphabetic and ideographic baseline can be requested.
1125
1126         * WebCore.xcodeproj/project.pbxproj:
1127         * platform/graphics/Font.h:
1128         (WebCore::Font::ascent):
1129         (WebCore::Font::descent):
1130         * platform/graphics/FontBaseline.h: Added.
1131         * platform/graphics/SimpleFontData.h:
1132         (WebCore::SimpleFontData::ascent):
1133         (WebCore::SimpleFontData::descent):
1134         (WebCore::SimpleFontData::height):
1135
1136 2010-11-16  Antti Koivisto  <koivisto@iki.fi>
1137
1138         Reviewed by Adam Barth.
1139
1140         https://bugs.webkit.org/show_bug.cgi?id=31223
1141         Make primitive values immutable.
1142         
1143         Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
1144     
1145         Reasoning:
1146         - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
1147         - computed style is immutable in all cases, and it wasn't
1148         - no other engine seems to support mutable primitives, as a result there is no content using these APIs
1149         - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
1150         - allowing mutation of primitive values makes optimizations harder
1151
1152         * css/CSSPrimitiveValue.cpp:
1153         (WebCore::CSSPrimitiveValue::setFloatValue):
1154         (WebCore::CSSPrimitiveValue::setStringValue):
1155
1156 2010-11-16  Steve Falkenburg  <sfalken@apple.com>
1157
1158         Reviewed by Adam Roben.
1159
1160         Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
1161         https://bugs.webkit.org/show_bug.cgi?id=49632
1162
1163         * WebCore.vcproj/QTMovieWin.vcproj:
1164         * WebCore.vcproj/WebCore.make:
1165         * WebCore.vcproj/WebCore.sln:
1166         * WebCore.vcproj/WebCore.vcproj:
1167
1168 2010-11-16  Anders Carlsson  <andersca@apple.com>
1169
1170         Reviewed by John Sullivan.
1171
1172         Set the original URL for downloads
1173         https://bugs.webkit.org/show_bug.cgi?id=49628
1174
1175         Export symbols needed by WebKit2.
1176
1177         * WebCore.exp.in:
1178
1179 2010-11-16  Dave Hyatt  <hyatt@apple.com>
1180
1181         Reviewed by Dan Bernstein.
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=11004
1184         
1185         font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
1186         Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
1187         since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
1188         of the constructor rather than using [NSFont pointSize].
1189
1190         https://bugs.webkit.org/show_bug.cgi?id=49582
1191         
1192         Negative leading is not handled correctly.  There are two bugs here.  The first is that
1193         maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
1194         set them before so that we can allow them to be < 0.
1195         
1196         The second issue is that we should understand where fonts will end up relative to
1197         our baseline (excluding line height), and only allow those boxes to impact ascent and
1198         descent if the actual font box (without factoring in line height) is above or below the
1199         root line box baseline.
1200
1201         Added fast/css/negative-leading.html
1202         
1203         These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
1204
1205         * WebCore.exp.in:
1206         * css/CSSStyleSelector.cpp:
1207         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
1208         * platform/graphics/cocoa/FontPlatformData.h:
1209         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1210         (WebCore::FontPlatformData::FontPlatformData):
1211         * platform/graphics/mac/FontCacheMac.mm:
1212         (WebCore::FontCache::getFontDataForCharacters):
1213         (WebCore::FontCache::createFontPlatformData):
1214         * platform/graphics/mac/SimpleFontDataMac.mm:
1215         (WebCore::SimpleFontData::smallCapsFontData):
1216         * rendering/InlineFlowBox.cpp:
1217         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1218         * rendering/InlineFlowBox.h:
1219         * rendering/RootInlineBox.cpp:
1220         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1221
1222 2010-11-16  Darin Adler  <darin@apple.com>
1223
1224         https://bugs.webkit.org/show_bug.cgi?id=49611
1225         REGRESSION (r72115): 5 layout tests are broken
1226
1227         * loader/FrameLoader.cpp:
1228         (WebCore::FrameLoader::loadFrameRequest): Roll change from
1229         https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
1230         it back in after fixing the failing tests.
1231
1232 2010-11-16  Dan Bernstein  <mitz@apple.com>
1233
1234         Reviewed by Simon Fraser.
1235
1236         <rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
1237         https://bugs.webkit.org/show_bug.cgi?id=49579
1238
1239         r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
1240         got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s
1241         childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
1242         Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
1243         is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
1244         just keep it for when it is needed.
1245
1246         Tests: fast/block/float/015.html
1247                fast/images/style-access-during-imageChanged-style-freeze.html
1248
1249         * dom/Document.cpp:
1250         (WebCore::Document::isPendingStyleRecalc): Added.
1251         * dom/Document.h:
1252         * rendering/RenderImage.cpp:
1253         (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
1254         is coming (indicating that current style() is stale).
1255
1256 2010-11-11  Zhenyao Mo  <zmo@google.com>
1257
1258         Reviewed by Kenneth Russell.
1259
1260         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
1261         https://bugs.webkit.org/show_bug.cgi?id=47196
1262
1263         * html/canvas/WebGLRenderingContext.cpp:
1264         (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
1265         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
1266         * platform/graphics/GraphicsContext3D.cpp:
1267         (WebCore::GraphicsContext3D::extractImageData): Ditto.
1268         * platform/graphics/GraphicsContext3D.h:
1269         * platform/graphics/ImageSource.cpp:
1270         (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
1271         (WebCore::ImageSource::setData): Ditto.
1272         * platform/graphics/ImageSource.h:
1273         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1274         (WebCore::GraphicsContext3D::getImageData): Ditto.
1275         * platform/graphics/cg/ImageSourceCG.cpp:
1276         (WebCore::ImageSource::ImageSource): Ditto.
1277         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1278         (WebCore::GraphicsContext3D::getImageData): Ditto.
1279         * platform/graphics/qt/ImageDecoderQt.cpp:
1280         (WebCore::ImageDecoder::create): Ditto.
1281         (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
1282         * platform/graphics/qt/ImageDecoderQt.h:
1283         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1284         (WebCore::GraphicsContext3D::getImageData): Ditto.
1285         * platform/image-decoders/ImageDecoder.cpp:
1286         (WebCore::ImageDecoder::create): Ditto.
1287         * platform/image-decoders/ImageDecoder.h:
1288         (WebCore::ImageDecoder::ImageDecoder): Ditto.
1289         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1290         (WebCore::BMPImageDecoder::BMPImageDecoder):
1291         * platform/image-decoders/bmp/BMPImageDecoder.h:
1292         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1293         (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
1294         * platform/image-decoders/gif/GIFImageDecoder.h:
1295         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1296         (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
1297         (WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
1298         * platform/image-decoders/ico/ICOImageDecoder.h:
1299         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1300         (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
1301         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1302         * platform/image-decoders/png/PNGImageDecoder.cpp:
1303         (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
1304         (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
1305         * platform/image-decoders/png/PNGImageDecoder.h:
1306         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1307         (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
1308         * platform/image-decoders/webp/WEBPImageDecoder.h:
1309
1310 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
1311
1312         Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117
1313
1314         * platform/graphics/MediaPlayer.cpp:
1315         (WebCore::installedMediaEngines):
1316
1317 2010-11-12  Zhenyao Mo  <zmo@google.com>
1318
1319         Reviewed by Kenneth Russell.
1320
1321         Refactor GL backend flags
1322         https://bugs.webkit.org/show_bug.cgi?id=49460
1323
1324         * html/canvas/WebGLRenderingContext.cpp:
1325         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
1326         (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
1327         (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
1328         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
1329         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
1330         * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
1331         (WebCore::WebGLRenderingContext::isGLES2Compliant):
1332         (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
1333         (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
1334         (WebCore::WebGLRenderingContext::isResourceSafe):
1335         (WebCore::WebGLRenderingContext::isDepthStencilSupported):
1336         * platform/graphics/Extensions3D.h: Add NPOT extension.
1337         * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
1338         * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
1339         * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.
1340
1341 2010-11-16  Kenneth Russell  <kbr@google.com>
1342
1343         Reviewed by Dimitri Glazkov.
1344
1345         WebIDL conversions from string to number and array to number should not generate TypeError
1346         https://bugs.webkit.org/show_bug.cgi?id=49218
1347
1348         Recent SVG-related changes to the StrictTypeChecking extended attribute in
1349         CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
1350         ECMA-262 specifications. In particular, when an attribute or function argument is specified
1351         as a number type (floating-point or integer), passing in a String or object is not supposed
1352         to raise an exception.
1353
1354         The original intent of the StrictTypeChecking extended attribute was to properly raise
1355         TypeError when an interface type is required, but the supplied object does not implement the
1356         interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
1357         silently passed null to the C++ bindings in this case. The handling of strings in the
1358         original StrictTypeChecking implementation was also incorrect, raising exceptions when it
1359         should not.
1360
1361         The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
1362         interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
1363         the autogenerated code.
1364
1365         Test: fast/canvas/webgl/type-conversion-test.html
1366
1367         * bindings/scripts/CodeGeneratorJS.pm:
1368         * bindings/scripts/CodeGeneratorV8.pm:
1369         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1370         (WebCore::getObjectParameter):
1371         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
1372         (WebCore::V8WebGLRenderingContext::getParameterCallback):
1373         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1374         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1375         (WebCore::vertexAttribAndUniformHelperf):
1376
1377 2010-11-16  Alexey Proskuryakov  <ap@apple.com>
1378
1379         Windows build fix.
1380
1381         * DerivedSources.cpp: Removing CSS Variables generated files.
1382
1383 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
1384
1385         Reviewed by John Sullivan.
1386
1387         getMIMEType(s)ForExtension should consult system mapping
1388         https://bugs.webkit.org/show_bug.cgi?id=49497
1389
1390         No new tests possible.
1391
1392         * platform/MIMETypeRegistry.cpp:
1393         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. 
1394         Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
1395         constains() and then get().
1396         (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.
1397
1398 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
1399
1400         Reviewed by Darin Adler.
1401
1402         Rename QTKit based media engine class name
1403         https://bugs.webkit.org/show_bug.cgi?id=36663
1404
1405         No new tests as this just renames a class and restructures existing code.
1406
1407         * platform/graphics/MediaPlayer.cpp:
1408         (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
1409         number of #ifs in the code.
1410
1411         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
1412         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1413         (WebCore::MediaPlayerPrivateQTKit::create):
1414         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
1415         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
1416         (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
1417         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1418         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
1419         (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
1420         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
1421         (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
1422         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1423         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
1424         (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
1425         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
1426         (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
1427         (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
1428         (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
1429         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
1430         (WebCore::MediaPlayerPrivateQTKit::resumeLoad):
1431         (WebCore::MediaPlayerPrivateQTKit::load):
1432         (WebCore::MediaPlayerPrivateQTKit::loadInternal):
1433         (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
1434         (WebCore::MediaPlayerPrivateQTKit::platformMedia):
1435         (WebCore::MediaPlayerPrivateQTKit::platformLayer):
1436         (WebCore::MediaPlayerPrivateQTKit::play):
1437         (WebCore::MediaPlayerPrivateQTKit::pause):
1438         (WebCore::MediaPlayerPrivateQTKit::duration):
1439         (WebCore::MediaPlayerPrivateQTKit::currentTime):
1440         (WebCore::MediaPlayerPrivateQTKit::seek):
1441         (WebCore::MediaPlayerPrivateQTKit::doSeek):
1442         (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
1443         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
1444         (WebCore::MediaPlayerPrivateQTKit::paused):
1445         (WebCore::MediaPlayerPrivateQTKit::seeking):
1446         (WebCore::MediaPlayerPrivateQTKit::naturalSize):
1447         (WebCore::MediaPlayerPrivateQTKit::hasVideo):
1448         (WebCore::MediaPlayerPrivateQTKit::hasAudio):
1449         (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
1450         (WebCore::MediaPlayerPrivateQTKit::setVolume):
1451         (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions):
1452         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
1453         (WebCore::MediaPlayerPrivateQTKit::setRate):
1454         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
1455         (WebCore::MediaPlayerPrivateQTKit::buffered):
1456         (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable):
1457         (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded):
1458         (WebCore::MediaPlayerPrivateQTKit::bytesLoaded):
1459         (WebCore::MediaPlayerPrivateQTKit::totalBytes):
1460         (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
1461         (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
1462         (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup):
1463         (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
1464         (WebCore::MediaPlayerPrivateQTKit::updateStates):
1465         (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
1466         (WebCore::MediaPlayerPrivateQTKit::rateChanged):
1467         (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
1468         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1469         (WebCore::MediaPlayerPrivateQTKit::didEnd):
1470         (WebCore::MediaPlayerPrivateQTKit::setSize):
1471         (WebCore::MediaPlayerPrivateQTKit::setVisible):
1472         (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame):
1473         (WebCore::MediaPlayerPrivateQTKit::repaint):
1474         (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
1475         (WebCore::MediaPlayerPrivateQTKit::paint):
1476         (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes):
1477         (WebCore::MediaPlayerPrivateQTKit::supportsType):
1478         (WebCore::MediaPlayerPrivateQTKit::isAvailable):
1479         (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
1480         (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
1481         (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
1482         (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
1483         (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):
1484         (WebCore::MediaPlayerPrivateQTKit::movieLoadType):
1485         (WebCore::MediaPlayerPrivateQTKit::setPreload):
1486         (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue):
1487         (-[WebCoreMovieObserver initWithCallback:]):
1488
1489 2010-11-16  Alexey Proskuryakov  <ap@apple.com>
1490
1491         Reviewed by Dave Hyatt.
1492
1493         https://bugs.webkit.org/show_bug.cgi?id=49483
1494         Remove CSS Variable support
1495
1496         * Android.derived.jscbindings.mk:
1497         * Android.derived.v8bindings.mk:
1498         * Android.mk:
1499         * CMakeLists.txt:
1500         * DerivedSources.make:
1501         * GNUmakefile.am:
1502         * WebCore.gypi:
1503         * WebCore.pri:
1504         * WebCore.pro:
1505         * WebCore.vcproj/WebCore.vcproj:
1506         * WebCore.xcodeproj/project.pbxproj:
1507         * bindings/js/JSCSSRuleCustom.cpp:
1508         (WebCore::toJS):
1509         * bindings/v8/custom/V8DOMWindowCustom.cpp
1510         * bindings/objc/DOMCSS.mm:
1511         (kitClass):
1512         * bindings/scripts/CodeGeneratorJS.pm:
1513         * css/CSSComputedStyleDeclaration.cpp:
1514         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1515         * css/CSSGrammar.y:
1516         * css/CSSMutableStyleDeclaration.cpp:
1517         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1518         (WebCore::CSSMutableStyleDeclaration::removeProperty):
1519         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1520         (WebCore::CSSMutableStyleDeclaration::copy):
1521         * css/CSSMutableStyleDeclaration.h:
1522         (WebCore::CSSMutableStyleDeclaration::create):
1523         * css/CSSParser.cpp:
1524         (WebCore::CSSParser::CSSParser):
1525         (WebCore::CSSParser::~CSSParser):
1526         (WebCore::CSSParser::parseValue):
1527         (WebCore::CSSParser::lex):
1528         (WebCore::CSSParser::recheckAtKeyword):
1529         (WebCore::CSSParser::text):
1530         (WebCore::CSSParser::createMediaRule):
1531         (WebCore::CSSParser::createKeyframesRule):
1532         (WebCore::CSSParser::createStyleRule):
1533         (WebCore::CSSParser::createFontFaceRule):
1534         (WebCore::CSSParser::addNamespace):
1535         (WebCore::CSSParser::createPageRule):
1536         * css/CSSParser.h:
1537         * css/CSSParserValues.cpp:
1538         (WebCore::CSSParserValueList::addValue):
1539         (WebCore::CSSParserValueList::deleteValueAt):
1540         (WebCore::CSSParserValue::createCSSValue):
1541         * css/CSSParserValues.h:
1542         (WebCore::CSSParserValueList::CSSParserValueList):
1543         * css/CSSPrimitiveValue.cpp:
1544         (WebCore::CSSPrimitiveValue::cleanup):
1545         (WebCore::CSSPrimitiveValue::getStringValue):
1546         (WebCore::CSSPrimitiveValue::cssText):
1547         (WebCore::CSSPrimitiveValue::parserValue):
1548         * css/CSSPrimitiveValue.h:
1549         * css/CSSProperty.cpp:
1550         (WebCore::CSSProperty::cssText):
1551         * css/CSSPropertyNames.in:
1552         * css/CSSRule.h:
1553         * css/CSSRule.idl:
1554         * css/CSSStyleDeclaration.cpp:
1555         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1556         * css/CSSStyleSelector.cpp:
1557         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1558         (WebCore::CSSRuleSet::addRulesFromSheet):
1559         (WebCore::CSSStyleSelector::applyProperty):
1560         * css/CSSStyleSelector.h:
1561         * css/CSSValue.h:
1562         * css/CSSVariableDependentValue.cpp: Removed.
1563         * css/CSSVariableDependentValue.h: Removed.
1564         * css/CSSVariablesDeclaration.cpp: Removed.
1565         * css/CSSVariablesDeclaration.h: Removed.
1566         * css/CSSVariablesDeclaration.idl: Removed.
1567         * css/CSSVariablesRule.cpp: Removed.
1568         * css/CSSVariablesRule.h: Removed.
1569         * css/CSSVariablesRule.idl: Removed.
1570         * css/StyleBase.h:
1571         (WebCore::StyleBase::isMediaRule):
1572         * css/tokenizer.flex:
1573         * page/DOMWindow.idl:
1574
1575 2010-11-16  Darin Adler  <darin@apple.com>
1576
1577         Reviewed by Sam Weinig.
1578
1579         https://bugs.webkit.org/show_bug.cgi?id=48603
1580         Boolean logic mistake in local file check
1581
1582         * loader/FrameLoader.cpp:
1583         (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass
1584         before accepting a local file load.
1585
1586 2010-11-15  Darin Adler  <darin@apple.com>
1587
1588         Reviewed by Sam Weinig.
1589
1590         Harden additional string functions against large lengths
1591         https://bugs.webkit.org/show_bug.cgi?id=49574
1592
1593         * platform/text/TextCodecUTF16.cpp:
1594         (WebCore::TextCodecUTF16::encode): Check for length that is
1595         too large for size_t.
1596
1597         * platform/text/TextStream.cpp:
1598         (WebCore::TextStream::operator<<): Check for length that is
1599         too large for size_t.
1600
1601 2010-11-16  Pavel Feldman  <pfeldman@chromium.org>
1602
1603         Not reviewed. Touching inspector controller to make gtk / qt happier.
1604
1605         * inspector/InspectorController.cpp:
1606
1607 2010-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1608
1609         Reviewed by Martin Robinson.
1610
1611         [GTK] Use gdk_pixbuf_get_from_surface() when available
1612         https://bugs.webkit.org/show_bug.cgi?id=49532
1613
1614         * platform/graphics/gtk/GdkCairoUtilities.cpp:
1615         (cairoImageSurfaceToGdkPixbuf):
1616
1617 2010-11-16  Pavel Feldman  <pfeldman@chromium.org>
1618
1619         Reviewed by Yury Semikhatsky.
1620
1621         Web Inspector: init front-end UI upon DOMContentLoaded, not load event.
1622         https://bugs.webkit.org/show_bug.cgi?id=49596
1623
1624         * inspector/front-end/inspector.js:
1625         (windowLoaded):
1626
1627 2010-11-15  Alexander Pavlov  <apavlov@chromium.org>
1628
1629         Reviewed by Pavel Feldman.
1630
1631         Web Inspector: Migrate frontend to the new CSS editing/retrieval API
1632         https://bugs.webkit.org/show_bug.cgi?id=49492
1633
1634         Test: inspector/styles-new-API.html
1635
1636         * inspector/front-end/AuditRules.js:
1637         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1638         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
1639         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1640         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
1641         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1642         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1643         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1644         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
1645         * inspector/front-end/CSSStyleModel.js:
1646         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1647         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1648         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1649         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1650         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1651         (WebInspector.CSSStyleModel.prototype.addRule):
1652         (WebInspector.CSSStyleModel.prototype.addRule.callback):
1653         (WebInspector.CSSStyleDeclaration):
1654         (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
1655         (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
1656         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
1657         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1658         (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
1659         (WebInspector.CSSRule):
1660         (WebInspector.CSSProperty.prototype.get propertyText):
1661         (WebInspector.CSSProperty.prototype.setText):
1662         (WebInspector.CSSProperty.prototype.setDisabled):
1663         (WebInspector.CSSStyleSheet):
1664         (WebInspector.CSSStyleSheet.createForId):
1665         (WebInspector.CSSStyleSheet.prototype.getText):
1666         (WebInspector.CSSStyleSheet.prototype.setText):
1667         * inspector/front-end/Settings.js:
1668         * inspector/front-end/StylesSidebarPane.js:
1669         (WebInspector.StylePropertiesSection.prototype.onpopulate):
1670         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
1671         (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox):
1672         (WebInspector.StylePropertiesSection.prototype._debugShowStyle):
1673         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1674         (WebInspector.StylePropertyTreeElement.prototype):
1675         (WebInspector.StylePropertyTreeElement.prototype.):
1676         * inspector/front-end/inspector.css:
1677         (.styles-section .properties li.not-parsed-ok):
1678         (.styles-section .properties li.not-parsed-ok::before):
1679         (.styles-section .properties .inactive):
1680
1681 2010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1682
1683         Unreviewed, rolling out r72082.
1684         http://trac.webkit.org/changeset/72082
1685         https://bugs.webkit.org/show_bug.cgi?id=49594
1686
1687         "broken SnowLeopard build" (Requested by apavlov on #webkit).
1688
1689         * css/CSSPrimitiveValue.cpp:
1690         (WebCore::scaleFactorForConversion):
1691         (WebCore::CSSPrimitiveValue::getDoubleValue):
1692         (WebCore::CSSPrimitiveValue::getIdent):
1693         * css/CSSPrimitiveValue.h:
1694         (WebCore::CSSPrimitiveValue::getFloatValue):
1695         (WebCore::CSSPrimitiveValue::getIntValue):
1696
1697 2010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1698
1699         Unreviewed, rolling out r72087.
1700         http://trac.webkit.org/changeset/72087
1701         https://bugs.webkit.org/show_bug.cgi?id=49593
1702
1703         "broken build" (Requested by apavlov on #webkit).
1704
1705         * css/CSSPrimitiveValue.cpp:
1706         (WebCore::unitCategory):
1707
1708 2010-11-15  Pavel Feldman  <pfeldman@chromium.org>
1709
1710         Reviewed by Yury Semikhatsky.
1711
1712         Web Inspector: rename StoragePanel to ResourcesPanel.
1713         https://bugs.webkit.org/show_bug.cgi?id=49534
1714
1715         * WebCore.gypi:
1716         * WebCore.vcproj/WebCore.vcproj:
1717         * inspector/front-end/DatabaseQueryView.js:
1718         (WebInspector.DatabaseQueryView.prototype._queryFinished):
1719         * inspector/front-end/DatabaseTableView.js:
1720         (WebInspector.DatabaseTableView.prototype._queryFinished):
1721         * inspector/front-end/ExtensionServer.js:
1722         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1723         * inspector/front-end/Images/storageIcon.png: Removed.
1724         * inspector/front-end/ResourceManager.js:
1725         (WebInspector.ResourceManager.prototype.setOverrideContent):
1726         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
1727         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
1728         (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
1729         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
1730         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
1731         * inspector/front-end/StoragePanel.js: Removed.
1732         * inspector/front-end/WebKit.qrc:
1733         * inspector/front-end/inspector.css:
1734         (.resources.panel .sidebar):
1735         (.resources.panel .sidebar li):
1736         (.resources.panel .sidebar li.parent):
1737         (.resources.panel .sidebar li.selected):
1738         (.resources.panel .sidebar li.selected .selection):
1739         (.resources.panel .sidebar :focus li.selected .selection):
1740         (body.inactive .resources.panel .sidebar li.selected .selection):
1741         (.resources.panel .sidebar .icon):
1742         (.resources.panel .base-storage-tree-element-title):
1743         (.resources.panel .status):
1744         (.resources.panel li .status .bubble):
1745         * inspector/front-end/inspector.html:
1746         * inspector/front-end/inspector.js:
1747         (WebInspector._createPanels):
1748         (WebInspector.openResource):
1749         (WebInspector.showPanel):
1750         (WebInspector.selectDatabase):
1751         (WebInspector.selectDOMStorage):
1752         (WebInspector.addDatabase):
1753         (WebInspector.addDOMStorage):
1754         (WebInspector.updateDOMStorage):
1755         (WebInspector.updateApplicationCacheStatus):
1756         (WebInspector.didGetFileSystemPath):
1757         (WebInspector.didGetFileSystemError):
1758         (WebInspector.didGetFileSystemDisabled):
1759         (WebInspector.updateNetworkState):
1760         (WebInspector._choosePanelToShowSourceLine):
1761
1762 2010-11-16  Alexander Pavlov  <apavlov@chromium.org>
1763
1764         Unreviewed SnowLeopard build fix.
1765
1766         * css/CSSPrimitiveValue.cpp:
1767         (WebCore::unitCategory):
1768
1769 2010-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1770
1771         Reviewed by Andreas Kling.
1772
1773         Viewport meta tag: Fix geometry computation
1774
1775         Available width and height should also be divided by the device pixel ratio.
1776
1777         * dom/ViewportArguments.cpp:
1778         (WebCore::computeViewportAttributes):
1779         * platform/network/qt/DnsPrefetchHelper.cpp:
1780
1781 2010-11-12  Alexander Pavlov  <apavlov@chromium.org>
1782
1783         Reviewed by Simon Fraser.
1784
1785         CSSPrimitiveValue.getFloatValue does not convert sizes
1786         https://bugs.webkit.org/show_bug.cgi?id=35770
1787
1788         Implemented all same-category unit conversions (length, angle, time, frequency) and retained
1789         absolute-relative (cm, mm, in, pt, pc) length conversions intact.
1790         Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
1791
1792         * css/CSSPrimitiveValue.cpp:
1793         (WebCore::unitCategory):
1794         (WebCore::scaleFactorForConversion):
1795         (WebCore::CSSPrimitiveValue::getDoubleValue):
1796         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
1797         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
1798         * css/CSSPrimitiveValue.h:
1799
1800 2010-11-15  Pavel Feldman  <pfeldman@chromium.org>
1801
1802         Reviewed by Yury Semikhatsky.
1803
1804         Web Inspector: extract HTML title setter in treeoutline.js.
1805         https://bugs.webkit.org/show_bug.cgi?id=49540
1806
1807         * inspector/front-end/ElementsTreeOutline.js:
1808         (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
1809         (WebInspector.ElementsTreeElement.prototype.updateTitle):
1810         * inspector/front-end/treeoutline.js:
1811         (TreeElement.prototype.get titleHTML):
1812         (TreeElement.prototype.set titleHTML):
1813         (TreeElement.prototype._setListItemNodeContent):
1814
1815 2010-11-16  John Knottenbelt  <jknotten@chromium.org>
1816
1817         Reviewed by Jeremy Orlow.
1818
1819         Assert that DeviceOrientationClientMock is used by only one controller.
1820         https://bugs.webkit.org/show_bug.cgi?id=48506
1821
1822         This is a design constraint of the DeviceOrientationClientMock because the
1823         m_controller field can only store a pointer to a single instance of the
1824         corresponding DeviceOrientationController.
1825
1826         * platform/mock/DeviceOrientationClientMock.cpp:
1827         (WebCore::DeviceOrientationClientMock::setController):
1828
1829 2010-11-16  Mihai Parparita  <mihaip@chromium.org>
1830
1831         Reviewed by Adam Barth.
1832
1833         fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders
1834         https://bugs.webkit.org/show_bug.cgi?id=48634
1835         
1836         Specify the capacity when calling CFDataCreateMutable, which can signal
1837         malloc failures (by returning NULL), unlike CFDataSetLength.
1838
1839         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1840         (WebCore::RGBA32Buffer::setSize):
1841
1842 2010-11-15  Rob Buis  <rwlbuis@gmail.com>
1843
1844         Reviewed by Dirk Schulze and Darin Adler.
1845
1846         requiredFeatures does not adapt to SVGStringList changes
1847         https://bugs.webkit.org/show_bug.cgi?id=40887
1848
1849         Centralize the const_cast handling and only do it if needed.
1850         Remove the const_cast in all svgAttributeChanged functions and move
1851         it to SVGTest::handleAttributeChange. Add an early return to
1852         handleAttributeChange to avoid unnecessary const_casts.
1853
1854         No tests necessary as functionality has not changed.
1855
1856         * svg/SVGCircleElement.cpp:
1857         (WebCore::SVGCircleElement::svgAttributeChanged):
1858         * svg/SVGEllipseElement.cpp:
1859         (WebCore::SVGEllipseElement::svgAttributeChanged):
1860         * svg/SVGForeignObjectElement.cpp:
1861         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1862         * svg/SVGGElement.cpp:
1863         (WebCore::SVGGElement::svgAttributeChanged):
1864         * svg/SVGImageElement.cpp:
1865         (WebCore::SVGImageElement::svgAttributeChanged):
1866         * svg/SVGLineElement.cpp:
1867         (WebCore::SVGLineElement::svgAttributeChanged):
1868         * svg/SVGPathElement.cpp:
1869         (WebCore::SVGPathElement::svgAttributeChanged):
1870         * svg/SVGPolyElement.cpp:
1871         (WebCore::SVGPolyElement::svgAttributeChanged):
1872         * svg/SVGRectElement.cpp:
1873         (WebCore::SVGRectElement::svgAttributeChanged):
1874         * svg/SVGSVGElement.cpp:
1875         (WebCore::SVGSVGElement::svgAttributeChanged):
1876         * svg/SVGTests.cpp:
1877         (WebCore::SVGTests::handleAttributeChange):
1878         * svg/SVGTests.h:
1879         * svg/SVGTextContentElement.cpp:
1880         (WebCore::SVGTextContentElement::svgAttributeChanged):
1881         * svg/SVGUseElement.cpp:
1882         (WebCore::SVGUseElement::svgAttributeChanged):
1883
1884 2010-11-15  Dimitri Glazkov  <dglazkov@chromium.org>
1885
1886         Reviewed by Darin Adler.
1887
1888         REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash.
1889         https://bugs.webkit.org/show_bug.cgi?id=49569
1890
1891         Test: fast/events/remove-shadow-host-crash.html
1892
1893         * rendering/TextControlInnerElements.h:
1894         (WebCore::TextControlInnerElement::isShadowNode):
1895         (WebCore::TextControlInnerElement::shadowParentNode):
1896
1897 2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
1898
1899         Reviewed by Darin Adler.
1900
1901         ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData
1902         https://bugs.webkit.org/show_bug.cgi?id=49469
1903
1904         Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from
1905         HTMLScriptElement and SVGScriptElement to ScriptElementData.
1906
1907         Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren,
1908         and handleSourceAttribute of ScriptElement non-static.
1909
1910         No new tests are added since this is a cleanup.
1911
1912         * dom/ScriptElement.cpp:
1913         (WebCore::ScriptElement::scriptCharset): Added.
1914         (WebCore::ScriptElement::scriptContent): Added.
1915         (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added.
1916         (WebCore::ScriptElement::executeScript): Added.
1917         (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data.
1918         (WebCore::ScriptElement::removedFromDocument): Ditto.
1919         (WebCore::ScriptElement::childrenChanged): Ditto.
1920         (WebCore::ScriptElement::finishParsingChildren): Ditto.
1921         (WebCore::ScriptElement::handleSourceAttribute): Ditto.
1922         * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData
1923         because ScriptElement has to instantiate ScriptElementData.
1924         (WebCore::ScriptElement::ScriptElement): Initializes m_data.
1925         * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
1926         (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData.
1927         (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
1928         (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute.
1929         (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
1930         (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
1931         (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
1932         * html/HTMLScriptElement.h:
1933         * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
1934         (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData.
1935         (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute.
1936         (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
1937         (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
1938         (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
1939         (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
1940         * svg/SVGScriptElement.h:
1941
1942 2010-11-15  Kent Tamura  <tkent@chromium.org>
1943
1944         Reviewed by Darin Adler.
1945
1946         Refactor HTMLInputElement: Move a part of HTMLInputElement::
1947         defaultEventHandler() to InputTypes.
1948         https://bugs.webkit.org/show_bug.cgi?id=48317
1949
1950         Move out the followings to InputTypes:
1951          - click event processing,
1952          - the first keydown event processing, and
1953          - DOMActivate event processing.
1954
1955         Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as
1956         m_clickLocation. It's ok to move them because they should be valid only
1957         when HTMLInputElement::m_activeSubmit is true. For type=image,
1958         m_activeSubmit is true only in DOMActivate event handling. So we reset
1959         m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent().
1960
1961         No new tests because this is just a refactoring.
1962
1963         * html/BaseDateAndTimeInputType.cpp:
1964         (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
1965         * html/BaseDateAndTimeInputType.h:
1966         * html/FileInputType.cpp:
1967         (WebCore::FileInputType::handleDOMActivateEvent):
1968         * html/FileInputType.h:
1969         * html/HTMLInputElement.cpp:
1970         (WebCore::HTMLInputElement::HTMLInputElement):
1971         (WebCore::HTMLInputElement::defaultEventHandler):
1972         * html/HTMLInputElement.h:
1973         * html/ImageInputType.cpp:
1974         (WebCore::ImageInputType::appendFormData):
1975         (WebCore::ImageInputType::handleDOMActivateEvent):
1976         * html/ImageInputType.h:
1977         * html/InputType.cpp:
1978         (WebCore::InputType::handleClickEvent):
1979         (WebCore::InputType::handleDOMActivateEvent):
1980         (WebCore::InputType::handleKeydownEvent):
1981         * html/InputType.h:
1982         * html/NumberInputType.cpp:
1983         (WebCore::NumberInputType::handleKeydownEvent):
1984         * html/NumberInputType.h:
1985         * html/RadioInputType.cpp:
1986         (WebCore::RadioInputType::handleClickEvent):
1987         * html/RadioInputType.h:
1988         * html/RangeInputType.cpp:
1989         (WebCore::RangeInputType::handleKeydownEvent):
1990         * html/RangeInputType.h:
1991         * html/ResetInputType.cpp:
1992         (WebCore::ResetInputType::handleDOMActivateEvent):
1993         * html/ResetInputType.h:
1994         * html/SubmitInputType.cpp:
1995         (WebCore::SubmitInputType::handleDOMActivateEvent):
1996         * html/SubmitInputType.h:
1997         * html/TextFieldInputType.cpp:
1998         (WebCore::TextFieldInputType::handleKeydownEvent):
1999         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
2000         * html/TextFieldInputType.h:
2001
2002 2010-11-15  Chris Rogers  <crogers@google.com>
2003
2004         Reviewed by Kenneth Russell.
2005
2006         Add AudioNode custom bindings
2007         https://bugs.webkit.org/show_bug.cgi?id=49119
2008
2009         No new tests since audio API is not yet implemented.
2010
2011         * bindings/js/JSAudioNodeCustom.cpp: Added.
2012         (WebCore::JSAudioNode::connect):
2013         (WebCore::JSAudioNode::disconnect):
2014         * bindings/v8/custom/V8AudioNodeCustom.cpp: Added.
2015         (WebCore::V8AudioNode::connectCallback):
2016         (WebCore::V8AudioNode::disconnectCallback):
2017         * webaudio/AudioNode.idl:
2018
2019 2010-11-15  Dave Hyatt  <hyatt@apple.com>
2020
2021         Reviewed by Dan Bernstein.
2022
2023         https://bugs.webkit.org/show_bug.cgi?id=49570
2024         
2025         Put italics specialization check back in CSSFontSelector.  I had to back it out, since it broke
2026         a layout test, and the issue was that local font fallback fonts should not be considered by the
2027         specialization check (since you never want to pick a fallback over an actual @font-face rule if
2028         the @font-face rule can handle it).
2029  
2030         * css/CSSFontFace.h:
2031         (WebCore::CSSFontFace::create):
2032         (WebCore::CSSFontFace::isLocalFallback):
2033         (WebCore::CSSFontFace::CSSFontFace):
2034         * css/CSSFontSelector.cpp:
2035         (WebCore::CSSFontSelector::addFontFaceRule):
2036         (WebCore::compareFontFaces):
2037
2038 2010-11-15  Adele Peterson  <adele@apple.com>
2039
2040         Reviewed by Darin Adler.
2041
2042         Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452
2043         Placeholder should not be swapped in and out of the text control's inner text element
2044
2045         There's no need to swap the placeholder text in and out of the inner text element.  Instead, just paint the text.
2046         This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value.
2047
2048         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer):
2049         Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility.
2050         * rendering/RenderTextControl.cpp:
2051         (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text.
2052         (WebCore::RenderTextControl::paintObject):  Paint the placeholder text during the background phase.
2053         * rendering/RenderTextControl.h:
2054         * rendering/RenderTextControlMultiLine.cpp:
2055         (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
2056         (WebCore::RenderTextControlMultiLine::updateFromElement):  Remove code that set the inner text value with the placeholder text.
2057         (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
2058         (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added.
2059         (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added.
2060         * rendering/RenderTextControlMultiLine.h:
2061         * rendering/RenderTextControlSingleLine.cpp:
2062         (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
2063         (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
2064         (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added.
2065         (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added.
2066         * rendering/RenderTextControlSingleLine.h:
2067         * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
2068
2069 2010-11-15  Andreas Kling  <kling@webkit.org>
2070
2071         Unreviewed buildfix (Qt WebKit2 minimal)
2072
2073         * platform/qt/CookieJarQt.cpp: Add missing <QStringList> include.
2074
2075 2010-11-15  Chris Rogers  <crogers@google.com>
2076
2077         Reviewed by Kenneth Russell.
2078
2079         Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent
2080         https://bugs.webkit.org/show_bug.cgi?id=49357
2081
2082         No new tests since audio API is not yet implemented.
2083
2084         * bindings/js/JSEventCustom.cpp:
2085         (WebCore::toJS):
2086         * bindings/js/JSEventTarget.cpp:
2087         (WebCore::toJS):
2088         * bindings/v8/V8DOMWrapper.cpp:
2089         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2090         * bindings/v8/custom/V8EventCustom.cpp:
2091         (WebCore::toV8):
2092         * dom/Event.cpp:
2093         (WebCore::Event::isAudioProcessingEvent):
2094         * dom/Event.h:
2095         * dom/EventNames.h:
2096         * dom/EventTarget.cpp:
2097         (WebCore::EventTarget::toJavaScriptAudioNode):
2098         * dom/EventTarget.h:
2099
2100 2010-11-15  Alexey Proskuryakov  <ap@apple.com>
2101
2102         Reviewed by Darin Adler.
2103
2104         A minor style fix in StyledElement.cpp.
2105
2106         * dom/StyledElement.cpp:
2107         (WebCore::StyledElement::addCSSProperty):
2108         (WebCore::StyledElement::addCSSImageProperty):
2109
2110 2010-11-15  Alexey Proskuryakov  <ap@apple.com>
2111
2112         Reviewed by Darin Adler.
2113
2114         https://bugs.webkit.org/show_bug.cgi?id=49565
2115         Remove Attr.style accessor
2116
2117         * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need
2118         it any more.
2119
2120 2010-11-15  Beth Dakin  <bdakin@apple.com>
2121
2122         Reviewed by Darin Adler.
2123
2124         Fix for https://bugs.webkit.org/show_bug.cgi?id=49555 
2125         Frame::scalePage() should treat the origin as an absolute 
2126         coordinate
2127         -and corresponding-
2128         <rdar://problem/8667138>
2129
2130         * page/Frame.cpp:
2131         (WebCore::Frame::scalePage):
2132
2133 2010-11-15  Dan Bernstein  <mitz@apple.com>
2134
2135         Reviewed by Darin Adler.
2136
2137         <rdar://problem/8662770> Error image has incorrect size when a custom font is used
2138
2139         Test: fast/images/style-access-during-imageChanged-crash.html
2140
2141         * rendering/RenderImage.cpp:
2142         (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText.
2143         (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation
2144         out of setImageSizeForAltText() into this function.
2145         (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError().
2146         (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the
2147         intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation.
2148         (WebCore::RenderImage::imageChanged): Moved some code from here...
2149         (WebCore::RenderImage::imageDimensionsChanged): ...to here.
2150         * rendering/RenderImage.h:
2151
2152 2010-11-15  Anders Carlsson  <andersca@apple.com>
2153
2154         Reviewed by Dimitri Glazkov.
2155
2156         ASSERTION (r72003): Assertion failure when running layout tests
2157         https://bugs.webkit.org/show_bug.cgi?id=49561
2158
2159         r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement,
2160         but did not add the attribute to the isURLAttribute which lead to assertion failures
2161         when running the layout tests with a debug build.
2162
2163         * html/HTMLButtonElement.cpp:
2164         (WebCore::HTMLButtonElement::isURLAttribute):
2165         * html/HTMLButtonElement.h:
2166         * html/HTMLInputElement.cpp:
2167         (WebCore::HTMLInputElement::isURLAttribute):
2168
2169 2010-11-15  Alexey Proskuryakov  <ap@apple.com>
2170
2171         Reviewed by Darin Adler.
2172
2173         https://bugs.webkit.org/show_bug.cgi?id=49559
2174         DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString
2175
2176         No observable change in behavior, so no tests.
2177
2178         * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString.
2179
2180 2010-11-15  Andreas Kling  <kling@webkit.org>
2181
2182         Reviewed by Tor Arne Vestbø.
2183
2184         [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well
2185
2186         Move this into WebCore/features.pri which is used by both WebCore and WebKit2.
2187
2188         * WebCore.pro:
2189         * features.pri:
2190
2191 2010-11-15  Martin Robinson  <mrobinson@igalia.com>
2192
2193         Build fix for GTK+.
2194
2195         * GNUmakefile.am: Add some missing generated files to the source list.
2196
2197 2010-11-15  Kenneth Russell  <kbr@google.com>
2198
2199         Reviewed by James Robinson.
2200
2201         [chromium] Avoid copying of SkBitmap in LayerRendererChromium
2202         https://bugs.webkit.org/show_bug.cgi?id=49560
2203
2204         Ran CSS 3D content to test. No other new tests.
2205
2206         * platform/graphics/chromium/LayerRendererChromium.cpp:
2207         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
2208
2209 2010-11-15  Vangelis Kokkevis  <vangelis@chromium.org>
2210
2211         Reviewed by Kenneth Russell.
2212
2213         [chromium] Fixes layer opacity implementation of composited layers
2214         https://bugs.webkit.org/show_bug.cgi?id=49233
2215
2216         This introduces a fairly drastic change in how LayerRendererChromium draws
2217         composited layers. Layers that have non-zero opacity as well as layers that
2218         clip their descendants (and have non-trivial transforms) are now first
2219         rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing
2220         operation now consists of two distinct phases: First a hierarchical traversal
2221         of the layer tree to compute the layer transforms, determine what the necessary
2222         RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second
2223         pass goes through all the RenderSurfaces discovered by the first pass and updates
2224         their contents.
2225         Additional significant side-effects of this change are:
2226         1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's
2227            algorithm to render layers with the preserves-3d property from back to front using
2228            the Z coordinate of their center. This will further be improved in the future with
2229            the intoduction of a BSP tree to properly deal with intersecting layers.
2230         2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed
2231            by rendering layer subtrees into an offscreen buffer and setting the appropriate
2232            scissor and viewport transformation.
2233
2234         Tests: abs-position-inside-opacity.html (for the opacity implementation)
2235                and the rest of the compositing layout tests to verify that
2236                everything still works.
2237
2238         * WebCore.gypi:
2239         * platform/graphics/chromium/ContentLayerChromium.cpp:
2240         (WebCore::ContentLayerChromium::cleanupResources):
2241         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2242         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
2243         (WebCore::ContentLayerChromium::updateContents):
2244         * platform/graphics/chromium/LayerChromium.cpp:
2245         (WebCore::LayerChromium::LayerChromium):
2246         (WebCore::LayerChromium::cleanupResources):
2247         (WebCore::LayerChromium::createRenderSurface):
2248         (WebCore::LayerChromium::descendantsDrawContent):
2249         (WebCore::LayerChromium::descendantsDrawContentRecursive):
2250         * platform/graphics/chromium/LayerChromium.h:
2251         (WebCore::LayerChromium::drawTransform):
2252         (WebCore::LayerChromium::layerRenderer):
2253         * platform/graphics/chromium/LayerRendererChromium.cpp:
2254         (WebCore::orthoMatrix):
2255         (WebCore::isScaleOrTranslation):
2256         (WebCore::LayerRendererChromium::compareLayerZ):
2257         (WebCore::LayerRendererChromium::LayerRendererChromium):
2258         (WebCore::LayerRendererChromium::prepareToDrawLayers):
2259         (WebCore::LayerRendererChromium::drawLayers):
2260         (WebCore::LayerRendererChromium::updateLayersRecursive):
2261         (WebCore::LayerRendererChromium::useRenderSurface):
2262         (WebCore::LayerRendererChromium::drawLayer):
2263         (WebCore::LayerRendererChromium::setScissorToRect):
2264         (WebCore::LayerRendererChromium::setDrawViewportRect):
2265         (WebCore::LayerRendererChromium::initializeSharedObjects):
2266         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2267         * platform/graphics/chromium/LayerRendererChromium.h:
2268         * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added.
2269         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2270         (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
2271         (WebCore::RenderSurfaceChromium::cleanupResources):
2272         (WebCore::RenderSurfaceChromium::layerRenderer):
2273         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
2274         * platform/graphics/chromium/RenderSurfaceChromium.h: Added.
2275         (WebCore::RenderSurfaceChromium::contentRectCenter):
2276         (WebCore::RenderSurfaceChromium::contentRect):
2277         * platform/graphics/chromium/VideoLayerChromium.cpp:
2278         (WebCore::VideoLayerChromium::cleanupResources):
2279
2280 2010-11-15  Martin Robinson  <mrobinson@igalia.com>
2281
2282         Reviewed by Andreas Kling.
2283
2284         [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds
2285         https://bugs.webkit.org/show_bug.cgi?id=49549
2286
2287         No new tests. This can be verified by loading any existing vertical text test
2288         in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently
2289         no automatic way of verifying custom cursors.
2290
2291         * platform/gtk/GtkVersioning.c:
2292         (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct.
2293
2294 2010-11-12  Jer Noble  <jer.noble@apple.com>
2295
2296         Reviewed by Brady Eidson.
2297
2298         Can't view HTML5 video when running Safari with an authenticated proxy server
2299         <rdar://problem/8351926>
2300         
2301         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2302         (WebCore::MediaPlayerPrivate::createQTMovie):
2303
2304 2010-11-14  Abhishek Arya  <inferno@chromium.org>
2305
2306         Reviewed by Dimitri Glazkov.
2307
2308         Event dispatch call can blow away the node's renderer initialized
2309         before the call in updateSelectionForMouseDrag function. We need
2310         to initialize it after the call.
2311         https://bugs.webkit.org/show_bug.cgi?id=49524
2312
2313         * page/EventHandler.cpp:
2314         (WebCore::EventHandler::updateSelectionForMouseDrag):
2315
2316 2010-11-15  Patrick Gansterer  <paroga@webkit.org>
2317
2318         Reviewed by Martin Robinson.
2319
2320         Make ContextShadow compile on all platforms
2321         https://bugs.webkit.org/show_bug.cgi?id=49535
2322
2323         Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms
2324         and move them into the WebCore namespace like all other Platform* typedefs.
2325
2326         * platform/graphics/ContextShadow.h:
2327
2328 2010-11-15  Renata Hodovan  <reni@webkit.org>
2329
2330         Reviewed by Andreas Kling.
2331
2332         SVGFEImageElement doesn't support dynamic invalidation
2333         https://bugs.webkit.org/show_bug.cgi?id=49536
2334
2335         The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
2336
2337         Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
2338                svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html
2339
2340         * svg/SVGFEImageElement.cpp:
2341         (WebCore::SVGFEImageElement::svgAttributeChanged):
2342         * svg/SVGFEImageElement.h:
2343
2344 2010-11-15  Yael Aharon  <yael.aharon@nokia.com>
2345
2346         Reviewed by Antonio Gomes.
2347
2348         [Qt] Focus ring does not show on focused links.
2349         https://bugs.webkit.org/show_bug.cgi?id=49515
2350
2351         After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer
2352         visible in Qt.
2353         The reason is that Qt always returned true in RenderTheme::supportsFocusRing(),
2354         but until r69766, we did not check that for links. Qt draws its own focus ring
2355         for controls that it draws, but not for links.
2356         Change the return value to false if the style's appearance is not something that Qt
2357         draws by itself or does not support.
2358         Added a Qt specific test result for the new test added in r69766.
2359
2360         * platform/qt/RenderThemeQt.cpp:
2361         (WebCore::RenderThemeQt::supportsFocusRing):
2362
2363 2010-11-15  Dai Mikurube  <dmikurube@google.com>
2364
2365         Reviewed by Kent Tamura.
2366
2367         Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags
2368         https://bugs.webkit.org/show_bug.cgi?id=49240
2369
2370         Tests: fast/forms/formaction-attribute.html
2371                fast/forms/formmethod-attribute-button-html.html
2372                fast/forms/formmethod-attribute-input-html.html
2373                fast/forms/formtarget-attribute-button-html.html
2374                fast/forms/formtarget-attribute-input-html.html
2375                fast/forms/mailto/formenctype-attribute-button-html.html
2376                fast/forms/mailto/formenctype-attribute-input-html.html
2377                fast/forms/submit-form-attributes.html
2378
2379         * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes
2380         * html/HTMLButtonElement.idl:
2381         * html/HTMLInputElement.idl:
2382         * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes
2383         (WebCore::FormSubmission::Attributes::copyFrom):
2384         (WebCore::FormSubmission::create):
2385         * loader/FormSubmission.h:
2386
2387 2010-11-15  Pavel Feldman  <pfeldman@chromium.org>
2388
2389         Reviewed by Yury Semikhatsky.
2390
2391         Web Inspector: Do not hide default Ctrl+A behavior on non-Mac.
2392         https://bugs.webkit.org/show_bug.cgi?id=49527
2393
2394         * inspector/front-end/TextPrompt.js:
2395         (WebInspector.TextPrompt.prototype._onKeyDown):
2396
2397 2010-11-15  Ilya Sherman  <isherman@chromium.org>
2398
2399         Reviewed by Kent Tamura.
2400
2401         Add capability for displaying warnings to autofill popup
2402         Warnings are displayed in dark gray italic.
2403         https://bugs.webkit.org/show_bug.cgi?id=49291
2404         http://code.google.com/p/chromium/issues/detail?id=58509
2405
2406         * platform/chromium/PopupMenuChromium.cpp:
2407         (WebCore::PopupListBox::getRowFont):
2408           Use item-specific font, not just the generic menu font.
2409         (WebCore::PopupListBox::selectIndex):
2410           Updated to clear the selection when hovering over a non-selectable item.
2411         * platform/chromium/PopupMenuChromium.h: Minor cleanup
2412
2413 2010-11-14  David Hyatt  <hyatt@apple.com>
2414
2415         Back out the italics portion of the previous patch until I can figure out why it
2416         doesn't work.
2417
2418         * css/CSSFontSelector.cpp:
2419         (WebCore::compareFontFaces):
2420
2421 2010-11-14  Kent Tamura  <tkent@chromium.org>
2422
2423         Reviewed by Dimitri Glazkov.
2424
2425         Improve API for form validation message strings
2426         https://bugs.webkit.org/show_bug.cgi?id=34945
2427         
2428         This change introduces three new functions;
2429         validationMessageTypeMismatchFor*Text(). The implementation for each
2430         platform is just a call to validationMessageTypeMismatchText().
2431
2432         Some validationMessage*() functions have new parameters.  The parameters
2433         are ignored in all platforms for now.
2434
2435         This change doesn't change any behavior. However a platform can add
2436         additional information to validation messages.  e.g. Changing "type
2437         mismatch" to "Please specify an e-mail address" for <input type=email>.
2438
2439         * html/EmailInputType.cpp:
2440         (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText()
2441           or validationMessageTypeMismatchForMultipleEmailText().
2442         * html/EmailInputType.h:
2443         * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState.
2444         * html/HTMLInputElement.cpp: Add the following functions to pass extra
2445           information to validation message string functions.
2446         (WebCore::HTMLInputElement::minimumString):
2447         (WebCore::HTMLInputElement::maximumString):
2448         (WebCore::HTMLInputElement::stepBaseString):
2449         (WebCore::HTMLInputElement::stepString):
2450         (WebCore::HTMLInputElement::typeMismatchText):
2451         * html/HTMLInputElement.h:
2452         * html/HTMLTextAreaElement.h:
2453         * html/InputType.cpp:
2454         (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText().
2455         * html/InputType.h:
2456         * html/URLInputType.cpp:
2457         (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText().
2458         * html/URLInputType.h:
2459         * html/ValidityState.cpp:
2460         (WebCore::ValidityState::validationMessage):
2461         * platform/LocalizedStrings.cpp:
2462         (WebCore::validationMessageTypeMismatchForEmailText):
2463         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2464         (WebCore::validationMessageTypeMismatchForURLText):
2465         (WebCore::validationMessageTooLongText):
2466         (WebCore::validationMessageRangeUnderflowText):
2467         (WebCore::validationMessageRangeOverflowText):
2468         (WebCore::validationMessageStepMismatchText):
2469         * platform/LocalizedStrings.h:
2470           - Add validationMessageTypeMismatchForEmailText(),
2471             validationMessageTypeMismatchForMultipleEmailText() and
2472             validationMessageTypeMismatchForURLText()
2473           - Add length parameters to validationMessageTooLongText().
2474           - Add the minimum value parameter to validationMessageRangeUnderflowText()
2475           - Add the maximum value parameter to validationMessageRangeOverflowText()
2476           - Add parameters of the base value and the step value to validationMessageStepMismatchText()
2477         * platform/android/LocalizedStringsAndroid.cpp:
2478         (WebCore::validationMessageTypeMismatchForEmailText):
2479         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2480         (WebCore::validationMessageTypeMismatchForURLText):
2481         (WebCore::validationMessageTooLongText):
2482         (WebCore::validationMessageRangeUnderflowText):
2483         (WebCore::validationMessageRangeOverflowText):
2484         (WebCore::validationMessageStepMismatchText):
2485         * platform/brew/LocalizedStringsBrew.cpp:
2486         (WebCore::validationMessageTypeMismatchForEmailText):
2487         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2488         (WebCore::validationMessageTypeMismatchForURLText):
2489         (WebCore::validationMessageTooLongText):
2490         (WebCore::validationMessageRangeUnderflowText):
2491         (WebCore::validationMessageRangeOverflowText):
2492         (WebCore::validationMessageStepMismatchText):
2493         * platform/efl/LocalizedStringsEfl.cpp:
2494         (WebCore::validationMessageRangeOverflowText):
2495         (WebCore::validationMessageRangeUnderflowText):
2496         (WebCore::validationMessageStepMismatchText):
2497         (WebCore::validationMessageTooLongText):
2498         (WebCore::validationMessageTypeMismatchForEmailText):
2499         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2500         (WebCore::validationMessageTypeMismatchForURLText):
2501         * platform/gtk/LocalizedStringsGtk.cpp:
2502         (WebCore::validationMessageTypeMismatchForEmailText):
2503         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2504         (WebCore::validationMessageTypeMismatchForURLText):
2505         (WebCore::validationMessageTooLongText):
2506         (WebCore::validationMessageRangeUnderflowText):
2507         (WebCore::validationMessageRangeOverflowText):
2508         (WebCore::validationMessageStepMismatchText):
2509         * platform/haiku/LocalizedStringsHaiku.cpp:
2510         (WebCore::validationMessageTypeMismatchForEmailText):
2511         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2512         (WebCore::validationMessageTypeMismatchForURLText):
2513         (WebCore::validationMessageTooLongText):
2514         (WebCore::validationMessageRangeUnderflowText):
2515         (WebCore::validationMessageRangeOverflowText):
2516         (WebCore::validationMessageStepMismatchText):
2517         * platform/wx/LocalizedStringsWx.cpp:
2518         (WebCore::validationMessageTypeMismatchForEmailText):
2519         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2520         (WebCore::validationMessageTypeMismatchForURLText):
2521         (WebCore::validationMessageTooLongText):
2522         (WebCore::validationMessageRangeUnderflowText):
2523         (WebCore::validationMessageRangeOverflowText):
2524         (WebCore::validationMessageStepMismatchText):
2525
2526 2010-11-14  Kent Tamura  <tkent@chromium.org>
2527
2528         Reviewed by Andreas Kling.
2529
2530         KeyboardEvent::keyIdentifier() should return "const String&"
2531         https://bugs.webkit.org/show_bug.cgi?id=49426
2532
2533         No new tests. This shouldn't change the current behavior.
2534
2535         * dom/KeyboardEvent.h:
2536         (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String&
2537         * dom/SelectElement.cpp:
2538         (WebCore::SelectElement::menuListDefaultEventHandler):
2539           Change the type of a variable to have keyIdentifier(); String -> const String&
2540         (WebCore::SelectElement::listBoxDefaultEventHandler): ditto.
2541         * html/HTMLInputElement.cpp:
2542         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
2543         (WebCore::HTMLInputElement::handleKeyEventForRange): ditto.
2544         * page/EventHandler.cpp:
2545         (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto.
2546
2547 2010-11-14  Kenichi Ishibashi  <bashi@google.com>
2548
2549         Reviewed by Kent Tamura.
2550
2551         [HTML5] "form" attribute support for form control elements
2552         https://bugs.webkit.org/show_bug.cgi?id=47813
2553
2554         Adds a list of form-associated elements with form attribute into
2555         the Document class to support form attribute.
2556         Adds a function to determine the right place to locate
2557         form-associated elements with form attribute into
2558         m_associatedElements of HTMLFormElement class.
2559
2560         Tests: fast/forms/form-attribute-elements-order.html
2561                fast/forms/form-attribute-elements-order2.html
2562                fast/forms/form-attribute-elements.html
2563                fast/forms/form-attribute.html
2564
2565         * dom/Document.cpp:
2566         (WebCore::Document::registerFormElementWithFormAttribute): Added.
2567         (WebCore::Document::unregisterFormElementWithFormAttribute): Added.
2568         (WebCore::Document::resetFormElementsOwner): Added.
2569         * dom/Document.h: Added the list for elements with form attribute.
2570         * html/HTMLAttributeNames.in: Added form attribute.
2571         * html/HTMLFormControlElement.cpp:
2572         (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle
2573         form attribute.
2574         (WebCore::HTMLFormControlElement::removedFromTree): Ditto.
2575         (WebCore::HTMLFormControlElement::resetFormOwner): Added.
2576         (WebCore::HTMLFormControlElement::attributeChanged): Added.
2577         * html/HTMLFormControlElement.h:
2578         * html/HTMLFormElement.cpp:
2579         (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize
2580         newly-added variables.
2581         (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset
2582         form owner of form-associated elements.
2583         (WebCore::HTMLFormElement::removedFromDocument): Ditto.
2584         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added.
2585         (WebCore::HTMLFormElement::formElementIndex): Modified to treat
2586         form-associated elements with form attribute separately.
2587         (WebCore::HTMLFormElement::removeFormElement): Modified to handle
2588         form-associated elements with form attribute.
2589         * html/HTMLFormElement.h: Added three variables to handle form attribute.
2590         * html/HTMLOutputElement.cpp: Removed "FIXME" comment.
2591         (WebCore::HTMLOutputElement::parseMappedAttribute):
2592         * html/HTMLOutputElement.h: Removed setForm().
2593
2594 2010-11-14  David Hyatt  <hyatt@apple.com>
2595
2596         Reviewed by Dan Bernstein.
2597
2598         https://bugs.webkit.org/show_bug.cgi?id=49521
2599
2600         REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979.
2601         
2602         Refine the font selection function for @font-face to be smarter about what fonts it prefers.  If
2603         a font is labeled as only supporting small-caps, then prefer it to one that claims to support both
2604         normal and small-caps.  The specialized font is more likely to be true small-caps and to not rely
2605         on synthesis.
2606         
2607         Added the same logic for italic as well.  Prefer the font that is specifically restricted to
2608         italic to one that claims it can support anything.
2609
2610         * css/CSSFontSelector.cpp:
2611         (WebCore::compareFontFaces):
2612
2613 2010-11-14  Ryuan Choi  <ryuan.choi@samsung.com>
2614
2615         Reviewed by Martin Robinson.
2616
2617         [EFL] add pango support
2618         https://bugs.webkit.org/show_bug.cgi?id=46029
2619
2620         Include pango related files.
2621         No new tests; functionality is unchanged.
2622
2623         * CMakeListsEfl.txt:
2624
2625 2010-11-12  Tenghui Zhu  <ztenghui@google.com>
2626
2627         Reviewed by Andreas Kling.
2628
2629         [V8] Code generation script error in generating the SVGStaticListPropertyTearOff
2630         https://bugs.webkit.org/show_bug.cgi?id=49463
2631
2632         * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing
2633         the SVGStaticListPropertyTearOff string, not the svgListPropertyType.
2634
2635 2010-11-14  Patrick Gansterer  <paroga@webkit.org>
2636
2637         Reviewed by Andreas Kling.
2638
2639         Sort CMakeLists.txt
2640         https://bugs.webkit.org/show_bug.cgi?id=49507
2641
2642         * CMakeLists.txt:
2643
2644 2010-11-13  Patrick Gansterer  <paroga@webkit.org>
2645
2646         Reviewed by Yury Semikhatsky.
2647
2648         Buildfix for !ENABLE(INSPECTOR)
2649         https://bugs.webkit.org/show_bug.cgi?id=49500
2650
2651         Also unify the position of the condition in the cpp files.
2652
2653         * inspector/ConsoleMessage.cpp:
2654         * inspector/InspectorResourceAgent.cpp:
2655         * inspector/InspectorState.cpp:
2656         * inspector/ScriptCallFrame.cpp:
2657         * inspector/ScriptCallStack.cpp:
2658
2659 2010-11-13  David Hyatt  <hyatt@apple.com>
2660
2661         Reviewed by Anders Carlsson.
2662
2663         https://bugs.webkit.org/show_bug.cgi?id=49506
2664
2665         Repaint is broken across writing mode boundaries.  It's not enough to add in flipped offsets.  You have
2666         to flip the rect itself.
2667
2668         Added fast/repaint/repaint-across-writing-mode-boundary.html
2669
2670         * rendering/RenderBox.cpp:
2671         (WebCore::RenderBox::computeRectForRepaint):
2672
2673 2010-11-13  David Hyatt  <hyatt@apple.com>
2674
2675         Reviewed by Dan Bernstein.
2676
2677         https://bugs.webkit.org/show_bug.cgi?id=49505
2678         
2679         REGRESSION: @font-face doesn't work with the small-caps variant.  This was broken by the addition of SVG fonts
2680         support long ago.  This patch fixes the SVG code so that it doesn't break non-SVG fonts.
2681
2682         Added fast/blockflow/broken-ideograph-small-caps.html
2683
2684         * css/CSSFontFace.cpp:
2685         (WebCore::CSSFontFace::hasSVGFontFaceSource):
2686         * css/CSSFontFace.h:
2687         * css/CSSFontFaceSource.cpp:
2688         (WebCore::CSSFontFaceSource::getFontData):
2689         * css/CSSFontFaceSource.h:
2690         * css/CSSFontSelector.cpp:
2691         (WebCore::CSSFontSelector::addFontFaceRule):
2692         (WebCore::CSSFontSelector::getFontData):
2693
2694 2010-11-13  Dan Bernstein  <mitz@apple.com>
2695
2696         Reviewed by Dave Hyatt.
2697
2698         fast/text/hyphen* tests have different results on Leopard
2699         https://bugs.webkit.org/show_bug.cgi?id=43296
2700
2701         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2702         (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default
2703         through the normal NSUserDefaults search order rather than skipping the application domain.
2704         This makes this function respect DumpRenderTree’s setting of the default in the application
2705         domain.
2706
2707 2010-11-13  David Hyatt  <hyatt@apple.com>
2708
2709         Reviewed by Dan Bernstein.
2710
2711         https://bugs.webkit.org/show_bug.cgi?id=49499
2712         
2713         broken-ideographic-font.html causes layout test flakiness in release builds.  The reason for this is
2714         that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree.
2715         The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get
2716         pruned as well.  In addition, custom small caps fonts were never getting deleted either.
2717         
2718         I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it
2719         instead.
2720         
2721         Unskip fast/blockflow/broken-ideographic-font.html
2722
2723         * platform/graphics/SimpleFontData.cpp:
2724         (WebCore::SimpleFontData::~SimpleFontData):
2725         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2726         (WebCore::SimpleFontData::platformDestroy):
2727         (WebCore::SimpleFontData::smallCapsFontData):
2728         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2729         (WebCore::SimpleFontData::platformDestroy):
2730         (WebCore::SimpleFontData::smallCapsFontData):
2731         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2732         (WebCore::FontPlatformData::allowsLigatures):
2733         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2734         (WebCore::SimpleFontData::platformDestroy):
2735         (WebCore::SimpleFontData::smallCapsFontData):
2736         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
2737         (WebCore::SimpleFontData::platformDestroy):
2738         (WebCore::SimpleFontData::smallCapsFontData):
2739         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2740         (WebCore::disableLigatures):
2741         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2742         (WebCore::SimpleFontData::getCFStringAttributes):
2743         * platform/graphics/mac/SimpleFontDataMac.mm:
2744         (WebCore::SimpleFontData::platformDestroy):
2745         * platform/graphics/win/SimpleFontDataWin.cpp:
2746         (WebCore::SimpleFontData::platformDestroy):
2747         (WebCore::SimpleFontData::smallCapsFontData):
2748         * platform/graphics/wx/SimpleFontDataWx.cpp:
2749         (WebCore::SimpleFontData::platformDestroy):
2750         (WebCore::SimpleFontData::smallCapsFontData):
2751
2752 2010-11-13  David Hyatt  <hyatt@apple.com>
2753
2754         https://bugs.webkit.org/show_bug.cgi?id=49496
2755
2756         Fix broken-ideographic-font.html.  I had the font installed locally on my machine, and this covered up
2757         the fact that CoreText was implicitly using it as fallback in the vertical case only.  The bots don't have
2758         the font installed locally, and so they showed the bug.
2759
2760         Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is
2761         willing to fill.
2762
2763         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2764         (WebCore::SimpleFontData::getCFStringAttributes):
2765
2766 2010-11-13  David Hyatt  <hyatt@apple.com>
2767
2768         Reviewed by Dan Bernstein.
2769
2770         https://bugs.webkit.org/show_bug.cgi?id=49464
2771         
2772         Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no
2773         vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms.
2774         
2775         (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as
2776         distinct when used in horizontal and vertical forms.
2777         
2778         (2) Let the orientation member of FontPlatformData represent the desired orientation rather than
2779         the supported one.  Add an orientation member to SimpleFontData that represents the actual
2780         supported orientation of the font.
2781         
2782         (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when
2783         CJK ideographs are encountered.  This is essentially identical to the small caps fallback mechanism
2784         but invoked only for ideographs.  The special ideograph font locks the orientation to vertical and
2785         renders the glyphs upright even when the font has no vertical tables.  Punctuation and such will
2786         still look funny, and really this is a bug in the font, but at least this way it will be apparent
2787         that the font is to blame.
2788
2789         Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html.
2790
2791         * css/CSSFontFaceSource.cpp:
2792         (WebCore::CSSFontFaceSource::getFontData):
2793         * css/CSSSegmentedFontFace.cpp:
2794         (WebCore::CSSSegmentedFontFace::getFontData):
2795         * platform/graphics/Font.cpp:
2796         (WebCore::Font::isCJKIdeograph):
2797         * platform/graphics/Font.h:
2798         * platform/graphics/FontFastPath.cpp:
2799         (WebCore::Font::glyphDataForCharacter):
2800         * platform/graphics/SimpleFontData.cpp:
2801         (WebCore::SimpleFontData::SimpleFontData):
2802         (WebCore::SimpleFontData::~SimpleFontData):
2803         (WebCore::SimpleFontData::brokenIdeographFontData):
2804         * platform/graphics/SimpleFontData.h:
2805         (WebCore::SimpleFontData::orientation):
2806         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2807         (WebCore::FontPlatformData::FontPlatformData):
2808         * platform/graphics/mac/FontMac.mm:
2809         (WebCore::showGlyphsWithAdvances):
2810         * platform/graphics/mac/SimpleFontDataMac.mm:
2811         (WebCore::SimpleFontData::platformInit):
2812         (WebCore::SimpleFontData::platformBoundsForGlyph):
2813         (WebCore::SimpleFontData::platformWidthForGlyph):
2814
2815 2010-11-13  Rob Buis  <rwlbuis@gmail.com>
2816
2817         Reviewed by Dirk Schulze.
2818
2819         requiredFeatures does not adapt to SVGStringList changes
2820         https://bugs.webkit.org/show_bug.cgi?id=40887
2821
2822         Centralize logic of handling of SVGElement validity changes.
2823         The logic is to detach the SVGElement when changing from valid
2824         to invalid, and to attach when changing from invalid to valid.
2825
2826         Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html
2827                svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html
2828                svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html
2829                svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html
2830                svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html
2831                svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html
2832                svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html
2833                svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html
2834                svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html
2835                svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html
2836                svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html
2837                svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html
2838                svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
2839                svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html
2840                svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html
2841                svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html
2842                svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html
2843                svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html
2844                svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html
2845                svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html
2846                svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html
2847                svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html
2848                svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html
2849                svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html
2850                svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html
2851                svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html
2852
2853         * svg/SVGCircleElement.cpp:
2854         (WebCore::SVGCircleElement::svgAttributeChanged):
2855         * svg/SVGEllipseElement.cpp:
2856         (WebCore::SVGEllipseElement::svgAttributeChanged):
2857         * svg/SVGForeignObjectElement.cpp:
2858         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
2859         * svg/SVGGElement.cpp:
2860         (WebCore::SVGGElement::svgAttributeChanged):
2861         * svg/SVGImageElement.cpp:
2862         (WebCore::SVGImageElement::svgAttributeChanged):
2863         * svg/SVGLineElement.cpp:
2864         (WebCore::SVGLineElement::svgAttributeChanged):
2865         * svg/SVGPathElement.cpp:
2866         (WebCore::SVGPathElement::svgAttributeChanged):
2867         * svg/SVGPolyElement.cpp:
2868         (WebCore::SVGPolyElement::svgAttributeChanged):
2869         * svg/SVGRectElement.cpp:
2870         (WebCore::SVGRectElement::svgAttributeChanged):
2871         * svg/SVGSVGElement.cpp:
2872         (WebCore::SVGSVGElement::svgAttributeChanged):
2873         * svg/SVGTests.cpp:
2874         (WebCore::knownAttribute):
2875         (WebCore::SVGTests::isKnownAttribute):
2876         (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes.
2877         * svg/SVGTests.h:
2878         * svg/SVGTextContentElement.cpp:
2879         (WebCore::SVGTextContentElement::svgAttributeChanged):
2880         (WebCore::SVGTextContentElement::isKnownAttribute):
2881         * svg/SVGTextContentElement.h:
2882         * svg/SVGUseElement.cpp:
2883         (WebCore::SVGUseElement::svgAttributeChanged):
2884
2885 2010-11-13  Andrey Kosyakov  <caseq@chromium.org>
2886
2887         Reviewed by Pavel Feldman.
2888
2889         Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view
2890         https://bugs.webkit.org/show_bug.cgi?id=49493
2891
2892         * inspector/front-end/NetworkPanel.js:
2893         (WebInspector.NetworkPanel.prototype._showResource):
2894         * inspector/front-end/ResourceView.js:
2895         (WebInspector.ResourceView):
2896         (WebInspector.ResourceView.prototype.selectContentTab):
2897         (WebInspector.ResourceView.prototype._selectTab):
2898         (WebInspector.ResourceView.prototype._refreshCookies):
2899         (WebInspector.ResourceCookiesTab.prototype.show):
2900         * inspector/front-end/StoragePanel.js:
2901         (WebInspector.StoragePanel.prototype.showResource):
2902         * inspector/front-end/TabbedPane.js:
2903         (WebInspector.TabbedPane.prototype.appendTab):
2904         (WebInspector.TabbedPane.prototype.hasTab):
2905         (WebInspector.TabbedPane.prototype.selectTabById):
2906         (WebInspector.TabbedPane.prototype._hideTab):
2907         (WebInspector.TabbedPane.prototype._showTab):
2908         * inspector/front-end/inspector.css:
2909         (.resource-view-cookies):
2910         (.resource-view-cookies.visible):
2911
2912 2010-11-13  Yury Semikhatsky  <yurys@chromium.org>
2913
2914         Reviewed by Pavel Feldman.
2915
2916         REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked
2917         https://bugs.webkit.org/show_bug.cgi?id=49362
2918
2919         * page/Console.cpp:
2920         (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership
2921         has been passed to the inspector.
2922
2923 2010-11-13  Yury Semikhatsky  <yurys@chromium.org>
2924
2925         Reviewed by Pavel Feldman.
2926
2927         Web Inspector: DOM event listener name is cropped in Elements panel
2928         https://bugs.webkit.org/show_bug.cgi?id=49387
2929
2930         * inspector/front-end/inspector.css:
2931         (.event-bar): use margin-left instead of left to fit child node into its parent
2932
2933 2010-11-13  Ilya Sherman  <isherman@chromium.org>
2934
2935         Reviewed by Shinichiro Hamaji.
2936
2937         Fixes regression from previous patch -- computes y offsets for elements
2938         that are scrolled out of the window.
2939         https://bugs.webkit.org/show_bug.cgi?id=49306
2940
2941         * manual-tests/select-scroll.html: Added.
2942         * platform/chromium/PopupMenuChromium.cpp:
2943         (WebCore::PopupListBox::layout):
2944
2945 2010-11-12  Daniel Bates  <dbates@rim.com>
2946
2947         Reviewed by Adam Barth.
2948
2949         Transferred <iframe>s may not have a unique internal name
2950         https://bugs.webkit.org/show_bug.cgi?id=48768
2951
2952         Fixes an issue where an <iframe> that is transferred from
2953         document A to document B, where A != B, may not have a
2954         unique internal name in B.
2955
2956         Test: fast/frames/iframe-reparenting-unique-name.html
2957
2958         * html/HTMLFrameElementBase.cpp:
2959         (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Inlined code from
2960         HTMLFrameElementBase::setName() so that we can remove setName(), which
2961         was only called being called by HTMLFrameElementBase::setNameAndOpenURL().
2962         * html/HTMLFrameElementBase.h: Removed HTMLFrameElementBase::setName().
2963         * html/HTMLFrameOwnerElement.h: Removed HTMLFrameOwnerElement::setName().
2964         * page/Frame.cpp:
2965         (WebCore::Frame::transferChildFrameToNewDocument): Modified to call FrameTree::transferChild().
2966         * page/FrameTree.cpp:
2967         (WebCore::FrameTree::transferChild): Added.
2968         (WebCore::FrameTree::appendChild): Moved the majority of the code into FrameTree::actuallyAppendChild().
2969         (WebCore::FrameTree::actuallyAppendChild): Added.
2970         * page/FrameTree.h:
2971
2972 2010-11-12  Joseph Pecoraro  <joepeck@webkit.org>
2973
2974         Reviewed by Alexey Proskuryakov.
2975
2976         Some FrameLoader.h Cleanup
2977         https://bugs.webkit.org/show_bug.cgi?id=49484
2978
2979         Removed function signatures without any implementation. The functions
2980         used to exist, and were nicely refactored into PageCache in r60688 and
2981         the signatures were left behind.
2982
2983         Removed function signature setLoadType. Added in r17238 back when the
2984         file was named WebFrameLoader, and the implementation was lost during
2985         the transition from its mm implementation.
2986
2987         Removed function signature updateHistoryAfterClientRedirect. Implementation
2988         and call points were removed in r18541 but the signature was left behind,
2989         and jumped files!
2990
2991         Removed unused debug variable m_didDispatchDidCommitLoad. It was added
2992         and used in Assertions in r28399. It was removed soon after, in r28464
2993         because they were, "firing like crazy. Not sure why yet." It was
2994         never used again.
2995
2996         Added const qualifier and moved interruptionForPolicyChangeError to
2997         be more like its buddies.
2998
2999         * loader/FrameLoader.cpp:
3000         (WebCore::FrameLoader::FrameLoader):
3001         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3002         (WebCore::FrameLoader::interruptionForPolicyChangeError):
3003         (WebCore::FrameLoader::dispatchDidCommitLoad):
3004         * loader/FrameLoader.h:
3005
3006 2010-11-12  Yael Aharon  <yael.aharon@nokia.com>
3007
3008         Reviewed by David Hyatt.
3009
3010         Spatial Navigation: Cannot focus on some ContainerNode
3011         https://bugs.webkit.org/show_bug.cgi?id=48393
3012
3013         ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child 
3014         is its own lowest right corner. If that child is an empty text node after an image, it does 
3015         not have size and position information, so we should go to the previous child.
3016
3017         Tests: fast/events/spatial-navigation/snav-container-only-white-space.html
3018                fast/events/spatial-navigation/snav-container-white-space.html
3019
3020         * dom/ContainerNode.cpp:
3021         (WebCore::ContainerNode::getLowerRightCorner):
3022
3023 2010-11-12  James Simonsen  <simonjam@chromium.org>
3024
3025         Reviewed by Darin Fisher.
3026
3027         [Web Timing] Rename interfaces:
3028         - Navigation -> PerformanceNavigation
3029         - Timing -> PerformanceTiming
3030         https://bugs.webkit.org/show_bug.cgi?id=48919
3031
3032         * DerivedSources.cpp:
3033         * DerivedSources.make:
3034         * GNUmakefile.am:
3035         * WebCore.gypi:
3036         * WebCore.vcproj/WebCore.vcproj:
3037         * WebCore.xcodeproj/project.pbxproj:
3038         * page/Performance.cpp:
3039         (WebCore::Performance::navigation):
3040         (WebCore::Performance::timing):
3041         * page/Performance.h:
3042         * page/Performance.idl:
3043         * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
3044         (WebCore::PerformanceNavigation::PerformanceNavigation):
3045         (WebCore::PerformanceNavigation::frame):
3046         (WebCore::PerformanceNavigation::disconnectFrame):
3047         (WebCore::PerformanceNavigation::type):
3048         (WebCore::PerformanceNavigation::redirectCount):
3049         * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
3050         (WebCore::PerformanceNavigation::create):
3051         * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
3052         * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
3053         (WebCore::toIntegerMilliseconds):
3054         (WebCore::getPossiblySkewedTimeInKnownRange):
3055         (WebCore::PerformanceTiming::PerformanceTiming):
3056         (WebCore::PerformanceTiming::frame):
3057         (WebCore::PerformanceTiming::disconnectFrame):
3058         (WebCore::PerformanceTiming::navigationStart):
3059         (WebCore::PerformanceTiming::unloadEventEnd):
3060         (WebCore::PerformanceTiming::redirectStart):
3061         (WebCore::PerformanceTiming::redirectEnd):
3062         (WebCore::PerformanceTiming::fetchStart):
3063         (WebCore::PerformanceTiming::domainLookupStart):
3064         (WebCore::PerformanceTiming::domainLookupEnd):
3065         (WebCore::PerformanceTiming::connectStart):
3066         (WebCore::PerformanceTiming::connectEnd):
3067         (WebCore::PerformanceTiming::requestStart):
3068         (WebCore::PerformanceTiming::requestEnd):
3069         (WebCore::PerformanceTiming::responseStart):
3070         (WebCore::PerformanceTiming::responseEnd):
3071         (WebCore::PerformanceTiming::domLoading):
3072         (WebCore::PerformanceTiming::domInteractive):
3073         (WebCore::PerformanceTiming::domContentLoaded):
3074         (WebCore::PerformanceTiming::domComplete):
3075         (WebCore::PerformanceTiming::loadEventStart):
3076         (WebCore::PerformanceTiming::loadEventEnd):
3077         (WebCore::PerformanceTiming::documentLoader):
3078         (WebCore::PerformanceTiming::documentTiming):
3079         (WebCore::PerformanceTiming::documentLoadTiming):
3080         (WebCore::PerformanceTiming::resourceLoadTiming):
3081         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
3082         * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
3083         (WebCore::PerformanceTiming::create):
3084         * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
3085
3086 2010-11-12  Eric Carlson  <eric.carlson@apple.com>
3087
3088         Reviewed by Simon Fraser.
3089
3090         Remove unused code from HTMLMediaElement
3091         https://bugs.webkit.org/show_bug.cgi?id=49451
3092
3093         Just removing code, so no new tests.
3094
3095         * html/HTMLMediaElement.cpp: Removed unused functions.
3096         * html/HTMLMediaElement.h:
3097
3098 2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
3099
3100         Unreviewed Xcode project fix.
3101
3102         * WebCore.xcodeproj/project.pbxproj:
3103
3104 2010-11-12  Alexey Proskuryakov  <ap@apple.com>
3105
3106         Reviewed by Simon Fraser.
3107
3108         https://bugs.webkit.org/show_bug.cgi?id=49473
3109         WebKitCSSMatrix shouldn't inherit from StyleBase
3110
3111         No change in behavior, so no tests.
3112
3113         * css/WebKitCSSMatrix.cpp:
3114         (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): We don't inherit from StyleBase any more, so
3115         no need to initialize always-null parent.
3116         (WebCore::WebKitCSSMatrix::setMatrixValue): Since there was never a parent, useStrictParsing()
3117         just returned true.
3118
3119         * css/WebKitCSSMatrix.h: Just inherit from RefCounted<WebKitCSSMatrix>. Removed unused default
3120         constructor and copy constructor.
3121
3122         * html/canvas/WebGLRenderingContext.h: Removed an unnneded forward declaration.
3123
3124 2010-11-12  Helder Correia  <helder@sencha.com>
3125
3126         Reviewed by Andreas Kling.
3127
3128         [Qt] Path::addArc() does not set right angle direction on full arcs
3129         https://bugs.webkit.org/show_bug.cgi?id=49138
3130
3131         Ensure correctness of nonzero winding rule for full arc paths.
3132         Invert the sign of the span if the direction is counterclockwise.
3133
3134         Test: fast/canvas/canvas-arc-360-winding.html
3135
3136         * platform/graphics/qt/PathQt.cpp:
3137         (WebCore::Path::addArc):
3138
3139 2010-11-05  Dimitri Glazkov  <dglazkov@chromium.org>
3140
3141         Reviewed by Darin Adler.
3142
3143         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
3144         https://bugs.webkit.org/show_bug.cgi?id=46015
3145
3146         Test: fast/events/shadow-boundary-crossing-2.html
3147
3148         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
3149         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
3150
3151         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
3152         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
3153
3154         * Android.mk: Added EventContext, WindowEventContext files.
3155         * CMakeLists.txt: Ditto.
3156         * GNUmakefile.am: Ditto.
3157         * WebCore.gypi: Ditto.
3158         * WebCore.pro: Ditto.
3159         * WebCore.xcodeproj/project.pbxproj: Ditto.
3160         * WebCore.vcproj/WebCore.vcproj: Ditto.
3161         * dom/ContainerNode.cpp:
3162         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
3163         * dom/EventContext.cpp: Added.
3164         * dom/EventContext.h: Added.
3165         * dom/Node.cpp:
3166         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
3167         (WebCore::Node::createRendererIfNeeded): Ditto.
3168         (WebCore::Node::parentOrHostNode): Added new helper method.
3169         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
3170         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
3171         (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
3172         (WebCore::Node::topEventContext): Added.
3173         (WebCore::eventHasListeners): Changed to use EventContexts.
3174         (WebCore::Node::dispatchGenericEvent): Ditto.
3175         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
3176             and changed signature of eventAncestors to use EventContexts.
3177         * dom/Text.cpp:
3178         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
3179         * dom/WindowEventContext.cpp: Added.
3180         * dom/WindowEventContext.h: Added.
3181         * inspector/InspectorDOMAgent.cpp:
3182         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
3183         * page/EventHandler.cpp:
3184         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
3185         * rendering/RenderTextControlMultiLine.cpp:
3186         (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
3187             no longer necessary.
3188         * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
3189         is deleted.
3190         * rendering/TextControlInnerElements.cpp:
3191         (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
3192             from where it was prior to r60418.
3193         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
3194         * svg/SVGElement.h: Ditto.
3195
3196 2010-11-12  Ryuan Choi  <ryuan.choi@samsung.com>
3197
3198         Reviewed by Martin Robinson.
3199
3200         [GTK] Remove unnecessary header for FontPlatformDataPango.cpp
3201         https://bugs.webkit.org/show_bug.cgi?id=46029
3202
3203         Remove unnecessary header includes.
3204         No new tests, as there's no functionality.
3205
3206         * platform/graphics/pango/FontPlatformDataPango.cpp:
3207
3208 2010-11-11  Abhishek Arya  <inferno@chromium.org>
3209
3210         Reviewed by Adam Barth.
3211
3212         Not allow drag and drop across different origins.
3213         https://bugs.webkit.org/show_bug.cgi?id=49098
3214
3215         Test: http/tests/security/drag-drop-different-origin.html
3216
3217         * page/DragController.cpp:
3218         (WebCore::DragController::tryDocumentDrag):
3219         * page/SecurityOrigin.cpp:
3220         (WebCore::SecurityOrigin::canDropOnTarget):
3221         * page/SecurityOrigin.h:
3222
3223 2010-11-11  Alexander Pavlov  <apavlov@chromium.org>
3224
3225         Reviewed by Yury Semikhatsky.
3226
3227         Web Inspector: Inspect element tooltip obscures element metrics
3228         https://bugs.webkit.org/show_bug.cgi?id=47822
3229
3230         * inspector/InspectorController.cpp:
3231         (WebCore::InspectorController::drawNodeHighlight):
3232         (WebCore::InspectorController::drawElementTitle):
3233
3234 2010-11-12  Luiz Agostini  <luiz.agostini@openbossa.org>
3235
3236         Reviewed by Kenneth Rohde Christiansen.
3237
3238         [Qt] Button's background style from default Qt Mobile Theme  is overriding facebook's button style
3239         https://bugs.webkit.org/show_bug.cgi?id=48198
3240
3241         Instead of creating gradients that goes from white to grey and cover the whole element the gradients
3242         are created by varying the alpha channel of a dark color. This way the effect will not override the
3243         background color of the elements.
3244
3245         * css/themeQtMobile.css:
3246
3247 2010-11-12  Justin Schuh  <jschuh@chromium.org>
3248
3249         Reviewed by Adam Barth.
3250
3251         Use a RefPtr inside ContainerNode::willRemove loop
3252         https://bugs.webkit.org/show_bug.cgi?id=49237
3253
3254         Test: fast/innerHTML/innerHTML-iframe.html
3255
3256         * dom/ContainerNode.cpp:
3257         (WebCore::ContainerNode::willRemove):
3258
3259 2010-11-12  Pavel Feldman  <pfeldman@chromium.org>
3260
3261         Reviewed by Yury Semikhatsky.
3262
3263         Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
3264         https://bugs.webkit.org/show_bug.cgi?id=49130
3265
3266         * English.lproj/localizedStrings.js:
3267         * inspector/front-end/BreakpointManager.js:
3268         (WebInspector.BreakpointManager.prototype.debuggerPaused):
3269         (WebInspector.Breakpoint.jsBreakpointId):
3270         (WebInspector.Breakpoint.prototype.get id):
3271         * inspector/front-end/BreakpointsSidebarPane.js:
3272         (WebInspector.EventListenerBreakpointsSidebarPane):
3273         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
3274         * inspector/front-end/CallStackSidebarPane.js:
3275         (WebInspector.CallStackSidebarPane.prototype._breakpointHit): don't call populateStatusMessage for JS breakpoints
3276         since there is no specific message in that case.
3277         * inspector/front-end/ScriptsPanel.js:
3278         (WebInspector.ScriptsPanel):
3279         (WebInspector.ScriptsPanel.prototype.reset):
3280         * inspector/front-end/inspector.css:
3281         (#elements-sidebar):
3282         (.pane > .body):
3283         (#scripts-sidebar):
3284         (li.breakpoint-hit .breakpoint-hit-marker):
3285
3286 2010-11-12  Andrey Kosyakov  <caseq@chromium.org>
3287
3288         Reviewed by Yury Semikhatsky.
3289
3290         Web Inspector: [Extensions API] [refactoring] generate public API interfaces automatically
3291         https://bugs.webkit.org/show_bug.cgi?id=49441
3292
3293         * inspector/front-end/ExtensionAPI.js:
3294         (WebInspector.injectedExtensionAPI.PanelImpl):
3295         (WebInspector.injectedExtensionAPI):
3296         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPane):
3297         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
3298         (WebInspector.injectedExtensionAPI.AuditResultImpl):
3299         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
3300         (WebInspector.injectedExtensionAPI.):
3301
3302 2010-11-12  Renata Hodovan  <reni@webkit.org>
3303
3304         Reviewed by Nikolas Zimmermann.
3305
3306         SVGFEDisplacementMapElement doesn't support dynamic invalidation
3307         https://bugs.webkit.org/show_bug.cgi?id=49430
3308
3309         The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
3310
3311         Tests: svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html
3312                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html
3313                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html
3314                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html
3315                svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html
3316                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html
3317                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html
3318                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html
3319                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html
3320                svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html
3321
3322         * svg/SVGFEDisplacementMapElement.cpp:
3323         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
3324         * svg/SVGFEDisplacementMapElement.h:
3325
3326 2010-11-12  Andrey Kosyakov  <caseq@chromium.org>
3327
3328         Reviewed by Yury Semikhatsky.
3329
3330         Web Inspector: [refactoring] do not use absolute positioning for tabbed panes
3331         https://bugs.webkit.org/show_bug.cgi?id=49439
3332
3333         * inspector/front-end/TabbedPane.js:
3334         (WebInspector.TabbedPane):
3335         (WebInspector.TabbedPane.prototype.appendTab):
3336         * inspector/front-end/inspector.css:
3337         (.resource-view.visible):
3338         (.resource-view .tabbed-pane-header):
3339         (.resource-view-cookies):
3340         (.tabbed-pane):
3341         (.tabbed-pane-content):
3342         * inspector/front-end/networkPanel.css:
3343
3344 2010-11-12  John Knottenbelt  <jknotten@chromium.org>
3345
3346         Reviewed by Steve Block.
3347
3348         Rename GeolocationControllerClient to GeolocationClient.
3349         https://bugs.webkit.org/show_bug.cgi?id=49259
3350
3351         No new tests, renaming only.
3352
3353         * GNUmakefile.am:
3354         * WebCore.gypi:
3355         * WebCore.order:
3356         * WebCore.vcproj/WebCore.vcproj:
3357         * WebCore.xcodeproj/project.pbxproj:
3358         * page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
3359         (WebCore::GeolocationClient::~GeolocationClient):
3360         * page/GeolocationController.cpp:
3361         (WebCore::GeolocationController::GeolocationController):
3362         * page/GeolocationController.h:
3363         * page/Page.h:
3364
3365 2010-11-12  Ilya Sherman  <isherman@chromium.org>
3366
3367         Reviewed by Eric Seidel.
3368
3369         Remove some trailing whitespace
3370         https://bugs.webkit.org/show_bug.cgi?id=49433
3371
3372         * platform/PopupMenuClient.h:
3373         * platform/chromium/PopupMenuChromium.cpp:
3374         (WebCore::PopupContainer::show):
3375         (WebCore::PopupListBox::paintRow):
3376         (WebCore::PopupListBox::scrollToRevealRow):
3377         * platform/chromium/PopupMenuChromium.h:
3378         * platform/chromium/SearchPopupMenuChromium.cpp:
3379         * rendering/RenderMenuList.h:
3380         (WebCore::RenderMenuList::toRenderMenuList):
3381         * rendering/RenderTextControlSingleLine.h:
3382         (WebCore::toRenderTextControlSingleLine):
3383
3384 2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
3385
3386         Reviewed by Csaba Osztrogonác.
3387
3388         [qt] script-clone tests added in r71895 fails on qt platform
3389         https://bugs.webkit.org/show_bug.cgi?id=49429
3390
3391         Fixed parseEndElement to call ScriptElement's executeScript as supposed to that of ScriptController.
3392
3393         * dom/XMLDocumentParserQt.cpp:
3394         (WebCore::XMLDocumentParser::parseEndElement):
3395
3396 2010-11-05  MORITA Hajime  <morrita@google.com>
3397
3398         Reviewed by Kent Tamura.
3399
3400         Refactoring: Return values of TextCheckingHelper::paragraphAlignedRange should form a class.
3401         https://bugs.webkit.org/show_bug.cgi?id=49053
3402
3403         Replaced paragraphAlignedRange() function call into
3404         TextCheckingParagraph class. The class encapsulates a range of a
3405         paragraph, and its relation within associated checking range.
3406         Instance variables of the class are computed lazily. So we can save unnecessary
3407         memory allocation and DOM tree traversal.
3408         
3409         No new tests, no behavior change. 
3410
3411         * editing/Editor.cpp:
3412         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced paragraphAlignedRange() call.
3413         (WebCore::Editor::changeBackToReplacedString): Replaced paragraphAlignedRange() call.
3414         * editing/TextCheckingHelper.cpp:
3415         (WebCore::expandToParagraphBoundary):
3416         (WebCore::TextCheckingParagraph::TextCheckingParagraph):
3417         (WebCore::TextCheckingParagraph::~TextCheckingParagraph):
3418         (WebCore::TextCheckingParagraph::expandRangeToNextEnd):
3419         (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
3420         (WebCore::TextCheckingParagraph::rangeLength):
3421         (WebCore::TextCheckingParagraph::paragraphRange):
3422         (WebCore::TextCheckingParagraph::subrange):
3423         (WebCore::TextCheckingParagraph::offsetTo):
3424         (WebCore::TextCheckingParagraph::isEmpty):
3425         (WebCore::TextCheckingParagraph::offsetAsRange):
3426         (WebCore::TextCheckingParagraph::text):
3427         (WebCore::TextCheckingParagraph::checkingStart):
3428         (WebCore::TextCheckingParagraph::checkingEnd):
3429         (WebCore::TextCheckingParagraph::checkingLength):
3430         (WebCore::TextCheckingHelper::findFirstBadGrammar): Replaced paragraphAlignedRange() call.
3431         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Replaced paragraphAlignedRange() call.
3432         * editing/TextCheckingHelper.h:
3433         (WebCore::TextCheckingParagraph::textLength):
3434         (WebCore::TextCheckingParagraph::textSubstring):
3435         (WebCore::TextCheckingParagraph::textCharacters):
3436         (WebCore::TextCheckingParagraph::textCharAt):
3437         (WebCore::TextCheckingParagraph::checkingSubstring):
3438         (WebCore::TextCheckingParagraph::checkingRangeMatches):
3439         (WebCore::TextCheckingParagraph::isCheckingRangeCoveredBy):
3440         (WebCore::TextCheckingParagraph::checkingRangeCovers):
3441         (WebCore::TextCheckingParagraph::checkingRange):
3442         (WebCore::TextCheckingParagraph::isTextEmpty):
3443         (WebCore::TextCheckingParagraph::isRangeEmpty):
3444
3445 2010-11-11  Ryosuke Niwa  <rniwa@webkit.org>
3446
3447         Reviewed by Darin Adler.
3448
3449         Script runs more than once after a clone
3450         https://bugs.webkit.org/show_bug.cgi?id=48966
3451
3452         The bug was caused by cloneElementWithoutChildren's not propagating isEvaluated flag,
3453         which indicates whether or not the script has already started, and the fact
3454         neither HTMLScriptRunner nor XMLDocumentParser was setting isEvaluated flag to true.
3455
3456         Fixed the bug by making cloneElementWithoutChildren call a virtual cloneElementWithoutAttributesAndChildren,
3457         and override it in HTMLScriptElement and SVGScriptElement to propagate isEvaluated flag,
3458         and replacing direct access to ScriptController by a call to new ScriptElementData::executeScript,
3459         which updates the isEvaluated flag properly.
3460
3461         See also: http://www.whatwg.org/specs/web-apps/current-work/#already-started
3462
3463         Tests: fast/dom/script-clone-rerun-self.html
3464                fast/dom/script-clone-rerun.html
3465                svg/dom/SVGScriptElement/script-clone-rerun-self.svg
3466                svg/dom/SVGScriptElement/script-clone-rerun.svg
3467
3468         * dom/Element.cpp:
3469         (WebCore::Element::cloneElementWithoutChildren): Calls cloneElementWithoutChildren.
3470         (WebCore::Element::cloneElementWithoutAttributesAndChildren): Extracted from cloneElementWithoutChildren.
3471         * dom/Element.h:
3472         * dom/ScriptElement.cpp:
3473         (WebCore::ScriptElementData::ScriptElementData): Added isEvaluated flag to the argument list.
3474         (WebCore::ScriptElementData::evaluateScript): Extracted from HTMLScriptRunner::executeScript.
3475         (WebCore::ScriptElementData::executeScript): Renamed evaluated to isEvaluated.
3476         (WebCore::ScriptElementData::ignoresLoadRequest): Renamed evaluated to isEvaluated.
3477         * dom/ScriptElement.h: Renamed evaluated to isEvaluated.
3478         (WebCore::ScriptElementData::isEvaluated): Added.
3479         * dom/XMLDocumentParserLibxml2.cpp:
3480         (WebCore::XMLDocumentParser::endElementNs): Calls ScriptElement::executeScript.
3481         * html/HTMLScriptElement.cpp:
3482         (WebCore::HTMLScriptElement::HTMLScriptElement): Added isEvaluated flag to the argument list.
3483         (WebCore::HTMLScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
3484         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
3485         (WebCore::HTMLScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
3486         * html/HTMLScriptElement.h:
3487         * html/parser/HTMLScriptRunner.cpp:
3488         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Added an assertion that was lost
3489         in extracting ScriptElementData::executeScript.
3490         (WebCore::HTMLScriptRunner::runScript): Calls ScriptElementData::executeScript.
3491         * html/parser/HTMLScriptRunner.h:
3492         * svg/SVGScriptElement.cpp:
3493         (WebCore::SVGScriptElement::SVGScriptElement): Added isEvaluated flag to the argument list.
3494         (WebCore::SVGScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
3495         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
3496         (WebCore::SVGScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
3497         * svg/SVGScriptElement.h:
3498
3499 2010-11-11  Shinichiro Hamaji  <hamaji@chromium.org>
3500
3501         Reviewed by Darin Adler.
3502
3503         REGRESSION: window.print in onload doesn't fire if there's an img
3504         https://bugs.webkit.org/show_bug.cgi?id=48195
3505
3506         This issue was introduced in
3507         https://bugs.webkit.org/show_bug.cgi?id=43658
3508         This happens because FrameLoader::isLoading() is false while an
3509         image is still loading. Now, window.print() happens after all
3510         resources are loaded.
3511
3512         Also changed the name of a member variable as Darin suggested in Bug 43658.
3513
3514         Added a manual test as DRT doesn't support window.print() yet.
3515
3516         * loader/DocumentLoader.cpp:
3517         (WebCore::DocumentLoader::DocumentLoader):
3518         (WebCore::DocumentLoader::updateLoading):
3519         * loader/DocumentLoader.h:
3520         * page/DOMWindow.cpp:
3521         (WebCore::DOMWindow::DOMWindow):
3522         (WebCore::DOMWindow::print):
3523         (WebCore::DOMWindow::finishedLoading):
3524         * page/DOMWindow.h:
3525
3526 2010-11-11  James Simonsen  <simonjam@chromium.org>
3527
3528         Reviewed by Tony Chang.
3529
3530         [chromium] Support letter spacing and fix whitespace wrapping on linux
3531
3532         When lines wrapped on RTL text, the whitespace was inserted before
3533         the first character on the new line instead of at the end of the
3534         previous line. This has been fixed.
3535
3536         The missing cluster information needed for letter spacing was hidden in
3537         harfbuzz's attributes struct.
3538
3539         https://bugs.webkit.org/show_bug.cgi?id=49405
3540
3541         * platform/graphics/chromium/FontLinux.cpp:
3542         (WebCore::TextRunWalker::letterSpacing): Added.
3543         (WebCore::TextRunWalker::isWordBreak): No need for isRTL.
3544         (WebCore::TextRunWalker::setPadding): Ditto.
3545         (WebCore::TextRunWalker::setGlyphXPositions): Support letter spacing. No whitespace before RTL text on new line.
3546         (WebCore::glyphIndexForXPositionInScriptRun): Support letter spacing.
3547
3548 2010-11-11  Kavita Kanetkar  <kkanetkar@chromium.org>
3549
3550         Reviewed by Dumitru Daniliuc.
3551
3552         FileSystem: Fix a link error for non-chromium WebKit build
3553         https://bugs.webkit.org/show_bug.cgi?id=49296
3554
3555         * WebCore.xcodeproj/project.pbxproj:
3556         * inspector/InspectorFileSystemAgent.cpp:
3557         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
3558         (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntry):
3559         (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntries):
3560         (WebCore::InspectorFileSystemAgentCallbacks::didCreateFileWriter):
3561         (WebCore::InspectorFileSystemAgentCallbacks::didFail):
3562         (WebCore::InspectorFileSystemAgent::revealFolderInOS):
3563
3564 2010-11-11  Nate Chapin  <japhet@chromium.org>
3565
3566         Reviewed by Antti Koivisto.
3567
3568         Cleanup after http://trac.webkit.org/changeset/71562, namely:
3569         Make deferred request handle simpler.
3570         Don't perform callbacks associated with network load starting
3571         (e.g., willSendRequest) until the load is in fact sent to the network.
3572         Make ResourceLoadScheduler a friend of ResourceLoader and make
3573         ResourceLoader::start() protected to try to ensure loads actually
3574         go through the scheduler.
3575         https://bugs.webkit.org/show_bug.cgi?id=49351
3576
3577         Behavior should be covered by existing tests.
3578
3579         * loader/NetscapePlugInStreamLoader.cpp:
3580         (WebCore::NetscapePlugInStreamLoader::create):
3581         * loader/ResourceLoadScheduler.cpp:
3582         (WebCore::ResourceLoadScheduler::servePendingRequests):
3583         * loader/ResourceLoadScheduler.h:
3584         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
3585         * loader/ResourceLoader.cpp:
3586         (WebCore::ResourceLoader::init):
3587         (WebCore::ResourceLoader::start):
3588         (WebCore::ResourceLoader::setDefersLoading):
3589         (WebCore::ResourceLoader::didCancel):
3590         * loader/ResourceLoader.h:
3591         (WebCore::ResourceLoader::reachedTerminalState):
3592         (WebCore::ResourceLoader::request):
3593         * loader/SubresourceLoader.cpp:
3594         (WebCore::SubresourceLoader::create):
3595         * loader/loader.cpp:
3596         (WebCore::Loader::load):
3597         (WebCore::Loader::willSendRequest):
3598         * loader/loader.h:
3599
3600 2010-11-11  Carol Szabo <carol.szabo@nokia.com>
3601
3602         Reviewed by Kent Tamura.
3603
3604         css2:order of counters in out-of flow content
3605         https://bugs.webkit.org/show_bug.cgi?id=32412
3606
3607         Tests: fast/css/content/content-none.html
3608                fast/css/content/content-normal.html
3609
3610         * css/CSSParser.cpp:
3611         (WebCore::CSSParser::parseContent):
3612         Added support for none, normal, open-quote, no-open-quote, etc.
3613         identifiers in terms of parsing only, as this has effect on the
3614         evaluation of counters. No further implementation needed for 
3615         none and normal, the others are parsed but do not work as expected.
3616
3617 2010-11-11  Julie-Jeongeun-Kim  <jiyuluna@gmail.com>
3618
3619         Reviewed by Kent Tamura.
3620
3621         SelectionStart, selectionEnd properties return wrong values when the selection is in a read-only input or textarea element
3622         https://bugs.webkit.org/show_bug.cgi?id=25444
3623
3624         'rootEditableElement()' is checked on RenderTextControl::indexForVisiblePosition.
3625         It means that just editable elements can get selection information.
3626         ReadOnly element is not editable element. So, it just returns and can't get correct selection information.
3627         INPUT and TEXTAREA elements can be read-only but 'indexForVisiblePosition' doesn't accept them.
3628         So, Selectable elements, INPUT and TEXTAREA, checking is added for that case.
3629         Even if they are read-only, they are selectable.
3630
3631         new tests:fast/forms/selection-start-end-readonly.html
3632
3633         * html/HTMLInputElement.idl:
3634         * rendering/RenderTextControl.cpp:
3635         (WebCore::RenderTextControl::isSelectableElement):
3636         (WebCore::RenderTextControl::indexForVisiblePosition):
3637         * rendering/RenderTextControl.h:
3638
3639 2010-11-11  Adam Barth  <abarth@webkit.org>
3640
3641         Reviewed by David Levin.
3642
3643         Add some RefPtrs to be on the safe side
3644         https://bugs.webkit.org/show_bug.cgi?id=49301
3645
3646         Hopefully no behavior change.
3647
3648         * html/parser/HTMLTreeBuilder.cpp:
3649         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3650
3651 2010-11-11  Chris Rogers  <crogers@google.com>
3652
3653         Reviewed by Kenneth Russell.
3654
3655         Fix Accelerate.framework issues in VectorMath 32-bit ppc & i386 vs. other architectures (64-bit, ARM, etc.).
3656         On the Mac we use the highly optimized versions in Accelerate.framework
3657         In 32-bit mode (__ppc__ or __i386__) <Accelerate/Accelerate.h> includes <vecLib/vDSP_translate.h> which defines macros
3658         of the same name as our namespaced function names, so we must handle this case differently.
3659         Other architectures (64bit, ARM, etc.) do not include this header file.
3660         
3661         https://bugs.webkit.org/show_bug.cgi?id=49112
3662
3663         No new tests since audio API is not yet implemented.
3664
3665         * platform/audio/VectorMath.cpp:
3666         (WebCore::VectorMath::vsmul):
3667         (WebCore::VectorMath::vadd):
3668
3669 2010-11-11  Dan Bernstein  <mitz@apple.com>
3670
3671         Reviewed by Darin Adler.
3672
3673         <rdar://problem/8657116> fast/text/justification-padding-mid-word.html fails on Windows
3674         https://bugs.webkit.org/show_bug.cgi?id=49378
3675
3676         * platform/graphics/win/UniscribeController.cpp:
3677         (WebCore::UniscribeController::shapeAndPlaceItem): For all characters that need to be treated
3678         as zero-width spaces, substitute the space glyph with zero advance. Apply justification padding
3679         and word spacing only at characters treated as (non-zero-width) spaces.
3680
3681 2010-11-11  Darin Adler  <darin@apple.com>
3682
3683         Reviewed by Sam Weinig.
3684
3685         Harden some string functions against large lengths
3686         https://bugs.webkit.org/show_bug.cgi?id=49293
3687
3688         * rendering/RenderText.cpp:
3689         (WebCore::makeCapitalized): Check before incrementing length.
3690
3691 2010-11-10  Zhenyao Mo  <zmo@google.com>
3692
3693         Reviewed by Kenneth Russell.
3694
3695         bufferData/bufferSubData should not crash with null data input
3696         https://bugs.webkit.org/show_bug.cgi?id=49350
3697
3698         * html/canvas/WebGLRenderingContext.cpp: return early if input data is null.
3699         (WebCore::WebGLRenderingContext::bufferData):
3700         (WebCore::WebGLRenderingContext::bufferSubData):
3701
3702 2010-11-10  Zhenyao Mo  <zmo@google.com>
3703
3704         Reviewed by Kenneth Russell.
3705
3706         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
3707         https://bugs.webkit.org/show_bug.cgi?id=47196
3708
3709         This is the first patch for this bug.  We add constants and methods, but haven't hooked it up with texture uploading yet.  Also, in order to check in constants.html, we need to remove out-dated constants, and update affected tests correspondingly.
3710
3711         Test: fast/canvas/webgl/constants.html
3712
3713         * html/canvas/WebGLRenderingContext.cpp:
3714         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Move init code to initializeNewContext.
3715         (WebCore::WebGLRenderingContext::initializeNewContext): Ditto.
3716         (WebCore::WebGLRenderingContext::getParameter): Implement UNPACK_COLORSPACE_CONVERSION_WEBGL.
3717         (WebCore::WebGLRenderingContext::pixelStorei): Ditto.
3718         * html/canvas/WebGLRenderingContext.h: Add a member to track UNPACK_COLORSPACE_CONVERSION_WEBGL setting.
3719         * html/canvas/WebGLRenderingContext.idl: Update constants.
3720         * platform/graphics/GraphicsContext3D.h: Update constants.
3721
3722 2010-11-11  Chris Marrin  <cmarrin@apple.com>
3723
3724         Reviewed by James Robinson.
3725
3726         Add multisampling support to DrawingBuffer.
3727         https://bugs.webkit.org/show_bug.cgi?id=49206
3728
3729         Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
3730         extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
3731
3732         This re-lands changes rolled out by http://trac.webkit.org/changeset/71839. It includes
3733         the change from http://trac.webkit.org/changeset/71831 and additional changes to 
3734         DrawingBufferChromium.cpp which cause the broken canvas tests to pass.
3735
3736         * platform/graphics/Extensions3D.h:
3737         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3738         (WebCore::DrawingBuffer::DrawingBuffer):
3739         (WebCore::DrawingBuffer::~DrawingBuffer):
3740         (WebCore::DrawingBuffer::publishToPlatformLayer):
3741         (WebCore::DrawingBuffer::didReset):
3742         (WebCore::DrawingBuffer::platformColorBuffer):
3743         * platform/graphics/chromium/Extensions3DChromium.h:
3744         (WebCore::Extensions3DChromium::blitFramebuffer):
3745         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
3746         * platform/graphics/gpu/DrawingBuffer.cpp:
3747         (WebCore::DrawingBuffer::create):
3748         (WebCore::DrawingBuffer::clear):
3749         (WebCore::DrawingBuffer::reset):
3750         (WebCore::DrawingBuffer::commit):
3751         (WebCore::DrawingBuffer::bind):
3752         * platform/graphics/gpu/DrawingBuffer.h:
3753         (WebCore::DrawingBuffer::multisample):
3754         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3755         (WebCore::DrawingBuffer::DrawingBuffer):
3756         (WebCore::DrawingBuffer::didReset):
3757         (WebCore::DrawingBuffer::platformColorBuffer):
3758         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3759         (WebCore::Extensions3DOpenGL::supports):
3760         (WebCore::Extensions3DOpenGL::blitFramebuffer):
3761         (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
3762         * platform/graphics/opengl/Extensions3DOpenGL.h:
3763         * platform/graphics/skia/ImageBufferSkia.cpp:
3764         (WebCore::ImageBuffer::draw):
3765
3766 2010-11-11  David Hyatt  <hyatt@apple.com>
3767
3768         Reviewed by Simon Fraser.
3769
3770         https://bugs.webkit.org/show_bug.cgi?id=48664
3771         
3772         Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
3773         
3774         This patch disables the layout state for flipped blocks, since the paint offset isn't right.
3775         
3776         Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
3777         now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
3778         the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
3779         aren't physical).
3780         
3781         offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
3782         This means at every step up you convert to the correct physical coordinate.  It also means these
3783         functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
3784         more or less ok.
3785         
3786         computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
3787         allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
3788         critical for incremental line layout repainting.
3789         
3790         Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
3791         of all the stale results and failures.
3792
3793         * editing/SelectionController.cpp:
3794         (WebCore::SelectionController::absoluteBoundsForLocalRect):
3795         (WebCore::SelectionController::paintCaret):
3796         * rendering/InlineTextBox.cpp:
3797         (WebCore::InlineTextBox::selectionRect):
3798         * rendering/RenderBlock.cpp:
3799         (WebCore::RenderBlock::layoutBlock):
3800         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
3801         (WebCore::RenderBlock::paintSelection):
3802         * rendering/RenderBlockLineLayout.cpp:
3803         (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
3804         (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
3805         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
3806         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
3807         * rendering/RenderBox.cpp:
3808         (WebCore::RenderBox::layout):
3809         (WebCore::RenderBox::mapLocalToContainer):
3810         (WebCore::RenderBox::offsetFromContainer):
3811         (WebCore::RenderBox::clippedOverflowRectForRepaint):
3812         (WebCore::RenderBox::computeRectForRepaint):
3813         (WebCore::RenderBox::flipForWritingMode):
3814         (WebCore::RenderBox::locationOffsetIncludingFlipping):
3815         * rendering/RenderBox.h:
3816         * rendering/RenderFlexibleBox.cpp:
3817         (WebCore::RenderFlexibleBox::layoutBlock):
3818         * rendering/RenderInline.cpp:
3819         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3820         * rendering/RenderSlider.cpp:
3821         (WebCore::RenderSlider::layout):
3822         * rendering/RenderTable.cpp:
3823         (WebCore::RenderTable::layout):
3824         * rendering/RenderTableRow.cpp:
3825         (WebCore::RenderTableRow::layout):
3826         * rendering/RenderTableSection.cpp:
3827         (WebCore::RenderTableSection::layout):
3828         (WebCore::RenderTableSection::layoutRows):
3829         * rendering/RenderView.cpp:
3830         (WebCore::RenderView::computeRectForRepaint):
3831         * rendering/ShadowElement.cpp:
3832         (WebCore::ShadowBlockElement::layoutAsPart):
3833
3834 2010-11-11  Chris Marrin  <cmarrin@apple.com>
3835
3836         Reviewed by Simon Fraser.
3837
3838         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
3839         https://bugs.webkit.org/show_bug.cgi?id=49388
3840
3841         Renamed GraphicsLayerCA.* to GraphicsLayerMac.*
3842
3843         * WebCore.xcodeproj/project.pbxproj:
3844         * platform/graphics/mac/GraphicsLayerCA.h: Removed.
3845         * platform/graphics/mac/GraphicsLayerCA.mm: Removed.
3846         * platform/graphics/mac/GraphicsLayerMac.h: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.h.
3847         * platform/graphics/mac/GraphicsLayerMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.mm.
3848
3849 2010-11-11  Kenneth Russell  <kbr@google.com>
3850
3851         Reviewed by James Robinson.
3852
3853         [chromium] Missing adoptPtr in GraphicsContext3DSkia.cpp
3854         https://bugs.webkit.org/show_bug.cgi?id=49359
3855
3856         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3857         (WebCore::GraphicsContext3D::getImageData):
3858
3859 2010-11-11  Dan Bernstein  <mitz@apple.com>
3860
3861         Reviewed by Adam Roben.
3862
3863         <rdar://problem/8113511> Enable auto-hyphenation
3864
3865         * WebCore.vcproj/WebCore.vcproj: Included HyphenationCF.cpp instead of Hyphenation.cpp.
3866         * platform/text/cf/HyphenationCF.cpp: Added functions and definitions for Windows to look up CFStringGetHyphenationLocationBeforeIndex
3867         and CFStringIsHyphenationAvailableForLocale at runtime.
3868         (wkCFStringGetHyphenationLocationBeforeIndex):
3869         (wkCFStringIsHyphenationAvailableForLocale):
3870         (WebCore::lastHyphenLocation): Added a cast.
3871
3872 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
3873
3874         Reviewed by Eric Seidel.
3875
3876         video-pause-immediately.html sometimes fails
3877         https://bugs.webkit.org/show_bug.cgi?id=49397
3878
3879         * html/HTMLMediaElement.cpp:
3880         (WebCore::HTMLMediaElement::playInternal): Don't bother calling invalidateCachedTime, it
3881         will be called from updatePlayState.
3882         (WebCore::HTMLMediaElement::pauseInternal): Don't bother calling refreshCachedTime, it
3883         will be called from updatePlayState.
3884         (WebCore::HTMLMediaElement::updatePlayState): Call refreshCachedTime after telling the media
3885         engine to pause so we cache the post-paused time.
3886
3887 2010-11-11  Mihai Parparita  <mihaip@chromium.org>
3888
3889         Unreviewed rollout. 
3890         
3891         Roll out r71827 and r71831, which caused many GPU canvas test failures.
3892
3893         * platform/graphics/Extensions3D.h:
3894         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3895         (WebCore::DrawingBuffer::reset):
3896         (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
3897         * platform/graphics/chromium/Extensions3DChromium.h:
3898         * platform/graphics/gpu/DrawingBuffer.cpp:
3899         (WebCore::DrawingBuffer::create):
3900         (WebCore::DrawingBuffer::clear):
3901         (WebCore::DrawingBuffer::bind):
3902         * platform/graphics/gpu/DrawingBuffer.h:
3903         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3904         (WebCore::SharedGraphicsContext3D::create):
3905         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3906         (WebCore::DrawingBuffer::DrawingBuffer):
3907         (WebCore::DrawingBuffer::reset):
3908         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3909         (WebCore::Extensions3DOpenGL::supports):
3910         * platform/graphics/opengl/Extensions3DOpenGL.h:
3911         * platform/graphics/skia/ImageBufferSkia.cpp:
3912         (WebCore::ImageBuffer::draw):
3913
3914 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
3915
3916         Restore the portion of the ChangeLog removed in my last commit.
3917
3918 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
3919
3920         Unreviewed Leoaprd build fix.
3921
3922         * html/HTMLMediaElement.cpp:
3923         (WebCore::HTMLMediaElement::invalidateCachedTime): Make the const a double.
3924
3925 2010-11-11  Dirk Schulze  <krit@webkit.org>
3926
3927         Unreviewed Qt build fix.
3928
3929         SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
3930         https://bugs.webkit.org/show_bug.cgi?id=49284
3931
3932         * svg/SVGAnimationElement.cpp:
3933         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
3934         (WebCore::SVGAnimationElement::startedActiveInterval):
3935
3936 2010-11-11  Hans Wennborg  <hans@chromium.org>
3937
3938         Reviewed by Jeremy Orlow.
3939
3940         IndexedDB: signal IDBFactoryBackendInterface destruction to embedder
3941         https://bugs.webkit.org/show_bug.cgi?id=49313
3942
3943         Define IDBFactoryBackendInterface destructor out-of-line to allow
3944         for embedder-specific implementation. For Chromium, have the
3945         destructor call ChromiumBridge::idbShutdown().
3946
3947         * platform/chromium/ChromiumBridge.h:
3948         * storage/IDBFactoryBackendInterface.cpp:
3949         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3950         * storage/IDBFactoryBackendInterface.h:
3951         * storage/chromium/IDBFactoryBackendInterface.cpp:
3952         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3953
3954 2010-11-11  Dirk Schulze  <krit@webkit.org>
3955
3956         Reviewed by Nikolas Zimmermann.
3957
3958         SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
3959         https://bugs.webkit.org/show_bug.cgi?id=49284
3960
3961         Add support for from-to and from-by animations in combination with calcMode 'spline' for SVGAnimations.
3962
3963         Tests: svg/animations/animate-calcMode-spline-by.html
3964                svg/animations/animate-calcMode-spline-from-by.html
3965                svg/animations/animate-calcMode-spline-from-to.html
3966                svg/animations/animate-calcMode-spline-to.html
3967                svg/animations/animate-calcMode-spline-values.html
3968
3969         * svg/SVGAnimationElement.cpp:
3970         (WebCore::SVGAnimationElement::calculateKeyTimesIndex): Added to share more code.
3971         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
3972         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3973         (WebCore::SVGAnimationElement::startedActiveInterval):
3974         (WebCore::SVGAnimationElement::updateAnimation):
3975         * svg/SVGAnimationElement.h:
3976
3977 2010-11-10  Chris Marrin  <cmarrin@apple.com>
3978
3979         Reviewed by James Robinson.
3980
3981         Add multisampling support to DrawingBuffer.
3982         https://bugs.webkit.org/show_bug.cgi?id=49206
3983
3984         Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
3985         extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
3986
3987         * platform/graphics/Extensions3D.h:
3988         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3989         (WebCore::DrawingBuffer::platformColorBuffer):
3990         * platform/graphics/chromium/Extensions3DChromium.h:
3991         (WebCore::Extensions3DChromium::blitFramebuffer):
3992         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
3993         * platform/graphics/gpu/DrawingBuffer.cpp:
3994         (WebCore::DrawingBuffer::create):
3995         (WebCore::DrawingBuffer::clear):
3996         (WebCore::DrawingBuffer::reset):
3997         (WebCore::DrawingBuffer::commit):
3998         (WebCore::DrawingBuffer::bind):
3999         * platform/graphics/gpu/DrawingBuffer.h:
4000         (WebCore::DrawingBuffer::multisample):
4001         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
4002         (WebCore::DrawingBuffer::DrawingBuffer):
4003         (WebCore::DrawingBuffer::platformLayer):
4004         (WebCore::DrawingBuffer::platformColorBuffer):
4005         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
4006         (WebCore::Extensions3DOpenGL::supports):
4007         (WebCore::Extensions3DOpenGL::blitFramebuffer):
4008         (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
4009         * platform/graphics/opengl/Extensions3DOpenGL.h:
4010         * platform/graphics/skia/ImageBufferSkia.cpp:
4011         (WebCore::ImageBuffer::draw):
4012
4013 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
4014
4015         Build fix after r71824.
4016
4017         * html/HTMLMediaElement.cpp:
4018         (WebCore::HTMLMediaElement::invalidateCachedTime): Use an explicit cast from double to float.
4019         (WebCore::HTMLMediaElement::currentTime): Ditto.
4020
4021 2010-11-11  Eric Carlson  <eric.carlson@apple.com>
4022
4023         Reviewed by Antti Koivisto.
4024
4025         Lots of time spent in MediaPlayerPrivate::currentTime() when playing multiple videos.
4026         https://bugs.webkit.org/show_bug.cgi?id=49009
4027
4028         Make it possible for HTMLMediaElement to cache the movie time and report 'currentTime'
4029         as [cached time + elapsed wall time]. The media engine returns the maximum duration it 
4030         is safe to calculate time before resampling the actual movie time with the new
4031         maximumDurationToCacheMovieTime method. Because this may be different for different media
4032         engines the default return value is 0, making it an opt-in feature.
4033
4034         No new tests were added because the existing tests already check currentTime, and because
4035         it is only possible to look for drift between the calculated and actual media time by 
4036         calculating the time AND getting the actual media time - which the defeats the purpose of
4037         the change. Building with LOG_CACHED_TIME_WARNINGS defined enables code that does both
4038         and logs warnings when the delta between calculated and observed is greater than 0.01.
4039
4040         * html/HTMLMediaElement.cpp:
4041         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member variables.
4042         (WebCore::HTMLMediaElement::prepareForLoad): Force a time resync before setting m_paused.
4043         (WebCore::HTMLMediaElement::seek): Force a time resync before getting the current time before
4044         seeking so there is no drift.
4045         (WebCore::HTMLMediaElement::refreshCachedTime): New, update the cached movie time and the
4046         wall clock time it was recorded.
4047         (WebCore::HTMLMediaElement::invalidateCachedTime): New, flag the cached time as invalid.
4048         (WebCore::HTMLMediaElement::currentTime): Use a cached movie time for as long as the media
4049         engine says it is safe. Lots of optional logging can be enabled to help ports fine tune
4050         the maximum cache interval.
4051         (WebCore::HTMLMediaElement::ended): Force a time resync before setting m_paused.
4052         (WebCore::HTMLMediaElement::endScrubbing): Fix a typo in the logging.
4053         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Call currentTime() instead of calling
4054         MediaPlayer so we use the cached time as much as it possible.
4055         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Invalidate cached time because the engine
4056         seeked.
4057         (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Ditto.
4058         (WebCore::HTMLMediaElement::updatePlayState): Invalidate cached time before changing m_paused.
4059         * html/HTMLMediaElement.h:
4060
4061         * platform/graphics/MediaPlayer.cpp:
4062         (WebCore::MediaPlayer::maximumDurationToCacheMovieTime): New.
4063         * platform/graphics/MediaPlayer.h:
4064         * platform/graphics/MediaPlayerPrivate.h:
4065         (WebCore::MediaPlayerPrivateInterface::maximumDurationToCacheMovieTime): New.
4066
4067         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
4068         (WebCore::MediaPlayerPrivate::maximumDurationToCacheMovieTime): New, say it is safe to cache
4069         time for five seconds (based on lots of experimenting with LOG_CACHED_TIME_WARNINGS enabled).
4070
4071 2010-11-11  Adam Roben  <aroben@apple.com>
4072
4073         Windows build fix after r71816
4074
4075         r71816 renamed
4076         WebCore/platform/graphics/cairo/FontPlatformDataCairoWin.h to
4077         WebCore/platform/graphics/win/FontPlatformData.h. This made Apple's
4078         Windows port pick up this header in preference to
4079         WebCore/platform/cg/FontPlatformData.h, thus breaking the build. I
4080         moved the file to
4081         WebCore/platform/graphics/win/cairo/FontPlatformData.h so it won't be
4082         picked up by Apple's Windows build.
4083
4084         * WebCore.vcproj/WebCore.vcproj: Updated for file move and let VS
4085         re-sort the files.
4086
4087         * WebCore.vcproj/WebCoreCairo.vsprops: Added
4088         platform/graphics/win/cairo to the include path.
4089
4090         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy files from
4091         platform/graphics/win/cairo to $WebKitOutputDir.
4092
4093         * platform/graphics/cg/FontPlatformData.h: Touched to force this file
4094         to be recopied for Apple's build.
4095
4096         * platform/graphics/win/cairo/FontPlatformData.h