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