<http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks...
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-20  David Kilzer  <ddkilzer@apple.com>
2
3         <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
4
5         Reviewed by Dan Bernstein.
6
7         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
9         RetainPtr<NSDictionary> for movieAttributes.
10
11 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
12
13         Reviewed by Andreas Kling.
14
15         Use String::fromUTF8 instead of UTF8Encoding().decode
16         in the libxml XMLDocumentParser
17         https://bugs.webkit.org/show_bug.cgi?id=45488
18
19         * dom/XMLDocumentParser.cpp:
20         (WebCore::toString):
21
22 2010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>
23
24         Reviewed by Dirk Schulze.
25
26         FilterPrimitives should have a pointer to its Filter object.
27         https://bugs.webkit.org/show_bug.cgi?id=49863
28
29         FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
30         This patch adds this member to FilterEffect.
31
32         No new test is needed because these modifications are covered by all of SVG Filter tests.
33
34         * platform/graphics/filters/FEBlend.cpp:
35         (WebCore::FEBlend::FEBlend):
36         (WebCore::FEBlend::create):
37         (WebCore::FEBlend::apply):
38         * platform/graphics/filters/FEBlend.h:
39         * platform/graphics/filters/FEColorMatrix.cpp:
40         (WebCore::FEColorMatrix::FEColorMatrix):
41         (WebCore::FEColorMatrix::create):
42         (WebCore::FEColorMatrix::apply):
43         * platform/graphics/filters/FEColorMatrix.h:
44         * platform/graphics/filters/FEComponentTransfer.cpp:
45         (WebCore::FEComponentTransfer::FEComponentTransfer):
46         (WebCore::FEComponentTransfer::create):
47         (WebCore::FEComponentTransfer::apply):
48         * platform/graphics/filters/FEComponentTransfer.h:
49         * platform/graphics/filters/FEComposite.cpp:
50         (WebCore::FEComposite::FEComposite):
51         (WebCore::FEComposite::create):
52         (WebCore::FEComposite::determineAbsolutePaintRect):
53         (WebCore::FEComposite::apply):
54         * platform/graphics/filters/FEComposite.h:
55         * platform/graphics/filters/FEConvolveMatrix.cpp:
56         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
57         (WebCore::FEConvolveMatrix::create):
58         (WebCore::FEConvolveMatrix::apply):
59         * platform/graphics/filters/FEConvolveMatrix.h:
60         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
61         * platform/graphics/filters/FEDiffuseLighting.cpp:
62         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
63         (WebCore::FEDiffuseLighting::create):
64         * platform/graphics/filters/FEDiffuseLighting.h:
65         * platform/graphics/filters/FEDisplacementMap.cpp:
66         (WebCore::FEDisplacementMap::FEDisplacementMap):
67         (WebCore::FEDisplacementMap::create):
68         (WebCore::FEDisplacementMap::apply):
69         * platform/graphics/filters/FEDisplacementMap.h:
70         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
71         * platform/graphics/filters/FEFlood.cpp:
72         (WebCore::FEFlood::FEFlood):
73         (WebCore::FEFlood::create):
74         (WebCore::FEFlood::apply):
75         * platform/graphics/filters/FEFlood.h:
76         (WebCore::FEFlood::determineAbsolutePaintRect):
77         * platform/graphics/filters/FEGaussianBlur.cpp:
78         (WebCore::FEGaussianBlur::FEGaussianBlur):
79         (WebCore::FEGaussianBlur::create):
80         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
81         (WebCore::FEGaussianBlur::apply):
82         * platform/graphics/filters/FEGaussianBlur.h:
83         * platform/graphics/filters/FELighting.cpp:
84         (WebCore::FELighting::FELighting):
85         (WebCore::FELighting::apply):
86         * platform/graphics/filters/FELighting.h:
87         (WebCore::FELighting::determineAbsolutePaintRect):
88         * platform/graphics/filters/FEMerge.cpp:
89         (WebCore::FEMerge::FEMerge):
90         (WebCore::FEMerge::create):
91         (WebCore::FEMerge::apply):
92         * platform/graphics/filters/FEMerge.h:
93         * platform/graphics/filters/FEMorphology.cpp:
94         (WebCore::FEMorphology::FEMorphology):
95         (WebCore::FEMorphology::create):
96         (WebCore::FEMorphology::determineAbsolutePaintRect):
97         (WebCore::FEMorphology::apply):
98         * platform/graphics/filters/FEMorphology.h:
99         * platform/graphics/filters/FEOffset.cpp:
100         (WebCore::FEOffset::FEOffset):
101         (WebCore::FEOffset::create):
102         (WebCore::FEOffset::determineAbsolutePaintRect):
103         (WebCore::FEOffset::apply):
104         * platform/graphics/filters/FEOffset.h:
105         * platform/graphics/filters/FESpecularLighting.cpp:
106         (WebCore::FESpecularLighting::FESpecularLighting):
107         (WebCore::FESpecularLighting::create):
108         * platform/graphics/filters/FESpecularLighting.h:
109         * platform/graphics/filters/FETile.cpp:
110         (WebCore::FETile::FETile):
111         (WebCore::FETile::create):
112         (WebCore::FETile::apply):
113         * platform/graphics/filters/FETile.h:
114         (WebCore::FETile::determineAbsolutePaintRect):
115         * platform/graphics/filters/FETurbulence.cpp:
116         (WebCore::FETurbulence::FETurbulence):
117         (WebCore::FETurbulence::create):
118         (WebCore::FETurbulence::apply):
119         * platform/graphics/filters/FETurbulence.h:
120         (WebCore::FETurbulence::determineAbsolutePaintRect):
121         * platform/graphics/filters/FilterEffect.cpp:
122         (WebCore::FilterEffect::FilterEffect):
123         (WebCore::FilterEffect::determineAbsolutePaintRect):
124         (WebCore::FilterEffect::effectContext):
125         * platform/graphics/filters/FilterEffect.h:
126         (WebCore::FilterEffect::filter):
127         * platform/graphics/filters/SourceAlpha.cpp:
128         (WebCore::SourceAlpha::create):
129         (WebCore::SourceAlpha::determineAbsolutePaintRect):
130         (WebCore::SourceAlpha::apply):
131         * platform/graphics/filters/SourceAlpha.h:
132         (WebCore::SourceAlpha::SourceAlpha):
133         * platform/graphics/filters/SourceGraphic.cpp:
134         (WebCore::SourceGraphic::create):
135         (WebCore::SourceGraphic::determineAbsolutePaintRect):
136         (WebCore::SourceGraphic::apply):
137         * platform/graphics/filters/SourceGraphic.h:
138         (WebCore::SourceGraphic::SourceGraphic):
139         * rendering/RenderSVGResourceFilter.cpp:
140         (WebCore::RenderSVGResourceFilter::buildPrimitives):
141         (WebCore::RenderSVGResourceFilter::applyResource):
142         (WebCore::RenderSVGResourceFilter::postApplyResource):
143         * rendering/RenderSVGResourceFilter.h:
144         * rendering/SVGRenderTreeAsText.cpp:
145         (WebCore::writeSVGResourceContainer):
146         * svg/SVGFEBlendElement.cpp:
147         (WebCore::SVGFEBlendElement::build):
148         * svg/SVGFEBlendElement.h:
149         * svg/SVGFEColorMatrixElement.cpp:
150         (WebCore::SVGFEColorMatrixElement::build):
151         * svg/SVGFEColorMatrixElement.h:
152         * svg/SVGFEComponentTransferElement.cpp:
153         (WebCore::SVGFEComponentTransferElement::build):
154         * svg/SVGFEComponentTransferElement.h:
155         * svg/SVGFECompositeElement.cpp:
156         (WebCore::SVGFECompositeElement::build):
157         * svg/SVGFECompositeElement.h:
158         * svg/SVGFEConvolveMatrixElement.cpp:
159         (WebCore::SVGFEConvolveMatrixElement::build):
160         * svg/SVGFEConvolveMatrixElement.h:
161         * svg/SVGFEDiffuseLightingElement.cpp:
162         (WebCore::SVGFEDiffuseLightingElement::build):
163         * svg/SVGFEDiffuseLightingElement.h:
164         * svg/SVGFEDisplacementMapElement.cpp:
165         (WebCore::SVGFEDisplacementMapElement::build):
166         * svg/SVGFEDisplacementMapElement.h:
167         * svg/SVGFEFloodElement.cpp:
168         (WebCore::SVGFEFloodElement::build):
169         * svg/SVGFEFloodElement.h:
170         * svg/SVGFEGaussianBlurElement.cpp:
171         (WebCore::SVGFEGaussianBlurElement::build):
172         * svg/SVGFEGaussianBlurElement.h:
173         * svg/SVGFEImageElement.cpp:
174         (WebCore::SVGFEImageElement::build):
175         * svg/SVGFEImageElement.h:
176         * svg/SVGFEMergeElement.cpp:
177         (WebCore::SVGFEMergeElement::build):
178         * svg/SVGFEMergeElement.h:
179         * svg/SVGFEMorphologyElement.cpp:
180         (WebCore::SVGFEMorphologyElement::build):
181         * svg/SVGFEMorphologyElement.h:
182         * svg/SVGFEOffsetElement.cpp:
183         (WebCore::SVGFEOffsetElement::build):
184         * svg/SVGFEOffsetElement.h:
185         * svg/SVGFESpecularLightingElement.cpp:
186         (WebCore::SVGFESpecularLightingElement::build):
187         * svg/SVGFESpecularLightingElement.h:
188         * svg/SVGFETileElement.cpp:
189         (WebCore::SVGFETileElement::build):
190         * svg/SVGFETileElement.h:
191         * svg/SVGFETurbulenceElement.cpp:
192         (WebCore::SVGFETurbulenceElement::build):
193         * svg/SVGFETurbulenceElement.h:
194         * svg/SVGFilterPrimitiveStandardAttributes.h:
195         * svg/graphics/filters/SVGFEImage.cpp:
196         (WebCore::FEImage::FEImage):
197         (WebCore::FEImage::create):
198         (WebCore::FEImage::determineAbsolutePaintRect):
199         (WebCore::FEImage::apply):
200         * svg/graphics/filters/SVGFEImage.h:
201         * svg/graphics/filters/SVGFilterBuilder.cpp:
202         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
203         * svg/graphics/filters/SVGFilterBuilder.h:
204         (WebCore::SVGFilterBuilder::create):
205
206 2010-11-20  Helder Correia  <helder@sencha.com>
207
208         Reviewed by Andreas Kling.
209
210         [Qt] GraphicsContext::strokeArc() is not necessary any more
211         https://bugs.webkit.org/show_bug.cgi?id=49859
212
213         Remove strokeArc() from the Qt port.
214
215         No test is needed.
216
217         * platform/graphics/qt/GraphicsContextQt.cpp:
218
219 2010-11-20  Helder Correia  <helder@sencha.com>
220
221         Reviewed by Andreas Kling.
222
223         [Qt] Path fill lacks blur shadow support
224         https://bugs.webkit.org/show_bug.cgi?id=49491
225
226         Add blur shadow support to fillPath().
227
228         Test: fast/canvas/canvas-fillPath-shadow.html
229
230         * platform/graphics/qt/GraphicsContextQt.cpp:
231         (WebCore::GraphicsContext::fillPath):
232
233 2010-11-19  W. James MacLean  <wjmaclean@chromium.org>
234
235         Reviewed by James Robinson.
236
237         Scaled Resized images are blurred when sent to Skia
238         https://bugs.webkit.org/show_bug.cgi?id=42370
239
240         This patch modifies ImageSkia.cpp to fix the calculation of resampled
241         bitmap sizes so as to include the transform matrix of the canvas.
242         Includes a new test to catch a regression that occured the first time
243         this patch was applied.
244
245         Tests: svg/custom/image-rescale-scroll.html
246                svg/custom/image-rescale.svg
247
248         * platform/graphics/skia/ImageSkia.cpp:
249         (WebCore::computeResamplingMode):
250         (WebCore::drawResampledBitmap):
251
252 2010-11-19  Jia Pu  <jpu@apple.com>
253
254         Reviewed by Dan Bernstein.
255
256         Regression: contraction is considered misspelling.
257         https://bugs.webkit.org/show_bug.cgi?id=49423
258         <rdar://problem/8654206>
259
260         Test: platform/mac/editing/spelling/autocorrection-contraction.html
261               manual-tests/autocorrection/autocorrection-contraction.html
262
263         * editing/Editor.cpp:
264         (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
265           be used by all other functions in the file.
266         (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
267           to improve readability, and to pass in additional argument. Before we apply pending
268           autocorrection, we check to see if currently typed character makes current word a partial
269           contraction, for instance "wouldn'". If that's the case, we would not apply the pending
270           correction.
271         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
272           is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
273           the location of ambiguous boundary if other replacements have changed the length of the
274           paragraph.
275         * editing/Editor.h:
276         * editing/TypingCommand.cpp:
277         (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
278         * manual-tests/autocorrection/autocorrection-contraction.html: Added.
279
280 2010-11-19  Andreas Kling  <kling@webkit.org>
281
282         Reviewed by Antonio Gomes.
283
284         ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
285         https://bugs.webkit.org/show_bug.cgi?id=49854
286
287         * page/FrameView.cpp:
288         (WebCore::FrameView::delegatesScrolling):
289         (WebCore::FrameView::avoidScrollbarCreation):
290         * page/FrameView.h:
291         * platform/ScrollView.h:
292         (WebCore::ScrollView::delegatesScrolling):
293         (WebCore::ScrollView::avoidScrollbarCreation):
294
295 2010-11-19  Pavel Podivilov  <podivilov@chromium.org>
296
297         Reviewed by Yury Semikhatsky.
298
299         Web Inspector: scripts panel should be shown before execution line is scrolled into view.
300         https://bugs.webkit.org/show_bug.cgi?id=49792
301
302         * inspector/front-end/ScriptsPanel.js:
303         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
304
305 2010-11-19  James Simonsen  <simonjam@chromium.org>
306
307         Reviewed by Tony Chang.
308
309         [chromium] Fix whitespace character handling in complex text on linux
310         https://bugs.webkit.org/show_bug.cgi?id=49771
311
312         * platform/graphics/SimpleFontData.h:
313         (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
314         (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
315         (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
316         * platform/graphics/chromium/FontLinux.cpp:
317         (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
318         (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
319         (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
320         (WebCore::TextRunWalker::getNormalizedTextRun):
321
322 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
323
324         Reviewed by Adam Roben.
325
326         Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
327         https://bugs.webkit.org/show_bug.cgi?id=49819
328
329         * WebCore.vcproj/QTMovieWin.vcproj:
330         * WebCore.vcproj/WebCore.vcproj:
331         * WebCore.vcproj/WebCoreGenerated.vcproj:
332
333 2010-11-19  Brady Eidson  <beidson@apple.com>
334
335         Reviewed by Darin Adler.
336
337         <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
338         Add WebKit2 API relevant to customization of context menus
339
340         * WebCore.exp.in:
341
342 2010-11-19  Michael Saboff  <msaboff@apple.com>
343
344         Reviewed by Sam Weinig.
345
346         Removed import of DOMSVGAnimatedPathData.h to fix build.
347
348         * bindings/objc/DOMSVG.h:
349
350 2010-11-19  Avi Drissman  <avi@google.com>
351
352         Reviewed by Antonio Gomes.
353
354         Complete support for Unix editing mode
355         https://bugs.webkit.org/show_bug.cgi?id=49757
356
357         * page/Settings.cpp:
358         (WebCore::Settings::Settings):
359         * page/Settings.h:
360
361 2010-11-19  Nate Chapin  <japhet@chromium.org>
362
363         Reviewed by Alexey Proskuryakov.
364
365         Remove requests from ResourceLoadScheduler's queue before
366         actually starting them.  We're holding a RefPtr anyway, and
367         the load might be terminated and removed from the queue synchronously.
368         https://bugs.webkit.org/show_bug.cgi?id=49693
369
370         Test: fast/loader/subresource-willSendRequest-null.html
371
372         * loader/ResourceLoadScheduler.cpp:
373         (WebCore::ResourceLoadScheduler::servePendingRequests):
374
375 2010-11-18  Zhenyao Mo  <zmo@google.com>
376
377         Reviewed by Kenneth Russell.
378
379         Make sure is* return false if the name is never bound
380         https://bugs.webkit.org/show_bug.cgi?id=49767
381
382         * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
383         (WebCore::WebGLBuffer::hasEverBeenBound):
384         * html/canvas/WebGLFramebuffer.cpp: Ditto.
385         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
386         * html/canvas/WebGLFramebuffer.h: Ditto.
387         (WebCore::WebGLFramebuffer::hasEverBeenBound):
388         (WebCore::WebGLFramebuffer::setBound):
389         * html/canvas/WebGLRenderbuffer.cpp: Ditto.
390         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
391         * html/canvas/WebGLRenderbuffer.h: Ditto.
392         (WebCore::WebGLRenderbuffer::hasEverBeenBound):
393         (WebCore::WebGLRenderbuffer::setBound):
394         * html/canvas/WebGLRenderingContext.cpp:
395         (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
396         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
397         (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
398         (WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
399         (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
400         (WebCore::WebGLRenderingContext::isTexture): Ditto.
401         * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
402         (WebCore::WebGLTexture::hasEverBeenBound):
403
404 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
405
406         Reviewed by Kenneth Rohde Christiansen.
407
408         [Qt] mask-box-image renders wrong in certain conditions
409         https://bugs.webkit.org/show_bug.cgi?id=43476
410
411         Qt does not follow the same convention as the other port
412         when rendering a pixmap with null width of height. When one
413         of those dimension is null, we should ignore the painting call
414         to behave like the other ports.
415
416         * platform/graphics/qt/ImageQt.cpp:
417         (WebCore::Image::drawPattern):
418
419 2010-11-18  Zhenyao Mo  <zmo@google.com>
420
421         Reviewed by Kenneth Russell.
422
423         GraphicsContext3D::reshape is clearing using current clear color instead of transparent
424         https://bugs.webkit.org/show_bug.cgi?id=44064
425
426         * platform/graphics/gpu/DrawingBuffer.cpp:
427         (WebCore::DrawingBuffer::reset): Use 0 as clear values.
428         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
429         (WebCore::GraphicsContext3D::reshape): Ditto.
430
431 2010-11-19  Chris Rogers  <crogers@google.com>
432
433         Reviewed by Darin Adler.
434
435         AudioContext should not include "HTMLNames.h"
436         https://bugs.webkit.org/show_bug.cgi?id=49680
437
438         No new tests since audio API is not yet implemented.
439
440         * webaudio/AudioContext.cpp:
441
442 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
443
444         Reviewed by Darin Adler.
445
446         Normalize Cairo/CFLite project/solution configuration names
447         https://bugs.webkit.org/show_bug.cgi?id=49818
448
449         * WebCore.vcproj/WebCore.vcproj:
450         * WebCore.vcproj/WebCoreGenerated.vcproj:
451
452 2010-11-19  Daniel Bates  <dbates@rim.com>
453
454         Reviewed by Antonio Gomes.
455
456         Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
457         https://bugs.webkit.org/show_bug.cgi?id=49489
458
459         Substitute ASSERT(newParent) for null-checks for newParent in
460         Frame::transferChildFrameToNewDocument() since newParent is
461         never null.
462
463         When Frame::transferChildFrameToNewDocument() is called the child
464         frame's owner element has already been transferred to the new
465         document D and D is attached (i.e. has a frame).
466
467         * page/Frame.cpp:
468         (WebCore::Frame::transferChildFrameToNewDocument):
469
470 2010-11-19  Anders Carlsson  <andersca@apple.com>
471
472         Reviewed by Sam Weinig.
473
474         Add SandboxExtension abstraction and use it for the injected bundle extension
475         https://bugs.webkit.org/show_bug.cgi?id=49817
476
477         Export fileSystemRepresentation symbol needed by WebKit2.
478
479         * WebCore.exp.in:
480
481 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
482
483         Windows build fix. Remove leftover Debug_Internal use.
484
485         * WebCore.vcproj/WebCore.vcproj:
486
487 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
488
489         Reviewed by Adam Roben.
490
491         Windows vcproj configuration names should be normalized across projects
492         https://bugs.webkit.org/show_bug.cgi?id=49776
493
494         * WebCore.vcproj/WebCore.sln:
495         * WebCore.vcproj/WebCore.submit.sln:
496         * WebCore.vcproj/WebCoreGenerated.vcproj:
497         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
498         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.
499
500 2010-11-19  James Simonsen  <simonjam@chromium.org>
501
502         Reviewed by Darin Fisher.
503
504         [Web Timing] Add unloadEventStart
505         https://bugs.webkit.org/show_bug.cgi?id=49101
506
507         * loader/DocumentLoadTiming.h:
508         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
509         * loader/FrameLoader.cpp:
510         (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
511         * page/DOMWindow.cpp:
512         (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
513         (WebCore::DOMWindow::dispatchTimedEvent): Added.
514         * page/DOMWindow.h:
515         * page/Timing.cpp:
516         (WebCore::Timing::unloadEventStart):
517         * page/Timing.h:
518         * page/Timing.idl:
519
520 2010-11-19  Martin Robinson  <mrobinson@igalia.com>
521
522         Reviewed by Daniel Bates.
523
524         [GTK] fast/text/international tests are flaky on the bots
525         https://bugs.webkit.org/show_bug.cgi?id=49781
526
527         Beef up the == operator overload for Freetype FontPlatformData. Before
528         if two FontPlatformDatas had hash values which fell into the same bucket
529         and were similar enough, they would be evaluated as being equal, leading
530         to failures.
531
532         No new tests for this change. It's very hard to test, because it depends
533         on the memory address of new allocations. Hopefully flakiness on the bots
534         will go away after patch.
535
536         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
537         (WebCore::FontPlatformData::operator==): Beef up the == operator overload.
538
539 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
540
541         Reviewed by Kenneth Rohde Christiansen.
542
543         [Qt] mask-box-image renders wrong in certain conditions
544         https://bugs.webkit.org/show_bug.cgi?id=43476
545
546         When rendering a pixmap with a dest rect having a null dimension,
547         Qt uses the dimension of the Pixmap. The other ports do not render
548         anything by convention.
549
550         This patch change BitmapImage to follow the convention of other ports and do not
551         paint anything.
552
553         * platform/graphics/qt/ImageQt.cpp:
554         (WebCore::BitmapImage::draw):
555
556 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
557
558         Reviewed by Dirk Schulze.
559
560         Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
561         https://bugs.webkit.org/show_bug.cgi?id=49807
562
563         Covered by existing tests.
564
565         * svg/SVGComponentTransferFunctionElement.cpp:
566         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
567         * svg/SVGFEColorMatrixElement.cpp:
568         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
569         * svg/SVGFEConvolveMatrixElement.cpp:
570         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
571         * svg/SVGGradientElement.cpp:
572         (WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
573         * svg/SVGPatternElement.cpp:
574         (WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
575         * svg/SVGStyledTransformableElement.cpp:
576         (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
577         * svg/SVGTextElement.cpp:
578         (WebCore::SVGTextElement::parseMappedAttribute): Ditto.
579         * svg/SVGTextPositioningElement.cpp:
580         (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
581         * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().
582
583 2010-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
584
585         Unreviewed, rolling out r72399.
586         http://trac.webkit.org/changeset/72399
587         https://bugs.webkit.org/show_bug.cgi?id=49805
588
589         Broke Chromium build (Requested by antonm_ on #webkit).
590
591         * page/chromium/ChromeClientChromium.h:
592         * platform/chromium/PopupMenuChromium.cpp:
593         (WebCore::PopupContainer::showPopup):
594         (WebCore::PopupContainer::showExternal):
595         (WebCore::PopupListBox::layout):
596         (WebCore::PopupMenuChromium::show):
597         * platform/chromium/PopupMenuChromium.h:
598
599 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
600
601         Reviewed by Antonio Gomes.
602
603         Focus ring in image maps does not take zooming into account
604         https://bugs.webkit.org/show_bug.cgi?id=49625
605
606         Take pageZoomFactor into account when calculating the path of the focus ring.
607
608         Test: fast/images/imagemap-focus-ring-zoom.html
609
610         * html/HTMLAreaElement.cpp:
611         (WebCore::HTMLAreaElement::getPath):
612
613 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
614
615         Reviewed by Dirk Schulze.
616
617         SVGTransformList::consolidate() fails on empty lists
618         https://bugs.webkit.org/show_bug.cgi?id=49619
619
620         Return null in consolidate() when the list is empty, according to SVG 1.1.
621
622         Test: svg/dom/SVGTransformList-empty-list-consolidation.html
623
624         * svg/properties/SVGTransformListPropertyTearOff.h:
625         (WebCore::SVGTransformListPropertyTearOff::consolidate):
626
627 2010-11-19  Jay Civelli  <jcivelli@chromium.org>
628
629         Reviewed by David Levin.
630
631         [chromium] Removing the now unused code to show popup externally on Mac.
632         https://bugs.webkit.org/show_bug.cgi?id=49747
633
634         * page/chromium/ChromeClientChromium.h:
635         * platform/chromium/PopupMenuChromium.cpp:
636         (WebCore::PopupContainer::showPopup):
637         (WebCore::PopupListBox::layout):
638         (WebCore::PopupMenuChromium::show):
639         * platform/chromium/PopupMenuChromium.h:
640
641 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
642
643         Reviewed by Yury Semikhatsky.
644
645         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
646         InspectorBackendDispatcher is a generated file.
647         Its content is not optimal and loc may be reduced by a quarter.
648         In each generated function we have a code for getting 'in' values from
649         the arguments properties object. I've extracted this code into separate getters.
650         The side effect is better readability of the generated code.
651
652         https://bugs.webkit.org/show_bug.cgi?id=49729
653
654         * inspector/CodeGeneratorInspector.pm:
655
656 2010-11-19  John Knottenbelt  <jknotten@chromium.org>
657
658         Reviewed by Jeremy Orlow.
659
660         Reentrant Geolocation tests crash with an assertion.
661         https://bugs.webkit.org/show_bug.cgi?id=39908
662
663         PositionErrors should not be sent to Geolocation watches or one shots
664         that are due to receive a valid cached position.
665
666         Test: fast/dom/Geolocation/maximum-age.html
667
668         * page/Geolocation.cpp:
669         (WebCore::Geolocation::sendError):
670         (WebCore::Geolocation::copyCachedNotifiers):
671         (WebCore::Geolocation::handleError):
672         * page/Geolocation.h:
673
674 2010-11-19  Sam Magnuson  <smagnuso@gmail.com>
675
676         Reviewed by Laszlo Gombos.
677
678         [Qt] Compile with QT_NO_CLIPBOARD
679         https://bugs.webkit.org/show_bug.cgi?id=49742
680
681         * platform/qt/PasteboardQt.cpp:
682         (WebCore::Pasteboard::canSmartReplace):
683
684 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
685
686         Reviewed by Andreas Kling.
687
688         Remove more unused V8/SVG code
689         https://bugs.webkit.org/show_bug.cgi?id=49800
690
691         Remove DOMSVGObjectWithContextMap and all usages.
692
693         * bindings/scripts/CodeGeneratorV8.pm:
694         * bindings/v8/DOMDataStore.cpp:
695         (WebCore::DOMDataStore::DOMDataStore):
696         (WebCore::DOMDataStore::getDOMWrapperMap):
697         * bindings/v8/DOMDataStore.h:
698         (WebCore::DOMDataStore::domSvgElementInstanceMap):
699         * bindings/v8/ScopedDOMDataStore.cpp:
700         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
701         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
702         * bindings/v8/StaticDOMDataStore.cpp:
703         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
704         * bindings/v8/StaticDOMDataStore.h:
705         * bindings/v8/V8DOMMap.cpp:
706         (WebCore::removeAllDOMObjectsInCurrentThread):
707         * bindings/v8/V8DOMMap.h:
708
709 2010-11-19  Zoltan Herczeg  <zherczeg@webkit.org>
710
711         Reviewed by Nikolas Zimmermann.
712
713         createImageBuffer fail should be handled in the same way as other fails
714         https://bugs.webkit.org/show_bug.cgi?id=49799
715
716         When createImageBuffer fails (i.e the image width or height is less than
717         0.5, which is rounded to 0) it just returs with false. Since the m_filter
718         hash map is not updated in this case, the filter image is not drawn.
719
720         Test: svg/filters/filter-rounding-issues.svg
721
722         * rendering/RenderSVGResourceFilter.cpp:
723         (WebCore::RenderSVGResourceFilter::applyResource):
724
725 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
726
727         Reviewed by Andreas Kling.
728
729         Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
730         https://bugs.webkit.org/show_bug.cgi?id=49796
731
732         Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
733
734         * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
735         * WebCore.gypi: Ditto.
736         * WebCore.pro: Ditto.
737         * WebCore.vcproj/WebCore.vcproj: Ditto.
738         * WebCore.xcodeproj/project.pbxproj: Ditto.
739         * bindings/js/JSSVGContextCache.h: Removed.
740         * bindings/js/JSSVGPODListCustom.h: Removed.
741         * bindings/js/JSSVGPODTypeWrapper.h: Removed.
742         * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. 
743         * bindings/v8/V8Proxy.h: Ditto.
744         * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
745         * svg/DeprecatedSVGAnimatedProperty.h: Removed.
746         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
747         * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
748         * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
749         * svg/SVGList.h: Removed.
750         * svg/SVGListTraits.h: Removed.
751
752 2010-11-19  Alexander Pavlov  <apavlov@chromium.org>
753
754         Reviewed by Pavel Feldman.
755
756         Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
757         https://bugs.webkit.org/show_bug.cgi?id=49731
758
759         Temporarily disable building of styles for nested rules.
760
761         * inspector/InspectorStyleSheet.cpp:
762         (WebCore::InspectorStyleSheet::buildObjectForRule):
763         (WebCore::InspectorStyleSheet::buildObjectForStyle):
764         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
765         (WebCore::InspectorStyleSheet::ensureSourceData):
766         * inspector/InspectorStyleSheet.h:
767         * inspector/front-end/StylesSidebarPane.js:
768         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
769         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
770         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
771
772 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
773
774         Not reviewed. Fix Qt build.
775
776         * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.
777
778 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
779
780         Reviewed by Dirk Schulze.
781
782         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
783         https://bugs.webkit.org/show_bug.cgi?id=49580
784
785         SVGPathElement.cloneNode loses generated pathSegList
786         https://bugs.webkit.org/show_bug.cgi?id=43388
787
788         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
789         https://bugs.webkit.org/show_bug.cgi?id=30219
790
791         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
792         https://bugs.webkit.org/show_bug.cgi?id=19741
793
794         SVGPathElement should only build SVGPathSeg* list on demand
795         https://bugs.webkit.org/show_bug.cgi?id=10827
796
797         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
798                svg/dom/SVGPathSegList-appendItem.xhtml
799                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
800                svg/dom/SVGPathSegList-cloning.html
801                svg/dom/SVGPathSegList-insertItemBefore.xhtml
802                svg/dom/SVGPathSegList-removeItem.xhtml
803                svg/dom/SVGPathSegList-replaceItem.xhtml
804                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
805                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
806                svg/dom/SVGPathSegList-segment-modification.svg
807
808         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
809         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
810         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
811         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
812         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
813
814         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
815         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
816         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
817         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
818         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
819         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
820
821         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
822         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
823
824         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
825         * CMakeLists.txt: Ditto.
826         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
827         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
828         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
829         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
830         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
831         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
832         * WebCore.vcproj/WebCore.vcproj: Ditto.
833         * WebCore.xcodeproj/project.pbxproj: Ditto.
834         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
835         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
836         (WebCore::setDOMException):
837         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
838         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
839         (WebCore::toJS):
840         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
841         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
842         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
843         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
844         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
845         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
846         (WebCore::operator<<):
847         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
848         * svg/SVGAnimatedPathData.cpp: Removed.
849         * svg/SVGAnimatedPathData.h: Removed.
850         * svg/SVGAnimatedPathData.idl: Removed.
851         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
852         (WebCore::SVGPathElement::SVGPathElement):
853         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
854         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
855         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
856         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
857         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
858         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
859         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
860         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
861         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
862         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
863         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
864         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
865         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
866         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
867         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
868         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
869         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
870         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
871         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
872         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
873         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
874         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
875         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
876         (WebCore::SVGPathElement::synchronizeD): Added.
877         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
878         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
879         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
880         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
881         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
882         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
883         * svg/SVGPathElement.h: Add new accessors...
884         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
885         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
886         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
887         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
888         (WebCore::globalSVGPathSegListBuilder):
889         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
890         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
891         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
892         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
893         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
894         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
895         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
896         * svg/SVGPathParserFactory.h:
897         * svg/SVGPathSeg.cpp: Removed.
898         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
899         (WebCore::SVGPathSeg::SVGPathSeg):
900         * svg/SVGPathSeg.idl: Reindented.
901         * svg/SVGPathSegArc.cpp: Removed.
902         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
903         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
904         * svg/SVGPathSegArcRel.idl: Ditto.
905         * svg/SVGPathSegClosePath.cpp: Removed.
906         * svg/SVGPathSegClosePath.h:
907         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
908         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
909         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
910         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
911         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
912         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
913         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
914         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
915         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
916         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
917         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
918         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
919         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
920         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
921         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
922         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
923         * svg/SVGPathSegLineto.cpp: Removed.
924         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
925         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
926         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
927         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
928         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
929         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
930         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
931         * svg/SVGPathSegLinetoVertical.cpp: Removed.
932         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
933         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
934         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
935         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
936         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
937         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
938         * svg/SVGPathSegList.h:
939         (WebCore::SVGPathSegList::SVGPathSegList):
940         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
941         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
942         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
943         (WebCore::SVGPathSegListBuilder::moveTo):
944         (WebCore::SVGPathSegListBuilder::lineTo):
945         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
946         (WebCore::SVGPathSegListBuilder::lineToVertical):
947         (WebCore::SVGPathSegListBuilder::curveToCubic):
948         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
949         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
950         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
951         (WebCore::SVGPathSegListBuilder::arcTo):
952         (WebCore::SVGPathSegListBuilder::closePath):
953         * svg/SVGPathSegListBuilder.h: Ditto.
954         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
955         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
956         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
957         (WebCore::SVGPathSegListBuilder::cleanup):
958         * svg/SVGPathSegListSource.cpp: Ditto.
959         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
960         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
961         (WebCore::SVGPathSegListSource::nextCommand):
962         (WebCore::SVGPathSegListSource::parseMoveToSegment):
963         (WebCore::SVGPathSegListSource::parseLineToSegment):
964         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
965         * svg/SVGPathSegListSource.h: Ditto.
966         (WebCore::SVGPathSegListSource::create):
967         * svg/SVGPathSegMoveto.cpp: Removed.
968         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
969         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
970         * svg/SVGPathSegMovetoRel.idl: Ditto.
971         * 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).
972         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
973         (WebCore::SVGPathSegWithContext::animatedProperty):
974         (WebCore::SVGPathSegWithContext::setContextAndRole):
975         (WebCore::SVGPathSegWithContext::commitChange):
976         (WebCore::SVGPathSegSingleCoordinate::x):
977         (WebCore::SVGPathSegSingleCoordinate::setX):
978         (WebCore::SVGPathSegSingleCoordinate::y):
979         (WebCore::SVGPathSegSingleCoordinate::setY):
980         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
981         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
982         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
983         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
984         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
985         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
986         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
987         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
988         (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.
989         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
990         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
991         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
992         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
993         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
994         (WebCore::SVGPathSegListPropertyTearOff::create):
995         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
996         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
997         (WebCore::SVGPathSegListPropertyTearOff::initialize):
998         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
999         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
1000         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
1001         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
1002         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
1003         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
1004
1005 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
1006
1007         Not reviewed: one line follow up to r72376.
1008
1009         * inspector/InspectorResourceAgent.cpp:
1010         (WebCore::buildObjectForResourceResponse):
1011
1012 2010-11-19  Sergio Villar Senin  <svillar@igalia.com>
1013
1014         Reviewed by Xan Lopez.
1015
1016         [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
1017         https://bugs.webkit.org/show_bug.cgi?id=49666
1018
1019         WebKit resource load cache does validate its own resources by
1020         issuing conditional requests to the server. The HTTP cache was
1021         making the assumption that any possible conditional request was
1022         always generated by itself.
1023
1024         * platform/network/soup/cache/webkit/soup-cache.c:
1025         (webkit_soup_cache_entry_remove): added an assertion
1026         (msg_got_headers_cb):
1027
1028 2010-11-19  Dai Mikurube  <dmikurube@google.com>
1029
1030         Reviewed by Kent Tamura.
1031
1032         stepUp/stepDown for values in step-mismatching state for input elements
1033         https://bugs.webkit.org/show_bug.cgi?id=48976
1034
1035         Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
1036         HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
1037         step-mismatching values.
1038
1039         * html/HTMLInputElement.cpp:
1040         (WebCore::HTMLInputElement::applyStep):
1041
1042 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
1043
1044         Not reviewed. Rolled out build failures introduced in r72373.
1045
1046         * inspector/CodeGeneratorInspector.pm:
1047
1048 2010-11-18  Pavel Feldman  <pfeldman@chromium.org>
1049
1050         Reviewed by Yury Semikhatsky.
1051
1052         Web Inspector: provide response code and status text as
1053         a part of raw headers data.
1054         https://bugs.webkit.org/show_bug.cgi?id=49668
1055
1056         * GNUmakefile.am:
1057         * WebCore.gypi:
1058         * WebCore.pro:
1059         * WebCore.vcproj/WebCore.vcproj:
1060         * WebCore.xcodeproj/project.pbxproj:
1061         * inspector/InspectorResourceAgent.cpp:
1062         (WebCore::buildObjectForResourceResponse):
1063         * inspector/front-end/NetworkPanel.js:
1064         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
1065         * inspector/front-end/ResourceManager.js:
1066         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
1067         * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
1068         (WebCore::ResourceLoadInfo::ResourceLoadInfo):
1069         * platform/network/ResourceResponseBase.cpp:
1070         (WebCore::ResourceResponseBase::resourceLoadInfo):
1071         (WebCore::ResourceResponseBase::setResourceLoadInfo):
1072         * platform/network/ResourceResponseBase.h:
1073
1074 2010-11-19  Mike Lawther  <mikelawther@chromium.org>
1075
1076         Reviewed by James Robinson.
1077
1078         [skia] assert when attempting to get (but not use) pointer to outside the canvas
1079         https://bugs.webkit.org/show_bug.cgi?id=49698
1080
1081         Early return to avoid getting a pointer to outside the canvas, and
1082         hence triggering a Skia assert.
1083
1084         * platform/graphics/skia/ImageBufferSkia.cpp:
1085         (WebCore::getImageData):
1086
1087 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
1088
1089         Reviewed by Yury Semikhatsky.
1090
1091         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
1092         InspectorBackendDispatcher is a generated file.
1093         Its content is not optimal and loc may be reduced by a quarter.
1094         In each generated function we have a code for getting 'in' values from
1095         the arguments properties object. I've extracted this code into separate getters.
1096         The side effect is better readability of the generated code.
1097
1098         https://bugs.webkit.org/show_bug.cgi?id=49729
1099
1100         * inspector/CodeGeneratorInspector.pm:
1101
1102 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
1103
1104         Reviewed by Antonio Gomes.
1105
1106         [Qt] Focus ring does not show for image maps
1107         https://bugs.webkit.org/show_bug.cgi?id=49615
1108
1109         Draw a focus ring for the paths surrounding the focus ring of image map area.
1110         Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.
1111
1112         * platform/graphics/qt/GraphicsContextQt.cpp:
1113         (WebCore::GraphicsContext::drawFocusRing):
1114
1115 2010-11-01  MORITA Hajime  <morrita@google.com>
1116
1117         Reviewed by David Hyatt.
1118
1119         Navigating dark background websites results in blinding white flashes between pages. 
1120         https://bugs.webkit.org/show_bug.cgi?id=45640
1121
1122         This FOUC is caused by an early layout request before the <body> is ready, 
1123         and the page's background style given for <body>, instead of <html>.
1124         So many sites have such stylesheets that we should care them.
1125         
1126         - Some DOM operation such as 'element.offsetLeft' causes page layout.
1127         - The page layout results page repaint
1128         - The page page repaint makes a white screen. because there is nothing to paint
1129           before <body> is available.
1130         
1131         This change:
1132         - extracted existing FOUC check on RenderBlock and RenderLayer to 
1133           Document::mayCauseFlashOfUnstyledContent(),
1134         - checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
1135         - added FOUC guards before requesting reapint on FrameView.
1136         
1137         Note that non-<head> document root children are typically <body>, but possibly
1138         some other type of elements in the case of non-HTML documents.
1139         
1140         No new tests. The data loading speed matters and it cannot be
1141         captured by DRT.
1142
1143         * dom/Document.cpp:
1144         (hasHeadSibling): Added.
1145         (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
1146         * dom/Document.h:
1147         * page/FrameView.cpp:
1148         (WebCore::FrameView::invalidateRect): Added a guard.
1149         (WebCore::FrameView::repaintContentRectangle): Added a guard.
1150         (WebCore::FrameView::doDeferredRepaints): Added a guard.
1151         (WebCore::FrameView::shouldUpdate): Added.
1152         * page/FrameView.h:
1153         * rendering/RenderBlock.cpp:
1154         (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
1155         * rendering/RenderLayer.cpp:
1156         (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
1157
1158 2010-11-18  Kent Tamura  <tkent@chromium.org>
1159
1160         Reviewed by Tony Chang.
1161
1162         Add more validation message functions
1163         https://bugs.webkit.org/show_bug.cgi?id=49716
1164
1165         Add the following message functions:
1166         - validationMessageValueMissingForCheckbox()
1167         - validationMessageValueMissingForFile()
1168         - validationMessageValueMissingForMultipleFile()
1169         - validationMessageValueMissingForRadio()
1170         - validationMessageValueMissingForSelect()
1171
1172         and update ValidityState, HTMLInputElement, and InputTypes to use them.
1173
1174         No new tests because this doesn't change visible behavior.
1175
1176         * html/CheckboxInputType.cpp:
1177         (WebCore::CheckboxInputType::valueMissingText):
1178         * html/CheckboxInputType.h:
1179         * html/FileInputType.cpp:
1180         (WebCore::FileInputType::valueMissingText):
1181         * html/FileInputType.h:
1182         * html/HTMLInputElement.cpp:
1183         (WebCore::HTMLInputElement::valueMissingText):
1184         * html/HTMLInputElement.h:
1185         * html/InputType.cpp:
1186         (WebCore::InputType::valueMissingText):
1187         * html/InputType.h:
1188         * html/RadioInputType.cpp:
1189         (WebCore::RadioInputType::valueMissingText):
1190         * html/RadioInputType.h:
1191         * html/ValidityState.cpp:
1192         (WebCore::ValidityState::validationMessage):
1193         * platform/LocalizedStrings.cpp:
1194         (WebCore::validationMessageValueMissingForCheckboxText):
1195         (WebCore::validationMessageValueMissingForFileText):
1196         (WebCore::validationMessageValueMissingForMultipleFileText):
1197         (WebCore::validationMessageValueMissingForRadioText):
1198         (WebCore::validationMessageValueMissingForSelectText):
1199         * platform/LocalizedStrings.h:
1200         * platform/android/LocalizedStringsAndroid.cpp:
1201         (WebCore::validationMessageValueMissingForCheckboxText):
1202         (WebCore::validationMessageValueMissingForFileText):
1203         (WebCore::validationMessageValueMissingForMultipleFileText):
1204         (WebCore::validationMessageValueMissingForRadioText):
1205         (WebCore::validationMessageValueMissingForSelectText):
1206         * platform/brew/LocalizedStringsBrew.cpp:
1207         (WebCore::validationMessageValueMissingForCheckboxText):
1208         (WebCore::validationMessageValueMissingForFileText):
1209         (WebCore::validationMessageValueMissingForMultipleFileText):
1210         (WebCore::validationMessageValueMissingForRadioText):
1211         (WebCore::validationMessageValueMissingForSelectText):
1212         * platform/efl/LocalizedStringsEfl.cpp:
1213         (WebCore::validationMessageValueMissingForCheckboxText):
1214         (WebCore::validationMessageValueMissingForFileText):
1215         (WebCore::validationMessageValueMissingForMultipleFileText):
1216         (WebCore::validationMessageValueMissingForRadioText):
1217         (WebCore::validationMessageValueMissingForSelectText):
1218         * platform/gtk/LocalizedStringsGtk.cpp:
1219         (WebCore::validationMessageValueMissingForCheckboxText):
1220         (WebCore::validationMessageValueMissingForFileText):
1221         (WebCore::validationMessageValueMissingForMultipleFileText):
1222         (WebCore::validationMessageValueMissingForRadioText):
1223         (WebCore::validationMessageValueMissingForSelectText):
1224         * platform/haiku/LocalizedStringsHaiku.cpp:
1225         (WebCore::validationMessageValueMissingText):
1226         (WebCore::validationMessageValueMissingForCheckboxText):
1227         (WebCore::validationMessageValueMissingForFileText):
1228         (WebCore::validationMessageValueMissingForMultipleFileText):
1229         (WebCore::validationMessageValueMissingForRadioText):
1230         (WebCore::validationMessageValueMissingForSelectText):
1231         * platform/wx/LocalizedStringsWx.cpp:
1232         (WebCore::validationMessageValueMissingForCheckboxText):
1233         (WebCore::validationMessageValueMissingForFileText):
1234         (WebCore::validationMessageValueMissingForMultipleFileText):
1235         (WebCore::validationMessageValueMissingForRadioText):
1236         (WebCore::validationMessageValueMissingForSelectText):
1237
1238 2010-11-18  Gavin Barraclough  <barraclough@apple.com>
1239
1240         Reviewed by Oliver Hunt.
1241
1242         Bug 49708 - Stop recompiling functions to regenerate exception info.
1243
1244         Instead only hold info as necessary – keep divot info is the inspector
1245         is enabled, line number info is debugging or profiling, and handler
1246         info for functions with try/catch.
1247
1248         * bindings/js/JSDOMWindowBase.cpp:
1249         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
1250             - report to JSC whether the inspector is enabled - in which
1251               case we will generate better error messages on exceptions.
1252         * bindings/js/JSDOMWindowBase.h:
1253
1254 2010-11-18  Jian Li  <jianli@chromium.org>
1255
1256         Reviewed by Kenneth Russell.
1257
1258         Make binding code generation scripts support 'short' type
1259         https://bugs.webkit.org/show_bug.cgi?id=49704
1260
1261         Updated binding tests.
1262
1263         * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
1264         * bindings/scripts/CodeGeneratorV8.pm:
1265         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1266         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1267         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1268         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1269         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1270         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1271         * bindings/scripts/test/JS/JSTestObj.cpp:
1272         * bindings/scripts/test/JS/JSTestObj.h:
1273         * bindings/scripts/test/ObjC/DOMTestObj.h:
1274         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1275         * bindings/scripts/test/TestObj.idl:
1276         * bindings/scripts/test/V8/V8TestObj.cpp:
1277
1278 2010-11-18  Mark Rowe  <mrowe@apple.com>
1279
1280         Rubber-stamped by Adam Roben.
1281
1282         <rdar://problem/8602509&8602717&8602724> Enable compaction support.
1283
1284         * Configurations/WebCore.xcconfig:
1285
1286 2010-11-18  Dave Hyatt  <hyatt@apple.com>
1287
1288         Reviewed by Dan Bernstein.
1289
1290         https://bugs.webkit.org/show_bug.cgi?id=49772
1291         
1292         Fix nested ruby.  My previous checkin (for 49717) broke it.  Push the ruby text and ruby base text
1293         together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
1294         This way the overflow from nested rubies is accounted for.
1295         
1296         Added fast/ruby/nested-ruby.html
1297
1298         * rendering/RenderRubyRun.cpp:
1299         (WebCore::RenderRubyRun::layout):
1300
1301 2010-11-18  Kinuko Yasuda  <kinuko@chromium.org>
1302
1303         Reviewed by Nate Chapin.
1304
1305         [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
1306         https://bugs.webkit.org/show_bug.cgi?id=49613
1307
1308         No new tests. Running existing worker tests like
1309         fast/workers/storage/execute-sql-args-worker.html in chromium
1310         would verify it.
1311
1312         * bindings/v8/V8Binding.cpp:
1313         (WebCore::int32ToWebCoreStringFast):
1314         (WebCore::int32ToWebCoreString):
1315
1316 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
1317
1318         Windows build fix.
1319
1320         https://bugs.webkit.org/show_bug.cgi?id=49762
1321         Stylesheet wrappers are not GC protected
1322
1323         * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.
1324
1325 2010-11-18  Dave Hyatt  <hyatt@apple.com>
1326
1327         Reviewed by Dan Bernstein.
1328
1329         https://bugs.webkit.org/show_bug.cgi?id=49717
1330         
1331         Implement better behavior for the logical height and block direction spacing of ruby text and ruby
1332         base text.
1333
1334         Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
1335         test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
1336         that ruby doesn't reset line-height.
1337
1338         * css/html.css:
1339         Remove the line-height:normal rule for <ruby>  This behavior was incorrect, since a <ruby> on a line
1340         by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.
1341
1342         * rendering/InlineBox.h:
1343         (WebCore::InlineBox::adjustBlockDirectionPosition):
1344         Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
1345         depending on orientation.
1346         
1347         * rendering/InlineFlowBox.cpp:
1348         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1349         placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
1350         to true.  This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
1351         crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
1352         
1353         Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
1354         mess up the flipping otherwise.  These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
1355         This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
1356         
1357         Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
1358         the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
1359         and lineBottom since it is inside the inline-block's height.  To prevent this from happening, we have to fake it
1360         as though RenderRubyRun was just a normal inline.  We look at the line boxes of the ruby base and we push lineTop/Bottom
1361         in by the leading on either side so that it isn't counted as part of lineTop and lineBottom.  This enables the later
1362         Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
1363         interior on a previous line.
1364
1365         (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
1366         This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
1367         line.  With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
1368         we're checking some highest previous position and computing the amount we have to move.
1369         
1370         For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
1371         to move the *following* line based off a lowest position.
1372         
1373         In all writing modes we will allow Ruby text to intrude into the padding of a block.
1374         
1375         * rendering/InlineFlowBox.h:
1376         * rendering/RenderBlock.cpp:
1377         (WebCore::RenderBlock::layoutBlockChildren):
1378         Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
1379         computations.  Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
1380         legends.  This means that the RenderRubyRun computes its logical height without any regard for the ruby text.
1381
1382         * rendering/RenderBlock.h:
1383         (WebCore::RenderBlock::layoutSpecialExcludedChild):
1384         layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.
1385
1386         * rendering/RenderBlockLineLayout.cpp:
1387         (WebCore::RenderBlock::layoutInlineChildren):
1388         When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
1389         to accommodate ruby text along the bottom side of the line.  We call computeBlockDirectionRubyAdjustment here in flipped lines
1390         writing mode only, and then we increase the logical height of the block if necessary.
1391
1392         * rendering/RenderFieldset.cpp:
1393         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
1394         * rendering/RenderFieldset.h:
1395         No changes here other than the function rename.
1396
1397         * rendering/RenderRubyRun.cpp:
1398         (WebCore::RenderRubyRun::staticCreateRubyRun):
1399         Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
1400         now that RenderRubyRun has its own layout method.
1401     
1402         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
1403         RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet.  We wait until the base is positioned
1404         and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. 
1405
1406         (WebCore::RenderRubyRun::layout):
1407         * rendering/RenderRubyRun.h:
1408         RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
1409         RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
1410         one another.  The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
1411         as overflow.
1412
1413         * rendering/RootInlineBox.cpp:
1414         (WebCore::RootInlineBox::RootInlineBox):
1415         Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.
1416
1417         (WebCore::RootInlineBox::adjustPosition):
1418         Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
1419         even in vertical writing modes (where dx needed to be used instead).
1420
1421         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1422         (WebCore::RootInlineBox::blockDirectionRubyAdjustment):
1423         * rendering/RootInlineBox.h:
1424         (WebCore::RootInlineBox::containsRuby):
1425         RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
1426         the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.
1427
1428 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
1429
1430         Reviewed by Geoffrey Garen.
1431
1432         https://bugs.webkit.org/show_bug.cgi?id=49762
1433         Stylesheet wrappers are not GC protected
1434
1435         Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
1436                fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
1437
1438         * Android.jscbindings.mk:
1439         * CMakeLists.txt:
1440         * GNUmakefile.am:
1441         * WebCore.gypi:
1442         * WebCore.pro:
1443         * WebCore.vcproj/WebCore.vcproj:
1444         Added the new custom bindings files.
1445
1446         * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
1447         existing headers.
1448
1449         * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
1450         with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
1451         wrapper has to stay alive, too.
1452         While at it, also fixed the same issue with inline style declarations.
1453         Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
1454         approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
1455         check.
1456
1457         * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
1458         (WebCore::JSHTMLLinkElement::markChildren):
1459         * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
1460         (WebCore::JSHTMLStyleElement::markChildren):
1461         * bindings/js/JSProcessingInstructionCustom.cpp: Added.
1462         (WebCore::JSProcessingInstruction::markChildren):
1463         Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
1464         conservatively, without checking whether the stylesheet or any of its children have custom
1465         properties.
1466
1467         * dom/ProcessingInstruction.idl:
1468         * html/HTMLLinkElement.idl:
1469         * html/HTMLStyleElement.idl:
1470         These have custom mark functions now.
1471
1472 2010-11-18  Jian Li  <jianli@chromium.org>
1473
1474         Reviewed by Kenneth Russell.
1475
1476         Move length and slice out of ArrayBufferView interface
1477         https://bugs.webkit.org/show_bug.cgi?id=49697
1478
1479         No functionality change. Covered by existing ArrayBuffer tests.
1480
1481         * WebCore.gypi:
1482         * WebCore.pro:
1483         * WebCore.xcodeproj/project.pbxproj:
1484         * bindings/js/JSArrayBufferViewCustom.cpp: Removed.
1485         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
1486         * html/canvas/ArrayBufferView.h:
1487         * html/canvas/ArrayBufferView.idl:
1488         * html/canvas/Float32Array.cpp:
1489         (WebCore::Float32Array::slice):
1490         * html/canvas/Float32Array.h:
1491         * html/canvas/Float32Array.idl:
1492         * html/canvas/Int16Array.cpp:
1493         (WebCore::Int16Array::slice):
1494         * html/canvas/Int16Array.h:
1495         * html/canvas/Int16Array.idl:
1496         * html/canvas/Int32Array.cpp:
1497         (WebCore::Int32Array::slice):
1498         * html/canvas/Int32Array.h:
1499         * html/canvas/Int32Array.idl:
1500         * html/canvas/Int8Array.cpp:
1501         (WebCore::Int8Array::slice):
1502         * html/canvas/Int8Array.h:
1503         * html/canvas/Int8Array.idl:
1504         * html/canvas/TypedArrayBase.h:
1505         (WebCore::TypedArrayBase::length):
1506         * html/canvas/Uint16Array.cpp:
1507         (WebCore::Uint16Array::slice):
1508         * html/canvas/Uint16Array.h:
1509         * html/canvas/Uint16Array.idl:
1510         * html/canvas/Uint32Array.cpp:
1511         (WebCore::Uint32Array::slice):
1512         * html/canvas/Uint32Array.h:
1513         * html/canvas/Uint32Array.idl:
1514         * html/canvas/Uint8Array.cpp:
1515         (WebCore::Uint8Array::slice):
1516         * html/canvas/Uint8Array.h:
1517         * html/canvas/Uint8Array.idl:
1518         * html/canvas/WebGLRenderingContext.cpp:
1519         (WebCore::WebGLRenderingContext::readPixels):
1520
1521 2010-11-17  Zhenyao Mo  <zmo@google.com>
1522
1523         Reviewed by Kenneth Russell.
1524
1525         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
1526         https://bugs.webkit.org/show_bug.cgi?id=47196
1527
1528         * platform/image-decoders/ImageDecoder.h:
1529         (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
1530         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1531         (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
1532         * platform/image-decoders/png/PNGImageDecoder.cpp:
1533         (WebCore::PNGImageDecoder::headerAvailable): Ditto.
1534
1535 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
1536
1537         Reviewed by Adam Roben.
1538
1539         Remove leftover Windows Debug_Internal configurations
1540         https://bugs.webkit.org/show_bug.cgi?id=49758
1541
1542         * WebCore.vcproj/QTMovieWin.vcproj:
1543         * WebCore.vcproj/WebCore.vcproj:
1544
1545 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1546
1547         Unreviewed, rolling out r72299.
1548         http://trac.webkit.org/changeset/72299
1549         https://bugs.webkit.org/show_bug.cgi?id=49761
1550
1551         Broke chromium ui test SessionHistoryTest.FrameBackForward.
1552         (Requested by dave_levin on #webkit).
1553
1554         * loader/HistoryController.cpp:
1555         (WebCore::HistoryController::HistoryController):
1556         (WebCore::HistoryController::saveDocumentState):
1557         (WebCore::HistoryController::updateForBackForwardNavigation):
1558         (WebCore::HistoryController::updateForCommit):
1559         (WebCore::HistoryController::updateForFrameLoadCompleted):
1560         (WebCore::HistoryController::setCurrentItem):
1561         (WebCore::HistoryController::createItem):
1562         (WebCore::HistoryController::createItemTree):
1563         (WebCore::HistoryController::recursiveGoToItem):
1564         * loader/HistoryController.h:
1565
1566 2010-11-18  James Robinson  <jamesr@chromium.org>
1567
1568         Reviewed by Darin Fisher.
1569
1570         [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
1571         https://bugs.webkit.org/show_bug.cgi?id=49638
1572
1573         Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
1574         Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
1575         like Safari Win did in r72270.
1576
1577         Test: fast/text/font-size-zero.html
1578
1579         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1580         (WebCore::FontPlatformData::setupPaint):
1581         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1582         (WebCore::SimpleFontData::platformInit):
1583
1584 2010-11-18  Rob Buis  <rwlbuis@gmail.com>
1585
1586         Reviewed by Simon Fraser.
1587
1588         Only inject fullscreen.css when in fullscreen
1589         https://bugs.webkit.org/show_bug.cgi?id=49510
1590
1591         Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
1592
1593         * css/CSSStyleSelector.cpp:
1594         (WebCore::CSSStyleSelector::CSSStyleSelector):
1595         (WebCore::loadFullDefaultStyle):
1596         (WebCore::loadFullScreenRulesIfNeeded):
1597         (WebCore::CSSStyleSelector::styleForElement):
1598
1599 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
1600
1601         Reviewed by Adam Roben.
1602
1603         Debug_Internal Windows configuration is unnecessary, should be removed
1604         https://bugs.webkit.org/show_bug.cgi?id=49753
1605
1606         * WebCorePrefix.h:
1607
1608 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
1609
1610         Reviewed by Adam Roben.
1611
1612         Clean up vcproj errors
1613         https://bugs.webkit.org/show_bug.cgi?id=49741
1614
1615         * WebCore.vcproj/WebCore.vcproj:
1616
1617 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
1618
1619         Reviewed by Anders Carlsson.
1620
1621         https://bugs.webkit.org/show_bug.cgi?id=49694
1622         Add some comments about XSLStyleSheet owner node
1623
1624         No change in behavior, so no tests.
1625
1626         * dom/ProcessingInstruction.cpp:
1627         (WebCore::ProcessingInstruction::checkStyleSheet):
1628         * xml/XSLStyleSheet.h:
1629         (WebCore::XSLStyleSheet::create):
1630         (WebCore::XSLStyleSheet::createEmbedded):
1631         (WebCore::XSLStyleSheet::createForXSLTProcessor):
1632         * xml/XSLStyleSheetLibxslt.cpp:
1633         (WebCore::XSLStyleSheet::XSLStyleSheet):
1634         * xml/XSLTProcessorLibxslt.cpp:
1635         (WebCore::xsltStylesheetPointer):
1636         * xml/XSLTProcessorQt.cpp:
1637         (WebCore::XSLTProcessor::transformToString):
1638
1639 2010-11-18  Jer Noble  <jer.noble@apple.com>
1640
1641         Reviewed by Eric Carlson.
1642
1643         REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
1644         https://bugs.webkit.org/show_bug.cgi?id=44439
1645         <rdar://problem/8342407>
1646         
1647         setUpCookiesForQuickTime() previously depended on having setFrameView() called first
1648         in order to get a Frame, and when it wasn't set, the cookie-copy failed.  Now, 
1649         setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() 
1650         to retrieve the document and subsequently, the Frame.
1651
1652         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1653         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
1654
1655 2010-11-18  Joseph Pecoraro  <joepeck@webkit.org>
1656
1657         Reviewed by Darin Adler.
1658
1659         Allow no-store resources to be used for back navigation
1660         https://bugs.webkit.org/show_bug.cgi?id=49672
1661
1662         Test: http/tests/cache/history-only-cached-subresource-loads.html
1663
1664         HTTP allows "Cache-Control: no-store" resources to "cached" for the
1665         purposes of history, such as back/forward navigation. Previously
1666         WebCore just immediately evicted these resources, now we leave them in
1667         the cache as long as they are not "https". This allows us to use them
1668         if they are used in a back navigation, or lazily evict and replace
1669         them on other load types expecting non-stale resources.
1670
1671         (WebCore::CachedResource::CachedResource):
1672         (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
1673         * loader/cache/CachedResourceLoader.cpp:
1674         (WebCore::CachedResourceLoader::checkForReload):
1675         (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
1676         * loader/cache/MemoryCache.cpp:
1677         (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
1678         * loader/cache/MemoryCache.h: default the forHistory parameter to false.
1679
1680           Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.
1681
1682         * loader/FrameLoader.cpp:
1683         (WebCore::FrameLoader::subresourceCachePolicy):
1684         * loader/cache/CachePolicy.h:
1685         * loader/cache/CachedResource.cpp:
1686
1687 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
1688
1689         Reviewed by Darin Adler.
1690
1691         https://bugs.webkit.org/show_bug.cgi?id=49700
1692         XSLTProcessor.importNode is only tested with document nodes, and hits an assertion
1693
1694         Test: fast/xsl/import-non-document-node.xhtml
1695
1696         * css/CSSStyleSheet.cpp:
1697         (WebCore::isAcceptableCSSStyleSheetParent):
1698         (WebCore::CSSStyleSheet::CSSStyleSheet):
1699         * css/StyleSheet.cpp:
1700         (WebCore::StyleSheet::StyleSheet):
1701         Moved the assertion - hopefully, it's valid for CSS stylesheets.
1702
1703 2010-11-18  Charlie Reis  <creis@chromium.org>
1704
1705         Reviewed by Darin Fisher.
1706
1707         Update correct content state during back/forward navigations
1708         https://bugs.webkit.org/show_bug.cgi?id=48809
1709
1710         Ensures that history's previousItem is non-null when clients try to
1711         update content state (e.g., Chromium's UpdateSessionHistory).  We now
1712         track load completions with a boolean field rather than by clearing
1713         previousItem.
1714
1715         Behavior covered by existing tests in fast/history and fast/loader.
1716
1717         * loader/HistoryController.cpp:
1718
1719 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1720
1721         Unreviewed, rolling out r72288.
1722         http://trac.webkit.org/changeset/72288
1723         https://bugs.webkit.org/show_bug.cgi?id=49730
1724
1725         'krit attempted to do that, but revert got stuck' (Requested
1726         by antonm on #webkit).
1727
1728         * Android.mk:
1729         * CMakeLists.txt:
1730         * DerivedSources.make:
1731         * GNUmakefile.am:
1732         * WebCore.gyp/WebCore.gyp:
1733         * WebCore.gypi:
1734         * WebCore.order:
1735         * WebCore.pro:
1736         * WebCore.vcproj/WebCore.vcproj:
1737         * WebCore.xcodeproj/project.pbxproj:
1738         * bindings/js/JSBindingsAllInOne.cpp:
1739         * bindings/js/JSDOMBinding.cpp:
1740         (WebCore::setDOMException):
1741         * bindings/js/JSDOMBinding.h:
1742         (WebCore::createDOMObjectWrapper):
1743         (WebCore::getDOMObjectWrapper):
1744         * bindings/js/JSSVGPathSegCustom.cpp:
1745         (WebCore::toJS):
1746         * bindings/js/JSSVGPathSegListCustom.cpp: Added.
1747         (WebCore::JSSVGPathSegList::clear):
1748         (WebCore::JSSVGPathSegList::initialize):
1749         (WebCore::JSSVGPathSegList::getItem):
1750         (WebCore::JSSVGPathSegList::insertItemBefore):
1751         (WebCore::JSSVGPathSegList::replaceItem):
1752         (WebCore::JSSVGPathSegList::removeItem):
1753         (WebCore::JSSVGPathSegList::appendItem):
1754         * bindings/scripts/CodeGenerator.pm:
1755         * bindings/scripts/CodeGeneratorJS.pm:
1756         * bindings/scripts/CodeGeneratorObjC.pm:
1757         * bindings/scripts/CodeGeneratorV8.pm:
1758         * rendering/SVGRenderTreeAsText.cpp:
1759         (WebCore::operator<<):
1760         * svg/SVGAllInOne.cpp:
1761         * svg/SVGAnimatedPathData.cpp: Added.
1762         * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
1763         (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
1764         * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
1765         * svg/SVGPathElement.cpp:
1766         (WebCore::SVGPathElement::SVGPathElement):
1767         (WebCore::SVGPathElement::getPathSegAtLength):
1768         (WebCore::SVGPathElement::createSVGPathSegClosePath):
1769         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
1770         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
1771         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
1772         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
1773         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
1774         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
1775         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
1776         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
1777         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
1778         (WebCore::SVGPathElement::createSVGPathSegArcRel):
1779         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
1780         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
1781         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
1782         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
1783         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
1784         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
1785         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
1786         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
1787         (WebCore::SVGPathElement::parseMappedAttribute):
1788         (WebCore::SVGPathElement::svgAttributeChanged):
1789         (WebCore::SVGPathElement::synchronizeProperty):
1790         (WebCore::SVGPathElement::pathSegList):
1791         (WebCore::SVGPathElement::normalizedPathSegList):
1792         (WebCore::SVGPathElement::animatedPathSegList):
1793         (WebCore::SVGPathElement::animatedNormalizedPathSegList):
1794         (WebCore::SVGPathElement::toPathData):
1795         * svg/SVGPathElement.h:
1796         (WebCore::SVGPathElement::isValid):
1797         (WebCore::SVGPathElement::supportsMarkers):
1798         * svg/SVGPathElement.idl:
1799         * svg/SVGPathParserFactory.cpp:
1800         (WebCore::globalSVGPathSegListBuilder):
1801         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
1802         (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
1803         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
1804         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
1805         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
1806         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
1807         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
1808         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
1809         * svg/SVGPathParserFactory.h:
1810         * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
1811         (WebCore::SVGPathSeg::associatedAttributeName):
1812         * svg/SVGPathSeg.h:
1813         (WebCore::SVGPathSegSingleCoord::setX):
1814         (WebCore::SVGPathSegSingleCoord::x):
1815         (WebCore::SVGPathSegSingleCoord::setY):
1816         (WebCore::SVGPathSegSingleCoord::y):
1817         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
1818         * svg/SVGPathSeg.idl:
1819         * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1820         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
1821         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
1822         * svg/SVGPathSegArc.h:
1823         (WebCore::SVGPathSegArc::SVGPathSegArc):
1824         (WebCore::SVGPathSegArc::setX):
1825         (WebCore::SVGPathSegArc::x):
1826         (WebCore::SVGPathSegArc::setY):
1827         (WebCore::SVGPathSegArc::y):
1828         (WebCore::SVGPathSegArc::setR1):
1829         (WebCore::SVGPathSegArc::r1):
1830         (WebCore::SVGPathSegArc::setR2):
1831         (WebCore::SVGPathSegArc::r2):
1832         (WebCore::SVGPathSegArc::setAngle):
1833         (WebCore::SVGPathSegArc::angle):
1834         (WebCore::SVGPathSegArc::setLargeArcFlag):
1835         (WebCore::SVGPathSegArc::largeArcFlag):
1836         (WebCore::SVGPathSegArc::setSweepFlag):
1837         (WebCore::SVGPathSegArc::sweepFlag):
1838         (WebCore::SVGPathSegArcAbs::create):
1839         (WebCore::SVGPathSegArcAbs::pathSegType):
1840         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
1841         (WebCore::SVGPathSegArcRel::create):
1842         (WebCore::SVGPathSegArcRel::pathSegType):
1843         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
1844         * svg/SVGPathSegArcAbs.idl:
1845         * svg/SVGPathSegArcRel.idl:
1846         * svg/SVGPathSegClosePath.cpp: Added.
1847         * svg/SVGPathSegClosePath.h:
1848         (WebCore::SVGPathSegClosePath::create):
1849         (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
1850         * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1851         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
1852         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
1853         * svg/SVGPathSegCurvetoCubic.h:
1854         (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
1855         (WebCore::SVGPathSegCurvetoCubic::setX):
1856         (WebCore::SVGPathSegCurvetoCubic::x):
1857         (WebCore::SVGPathSegCurvetoCubic::setY):
1858         (WebCore::SVGPathSegCurvetoCubic::y):
1859         (WebCore::SVGPathSegCurvetoCubic::setX1):
1860         (WebCore::SVGPathSegCurvetoCubic::x1):
1861         (WebCore::SVGPathSegCurvetoCubic::setY1):
1862         (WebCore::SVGPathSegCurvetoCubic::y1):
1863         (WebCore::SVGPathSegCurvetoCubic::setX2):
1864         (WebCore::SVGPathSegCurvetoCubic::x2):
1865         (WebCore::SVGPathSegCurvetoCubic::setY2):
1866         (WebCore::SVGPathSegCurvetoCubic::y2):
1867         (WebCore::SVGPathSegCurvetoCubicAbs::create):
1868         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
1869         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
1870         (WebCore::SVGPathSegCurvetoCubicRel::create):
1871         (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
1872         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
1873         * svg/SVGPathSegCurvetoCubicAbs.idl:
1874         * svg/SVGPathSegCurvetoCubicRel.idl:
1875         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1876         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
1877         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
1878         * svg/SVGPathSegCurvetoCubicSmooth.h:
1879         (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
1880         (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
1881         (WebCore::SVGPathSegCurvetoCubicSmooth::x):
1882         (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
1883         (WebCore::SVGPathSegCurvetoCubicSmooth::y):
1884         (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
1885         (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
1886         (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
1887         (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
1888         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
1889         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
1890         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
1891         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
1892         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
1893         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
1894         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
1895         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
1896         * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1897         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
1898         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
1899         * svg/SVGPathSegCurvetoQuadratic.h:
1900         (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
1901         (WebCore::SVGPathSegCurvetoQuadratic::setX):
1902         (WebCore::SVGPathSegCurvetoQuadratic::x):
1903         (WebCore::SVGPathSegCurvetoQuadratic::setY):
1904         (WebCore::SVGPathSegCurvetoQuadratic::y):
1905         (WebCore::SVGPathSegCurvetoQuadratic::setX1):
1906         (WebCore::SVGPathSegCurvetoQuadratic::x1):
1907         (WebCore::SVGPathSegCurvetoQuadratic::setY1):
1908         (WebCore::SVGPathSegCurvetoQuadratic::y1):
1909         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
1910         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
1911         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
1912         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
1913         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
1914         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
1915         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
1916         * svg/SVGPathSegCurvetoQuadraticRel.idl:
1917         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1918         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
1919         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
1920         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
1921         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
1922         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
1923         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
1924         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
1925         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
1926         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
1927         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
1928         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
1929         * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1930         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
1931         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
1932         * svg/SVGPathSegLineto.h:
1933         (WebCore::SVGPathSegLinetoAbs::create):
1934         (WebCore::SVGPathSegLinetoAbs::pathSegType):
1935         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
1936         (WebCore::SVGPathSegLinetoRel::create):
1937         (WebCore::SVGPathSegLinetoRel::pathSegType):
1938         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
1939         * svg/SVGPathSegLinetoAbs.idl:
1940         * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1941         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
1942         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
1943         * svg/SVGPathSegLinetoHorizontal.h:
1944         (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
1945         (WebCore::SVGPathSegLinetoHorizontal::setX):
1946         (WebCore::SVGPathSegLinetoHorizontal::x):
1947         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
1948         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
1949         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
1950         (WebCore::SVGPathSegLinetoHorizontalRel::create):
1951         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
1952         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
1953         * svg/SVGPathSegLinetoHorizontalAbs.idl:
1954         * svg/SVGPathSegLinetoHorizontalRel.idl:
1955         * svg/SVGPathSegLinetoRel.idl:
1956         * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
1957         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
1958         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
1959         * svg/SVGPathSegLinetoVertical.h:
1960         (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
1961         (WebCore::SVGPathSegLinetoVertical::setY):
1962         (WebCore::SVGPathSegLinetoVertical::y):
1963         (WebCore::SVGPathSegLinetoVerticalAbs::create):
1964         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
1965         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
1966         (WebCore::SVGPathSegLinetoVerticalRel::create):
1967         (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
1968         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
1969         * svg/SVGPathSegLinetoVerticalAbs.idl:
1970         * svg/SVGPathSegLinetoVerticalRel.idl:
1971         * svg/SVGPathSegList.cpp:
1972         (WebCore::SVGPathSegList::SVGPathSegList):
1973         * svg/SVGPathSegList.h:
1974         (WebCore::SVGPathSegList::create):
1975         * svg/SVGPathSegList.idl:
1976         * svg/SVGPathSegListBuilder.cpp:
1977         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
1978         (WebCore::SVGPathSegListBuilder::moveTo):
1979         (WebCore::SVGPathSegListBuilder::lineTo):
1980         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
1981         (WebCore::SVGPathSegListBuilder::lineToVertical):
1982         (WebCore::SVGPathSegListBuilder::curveToCubic):
1983         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
1984         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
1985         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
1986         (WebCore::SVGPathSegListBuilder::arcTo):
1987         (WebCore::SVGPathSegListBuilder::closePath):
1988         * svg/SVGPathSegListBuilder.h:
1989         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
1990         (WebCore::SVGPathSegListBuilder::cleanup):
1991         * svg/SVGPathSegListSource.cpp:
1992         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
1993         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
1994         (WebCore::SVGPathSegListSource::nextCommand):
1995         (WebCore::SVGPathSegListSource::parseMoveToSegment):
1996         (WebCore::SVGPathSegListSource::parseLineToSegment):
1997         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
1998         * svg/SVGPathSegListSource.h:
1999         (WebCore::SVGPathSegListSource::create):
2000         * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2001         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
2002         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
2003         * svg/SVGPathSegMoveto.h:
2004         (WebCore::SVGPathSegMovetoAbs::create):
2005         (WebCore::SVGPathSegMovetoAbs::pathSegType):
2006         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
2007         (WebCore::SVGPathSegMovetoRel::create):
2008         (WebCore::SVGPathSegMovetoRel::pathSegType):
2009         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
2010         * svg/SVGPathSegMovetoAbs.idl:
2011         * svg/SVGPathSegMovetoRel.idl:
2012         * svg/SVGPathSegWithContext.h: Removed.
2013         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
2014         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
2015         * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
2016
2017 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2018
2019         Unreviewed, rolling out r72292.
2020         http://trac.webkit.org/changeset/72292
2021         https://bugs.webkit.org/show_bug.cgi?id=49732
2022
2023         will break win build (Requested by loislo on #webkit).
2024
2025         * inspector/CodeGeneratorInspector.pm:
2026
2027 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
2028
2029         Reviewed by Yury Semikhatsky.
2030
2031         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
2032         InspectorBackendDispatcher is a generated file.
2033         Its content is not optimal and loc may be reduced by a quarter.
2034         In each generated function we have a code for getting 'in' values from
2035         the arguments properties object. I've extracted this code into separate getters.
2036         The side effect is better readability of the generated code.
2037
2038         https://bugs.webkit.org/show_bug.cgi?id=49729
2039
2040         * inspector/CodeGeneratorInspector.pm:
2041
2042 2010-11-18  Alexander Pavlov  <apavlov@chromium.org>
2043
2044         Reviewed by Pavel Feldman.
2045
2046         [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
2047         https://bugs.webkit.org/show_bug.cgi?id=49656
2048
2049         Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
2050
2051         * bindings/scripts/CodeGeneratorV8.pm:
2052
2053 2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
2054
2055         Reviewed by Dirk Schulze.
2056
2057         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
2058         https://bugs.webkit.org/show_bug.cgi?id=49580
2059
2060         SVGPathElement.cloneNode loses generated pathSegList
2061         https://bugs.webkit.org/show_bug.cgi?id=43388
2062
2063         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
2064         https://bugs.webkit.org/show_bug.cgi?id=30219
2065
2066         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
2067         https://bugs.webkit.org/show_bug.cgi?id=19741
2068
2069         SVGPathElement should only build SVGPathSeg* list on demand
2070         https://bugs.webkit.org/show_bug.cgi?id=10827
2071
2072         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
2073                svg/dom/SVGPathSegList-appendItem.xhtml
2074                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
2075                svg/dom/SVGPathSegList-cloning.html
2076                svg/dom/SVGPathSegList-insertItemBefore.xhtml
2077                svg/dom/SVGPathSegList-removeItem.xhtml
2078                svg/dom/SVGPathSegList-replaceItem.xhtml
2079                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
2080                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
2081                svg/dom/SVGPathSegList-segment-modification.svg
2082
2083         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
2084         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
2085         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
2086         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
2087         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
2088
2089         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
2090         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
2091         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
2092         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
2093         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
2094         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
2095
2096         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
2097         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
2098
2099         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
2100         * CMakeLists.txt: Ditto.
2101         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
2102         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
2103         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
2104         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
2105         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
2106         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
2107         * WebCore.vcproj/WebCore.vcproj: Ditto.
2108         * WebCore.xcodeproj/project.pbxproj: Ditto.
2109         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
2110         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
2111         (WebCore::setDOMException):
2112         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
2113         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
2114         (WebCore::toJS):
2115         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
2116         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
2117         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
2118         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
2119         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
2120         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
2121         (WebCore::operator<<):
2122         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
2123         * svg/SVGAnimatedPathData.cpp: Removed.
2124         * svg/SVGAnimatedPathData.h: Removed.
2125         * svg/SVGAnimatedPathData.idl: Removed.
2126         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
2127         (WebCore::SVGPathElement::SVGPathElement):
2128         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
2129         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
2130         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
2131         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
2132         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
2133         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
2134         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
2135         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
2136         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
2137         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
2138         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
2139         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
2140         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
2141         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
2142         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
2143         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
2144         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
2145         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
2146         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
2147         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
2148         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
2149         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
2150         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
2151         (WebCore::SVGPathElement::synchronizeD): Added.
2152         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
2153         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
2154         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
2155         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
2156         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
2157         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
2158         * svg/SVGPathElement.h: Add new accessors...
2159         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
2160         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
2161         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
2162         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
2163         (WebCore::globalSVGPathSegListBuilder):
2164         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
2165         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
2166         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
2167         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
2168         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
2169         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
2170         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
2171         * svg/SVGPathParserFactory.h:
2172         * svg/SVGPathSeg.cpp: Removed.
2173         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
2174         (WebCore::SVGPathSeg::SVGPathSeg):
2175         * svg/SVGPathSeg.idl: Reindented.
2176         * svg/SVGPathSegArc.cpp: Removed.
2177         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
2178         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
2179         * svg/SVGPathSegArcRel.idl: Ditto.
2180         * svg/SVGPathSegClosePath.cpp: Removed.
2181         * svg/SVGPathSegClosePath.h:
2182         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
2183         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
2184         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
2185         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
2186         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
2187         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
2188         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
2189         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
2190         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
2191         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
2192         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
2193         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
2194         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
2195         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
2196         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
2197         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
2198         * svg/SVGPathSegLineto.cpp: Removed.
2199         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
2200         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
2201         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
2202         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
2203         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
2204         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
2205         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
2206         * svg/SVGPathSegLinetoVertical.cpp: Removed.
2207         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
2208         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
2209         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
2210         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
2211         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
2212         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
2213         * svg/SVGPathSegList.h:
2214         (WebCore::SVGPathSegList::SVGPathSegList):
2215         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
2216         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
2217         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
2218         (WebCore::SVGPathSegListBuilder::moveTo):
2219         (WebCore::SVGPathSegListBuilder::lineTo):
2220         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
2221         (WebCore::SVGPathSegListBuilder::lineToVertical):
2222         (WebCore::SVGPathSegListBuilder::curveToCubic):
2223         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
2224         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
2225         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
2226         (WebCore::SVGPathSegListBuilder::arcTo):
2227         (WebCore::SVGPathSegListBuilder::closePath):
2228         * svg/SVGPathSegListBuilder.h: Ditto.
2229         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
2230         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
2231         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
2232         (WebCore::SVGPathSegListBuilder::cleanup):
2233         * svg/SVGPathSegListSource.cpp: Ditto.
2234         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
2235         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
2236         (WebCore::SVGPathSegListSource::nextCommand):
2237         (WebCore::SVGPathSegListSource::parseMoveToSegment):
2238         (WebCore::SVGPathSegListSource::parseLineToSegment):
2239         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
2240         * svg/SVGPathSegListSource.h: Ditto.
2241         (WebCore::SVGPathSegListSource::create):
2242         * svg/SVGPathSegMoveto.cpp: Removed.
2243         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
2244         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
2245         * svg/SVGPathSegMovetoRel.idl: Ditto.
2246         * 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).
2247         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
2248         (WebCore::SVGPathSegWithContext::animatedProperty):
2249         (WebCore::SVGPathSegWithContext::setContextAndRole):
2250         (WebCore::SVGPathSegWithContext::commitChange):
2251         (WebCore::SVGPathSegSingleCoordinate::x):
2252         (WebCore::SVGPathSegSingleCoordinate::setX):
2253         (WebCore::SVGPathSegSingleCoordinate::y):
2254         (WebCore::SVGPathSegSingleCoordinate::setY):
2255         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
2256         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
2257         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
2258         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
2259         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
2260         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
2261         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
2262         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
2263         (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.
2264         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
2265         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
2266         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
2267         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
2268         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
2269         (WebCore::SVGPathSegListPropertyTearOff::create):
2270         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
2271         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
2272         (WebCore::SVGPathSegListPropertyTearOff::initialize):
2273         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2274         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2275         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2276         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
2277         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2278         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
2279
2280 2010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>
2281
2282         Reviewed by Martin Robinson.
2283
2284         [Gtk]  atk_text_get_selection returns the wrong offsets after a link
2285         https://bugs.webkit.org/show_bug.cgi?id=49514
2286
2287         Consider possible embedded objects to calculate startOffset.
2288
2289         So far we were using offsetInContainerNode() to calculate the
2290         value of startOffset when checking the offsets for the current
2291         selection, which was wrong because that wouldn't work ok if any
2292         embedded object was present in the paragraph before the
2293         selection. Thus, we need to consider this fact when calculating
2294         the startOffset from the point of view of the object this function
2295         is called on, in order to return the right and actual values.
2296
2297         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2298         (getSelectionOffsetsForObject): Check range length from the first
2299         position in the object the function is called on until the first
2300         position of current selection, and use it as startOffset.
2301
2302 2010-11-12  Stephen White  <senorblanco@chromium.org>
2303
2304         Reviewed by Simon Fraser.
2305
2306         Fix for multiple urls in a background-image causing repeated repaints.
2307         https://bugs.webkit.org/show_bug.cgi?id=42390
2308
2309         Change the key of RenderBoxModelObject's LastPaintSizeMap to include
2310         the layer of the element being drawn, so that the same URL used
2311         repeated in the same background-image, or another element's
2312         background-image, can be uniquely identified.  The layer is a void
2313         pointer, since it is only used as part of the key and using a
2314         void pointer will discourage dereferencing it.  This pointer is NULL
2315         when called from RenderImage (<img> elements).
2316
2317         Covered by fast/backgrounds/size/contain-and-cover.html
2318
2319         * rendering/RenderBoxModelObject.cpp:
2320         (WebCore::ImageQualityController::keyDestroyed):
2321         The old objectDestroyed() is renamed to keyDestroyed().
2322         (WebCore::ImageQualityController::objectDestroyed):
2323         The new objectDestroyed() iterates over all outstanding resizes
2324         to remove any resizes pertaining to this object.
2325         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
2326         Retrieve the RenderBoxModelObject from the pair's "first" member.
2327         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2328         Create a key from the {object, layer} pair, and use it to access
2329         the repaint size map.
2330         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
2331         Plumb the layer through to the image quality controller.
2332         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2333         Pass the bgLayer when checking 
2334         * rendering/RenderBoxModelObject.h:
2335         Add the void* layer parameter to shouldPaintAtLowQuality.
2336         * rendering/RenderImage.cpp:
2337         (WebCore::RenderImage::paintIntoRect):
2338         Pass 0 (null) for the layer parameter in this case.
2339
2340 2010-11-18  Chris Rogers  <crogers@google.com>
2341
2342         Reviewed by Dimitri Glazkov.
2343
2344         Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
2345         https://bugs.webkit.org/show_bug.cgi?id=49557
2346
2347         No new tests since audio API is not yet implemented.
2348
2349         * platform/chromium/ChromiumBridge.h:
2350
2351 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2352
2353         Unreviewed, rolling out r72228.
2354         http://trac.webkit.org/changeset/72228
2355         https://bugs.webkit.org/show_bug.cgi?id=49712
2356
2357         Caused many >10 regressions on Win and Linux gpu layout test
2358         runs. (Requested by dave_levin on #webkit).
2359
2360         * html/canvas/WebGLFramebuffer.cpp:
2361         (WebCore::WebGLFramebuffer::onAccess):
2362         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
2363         * html/canvas/WebGLFramebuffer.h:
2364         * html/canvas/WebGLRenderingContext.cpp:
2365         (WebCore::WebGLRenderingContext::clear):
2366         (WebCore::WebGLRenderingContext::copyTexImage2D):
2367         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2368         (WebCore::WebGLRenderingContext::drawArrays):
2369         (WebCore::WebGLRenderingContext::drawElements):
2370         (WebCore::WebGLRenderingContext::readPixels):
2371         (WebCore::WebGLRenderingContext::texImage2DBase):
2372
2373 2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2374
2375         Unreviewed, rolling out r72243.
2376         http://trac.webkit.org/changeset/72243
2377         https://bugs.webkit.org/show_bug.cgi?id=49710
2378
2379         Seemed to cause a large set of Chromium layout test to start
2380         failing. (Requested by dave_levin on #webkit).
2381
2382         * bindings/v8/V8NPUtils.cpp:
2383         (WebCore::convertV8ObjectToNPVariant):
2384
2385 2010-11-17  Adam Roben  <aroben@apple.com>
2386
2387         Fix Acid3 in Safari for Windows
2388
2389         Reviewed by Dave Hyatt.
2390
2391         * platform/graphics/win/SimpleFontDataWin.cpp:
2392         (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
2393         if we have a font size of 0.
2394
2395 2010-11-17  Dimitri Glazkov  <dglazkov@chromium.org>
2396
2397         Reviewed by Darin Adler.
2398
2399         Converge means of querying a parent node into one way, which is Node::parentNode.
2400         https://bugs.webkit.org/show_bug.cgi?id=49686
2401
2402         No change in behavior, so no new tests.
2403
2404         * accessibility/AccessibilityObject.cpp:
2405         (WebCore::renderListItemContainerForNode): Changed to use parentNode.
2406         * accessibility/AccessibilityRenderObject.cpp:
2407         (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
2408         (WebCore::siblingWithAriaRole): Ditto.
2409         (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
2410         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
2411         * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
2412         (blockquoteLevel): Ditto.
2413         * bindings/v8/V8GCController.cpp:
2414         (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
2415         * dom/ContainerNode.cpp: Ditto.
2416         (WebCore::ContainerNode::insertBefore): Ditto.
2417         (WebCore::ContainerNode::insertBeforeCommon): Ditto.
2418         (WebCore::ContainerNode::replaceChild): Ditto.
2419         (WebCore::ContainerNode::removeChild): Ditto.
2420         (WebCore::ContainerNode::appendChild): Ditto.
2421         (WebCore::ContainerNode::parserAddChild): Ditto.
2422         * dom/DocumentType.cpp:
2423         (WebCore::DocumentType::insertedIntoDocument): Ditto.
2424         * dom/Element.cpp:
2425         (WebCore::Element::computeInheritedLanguage): Ditto.
2426         * dom/MouseRelatedEvent.cpp:
2427         (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
2428         * dom/Position.cpp:
2429         (WebCore::Position::isCandidate): Changed to use parentNode.
2430         * dom/PositionIterator.cpp:
2431         (WebCore::PositionIterator::isCandidate): Ditto.
2432         * editing/AppendNodeCommand.cpp:
2433         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
2434         * editing/ApplyStyleCommand.cpp:
2435         (WebCore::dummySpanAncestorForNode): Ditto.
2436         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
2437         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
2438         (WebCore::highestEmbeddingAncestor): Ditto.
2439         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
2440         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
2441         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
2442         * editing/CompositeEditCommand.cpp:
2443         (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
2444         * editing/DeleteSelectionCommand.cpp:
2445         (WebCore::updatePositionForNodeRemoval): Ditto.
2446         * editing/Editor.cpp:
2447         (WebCore::Editor::textDirectionForSelection): Ditto.
2448         * editing/MergeIdenticalElementsCommand.cpp:
2449         (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
2450         * editing/htmlediting.cpp:
2451         (WebCore::isEmptyTableCell): Ditto.
2452         * editing/markup.cpp:
2453         (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
2454         * editing/visible_units.cpp:
2455         (WebCore::previousLinePosition): Ditto.
2456         (WebCore::nextLinePosition): Ditto.
2457         * html/HTMLAreaElement.cpp:
2458         (WebCore::HTMLAreaElement::imageElement): Ditto.
2459         * html/HTMLElement.cpp:
2460         (WebCore::HTMLElement::setOuterHTML): Ditto.
2461         (WebCore::HTMLElement::insertAdjacent): Ditto.
2462         (WebCore::HTMLElement::supportsFocus): Ditto.
2463         * html/HTMLEmbedElement.cpp:
2464         (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
2465         (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
2466         * html/HTMLTableElement.cpp:
2467         (WebCore::HTMLTableElement::insertRow): Ditto.
2468         * html/HTMLTableRowsCollection.cpp: Ditto.
2469         (WebCore::isInHead): Ditto.
2470         (WebCore::isInBody): Ditto.
2471         (WebCore::isInFoot): Ditto.
2472         (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
2473         * html/HTMLViewSourceDocument.cpp:
2474         (WebCore::HTMLViewSourceDocument::addRange): Ditto.
2475         * html/MediaDocument.cpp:
2476         (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
2477         * html/parser/HTMLConstructionSite.cpp:
2478         (WebCore::HTMLConstructionSite::attach): Ditto.
2479         (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
2480         * html/parser/HTMLTreeBuilder.cpp:
2481         * page/FocusController.cpp:
2482         (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
2483         * rendering/MediaControlElements.cpp:
2484         (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
2485         (WebCore::MediaControlElement::attach): Ditto.
2486         (WebCore::MediaControlElement::updateStyle): Ditto.
2487         (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
2488         (WebCore::MediaControlInputElement::attach): Ditto.
2489         (WebCore::MediaControlInputElement::updateStyle): Ditto.
2490         * rendering/RenderSVGGradientStop.cpp:
2491         (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
2492         * svg/SVGAElement.cpp:
2493         (WebCore::SVGAElement::createRenderer): Ditto.
2494         (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
2495         * svg/SVGFELightElement.cpp:
2496         (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
2497         (WebCore::SVGFELightElement::childrenChanged): Ditto.
2498         * svg/SVGFEMergeNodeElement.cpp:
2499         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
2500         * svg/SVGLength.cpp:
2501         (WebCore::SVGLength::determineViewport): Ditto.
2502         * svg/SVGStyledElement.cpp:
2503         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
2504         * svg/SVGUseElement.cpp:
2505         (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
2506         * svg/animation/SVGSMILElement.cpp:
2507         (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
2508         * xml/XPathNodeSet.cpp:
2509         (WebCore::XPath::NodeSet::sort): Ditto.
2510         * xml/XPathStep.cpp:
2511         (WebCore::XPath::Step::nodesInAxis): Ditto.
2512         * xml/XSLTProcessorLibxslt.cpp:
2513         (WebCore::xsltStylesheetPointer): Ditto.
2514
2515 2010-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2516
2517         Reviewed by Andreas Kling.
2518
2519         ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
2520
2521         This makes paint() with paintEntireContents() do exactly what it's supposed to:
2522         paint from 0,0 to contentsSize().
2523
2524         The clipping was a no-op anyway since visibleContentRect() will return the whole
2525         rect in paintsEntireContents() mode.
2526
2527         * platform/ScrollView.cpp:
2528         (WebCore::ScrollView::paint):
2529
2530 2010-11-17  Kenneth Rohde Christansen  <kenneth@webkit.org>
2531
2532         Reviewed by Andreas Kling.
2533
2534         ScrollView: Update the actualVisibleContentRect after delegating a scroll.
2535
2536         This lets us avoid updating the actualVisibleContentRect from the client
2537         after each scroll. We had to do this synchronously for WebKit2 to support
2538         programmatic "animated scrolling" from JS.
2539
2540         * platform/ScrollView.cpp:
2541         (WebCore::ScrollView::setScrollPosition):
2542
2543 2010-11-17  Andreas Kling  <kling@webkit.org>
2544
2545         Reviewed by Kenneth Rohde Christiansen.
2546
2547         ScrollView: Decouple actualVisibleContentRect from visibleContentRect
2548
2549         Added actualVisibleContentRect() which will return the override provided
2550         by setActualVisibleContentRect() or fall back to visibleContentRect()
2551         if no override has been set.
2552
2553         This is similar to what the iPhone does.
2554
2555         * platform/ScrollView.cpp:
2556         (WebCore::ScrollView::visibleContentRect):
2557         * platform/ScrollView.h:
2558         (WebCore::ScrollView::actualVisibleContentRect):
2559         (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
2560
2561 2010-11-17  Tony Chang  <tony@chromium.org>
2562
2563         Reviewed by Adam Barth.
2564
2565         [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
2566         https://bugs.webkit.org/show_bug.cgi?id=49036
2567
2568         No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
2569
2570         In http://codereview.chromium.org/11574, the forked chromium test
2571         plugin changed how it testGetIntIdentifier to work around a change
2572         caused by a silverlight specific plugin fix:
2573         http://codereview.chromium.org/11569/diff/1/2
2574
2575         It's not clear to me that this change is needed anymore since
2576         silverlight has had multiple releases, testing without this patch
2577         works on a test windows build, and safari win seems to run silverlight
2578         without this either.  Since there's no test for this behavior, I'm
2579         rolling it out so we can match the upstream test.
2580
2581         * bindings/v8/V8NPUtils.cpp:
2582         (WebCore::convertV8ObjectToNPVariant):
2583
2584 2010-11-17  Andreas Kling  <kling@webkit.org>
2585
2586         Reviewed by Kenneth Rohde Christiansen.
2587
2588         ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
2589
2590         * platform/ScrollView.cpp:
2591         (WebCore::ScrollView::visibleContentRect):
2592
2593 2010-11-17  James Simonsen  <simonjam@chromium.org>
2594
2595         Reviewed by Tony Chang.
2596
2597         [chromium] Fix negative letter spacing in complex text on linux
2598         https://bugs.webkit.org/show_bug.cgi?id=49563
2599
2600         Test: fast/text/atsui-negative-spacing-features.html
2601
2602         * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
2603
2604 2010-11-17  Andreas Kling  <kling@webkit.org>
2605
2606         Reviewed by Kenneth Rohde Christiansen.
2607
2608         ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
2609
2610         * platform/ScrollView.cpp:
2611         (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
2612         newScrollPosition, so move that calculation below the delegation path.
2613
2614 2010-11-17  Dave Hyatt  <hyatt@apple.com>
2615
2616         Reviewed by Sam Weinig.
2617
2618         https://bugs.webkit.org/show_bug.cgi?id=48537
2619
2620         Fonts with no vertical metrics should synthesize baselines when they appear
2621         on lines that do use fonts with vertical metrics.  Basically we want to make
2622         sure that English text behaves like vertical-align:middle, i.e., its baseline
2623         should be treated as though it cuts through the middle of the ascent+descent.
2624         
2625         The way this works is that each line in the line box tree is labeled as having
2626         a baseline type that is either ideographic or alphabetic for the purposes of
2627         vertical alignment.  A line becomes ideographic if any font with vertical tables
2628         is either explicitly specified as the primary font or in any of the used fonts
2629         in the text on that line.
2630         
2631         This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
2632         and passed to the ascent and descent methods of the fonts that are examined.
2633         The underlying Font code selects an appropriate baseline given the type passed in.
2634         
2635         This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
2636         to instead carry around the cached vertical positions for RenderInlines in a new
2637         VerticalPositionCache object.  This cache only lives for a single layout
2638         operation, but it does cache information across all the lines built and placed during the
2639         layout.
2640         
2641         This matches the old behavior, since every call to layoutInlineChildren invalidated
2642         all of the vertical positions in all of the RenderInlines anyway.
2643         
2644         The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
2645         positions for both alphabetic and ideographic baseline types.
2646         
2647         The vertical-align computation has now been moved out of RenderBoxModelObject and
2648         RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
2649         This function has been changed to no longer be recursive when checking parents,
2650         and it now relies on the fact that the parent vertical alignment computation result
2651         has already been stored in the logicalTop() of that parent's line box.  By checking
2652         the line box logicalTop() value instead of recurring, the performance of first lines
2653         now significantly improves to no longer have O(n^2) behavior in the depth of the line
2654         box tree on the first line.
2655         
2656         All of the baselinePosition functions on the various RenderObjects have been amended
2657         to take a FontBaseline as the first argument.  This patch does not attempt to fix up
2658         MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
2659         
2660         The RenderTableCell baselinePosition virtual method has been made non-virtual and had
2661         all arguments removed, since it actually had no real connection with the rest of the 
2662         baseline positioning system.  Cell baseline positioning works by calling firstLineBoxBaseline,
2663         and that method has been patched to use the cached baselineType for the first line box
2664         when computing the baseline of that line.
2665          
2666         Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
2667
2668         * WebCore.xcodeproj/project.pbxproj:
2669         * mathml/RenderMathMLFraction.cpp:
2670         (WebCore::RenderMathMLFraction::baselinePosition):
2671         * mathml/RenderMathMLFraction.h:
2672         * mathml/RenderMathMLOperator.cpp:
2673         (WebCore::RenderMathMLOperator::baselinePosition):
2674         * mathml/RenderMathMLOperator.h:
2675         * mathml/RenderMathMLRow.cpp:
2676         (WebCore::RenderMathMLRow::baselinePosition):
2677         * mathml/RenderMathMLRow.h:
2678         * mathml/RenderMathMLSubSup.cpp:
2679         (WebCore::RenderMathMLSubSup::baselinePosition):
2680         * mathml/RenderMathMLSubSup.h:
2681         * mathml/RenderMathMLUnderOver.cpp:
2682         (WebCore::RenderMathMLUnderOver::layout):
2683         (WebCore::RenderMathMLUnderOver::baselinePosition):
2684         * mathml/RenderMathMLUnderOver.h:
2685         * platform/graphics/SimpleFontData.h:
2686         * rendering/InlineBox.h:
2687         (WebCore::InlineBox::baselinePosition):
2688         * rendering/InlineFlowBox.cpp:
2689         (WebCore::verticalPositionForBox):
2690         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2691         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2692         * rendering/InlineFlowBox.h:
2693         * rendering/InlineTextBox.cpp:
2694         (WebCore::InlineTextBox::baselinePosition):
2695         * rendering/InlineTextBox.h:
2696         * rendering/RenderBlock.cpp:
2697         (WebCore::RenderBlock::baselinePosition):
2698         (WebCore::RenderBlock::firstLineBoxBaseline):
2699         (WebCore::RenderBlock::lastLineBoxBaseline):
2700         * rendering/RenderBlock.h:
2701         * rendering/RenderBlockLineLayout.cpp:
2702         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
2703         (WebCore::RenderBlock::layoutInlineChildren):
2704         * rendering/RenderBox.cpp:
2705         (WebCore::RenderBox::baselinePosition):
2706         * rendering/RenderBox.h:
2707         * rendering/RenderBoxModelObject.cpp:
2708         * rendering/RenderBoxModelObject.h:
2709         * rendering/RenderFileUploadControl.cpp:
2710         (WebCore::RenderFileUploadControl::paintObject):
2711         * rendering/RenderInline.cpp:
2712         (WebCore::RenderInline::RenderInline):
2713         (WebCore::RenderInline::baselinePosition):
2714         * rendering/RenderInline.h:
2715         * rendering/RenderListBox.cpp:
2716         (WebCore::RenderListBox::baselinePosition):
2717         * rendering/RenderListBox.h:
2718         * rendering/RenderListMarker.cpp:
2719         (WebCore::RenderListMarker::baselinePosition):
2720         * rendering/RenderListMarker.h:
2721         * rendering/RenderSlider.cpp:
2722         (WebCore::RenderSlider::baselinePosition):
2723         * rendering/RenderSlider.h:
2724         * rendering/RenderTableCell.cpp:
2725         (WebCore::RenderTableCell::baselinePosition):
2726         * rendering/RenderTableCell.h:
2727         * rendering/RenderTextControlMultiLine.cpp:
2728         (WebCore::RenderTextControlMultiLine::baselinePosition):
2729         * rendering/RenderTextControlMultiLine.h:
2730         * rendering/RootInlineBox.cpp:
2731         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2732         * rendering/RootInlineBox.h:
2733         (WebCore::RootInlineBox::baselinePosition):
2734         * rendering/VerticalPositionCache.h: Added.
2735         (WebCore::VerticalPositionCache::VerticalPositionCache):
2736         (WebCore::VerticalPositionCache::get):
2737         (WebCore::VerticalPositionCache::set):
2738         * rendering/svg/SVGInlineTextBox.cpp:
2739         (WebCore::SVGInlineTextBox::calculateBoundaries):
2740
2741 2010-11-17  Sam Weinig  <sam@webkit.org>
2742
2743         Reviewed by Anders Carlsson.
2744
2745         Add stubbed out ScrollAnimator for the Mac
2746         https://bugs.webkit.org/show_bug.cgi?id=49678
2747
2748         * WebCore.xcodeproj/project.pbxproj:
2749         Add ScrollAnimator.h/cpp.
2750
2751         * platform/mac/ScrollAnimatorMac.cpp: Added.
2752         (WebCore::ScrollAnimator::create):
2753         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2754         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2755         (WebCore::ScrollAnimatorMac::scroll):
2756         (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
2757         * platform/mac/ScrollAnimatorMac.h: Added.
2758         ScrollAnimatorMac just calls through to the base class for now.
2759
2760 2010-11-17  Cris Neckar  <cdn@chromium.org>
2761
2762         Reviewed by Adam Barth.
2763
2764         Modified codepath for object fallback content which has failed to load.
2765         Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
2766         https://bugs.webkit.org/show_bug.cgi?id=46921
2767
2768         Test: fast/html/object-image-nested-fallback.html
2769
2770         * html/HTMLObjectElement.cpp:
2771         (WebCore::HTMLObjectElement::renderFallbackContent):
2772         * loader/cache/CachedCSSStyleSheet.cpp:
2773         (WebCore::CachedCSSStyleSheet::error):
2774         * loader/cache/CachedCSSStyleSheet.h:
2775         * loader/cache/CachedFont.cpp:
2776         (WebCore::CachedFont::ensureCustomFontData):
2777         (WebCore::CachedFont::error):
2778         * loader/cache/CachedFont.h:
2779         * loader/cache/CachedImage.cpp:
2780         (WebCore::CachedImage::data):
2781         (WebCore::CachedImage::error):
2782         * loader/cache/CachedImage.h:
2783         * loader/cache/CachedResource.cpp:
2784         (WebCore::CachedResource::CachedResource):
2785         (WebCore::CachedResource::canUseCacheValidator):
2786         (WebCore::CachedResource::mustRevalidate):
2787         * loader/cache/CachedResource.h:
2788         (WebCore::CachedResource::error):
2789         (WebCore::CachedResource::httpStatusCodeError):
2790         (WebCore::CachedResource::errorOccurred):
2791         * loader/cache/CachedScript.cpp:
2792         (WebCore::CachedScript::error):
2793         * loader/cache/CachedScript.h:
2794         * loader/cache/CachedXSLStyleSheet.cpp:
2795         (WebCore::CachedXSLStyleSheet::error):
2796         * loader/cache/CachedXSLStyleSheet.h:
2797         * loader/loader.cpp:
2798         (WebCore::Loader::load):
2799         (WebCore::Loader::didFinishLoading):
2800         (WebCore::Loader::didFail):
2801         (WebCore::Loader::didReceiveData):
2802
2803 2010-11-16  Zhenyao Mo  <zmo@google.com>
2804
2805         Reviewed by Kenneth Russell.
2806
2807         WebGLRenderingContext needs to zero textures and renderbuffers
2808         https://bugs.webkit.org/show_bug.cgi?id=49355
2809
2810         Test: fast/canvas/webgl/uninitialized-test.html
2811
2812         * html/canvas/WebGLFramebuffer.cpp:
2813         (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
2814         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
2815         * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature.
2816         * html/canvas/WebGLRenderingContext.cpp:
2817         (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
2818         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
2819         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
2820         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
2821         (WebCore::WebGLRenderingContext::drawElements): Ditto.
2822         (WebCore::WebGLRenderingContext::readPixels): Ditto.
2823         (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
2824
2825 2010-11-17  Ryosuke Niwa  <rniwa@webkit.org>
2826
2827         Reviewed by Darin Adler.
2828
2829         Merge ScriptElement and ScriptElementData
2830         https://bugs.webkit.org/show_bug.cgi?id=49647
2831
2832         Merged two classes.
2833
2834         * dom/AsyncScriptRunner.cpp:
2835         (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
2836         (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
2837         * dom/AsyncScriptRunner.h:
2838         * dom/ScriptElement.cpp:
2839         (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
2840         (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
2841         (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
2842         (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
2843         (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
2844         (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
2845         (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
2846         (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
2847         (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
2848         (WebCore::ScriptElement::executeScript): Ditto.
2849         (WebCore::ScriptElement::stopLoadRequest): Ditto.
2850         (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
2851         (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
2852         (WebCore::ScriptElement::ignoresLoadRequest): Ditto.
2853         (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
2854         forAttributeValue, and eventAttributeValue.
2855         (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
2856         (WebCore::ScriptElement::scriptContent): Ditto.
2857         (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
2858         (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
2859         and deferAttributeValue.
2860         * dom/ScriptElement.h:
2861         (WebCore::ScriptElement::element):
2862         (WebCore::ScriptElement::haveFiredLoadEvent):
2863         (WebCore::ScriptElement::setHaveFiredLoadEvent):
2864         (WebCore::ScriptElement::createdByParser):
2865         (WebCore::ScriptElement::isEvaluated):
2866
2867 2010-11-17  Tenghui Zhu  <ztenghui@google.com>
2868
2869         Reviewed by Jeremy Orlow.
2870
2871         profileCallback and profileEndCallback  should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
2872         https://bugs.webkit.org/show_bug.cgi?id=49623
2873
2874         No new tests. Just a compiling error fix.
2875
2876         * bindings/v8/custom/V8ConsoleCustom.cpp:
2877           Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback
2878
2879 2010-11-17  John Knottenbelt  <jknotten@chromium.org>
2880
2881         Reviewed by Jeremy Orlow.
2882
2883         Introduce GeoNotifierVector typedef for increased readability
2884         https://bugs.webkit.org/show_bug.cgi?id=49597
2885
2886         * page/Geolocation.cpp:
2887         (WebCore::Geolocation::Watchers::getNotifiersVector):
2888         (WebCore::Geolocation::sendError):
2889         (WebCore::Geolocation::sendPosition):
2890         (WebCore::Geolocation::stopTimer):
2891         (WebCore::Geolocation::stopTimersForOneShots):
2892         (WebCore::Geolocation::stopTimersForWatchers):
2893         (WebCore::Geolocation::cancelRequests):
2894         (WebCore::Geolocation::cancelAllRequests):
2895         (WebCore::Geolocation::handleError):
2896         (WebCore::Geolocation::makeSuccessCallbacks):
2897         * page/Geolocation.h:
2898
2899 2010-11-17  John Knottenbelt  <jknotten@chromium.org>
2900
2901         Reviewed by Jeremy Orlow.
2902
2903         Convert correctly between GeolocationPosition and Geoposition
2904         timestamp formats.
2905         https://bugs.webkit.org/show_bug.cgi?id=48518
2906
2907         Test: fast/dom/Geolocation/timestamp.html
2908
2909         * page/Geolocation.cpp:
2910         (WebCore::createGeoposition):
2911
2912 2010-11-17  Chang Shu  <chang.shu@nokia.com>
2913
2914         Reviewed by Antonio Gomes.
2915
2916         [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
2917         This makes spatial navigation work properly for single select box.
2918
2919         Test: fast/events/spatial-navigation/snav-single-select.html
2920
2921         * dom/SelectElement.cpp:
2922         (WebCore::nextValidIndex):
2923         (WebCore::SelectElement::menuListDefaultEventHandler):
2924
2925 2010-11-17  Satish Sampath  <satish@chromium.org>
2926
2927         Reviewed by Jeremy Orlow.
2928
2929         Clear the speech input mock explicitly before each test.
2930         https://bugs.webkit.org/show_bug.cgi?id=49660
2931
2932         * platform/mock/SpeechInputClientMock.cpp:
2933         (WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
2934         * platform/mock/SpeechInputClientMock.h:
2935
2936 2010-11-17  Alexander Pavlov  <apavlov@chromium.org>
2937
2938         [Chromium] Unreviewed, fix Chromium-Mac build from r72189.
2939
2940         * css/CSSPrimitiveValue.cpp:
2941         (WebCore::CSSPrimitiveValue::getDoubleValue):
2942
2943 2010-11-17  Hans Wennborg  <hans@chromium.org>
2944
2945         Reviewed by Jeremy Orlow.
2946
2947         IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
2948         https://bugs.webkit.org/show_bug.cgi?id=49601
2949
2950         The WHERE clause should specifiy a condition for each key column to
2951         make sure that the ObjectStoreData_composit index can be used when
2952         querying the object store based on key. Not using the index causes
2953         severe performance degradation for common IDB operations.
2954
2955         * storage/IDBKey.cpp:
2956         (WebCore::IDBKey::whereSyntax):
2957
2958 2010-11-17  Eric Uhrhane  <ericu@chromium.org>
2959
2960         Reviewed by David Levin.
2961
2962         [Chromium] implementation of async FileWriter for workers
2963         https://bugs.webkit.org/show_bug.cgi?id=47681
2964
2965         Tests are in a separate changelist.
2966
2967         * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs
2968
2969 2010-11-17  Alejandro G. Castro  <alex@igalia.com>
2970
2971         Reviewed by Martin Robinson.
2972
2973         [gtk] r69119 modified just the gtk2 version of the
2974         scrolled_window_paint function but not the gtk3 version
2975         https://bugs.webkit.org/show_bug.cgi?id=49585
2976
2977         Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
2978         using state and use the same values we are using for gtk2 in the
2979         paint function.
2980
2981         * platform/gtk/ScrollbarThemeGtk.cpp:
2982         (WebCore::ScrollbarThemeGtk::paintButton): Initialized the
2983         depressed attribute of the state variable to avoid using it
2984         without initialization.
2985         * platform/gtk/gtk3drawing.c:
2986         (moz_gtk_scrolled_window_paint):
2987
2988 2010-11-16  Alexander Pavlov  <apavlov@chromium.org>
2989
2990         Reviewed by Simon Fraser.
2991
2992         CSSPrimitiveValue.getFloatValue does not convert sizes
2993         https://bugs.webkit.org/show_bug.cgi?id=35770
2994
2995         Implemented all same-category unit conversions (length, angle, time, frequency) and retained
2996         absolute-relative (cm, mm, in, pt, pc) length conversions intact.
2997         Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
2998
2999         * css/CSSPrimitiveValue.cpp:
3000         (WebCore::unitCategory):
3001         (WebCore::conversionToCanonicalUnitsScaleFactor):
3002         (WebCore::CSSPrimitiveValue::getDoubleValue):
3003         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
3004         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
3005         (WebCore::CSSPrimitiveValue::getIdent):
3006         * css/CSSPrimitiveValue.h:
3007         (WebCore::CSSPrimitiveValue::getFloatValue):
3008         (WebCore::CSSPrimitiveValue::getIntValue):
3009
3010 2010-11-17  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
3011
3012         Reviewed by Andreas Kling.
3013
3014         Document::nodesFromRect() has wrong source code documentation
3015         https://bugs.webkit.org/show_bug.cgi?id=49610
3016
3017         * dom/Document.h: fix nodesFromRect() documentation
3018
3019 2010-11-17  Alexis Menard  <alexis.menard@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>
3020
3021         Reviewed by Kenneth Christiansen, Tor Arne Vestbø.
3022
3023         [Qt] Add support for use GStreamer with the Qt build
3024
3025         Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
3026         integration is rather basic at this point, allowing for software based rendering
3027         only at the moment. AC integration and fullscreen playback is still missing.
3028
3029         * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
3030         build option with the USE_GSTREAMER macro.
3031         * platform/graphics/MediaPlayer.cpp:
3032         (WebCore::installedMediaEngines): Don't use the generic media player registration
3033         when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
3034         to be able to build with gstreamer _and_ another backend simultaenously.
3035         * platform/graphics/gstreamer/ImageGStreamer.h:
3036         * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
3037         (ImageGStreamer::createImage):
3038         (ImageGStreamer::ImageGStreamer):
3039         (ImageGStreamer::~ImageGStreamer):
3040         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
3041         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
3042         (FullScreenVideoWindow::FullScreenVideoWindow):
3043         (FullScreenVideoWindow::keyPressEvent):
3044         (FullScreenVideoWindow::event):
3045         (PlatformVideoWindow::PlatformVideoWindow):
3046         (PlatformVideoWindow::~PlatformVideoWindow):
3047         (PlatformVideoWindow::prepareForOverlay):
3048
3049 2010-11-17  Alexander Pavlov  <apavlov@chromium.org>
3050
3051         Reviewed by Pavel Feldman.
3052
3053         Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
3054         https://bugs.webkit.org/show_bug.cgi?id=49602
3055
3056         * inspector/InspectorStyleSheet.cpp:
3057         (WebCore::InspectorStyle::setPropertyText):
3058         * inspector/front-end/StylesSidebarPane.js:
3059         (WebInspector.StylePropertyTreeElement.prototype.get name):
3060         (WebInspector.StylePropertyTreeElement.prototype.get priority):
3061         (WebInspector.StylePropertyTreeElement.prototype.get value):
3062
3063 2010-11-16  Adam Roben  <aroben@apple.com>
3064
3065         Move QTMovieWin's settings into a vsprops file
3066
3067         Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file
3068
3069         Reviewed by Steve Falkenburg.
3070
3071         * WebCore.vcproj/QTMovieWin.vcproj:
3072         * WebCore.vcproj/QTMovieWinCommon.vsprops: Added.
3073
3074 2010-11-16  Andy Estes  <aestes@apple.com>
3075
3076         Reviewed by Dave Hyatt.
3077
3078         WebKit mishandles line boxes where the content height exceeds the
3079         specified line-height.
3080         https://bugs.webkit.org/show_bug.cgi?id=49410
3081
3082         If a line height is explicitly specified on a text box and fallback
3083         fonts are in use, only the primary font should be considered when
3084         computing the box's ascent and descent. This prevents the inline box
3085         from being sized larger than the specified line height.
3086
3087         This patch also fixes a math error when computing a used font's descent
3088         in the case where line height isn't explicitly set. This change results
3089         in a number of layout tests needing re-baselining.
3090
3091         Test: fast/css/line-height-determined-by-primary-font.html
3092
3093         * rendering/InlineFlowBox.cpp:
3094         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3095
3096 2010-11-15  Ryosuke Niwa  <rniwa@webkit.org>
3097
3098         Reviewed by Darin Adler.
3099
3100         ScriptElementData should be a private member of ScriptElement
3101         https://bugs.webkit.org/show_bug.cgi?id=49578
3102
3103         Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
3104         and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.
3105
3106         No tests are added since this is a cleanup.
3107
3108         * dom/ScriptElement.h:
3109         (WebCore::ScriptElement::haveFiredLoadEvent): Added.
3110         (WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
3111         (WebCore::ScriptElement::createdByParser): Added.
3112         (WebCore::ScriptElement::isEvaluated): Added.
3113         * html/HTMLScriptElement.cpp:
3114         (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
3115         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
3116         * html/HTMLScriptElement.h:
3117         (WebCore::HTMLScriptElement::text): Calls scriptContent.
3118         (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
3119         * svg/SVGScriptElement.cpp:
3120         (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
3121         (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
3122         (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
3123         (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
3124         (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
3125         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
3126         haveFiredLoadEvent, and setHaveFiredLoadEvent.
3127
3128 2010-11-16  Antti Koivisto  <antti@apple.com>
3129
3130         Reviewed by Darin Adler.
3131
3132         https://bugs.webkit.org/show_bug.cgi?id=49320
3133         Minor ResourceLoadScheduler cleanups
3134
3135         * loader/ResourceLoadScheduler.cpp:
3136         (WebCore::ResourceLoadScheduler::scheduleLoad):
3137         (WebCore::ResourceLoadScheduler::servePendingRequests):
3138         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
3139         (WebCore::ResourceLoadScheduler::HostInformation::remove):
3140         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
3141         * loader/ResourceLoadScheduler.h:
3142
3143 2010-11-16  Dave Hyatt  <hyatt@apple.com>
3144
3145         Reviewed by Sam Weinig.
3146
3147         Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
3148         line should be ideographic or alphabetic.  Add a requiresIdeographicsBaseline recursive function to
3149         InlineFlowBox that scans for the use of any vertical fonts.
3150
3151         * rendering/InlineFlowBox.cpp:
3152         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
3153         * rendering/InlineFlowBox.h:
3154         * rendering/RootInlineBox.cpp:
3155         (WebCore::RootInlineBox::RootInlineBox):
3156         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3157         * rendering/RootInlineBox.h:
3158         (WebCore::RootInlineBox::baselineType):
3159
3160 2010-11-16  Dave Hyatt  <hyatt@apple.com>
3161
3162         Reviewed by Sam Weinig.
3163
3164         Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
3165         alphabetic and ideographic baseline can be requested.
3166
3167         * WebCore.xcodeproj/project.pbxproj:
3168         * platform/graphics/Font.h:
3169         (WebCore::Font::ascent):
3170         (WebCore::Font::descent):
3171         * platform/graphics/FontBaseline.h: Added.
3172         * platform/graphics/SimpleFontData.h:
3173         (WebCore::SimpleFontData::ascent):
3174         (WebCore::SimpleFontData::descent):
3175         (WebCore::SimpleFontData::height):
3176
3177 2010-11-16  Antti Koivisto  <koivisto@iki.fi>
3178
3179         Reviewed by Adam Barth.
3180
3181         https://bugs.webkit.org/show_bug.cgi?id=31223
3182         Make primitive values immutable.
3183         
3184         Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
3185     
3186         Reasoning:
3187         - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
3188         - computed style is immutable in all cases, and it wasn't
3189         - no other engine seems to support mutable primitives, as a result there is no content using these APIs
3190         - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
3191         - allowing mutation of primitive values makes optimizations harder
3192
3193         * css/CSSPrimitiveValue.cpp:
3194         (WebCore::CSSPrimitiveValue::setFloatValue):
3195         (WebCore::CSSPrimitiveValue::setStringValue):
3196
3197 2010-11-16  Steve Falkenburg  <sfalken@apple.com>
3198
3199         Reviewed by Adam Roben.
3200
3201         Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
3202         https://bugs.webkit.org/show_bug.cgi?id=49632
3203
3204         * WebCore.vcproj/QTMovieWin.vcproj:
3205         * WebCore.vcproj/WebCore.make:
3206         * WebCore.vcproj/WebCore.sln:
3207         * WebCore.vcproj/WebCore.vcproj:
3208
3209 2010-11-16  Anders Carlsson  <andersca@apple.com>
3210
3211         Reviewed by John Sullivan.
3212
3213         Set the original URL for downloads
3214         https://bugs.webkit.org/show_bug.cgi?id=49628
3215
3216         Export symbols needed by WebKit2.
3217
3218         * WebCore.exp.in:
3219
3220 2010-11-16  Dave Hyatt  <hyatt@apple.com>
3221
3222         Reviewed by Dan Bernstein.
3223
3224         https://bugs.webkit.org/show_bug.cgi?id=11004
3225         
3226         font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
3227         Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
3228         since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
3229         of the constructor rather than using [NSFont pointSize].
3230
3231         https://bugs.webkit.org/show_bug.cgi?id=49582
3232         
3233         Negative leading is not handled correctly.  There are two bugs here.  The first is that
3234         maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
3235         set them before so that we can allow them to be < 0.
3236         
3237         The second issue is that we should understand where fonts will end up relative to
3238         our baseline (excluding line height), and only allow those boxes to impact ascent and
3239         descent if the actual font box (without factoring in line height) is above or below the
3240         root line box baseline.
3241
3242         Added fast/css/negative-leading.html
3243         
3244         These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
3245
3246         * WebCore.exp.in:
3247         * css/CSSStyleSelector.cpp:
3248         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
3249         * platform/graphics/cocoa/FontPlatformData.h:
3250         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3251         (WebCore::FontPlatformData::FontPlatformData):
3252         * platform/graphics/mac/FontCacheMac.mm:
3253         (WebCore::FontCache::getFontDataForCharacters):
3254         (WebCore::FontCache::createFontPlatformData):
3255         * platform/graphics/mac/SimpleFontDataMac.mm:
3256         (WebCore::SimpleFontData::smallCapsFontData):
3257         * rendering/InlineFlowBox.cpp:
3258         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3259         * rendering/InlineFlowBox.h:
3260         * rendering/RootInlineBox.cpp:
3261         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3262
3263 2010-11-16  Darin Adler  <darin@apple.com>
3264
3265         https://bugs.webkit.org/show_bug.cgi?id=49611
3266         REGRESSION (r72115): 5 layout tests are broken
3267
3268         * loader/FrameLoader.cpp:
3269         (WebCore::FrameLoader::loadFrameRequest): Roll change from
3270         https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
3271         it back in after fixing the failing tests.
3272
3273 2010-11-16  Dan Bernstein  <mitz@apple.com>
3274
3275         Reviewed by Simon Fraser.
3276
3277         <rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
3278         https://bugs.webkit.org/show_bug.cgi?id=49579
3279
3280         r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
3281         got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s
3282         childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
3283         Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
3284         is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
3285         just keep it for when it is needed.
3286
3287         Tests: fast/block/float/015.html
3288                fast/images/style-access-during-imageChanged-style-freeze.html
3289
3290         * dom/Document.cpp:
3291         (WebCore::Document::isPendingStyleRecalc): Added.
3292         * dom/Document.h:
3293         * rendering/RenderImage.cpp:
3294         (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
3295         is coming (indicating that current style() is stale).
3296
3297 2010-11-11  Zhenyao Mo  <zmo@google.com>
3298
3299         Reviewed by Kenneth Russell.
3300
3301         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
3302         https://bugs.webkit.org/show_bug.cgi?id=47196
3303
3304         * html/canvas/WebGLRenderingContext.cpp:
3305         (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
3306         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
3307         * platform/graphics/GraphicsContext3D.cpp:
3308         (WebCore::GraphicsContext3D::extractImageData): Ditto.
3309         * platform/graphics/GraphicsContext3D.h:
3310         * platform/graphics/ImageSource.cpp:
3311         (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
3312         (WebCore::ImageSource::setData): Ditto.
3313         * platform/graphics/ImageSource.h:
3314         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3315         (WebCore::GraphicsContext3D::getImageData): Ditto.
3316         * platform/graphics/cg/ImageSourceCG.cpp:
3317         (WebCore::ImageSource::ImageSource): Ditto.
3318         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3319         (WebCore::GraphicsContext3D::getImageData): Ditto.
3320         * platform/graphics/qt/ImageDecoderQt.cpp:
3321         (WebCore::ImageDecoder::create): Ditto.
3322         (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
3323         * platform/graphics/qt/ImageDecoderQt.h:
3324         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3325         (WebCore::GraphicsContext3D::getImageData): Ditto.
3326         * platform/image-decoders/ImageDecoder.cpp:
3327         (WebCore::ImageDecoder::create): Ditto.
3328         * platform/image-decoders/ImageDecoder.h:
3329         (WebCore::ImageDecoder::ImageDecoder): Ditto.
3330         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
3331         (WebCore::BMPImageDecoder::BMPImageDecoder):
3332         * platform/image-decoders/bmp/BMPImageDecoder.h:
3333         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3334         (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
3335         * platform/image-decoders/gif/GIFImageDecoder.h:
3336         * platform/image-decoders/ico/ICOImageDecoder.cpp:
3337         (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
3338         (WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
3339         * platform/image-decoders/ico/ICOImageDecoder.h:
3340         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3341         (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
3342         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3343         * platform/image-decoders/png/PNGImageDecoder.cpp:
3344         (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
3345         (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
3346         * platform/image-decoders/png/PNGImageDecoder.h:
3347         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
3348         (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
3349         * platform/image-decoders/webp/WEBPImageDecoder.h:
3350
3351 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
3352
3353         Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117
3354
3355         * platform/graphics/MediaPlayer.cpp:
3356         (WebCore::installedMediaEngines):
3357
3358 2010-11-12  Zhenyao Mo  <zmo@google.com>
3359
3360         Reviewed by Kenneth Russell.
3361
3362         Refactor GL backend flags
3363         https://bugs.webkit.org/show_bug.cgi?id=49460
3364
3365         * html/canvas/WebGLRenderingContext.cpp:
3366         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
3367         (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
3368         (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
3369         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
3370         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
3371         * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
3372         (WebCore::WebGLRenderingContext::isGLES2Compliant):
3373         (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
3374         (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
3375         (WebCore::WebGLRenderingContext::isResourceSafe):
3376         (WebCore::WebGLRenderingContext::isDepthStencilSupported):
3377         * platform/graphics/Extensions3D.h: Add NPOT extension.
3378         * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
3379         * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
3380         * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.
3381
3382 2010-11-16  Kenneth Russell  <kbr@google.com>
3383
3384         Reviewed by Dimitri Glazkov.
3385
3386         WebIDL conversions from string to number and array to number should not generate TypeError
3387         https://bugs.webkit.org/show_bug.cgi?id=49218
3388
3389         Recent SVG-related changes to the StrictTypeChecking extended attribute in
3390         CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
3391         ECMA-262 specifications. In particular, when an attribute or function argument is specified
3392         as a number type (floating-point or integer), passing in a String or object is not supposed
3393         to raise an exception.
3394
3395         The original intent of the StrictTypeChecking extended attribute was to properly raise
3396         TypeError when an interface type is required, but the supplied object does not implement the
3397         interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
3398         silently passed null to the C++ bindings in this case. The handling of strings in the
3399         original StrictTypeChecking implementation was also incorrect, raising exceptions when it
3400         should not.
3401
3402         The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
3403         interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
3404         the autogenerated code.
3405
3406         Test: fast/canvas/webgl/type-conversion-test.html
3407
3408         * bindings/scripts/CodeGeneratorJS.pm:
3409         * bindings/scripts/CodeGeneratorV8.pm:
3410         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3411         (WebCore::getObjectParameter):
3412         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
3413         (WebCore::V8WebGLRenderingContext::getParameterCallback):
3414         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
3415         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
3416         (WebCore::vertexAttribAndUniformHelperf):
3417
3418 2010-11-16  Alexey Proskuryakov  <ap@apple.com>
3419
3420         Windows build fix.
3421
3422         * DerivedSources.cpp: Removing CSS Variables generated files.
3423
3424 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
3425
3426         Reviewed by John Sullivan.
3427
3428         getMIMEType(s)ForExtension should consult system mapping
3429         https://bugs.webkit.org/show_bug.cgi?id=49497
3430
3431         No new tests possible.
3432
3433         * platform/MIMETypeRegistry.cpp:
3434         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. 
3435         Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
3436         constains() and then get().
3437         (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.
3438
3439 2010-11-16  Eric Carlson  <eric.carlson@apple.com>
3440
3441         Reviewed by Darin Adler.
3442
3443         Rename QTKit based media engine class name
3444         https://bugs.webkit.org/show_bug.cgi?id=36663
3445
3446         No new tests as this just renames a class and restructures existing code.
3447
3448         * platform/graphics/MediaPlayer.cpp:
3449         (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
3450         number of #ifs in the code.
3451
3452         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
3453         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3454         (WebCore::MediaPlayerPrivateQTKit::create):
3455         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
3456         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
3457         (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
3458         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
3459         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
3460         (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
3461         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
3462         (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
3463         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
3464         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
3465         (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
3466         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
3467         (WebCore::MediaPlayerPrivateQTKit::setUpVi