Fix fast/dom/Window/window-properties.html on Windows
[WebKit-https.git] / WebCore / ChangeLog
1 2008-01-08  Antti Koivisto  <antti@apple.com>
2
3         Reviewed by Weinig.
4         
5         Add security check for Audio constructor.
6
7         * bindings/js/kjs_window.cpp:
8         (KJS::Window::getValueProperty):
9
10 2008-01-08  Timothy Hatcher  <timothy@apple.com>
11
12         Reviewed by Adam Roben.
13
14         <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
15
16         InspectorController::didLoadResourceFromMemoryCache was not being called for
17         resources that loaded from the memory cache that the FrameLoader's client
18         has already been notified about. This fix always calls the InspectorController
19         when loading a memory cached resource. No test possible for the Web Inspector.
20
21         * loader/DocLoader.cpp:
22         (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
23         FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
24         * loader/FrameLoader.cpp:
25         (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
26         (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
27         (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
28         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
29         Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
30         didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
31         didTellClientAboutLoad.
32         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
33         in FrameLoader::loadedResourceFromMemoryCache.
34         * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
35         Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to 
36         m_urlsClientKnowsAbout.
37         * loader/SubresourceLoader.cpp:
38         (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
39
40 2008-01-08  Dan Bernstein  <mitz@apple.com>
41
42         Rubber-stamped by Sam Weinig.
43
44         - prefix all member variables in CSSStyleSelector with m_
45
46         * css/CSSStyleSelector.cpp:
47         (WebCore::CSSStyleSelector::CSSStyleSelector):
48         (WebCore::CSSStyleSelector::init):
49         (WebCore::CSSStyleSelector::setEncodedURL):
50         (WebCore::CSSStyleSelector::loadDefaultStyle):
51         (WebCore::CSSStyleSelector::matchRules):
52         (WebCore::CSSStyleSelector::matchRulesForList):
53         (WebCore::CSSStyleSelector::initElementAndPseudoState):
54         (WebCore::CSSStyleSelector::initForStyleResolve):
55         (WebCore::CSSStyleSelector::canShareStyleWithElement):
56         (WebCore::CSSStyleSelector::locateSharedStyle):
57         (WebCore::CSSStyleSelector::matchUARules):
58         (WebCore::CSSStyleSelector::styleForElement):
59         (WebCore::CSSStyleSelector::pseudoStyleForElement):
60         (WebCore::CSSStyleSelector::updateFont):
61         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
62         (WebCore::CSSStyleSelector::checkSelector):
63         (WebCore::CSSStyleSelector::checkOneSelector):
64         (WebCore::CSSStyleSelector::applyProperty):
65         (WebCore::CSSStyleSelector::mapBackgroundImage):
66         (WebCore::CSSStyleSelector::mapBackgroundSize):
67         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
68         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
69         (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
70         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
71         * css/CSSStyleSelector.h:
72         (WebCore::CSSStyleSelector::):
73         (WebCore::CSSRuleData::CSSRuleData):
74         (WebCore::CSSRuleDataList::CSSRuleDataList):
75         (WebCore::CSSRuleDataList::append):
76         * css/SVGCSSStyleSelector.cpp:
77         (WebCore::CSSStyleSelector::applySVGProperty):
78         * rendering/RenderStyle.cpp:
79         (WebCore::RenderStyle::isStyleAvailable):
80
81 2008-01-08  David D. Kilzer  <ddkilzer@apple.com>
82
83         Removed unnecessary files from Copy Bundle Resources build phase.
84
85         Reviewed by Sam.
86
87         * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
88         DOMCoreException.idl
89         EventException.idl
90         MessageEvent.idl
91         SVGAElement.idl
92         SVGAngle.idl
93         SVGAnimateColorElement.idl
94         SVGAnimateElement.idl
95         SVGAnimateTransformElement.idl
96         SVGAnimatedAngle.idl
97         SVGAnimatedBoolean.idl
98         SVGAnimatedEnumeration.idl
99         SVGAnimatedInteger.idl
100         SVGAnimatedLength.idl
101         SVGAnimatedLengthList.idl
102         SVGAnimatedNumber.idl
103         SVGAnimatedNumberList.idl
104         SVGAnimatedPathData.idl
105         SVGAnimatedPoints.idl
106         SVGAnimatedPreserveAspectRatio.idl
107         SVGAnimatedRect.idl
108         SVGAnimatedString.idl
109         SVGAnimatedTransformList.idl
110         SVGAnimationElement.idl
111         SVGCSSPropertyNames.in
112         SVGCSSValueKeywords.in
113         SVGCircleElement.idl
114         SVGClipPathElement.idl
115         SVGColor.idl
116         SVGComponentTransferFunctionElement.idl
117         SVGCursorElement.idl
118         SVGDefinitionSrcElement.idl
119         SVGDefsElement.idl
120         SVGDescElement.idl
121         SVGDocument.idl
122         SVGElement.idl
123         SVGElementInstance.idl
124         SVGElementInstanceList.idl
125         SVGEllipseElement.idl
126         SVGException.idl
127         SVGExternalResourcesRequired.idl
128         SVGFEBlendElement.idl
129         SVGFEColorMatrixElement.idl
130         SVGFEComponentTransferElement.idl
131         SVGFECompositeElement.idl
132         SVGFEDiffuseLightingElement.idl
133         SVGFEDisplacementMapElement.idl
134         SVGFEDistantLightElement.idl
135         SVGFEFloodElement.idl
136         SVGFEFuncAElement.idl
137         SVGFEFuncBElement.idl
138         SVGFEFuncGElement.idl
139         SVGFEFuncRElement.idl
140         SVGFEGaussianBlurElement.idl
141         SVGFEImageElement.idl
142         SVGFEMergeElement.idl
143         SVGFEMergeNodeElement.idl
144         SVGFEOffsetElement.idl
145         SVGFEPointLightElement.idl
146         SVGFESpecularLightingElement.idl
147         SVGFESpotLightElement.idl
148         SVGFETileElement.idl
149         SVGFETurbulenceElement.idl
150         SVGFilterElement.idl
151         SVGFilterPrimitiveStandardAttributes.idl
152         SVGFitToViewBox.idl
153         SVGFontElement.idl
154         SVGFontFaceElement.idl
155         SVGFontFaceFormatElement.idl
156         SVGFontFaceNameElement.idl
157         SVGFontFaceSrcElement.idl
158         SVGFontFaceUriElement.idl
159         SVGForeignObjectElement.idl
160         SVGGElement.idl
161         SVGGlyphElement.idl
162         SVGGradientElement.idl
163         SVGImageElement.idl
164         SVGLangSpace.idl
165         SVGLength.idl
166         SVGLengthList.idl
167         SVGLineElement.idl
168         SVGLinearGradientElement.idl
169         SVGLocatable.idl
170         SVGMarkerElement.idl
171         SVGMaskElement.idl
172         SVGMatrix.idl
173         SVGMetadataElement.idl
174         SVGMissingGlyphElement.idl
175         SVGNumber.idl
176         SVGNumberList.idl
177         SVGPaint.idl
178         SVGPathElement.idl
179         SVGPathSeg.idl
180         SVGPathSegArcAbs.idl
181         SVGPathSegArcRel.idl
182         SVGPathSegClosePath.idl
183         SVGPathSegCurvetoCubicAbs.idl
184         SVGPathSegCurvetoCubicRel.idl
185         SVGPathSegCurvetoCubicSmoothAbs.idl
186         SVGPathSegCurvetoCubicSmoothRel.idl
187         SVGPathSegCurvetoQuadraticAbs.idl
188         SVGPathSegCurvetoQuadraticRel.idl
189         SVGPathSegCurvetoQuadraticSmoothAbs.idl
190         SVGPathSegCurvetoQuadraticSmoothRel.idl
191         SVGPathSegLinetoAbs.idl
192         SVGPathSegLinetoHorizontalAbs.idl
193         SVGPathSegLinetoHorizontalRel.idl
194         SVGPathSegLinetoRel.idl
195         SVGPathSegLinetoVerticalAbs.idl
196         SVGPathSegLinetoVerticalRel.idl
197         SVGPathSegList.idl
198         SVGPathSegMovetoAbs.idl
199         SVGPathSegMovetoRel.idl
200         SVGPatternElement.idl
201         SVGPoint.idl
202         SVGPointList.idl
203         SVGPolygonElement.idl
204         SVGPolylineElement.idl
205         SVGPreserveAspectRatio.idl
206         SVGRadialGradientElement.idl
207         SVGRect.idl
208         SVGRectElement.idl
209         SVGRenderingIntent.idl
210         SVGSVGElement.idl
211         SVGScriptElement.idl
212         SVGSetElement.idl
213         SVGStopElement.idl
214         SVGStringList.idl
215         SVGStylable.idl
216         SVGStyleElement.idl
217         SVGSwitchElement.idl
218         SVGSymbolElement.idl
219         SVGTRefElement.idl
220         SVGTSpanElement.idl
221         SVGTests.idl
222         SVGTextContentElement.idl
223         SVGTextElement.idl
224         SVGTextPathElement.idl
225         SVGTextPositioningElement.idl
226         SVGTitleElement.idl
227         SVGTransform.idl
228         SVGTransformList.idl
229         SVGTransformable.idl
230         SVGURIReference.idl
231         SVGUnitTypes.idl
232         SVGUseElement.idl
233         SVGViewElement.idl
234         SVGViewSpec.idl
235         SVGZoomAndPan.idl
236         SVGZoomEvent.idl
237         XMLHttpRequestException.idl
238         XPathException.idl
239         character-sets.txt
240         mac-encodings.txt
241         make-charset-table.pl
242         svgattrs.in
243         svgtags.in
244         xlinkattrs.in
245
246 2008-01-08  Luca Bruno  <lethalman88@gmail.com>
247
248         Reviewed by Alp Toker.
249
250         Support copying the selected URL to the clipboard.
251
252         * platform/gtk/PasteboardGtk.cpp:
253         (WebCore::Pasteboard::writeURL): implemented
254
255 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
256
257         Renamed CharacterData::m_str to m_data
258
259         Rubber-stamped by Adam again.
260
261         No test cases added since there is no change in behavior.
262
263         * dom/CDATASection.cpp:
264         * dom/CharacterData.cpp:
265         (WebCore::CharacterData::CharacterData):
266         (WebCore::CharacterData::setData):
267         (WebCore::CharacterData::substringData):
268         (WebCore::CharacterData::appendData):
269         (WebCore::CharacterData::insertData):
270         (WebCore::CharacterData::deleteData):
271         (WebCore::CharacterData::replaceData):
272         (WebCore::CharacterData::nodeValue):
273         (WebCore::CharacterData::containsOnlyWhitespace):
274         (WebCore::CharacterData::dispatchModifiedEvent):
275         (WebCore::CharacterData::checkCharDataOperation):
276         (WebCore::CharacterData::dump):
277         * dom/CharacterData.h:
278         * dom/Comment.cpp:
279         * dom/Text.cpp:
280         (WebCore::Text::splitText):
281         (WebCore::Text::createRenderer):
282         (WebCore::Text::recalcStyle):
283
284 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
285
286         Fix a couple of compiler warnings.
287         
288         Reviewed by Mitz.
289
290         * platform/win/ThreadingWin.cpp:
291         * platform/win/UniscribeController.cpp: Remove unused function.
292         (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
293
294 2008-01-08  Adele Peterson  <adele@apple.com>
295
296         Reviewed by Darin.
297
298         Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
299
300         * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
301           After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
302           MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.  
303           This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
304           I also added a missing call to setDefaultHandled for the mousemove event.
305
306 2008-01-08  Adele Peterson  <adele@apple.com>
307
308         Reviewed by Adam. 
309
310         * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
311         paint the media controls in RenderThemeSafari.
312
313 2008-01-08  Oliver Hunt  <oliver@apple.com>
314
315         Reviewed by Adele and John.
316
317         Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
318         dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
319
320         We hit this crash if the page reloads between DragController::dragUpdated
321         and DragController::performDrag, meaning that m_document starts pointing to
322         a now viewless document.  This is picked up by an assertion in performDrag
323         which I have now replaced with an assignment given that the assertion is 
324         invalid -- it is possible for m_document to be changed between dragUpdated
325         performDrag
326
327         * page/DragController.cpp:
328         (WebCore::DragController::performDrag):
329
330 2008-01-08  Alexey Proskuryakov  <ap@webkit.org>
331
332         Reviewed by Darin.
333
334         <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
335         WebCore::Node::setChanged + 96
336
337         Test: fast/dom/cssTarget-crash.html
338
339         * dom/Node.cpp: (WebCore::Node::removedFromDocument):
340         Check to see if the node being removed is currently set as the Document's cssTarget.
341         If it is, clear the cssTarget to prevent a hanging reference to it.
342
343 2008-01-08  Adam Roben  <aroben@apple.com>
344
345         * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
346         rebuild on Windows now that the media elements are enabled.
347
348 2008-01-08  Adam Roben  <aroben@apple.com>
349
350         * svg/svgtags.in: Touch this again for the sake of the Windows bots.
351
352 2008-01-08  Timothy Hatcher  <timothy@apple.com>
353
354         Reviewed by Adam Roben.
355
356         Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
357         Also added some #pragma marks to help find places in the file.
358
359         * page/InspectorController.cpp:
360         (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
361         And return the result of JSObjectCallAsFunction.
362         (WebCore::search): Use JSRetainPtr<JSStringRef>.
363         (WebCore::databaseTableNames): Ditto.
364         (WebCore::localizedStrings): Ditto.
365         (WebCore::InspectorController::~InspectorController): Ditto.
366         (WebCore::InspectorController::focusNode): Ditto.
367         (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
368         (WebCore::InspectorController::scriptObjectReady): Ditto.
369         (WebCore::addHeaders): Ditto.
370         (WebCore::InspectorController::addScriptResource): Ditto.
371         (WebCore::InspectorController::removeScriptResource): Ditto.
372         (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
373         (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
374         (WebCore::InspectorController::updateScriptResource): Ditto.
375         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
376         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
377         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
378
379 2008-01-08  Dan Bernstein  <mitz@apple.com>
380
381         Rubber-stamped by Sam Weinig.
382
383         - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
384
385         * GNUmakefile.am:
386         * WebCore.pro:
387         * WebCore.vcproj/WebCore.vcproj:
388         * WebCore.xcodeproj/project.pbxproj:
389         * WebCoreSources.bkl:
390         * editing/Editor.cpp:
391         * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
392         * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
393         * platform/graphics/FontDataBaseClass.cpp: Removed.
394         * platform/graphics/FontDataBaseClass.h: Removed.
395         * platform/graphics/SegmentedFontData.h:
396         * platform/graphics/SimpleFontData.h:
397
398 2008-01-08  Dan Bernstein  <mitz@apple.com>
399
400         Fix a Wx build error.
401
402         * platform/graphics/wx/GlyphMapWx.cpp:
403         (WebCore::GlyphPage::fill):
404
405 2008-01-08  Dan Bernstein  <mitz@apple.com>
406
407         Fix a Qt build error.
408
409         * platform/graphics/qt/SimpleFontDataQt.cpp:
410         (WebCore::SimpleFontData::containsCharacters):
411         (WebCore::SimpleFontData::fontDataForCharacter):
412         (WebCore::SimpleFontData::isSegmented):
413
414 2008-01-08  Adam Roben  <aroben@apple.com>
415
416         Windows build fix.
417
418         Touch config.h to force a rebuild (apparently changing preprocessor
419         definitions in the .vcproj doesn't force a rebuild).
420
421         * config.h:
422
423 2008-01-08  Dan Bernstein  <mitz@apple.com>
424
425         Fix a Wx build failure.
426
427         * webcore-wx.bkl:
428
429 2008-01-08  Dan Bernstein  <mitz@apple.com>
430
431         Fix a Qt build failure.
432
433         * WebCore.pro:
434
435 2008-01-08  John Sullivan  <sullivan@apple.com>
436
437         Reviewed by Adam Roben
438         
439         - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, 
440           Delete menu item is enabled but shouldn't be
441
442         The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
443         parameter to the enabled functions so that they can have parallel logic to the execute functions.
444
445         * editing/EditorCommand.cpp:
446         added EditorCommandSource parameter to isEnabled function prototype
447         (WebCore::enabled):
448         added unused EditorCommandSource parameter to these isEnabled functions:
449         (WebCore::enabledAnySelection):
450         (WebCore::enabledAnySelectionAndMark):
451         (WebCore::enableCaretInEditableText):
452         (WebCore::enabledCopy):
453         (WebCore::enabledCut):
454
455         (WebCore::enabledDelete):
456         new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
457         for menu source
458
459         added unused EditorCommandSource parameter to these isEnabled functions:
460         (WebCore::enabledInEditableText):
461         (WebCore::enabledInRichlyEditableText):
462         (WebCore::enabledPaste):
463         (WebCore::enabledRangeInEditableText):
464         (WebCore::enabledRangeInRichlyEditableText):
465         (WebCore::enabledRedo):
466         (WebCore::enabledUndo):
467         
468         (WebCore::CommandEntry::):
469         wire up new enabledDelete function as delete function for Delete command
470         
471         (WebCore::Editor::Command::isEnabled):
472         pass EditorCommandSource parameter to isEnabled function
473
474 2008-01-08  Adam Roben  <aroben@apple.com>
475
476         Visual C++ Express build fix
477
478         * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
479         and advapi32.lib. VS implicitly links against these, VC++ Express
480         doesn't.
481
482 2008-01-08  Dan Bernstein  <mitz@apple.com>
483
484         - add bug number
485
486         * platform/graphics/mac/FontCustomPlatformData.cpp:
487         (WebCore::createFontCustomPlatformData):
488
489 2008-01-08  Dan Bernstein  <mitz@apple.com>
490
491         Try to fix the Qt build.
492
493         * WebCore.pro:
494
495 2008-01-08  Nikolas Zimmermann  <zimmermann@kde.org>
496
497         Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
498
499         * page/inspector/WebKit.qrc:
500
501 2008-01-08  Maciej Stachowiak  <mjs@apple.com>
502
503         Reviewed by Mark.
504
505         - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
506
507         * bindings/objc/PublicDOMInterfaces.h:
508         * html/HTMLDocument.idl:
509
510 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
511
512         Renamed CharacterData::str to m_str to match coding style
513
514         Rubber-stamped by Adam.
515
516         No test cases added since there is no change in behavior.
517
518         * dom/CDATASection.cpp:
519         * dom/CharacterData.cpp:
520         (WebCore::CharacterData::CharacterData):
521         (WebCore::CharacterData::setData):
522         (WebCore::CharacterData::substringData):
523         (WebCore::CharacterData::appendData):
524         (WebCore::CharacterData::insertData):
525         (WebCore::CharacterData::deleteData):
526         (WebCore::CharacterData::replaceData):
527         (WebCore::CharacterData::nodeValue):
528         (WebCore::CharacterData::containsOnlyWhitespace):
529         (WebCore::CharacterData::dispatchModifiedEvent):
530         (WebCore::CharacterData::checkCharDataOperation):
531         (WebCore::CharacterData::dump):
532         * dom/CharacterData.h:
533         * dom/Comment.cpp:
534         * dom/Text.cpp:
535         (WebCore::Text::splitText):
536         (WebCore::Text::createRenderer):
537         (WebCore::Text::recalcStyle):
538
539 2008-01-08  Oliver Hunt  <oliver@apple.com>
540
541         Reviewed by NOBODY (Build fix).
542
543         Set the ENABLE_SVG_FONTS flag in Windows build, now builds, 
544         I'm not sure if it just caused the right files to regenerate,
545         or if there's some configuration weirdness in the non-SVG-fonts
546         build. 
547
548         * WebCore.vcproj/WebCore.vcproj:
549
550 2008-01-07  Maciej Stachowiak  <mjs@apple.com>
551
552         Reviewed by Brady.
553
554         - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
555         
556         Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
557         
558         * dom/Document.cpp:
559         (WebCore::Document::Document):
560         * dom/Document.h:
561         (WebCore::Document::setHasOpenDatabases):
562         (WebCore::Document::hasOpenDatabases):
563         * loader/FrameLoader.cpp:
564         (WebCore::FrameLoader::canCachePage):
565         * storage/Database.cpp:
566         (WebCore::Database::openDatabase):
567
568 2008-01-07  Dan Bernstein  <mitz@apple.com>
569
570         Reviewed by Oliver Hunt.
571
572         - fix leaks seen on the build bot
573
574         * css/CSSFontSelector.cpp:
575         (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
576         CSSFontFaceSource for SVG font-face elements going into an
577         SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
578         face elements to a CSSFontFace because it will not work as expected.
579
580 2008-01-07  Mark Rowe  <mrowe@apple.com>
581
582         Tiger build fix.
583
584         * platform/graphics/mac/FontCustomPlatformData.cpp:
585         (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
586         It's not needed on Tiger, and breaks the build.
587
588 2008-01-07  Antti Koivisto  <antti@apple.com>
589
590         Reviewed by Steve.
591
592         Re-enable media support in Windows build.
593
594         * WebCore.vcproj/QTMovieWin.vcproj:
595         * WebCore.vcproj/WebCore.vcproj:
596         * WebCore.vcproj/build-generated-files.sh:
597
598 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
599
600         Add version resource to QTMovieWin.dll
601         
602         Reviewed by Adam.
603
604         * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
605         * WebCore.vcproj/QTMovieWin.rc: Added.
606         * WebCore.vcproj/QTMovieWin.vcproj:
607         * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
608         * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
609
610 2008-01-07  Dan Bernstein  <mitz@apple.com>
611
612         Build fix.
613
614         * platform/graphics/qt/FontCustomPlatformData.cpp:
615         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
616         Calls QFontDatabase::removeApplicationFont().
617         * platform/graphics/qt/FontCustomPlatformData.h:
618         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
619         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
620         implementation because Qt does not use the WebCore glyph cache.
621
622 2008-01-07  Dan Bernstein  <mitz@apple.com>
623
624         Reviewed by Oliver Hunt.
625
626         - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
627           Tiger and multiple SVG layout test failures on Leopard.
628
629         * css/CSSSegmentedFontFace.cpp:
630         (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
631         empty SegmentedFontData.
632         * platform/graphics/mac/FontCustomPlatformData.cpp:
633         (WebCore::createFontCustomPlatformData): Avoid creating a font that
634         contains no glyphs. On Leopard, ATS might create such a font given
635         data in an unsupported format (such as SVG).
636
637 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
638
639         Build fix.
640
641         * WebCore.vcproj/WebCore.sln:
642         * WebCore.vcproj/WebCore.submit.sln:
643
644 2008-01-07  Oliver Hunt  <oliver@apple.com>
645
646         Reviewed by Niko.
647
648         Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
649
650         Test: svg/custom/image-with-aspect-ratio-stretch.svg
651
652         * rendering/RenderSVGImage.cpp:
653         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
654
655 2008-01-07  Dan Bernstein  <mitz@apple.com>
656
657         Build fix.
658
659         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
660         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
661
662 2008-01-07  Adele Peterson  <adele@apple.com>
663
664         Add missing newline.
665
666         * rendering/MediaControlElements.cpp:
667
668 2008-01-07  Jon Honeycutt  <jhoneycutt@apple.com>
669
670         Reviewed by Hyatt.
671
672         <rdar://problem/5673489> Safari does not render windowless plugins in an
673         iframe when opacity < 1.0
674
675         Plugins in transparency layers handle their own world transforms, so
676         only apply the horizontal/vertical transform if we are not in a
677         transparency layer.
678
679         * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
680         inTransparencyLayer() function
681         * platform/win/GraphicsContextWin.cpp:
682         (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
683         (WebCore::GraphicsContext::inTransparencyLayer):
684         (WebCore::GraphicsContext::releaseWindowsContext): Use
685         inTransparencyLayer()
686         * plugins/win/PluginViewWin.cpp:
687         (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
688         relative to the window. Pass m_isTransparent to
689         get/releaseWindowsContext(). Only set the world transform if we are not
690         in a transparency layer.
691
692 2008-01-07  Adele Peterson  <adele@apple.com>
693
694         Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)
695
696         * rendering/MediaControlElements.cpp:
697         * rendering/MediaControlElements.h:
698
699 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
700
701         Reviewed by Mark.
702
703         Enable SVG_FONTS by default.
704
705         * Configurations/WebCore.xcconfig:
706         * WebCore.vcproj/build-generated-files.sh:
707
708 2008-01-07  Dan Bernstein  <mitz@apple.com>
709
710         Build fix.
711
712         * platform/graphics/qt/SimpleFontDataQt.cpp:
713         (WebCore::SimpleFontData::SimpleFontData):
714         (WebCore::SimpleFontData::~SimpleFontData):
715
716 2008-01-07  Adam Barth  <hk9565@gmail.com>
717
718         Reviewed by Sam Weinig
719
720         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
721         <rdar://problem/5657447>
722
723         When a frame is created with the URL "about:blank" or "", it should
724         inherit its SecurityOrigin from its opener.  However, once it has
725         decided on that SecurityOrigin, it should not change its mind.
726         Prior to this patch, several events could induce the frame to change
727         its SecurityOrigin, permitting an attacker to inject script into an
728         arbitrary SecurityOrigin.
729
730         This patch makes several changes:
731
732         1) Documents refuse to change from one SecurityOrigin to another
733            unless explicitly instructed to do so.
734
735         2) Navigating to a JavaScript URL that produces a value
736            preserves the current SecurityOrigin explicitly instead of
737            relying on the URL to preserve the origin (which fails for
738            about:blank URLs and SecurityOrigins with document.domain set).
739
740            Ideally, we should not preserve the URL at all.  Instead, the
741            frame's URL should be the JavaScript URL, as in Firefox, but this
742            would require changes that are too risky for this patch.  I'll
743            file this as a separate issue.
744
745         3) Various methods of navigating to JavaScript URLs were not
746            properly handling JavaScript that returned a value (and should
747            therefore replace the current document).  This patch unifies
748            those code paths with the path that works.
749
750            There are still a handful of bugs relating to the handling of
751            JavaScript URLs, but I'll file those as separate issues.
752
753         Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
754                http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
755                http/tests/security/aboutBlank/xss-DENIED-set-opener.html
756
757         * dom/Document.cpp:
758         (WebCore::Document::initSecurityOrigin):
759         * dom/Document.h:
760         (WebCore::Document::setSecurityOrigin):
761         * loader/FrameLoader.cpp:
762         (WebCore::FrameLoader::changeLocation):
763         (WebCore::FrameLoader::urlSelected):
764         (WebCore::FrameLoader::requestFrame):
765         (WebCore::FrameLoader::submitForm):
766         (WebCore::FrameLoader::executeIfJavaScriptURL):
767         (WebCore::FrameLoader::begin):
768         * loader/FrameLoader.h:
769         * platform/SecurityOrigin.cpp:
770         (WebCore::SecurityOrigin::setForURL):
771         (WebCore::SecurityOrigin::createForFrame):
772         * platform/SecurityOrigin.h:
773
774 2008-01-07  Adele Peterson  <adele@apple.com>
775
776         Forgot to check in these changes in my last checkin.
777
778         * rendering/RenderThemeSafari.cpp:
779
780 2008-01-07  Dan Bernstein  <mitz@apple.com>
781
782         Build fixes.
783
784         * WebCore.pro:
785         * platform/graphics/qt/FontCacheQt.cpp:
786         (WebCore::FontCache::getCachedFontData):
787
788 2008-01-07  Timothy Hatcher  <timothy@apple.com>
789
790         Reviewed by John Sullivan.
791
792         <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
793
794         * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
795           normal height when not docked, and small when docked. Also added some cursor properties
796           prevent showing the text cursor over areas that are not selectable.
797         * page/inspector/Images: A few images added and old ones removed or renamed.
798
799 2008-01-07  Alp Toker  <alp@atoker.com>
800
801         Prospective GTK+ autotools/qmake VIDEO build fix for breakage
802         introduced in r29257.
803
804         * GNUmakefile.am:
805         * WebCore.pro:
806
807 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
808
809         Reviewed by Oliver.
810
811         Build fix affecting all builds - again related to the unicode-range addition.
812
813         * css/CSSFontSelector.cpp:
814         (WebCore::CSSFontSelector::addFontFaceRule):
815         * css/SVGCSSFontFace.cpp:
816         (WebCore::SVGCSSFontFace::SVGCSSFontFace):
817         * css/SVGCSSFontFace.h:
818         * rendering/RenderSVGText.cpp:
819         * svg/SVGFont.cpp:
820         (WebCore::svgFontAndFontFaceElementForFontData):
821         (WebCore::floatWidthMissingGlyphCallback):
822         (WebCore::drawTextMissingGlyphCallback):
823         * svg/SVGFontFaceElement.cpp:
824
825 2008-01-07  Adele Peterson  <adele@apple.com>
826
827         Reviewed by Antti, Adam, and Mitz.
828
829         WebCore part of fix for 
830         <rdar://problem/5619073> Updated look for <video> controls
831         <rdar://problem/5619057> Add volume control to video controls
832
833         * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
834         * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
835         * WebCore.vcproj/WebCore.vcproj: ditto.
836
837         * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
838         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
839         * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
840         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
841         * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
842         * css/html4.css: Added new styles for new controls.
843
844         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
845         * html/HTMLMediaElement.h:
846
847         * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
848
849         * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
850         * platform/mac/WebCoreSystemInterface.mm: ditto.
851
852         * rendering/MediaControlElements.cpp: Added.
853         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia.  Made this relatively positioned, instead of absolute.
854         (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia.  Removed call to updateFromElement, 
855          since its too early to do this here, and causes crashes for the slider.
856         (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
857         (WebCore::MediaControlInputElement::update): ditto.
858         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
859         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
860         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
861         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
862         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
863         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
864         (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
865         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
866         (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
867         (WebCore::MediaControlTimelineElement::update): ditto. 
868         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
869         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
870         * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
871         (WebCore::MediaControlShadowRootElement::isShadowNode):
872         (WebCore::MediaControlShadowRootElement::shadowParentNode):
873         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
874         (WebCore::RenderMediaControlShadowRoot::setParent):
875
876         * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
877         (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
878         (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
879         (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
880         (WebCore::RenderMedia::createMuteButton): Added.
881         (WebCore::RenderMedia::createSeekBackButton): ditto.
882         (WebCore::RenderMedia::createSeekForwardButton): ditto.
883         (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
884         (WebCore::RenderMedia::createFullscreenButton): Added.
885         (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
886         (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 
887         (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
888         * rendering/RenderMedia.h: Added new methods for creating new controls.
889
890         * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 
891           but also can contain children (the controls' container) that may need to look for the containing block.
892
893         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
894
895         * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
896         (WebCore::):
897         (WebCore::RenderStyle::):
898
899         * rendering/RenderTheme.cpp:
900         (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
901         (WebCore::RenderTheme::paint): ditto.
902         * rendering/RenderTheme.h: Added new methods for painting new appearances.
903         (WebCore::RenderTheme::paintMediaBackground):
904         (WebCore::RenderTheme::paintMediaFullscreenButton):
905         (WebCore::RenderTheme::paintMediaPlayButton):
906         (WebCore::RenderTheme::paintMediaMuteButton):
907         (WebCore::RenderTheme::paintMediaSeekBackButton):
908         (WebCore::RenderTheme::paintMediaSeekForwardButton):
909         (WebCore::RenderTheme::paintMediaSliderThumb):
910         * rendering/RenderThemeMac.h:
911         * rendering/RenderThemeMac.mm:
912         (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
913         (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
914         (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
915         (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
916         (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
917         (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
918         (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
919         (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
920         (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
921         (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
922         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
923         (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
924         * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
925         (WebCore::RenderThemeSafari::paintSliderTrack):
926         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
927         (WebCore::RenderThemeSafari::paintMediaBackground):
928         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
929         (WebCore::RenderThemeSafari::paintMediaMuteButton):
930         (WebCore::RenderThemeSafari::paintMediaPlayButton):
931         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
932         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
933         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
934         * rendering/RenderThemeSafari.h:
935
936 2008-01-07  Timothy Hatcher  <timothy@apple.com>
937
938         Reviewed by Darin Adler.
939
940         Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
941         when the replacment string is a different length.
942
943         * platform/text/StringImpl.cpp:
944         (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
945         the Vector size calculation, correcting the order of math operations.
946
947 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
948
949         Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
950
951         * platform/graphics/mac/FontCacheMac.mm:
952
953 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
954
955         Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
956
957         * css/CSSFontSelector.cpp:
958         (WebCore::CSSFontSelector::getFontData):
959
960 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
961
962         Not reviewed. Next try to fix wx/mac leopard build.
963
964         * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
965         * svg/SVGFontFaceElement.cpp:
966         (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
967         * webcore-base.bkl: Undo svg/ include.
968
969 2008-01-07  Dan Bernstein  <mitz@apple.com>
970
971         Reviewed by Dave Hyatt.
972
973         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
974
975         * GNUmakefile.am:
976         * WebCore.pro:
977         * WebCore.vcproj/WebCore.vcproj:
978         * WebCore.xcodeproj/project.pbxproj:
979         * WebCoreSources.bkl:
980         * bindings/objc/DOM.mm:
981         * bridge/mac/WebCoreAXObject.mm:
982         * css/CSSComputedStyleDeclaration.cpp:
983         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
984         * css/CSSFontFace.cpp:
985         (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
986         font face.
987         (WebCore::CSSFontFace::getFontData):
988         * css/CSSFontFace.h:
989         (WebCore::CSSFontFace::CSSFontFace):
990         (WebCore::CSSFontFace::setSegmentedFontFace):
991         * css/CSSFontFaceSource.cpp:
992         (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
993         GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
994         font table are not exposed in the glyph page tree. Only the segmented
995         font is, and that is taken care of by the segmented font face.
996         (WebCore::CSSFontFaceSource::getFontData):
997         * css/CSSFontFaceSource.h:
998         * css/CSSFontSelector.cpp:
999         (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
1000         @font-face rules with the same family and traits into a single
1001         segmented font face, instead of just retaining the most recent one.
1002         (WebCore::CSSFontSelector::fontLoaded):
1003         (WebCore::CSSFontSelector::getFontData):
1004         * css/CSSFontSelector.h:
1005         * css/CSSGrammar.y:
1006         * css/CSSParser.cpp:
1007         (WebCore::CSSParser::parseValue):
1008         (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
1009         range value.
1010         * css/CSSParser.h:
1011         * css/CSSPrimitiveValue.h:
1012         (WebCore::CSSPrimitiveValue::):
1013         * css/CSSPropertyNames.in:
1014         * css/CSSSegmentedFontFace.cpp: Added.
1015         (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
1016         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
1017         (WebCore::CSSSegmentedFontFace::pruneTable):
1018         (WebCore::CSSSegmentedFontFace::isLoaded):
1019         (WebCore::CSSSegmentedFontFace::isValid):
1020         (WebCore::CSSSegmentedFontFace::fontLoaded):
1021         (WebCore::CSSSegmentedFontFace::overlayRange):
1022         (WebCore::CSSSegmentedFontFace::getFontData):
1023         * css/CSSSegmentedFontFace.h: Added.
1024         (WebCore::FontFaceRange::FontFaceRange):
1025         (WebCore::FontFaceRange::from):
1026         (WebCore::FontFaceRange::to):
1027         (WebCore::FontFaceRange::fontFace):
1028         (WebCore::CSSSegmentedFontFace::fontSelector):
1029         * css/CSSStyleSelector.cpp:
1030         (WebCore::CSSStyleSelector::applyProperty):
1031         * css/CSSUnicodeRangeValue.cpp: Added.
1032         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
1033         (WebCore::CSSUnicodeRangeValue::cssText):
1034         * css/CSSUnicodeRangeValue.h: Added.
1035         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
1036         (WebCore::CSSUnicodeRangeValue::from):
1037         (WebCore::CSSUnicodeRangeValue::to):
1038         * css/SVGCSSFontFace.cpp:
1039         (WebCore::SVGCSSFontFace::getFontData):
1040         * css/SVGCSSFontFace.h:
1041         * editing/Editor.cpp:
1042         (WebCore::Editor::fontForSelection):
1043         * editing/Editor.h:
1044         * page/mac/FrameMac.mm:
1045         * page/mac/WebCoreFrameBridge.mm:
1046         (-[WebCoreFrameBridge fontForSelection:]):
1047         * platform/graphics/Font.cpp:
1048         (WebCore::WidthIterator::advance):
1049         (WebCore::Font::glyphDataForCharacter):
1050         (WebCore::Font::primaryFont): Changed to return the simple font data
1051         used for the space character.
1052         (WebCore::Font::fontDataAt):
1053         (WebCore::Font::fontDataForCharacters):
1054         (WebCore::Font::drawGlyphBuffer):
1055         * platform/graphics/Font.h:
1056         * platform/graphics/FontCache.cpp:
1057         (WebCore::FontCache::getCachedFontData):
1058         (WebCore::FontCache::getFontData):
1059         * platform/graphics/FontCache.h:
1060         * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
1061         * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
1062         * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
1063         FontData.cpp.
1064         (WebCore::FontData::~FontData):
1065         * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
1066         FontData.h.
1067         * platform/graphics/FontFallbackList.cpp:
1068         (WebCore::FontFallbackList::determinePitch):
1069         (WebCore::FontFallbackList::fontDataAt):
1070         (WebCore::FontFallbackList::fontDataForCharacters):
1071         * platform/graphics/FontFallbackList.h:
1072         (WebCore::FontFallbackList::primaryFont):
1073         * platform/graphics/FontSelector.h:
1074         * platform/graphics/GlyphBuffer.h:
1075         (WebCore::GlyphBuffer::fontDataAt):
1076         (WebCore::GlyphBuffer::swap):
1077         (WebCore::GlyphBuffer::add):
1078         * platform/graphics/GlyphPageTreeNode.cpp:
1079         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
1080         (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
1081         pages for segmented font data.
1082         (WebCore::GlyphPageTreeNode::getChild):
1083         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
1084         * platform/graphics/GlyphPageTreeNode.h:
1085         (WebCore::GlyphPage::setGlyphDataForCharacter):
1086         (WebCore::GlyphPage::setGlyphDataForIndex):
1087         (WebCore::GlyphPageTreeNode::getRootChild):
1088         * platform/graphics/SegmentedFontData.cpp: Added.
1089         (WebCore::SegmentedFontData::~SegmentedFontData):
1090         (WebCore::SegmentedFontData::fontDataForCharacter):
1091         (WebCore::SegmentedFontData::containsCharacters):
1092         (WebCore::SegmentedFontData::isCustomFont):
1093         (WebCore::SegmentedFontData::isLoading):
1094         (WebCore::SegmentedFontData::isSegmented):
1095         * platform/graphics/SegmentedFontData.h: Added.
1096         (WebCore::FontDataRange::FontDataRange):
1097         (WebCore::FontDataRange::from):
1098         (WebCore::FontDataRange::to):
1099         (WebCore::FontDataRange::fontData):
1100         (WebCore::SegmentedFontData::appendRange):
1101         (WebCore::SegmentedFontData::numRanges):
1102         (WebCore::SegmentedFontData::rangeAt):
1103         * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
1104         (WebCore::SimpleFontData::SimpleFontData):
1105         (WebCore::SimpleFontData::~SimpleFontData):
1106         (WebCore::SimpleFontData::ascent):
1107         (WebCore::SimpleFontData::descent):
1108         (WebCore::SimpleFontData::widthForGlyph):
1109         (WebCore::SimpleFontData::fontDataForCharacter):
1110         (WebCore::SimpleFontData::isSegmented):
1111         * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
1112         (WebCore::SimpleFontData::isCustomFont):
1113         (WebCore::SimpleFontData::isLoading):
1114         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1115         (WebCore::GraphicsContext::setPlatformFont):
1116         * platform/graphics/gtk/FontCacheGtk.cpp:
1117         (WebCore::FontCache::getFontDataForCharacters):
1118         * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
1119         SimpleFontDataGtk.cpp.
1120         * platform/graphics/gtk/FontGtk.cpp:
1121         (WebCore::Font::drawGlyphs):
1122         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
1123         (WebCore::GlyphPage::fill):
1124         * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
1125         (WebCore::SimpleFontData::platformInit):
1126         (WebCore::SimpleFontData::platformDestroy):
1127         (WebCore::SimpleFontData::smallCapsFontData):
1128         (WebCore::SimpleFontData::containsCharacters):
1129         (WebCore::SimpleFontData::determinePitch):
1130         (WebCore::SimpleFontData::platformWidthForGlyph):
1131         (WebCore::SimpleFontData::setFont):
1132         * platform/graphics/mac/FontCacheMac.mm:
1133         (WebCore::FontCache::getFontDataForCharacters):
1134         * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
1135         * platform/graphics/mac/FontMac.mm:
1136         (WebCore::initializeATSUStyle):
1137         (WebCore::overrideLayoutOperation):
1138         (WebCore::ATSULayoutParameters::initialize):
1139         (WebCore::Font::drawGlyphs):
1140         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1141         (WebCore::GlyphPage::fill):
1142         * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
1143         (WebCore::initFontData):
1144         (WebCore::SimpleFontData::platformInit):
1145         (WebCore::SimpleFontData::platformDestroy):
1146         (WebCore::SimpleFontData::smallCapsFontData):
1147         (WebCore::SimpleFontData::containsCharacters):
1148         (WebCore::SimpleFontData::determinePitch):
1149         (WebCore::SimpleFontData::platformWidthForGlyph):
1150         (WebCore::SimpleFontData::checkShapesArabic):
1151         * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
1152         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
1153         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
1154         * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
1155         * platform/graphics/win/FontCacheWin.cpp:
1156         (WebCore::FontCache::getFontDataForCharacters):
1157         * platform/graphics/win/FontDataWin.cpp: Renamed to
1158         SimpleFontDataWin.cpp.
1159         * platform/graphics/win/FontWin.cpp:
1160         (WebCore::Font::drawGlyphs):
1161         * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
1162         (WebCore::GlyphPage::fill):
1163         * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
1164         (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
1165         (WebCore::SimpleFontData::platformInit):
1166         (WebCore::SimpleFontData::platformDestroy):
1167         (WebCore::SimpleFontData::smallCapsFontData):
1168         (WebCore::SimpleFontData::containsCharacters):
1169         (WebCore::SimpleFontData::determinePitch):
1170         (WebCore::SimpleFontData::platformWidthForGlyph):
1171         (WebCore::SimpleFontData::scriptFontProperties):
1172         * platform/graphics/wx/FontCacheWx.cpp:
1173         (WebCore::FontCache::getFontDataForCharacters):
1174         * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
1175         * platform/graphics/wx/FontWx.cpp:
1176         (WebCore::Font::drawGlyphs):
1177         * platform/graphics/wx/GlyphMapWx.cpp:
1178         (WebCore::GlyphPage::fill):
1179         * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
1180         (WebCore::SimpleFontData::platformInit):
1181         (WebCore::SimpleFontData::platformDestroy):
1182         (WebCore::SimpleFontData::smallCapsFontData):
1183         (WebCore::SimpleFontData::containsCharacters):
1184         (WebCore::SimpleFontData::determinePitch):
1185         (WebCore::SimpleFontData::platformWidthForGlyph):
1186         * platform/mac/FileChooserMac.mm:
1187         * platform/mac/PopupMenuMac.mm:
1188         * platform/mac/WebCoreTextRenderer.mm:
1189         * platform/win/PopupMenuWin.cpp:
1190         * platform/win/UniscribeController.cpp:
1191         (WebCore::UniscribeController::advance):
1192         (WebCore::UniscribeController::itemizeShapeAndPlace):
1193         (WebCore::UniscribeController::shapeAndPlaceItem):
1194         (WebCore::UniscribeController::shape):
1195         * platform/win/UniscribeController.h:
1196         * svg/SVGFont.cpp:
1197         (WebCore::Font::drawGlyphsWithSVGFont):
1198         * svg/SVGFontElement.cpp:
1199         (WebCore::SVGFontElement::collectGlyphs):
1200         * svg/SVGFontFaceElement.cpp:
1201         (WebCore::SVGFontFaceElement::createFontData):
1202         * svg/SVGFontFaceElement.h:
1203         * svg/SVGGlyphElement.cpp:
1204
1205 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1206
1207         Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
1208
1209         * svg/svgtags.in:
1210
1211 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
1212
1213         Not reviewed. Proposed build fix for wx.
1214
1215         * webcore-base.bkl:
1216
1217 2008-01-07  Dan Bernstein  <mitz@apple.com>
1218
1219         64-bit build fix
1220
1221         * platform/graphics/mac/FontCustomPlatformData.cpp:
1222         (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
1223         cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
1224
1225 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
1226
1227         Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
1228         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
1229
1230         Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
1231         measure & render glyphs contained in SVG Fonts, including ligature lookup support.
1232
1233         Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
1234
1235         Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
1236         Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
1237
1238         Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
1239         This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
1240         required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
1241
1242         Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
1243
1244         <glyph> elements now register themselves in the SVGFontElement's glyph cache.
1245         (insertedIntoDocument / removedFromDocument take care of this)
1246
1247         The cache is built once now, and is kept updated - it's not rebuild anymore
1248         on painting (!) - which was a crude hack for testing.
1249
1250         W3C testcase which include SVG Fonts:
1251         svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
1252         svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
1253         svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
1254         svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
1255         svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
1256         svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
1257         svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
1258         svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
1259         svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
1260         svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
1261         svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
1262         svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
1263         svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
1264         svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
1265         svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
1266         svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec)
1267         svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
1268         svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
1269         svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
1270         svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
1271         svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
1272         svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
1273         svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
1274
1275         Questionable testcases:
1276         svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.)
1277         I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now.
1278
1279         Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
1280
1281         * css/CSSFontSelector.cpp:
1282         (WebCore::CSSFontSelector::addFontFaceRule):
1283         (WebCore::CSSFontSelector::getFontData):
1284         * platform/graphics/Font.cpp:
1285         (WebCore::Font::lineSpacing):
1286         (WebCore::Font::xHeight):
1287         (WebCore::Font::canUseGlyphCache):
1288         (WebCore::Font::drawGlyphBuffer):
1289         (WebCore::Font::drawText):
1290         (WebCore::Font::floatWidth):
1291         (WebCore::Font::selectionRectForText):
1292         * platform/graphics/Font.h:
1293         (WebCore::TextRun::TextRun):
1294         (WebCore::TextRun::activePaintServer):
1295         (WebCore::TextRun::setActivePaintServer):
1296         * platform/graphics/FontData.cpp:
1297         (WebCore::FontData::lineSpacing):
1298         (WebCore::FontData::lineGap):
1299         (WebCore::FontData::xHeight):
1300         * platform/graphics/FontData.h:
1301         * platform/graphics/win/FontWin.cpp:
1302         (WebCore::Font::drawGlyphs):
1303         * rendering/RenderSVGText.cpp:
1304         (WebCore::RenderSVGText::relativeBBox):
1305         * rendering/SVGInlineTextBox.cpp:
1306         (WebCore::SVGInlineTextBox::paintCharacters):
1307         * rendering/SVGInlineTextBox.h:
1308         * rendering/SVGRootInlineBox.cpp:
1309         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
1310         * svg/SVGFont.cpp:
1311         (WebCore::):
1312         (WebCore::processArabicFormDetection):
1313         (WebCore::charactersWithArabicForm):
1314         (WebCore::isCompatibleArabicForm):
1315         (WebCore::isCompatibleGlyph):
1316         (WebCore::svgFontAndFontFaceElementForFontData):
1317         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
1318         (WebCore::SVGTextRunWalker::walk):
1319         (WebCore::floatWidthUsingSVGFontCallback):
1320         (WebCore::floatWidthMissingGlyphCallback):
1321         (WebCore::floatWidthOfSubStringUsingSVGFont):
1322         (WebCore::Font::floatWidthUsingSVGFont):
1323         (WebCore::drawTextUsingSVGFontCallback):
1324         (WebCore::drawTextMissingGlyphCallback):
1325         (WebCore::Font::drawTextUsingSVGFont):
1326         (WebCore::Font::selectionRectForTextUsingSVGFont):
1327         * svg/SVGFontElement.cpp:
1328         (WebCore::SVGFontElement::SVGFontElement):
1329         (WebCore::SVGFontElement::addGlyphToCache):
1330         (WebCore::SVGFontElement::removeGlyphFromCache):
1331         (WebCore::SVGFontElement::firstMissingGlyphElement):
1332         (WebCore::SVGFontElement::glyphIdentifiersForString):
1333         * svg/SVGFontElement.h:
1334         (WebCore::SVGFontElement::maximumHashKeyLength):
1335         * svg/SVGFontFaceElement.cpp:
1336         (WebCore::SVGFontFaceElement::createFontData):
1337         (WebCore::SVGFontFaceElement::rebuildFontFace):
1338         (WebCore::SVGFontFaceElement::associatedFontElement):
1339         * svg/SVGFontFaceElement.h:
1340         * svg/SVGGlyphElement.cpp:
1341         (WebCore::SVGGlyphElement::insertedIntoDocument):
1342         (WebCore::SVGGlyphElement::removedFromDocument):
1343         (WebCore::parseArabicForm):
1344         (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
1345         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
1346         * svg/SVGGlyphElement.h:
1347         (WebCore::SVGGlyphIdentifier::):
1348         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
1349         (WebCore::SVGGlyphIdentifier::inheritedValue):
1350         (WebCore::SVGGlyphIdentifier::operator==):
1351         (WebCore::SVGGlyphElement::~SVGGlyphElement):
1352
1353 2008-01-07  David Hyatt  <hyatt@apple.com>
1354
1355         Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
1356
1357         Reviewed by Dan
1358
1359         * rendering/RenderBox.h:
1360         * rendering/RenderTableCell.cpp:
1361         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1362
1363 2008-01-07  Holger Freyther  <zecke@selfish.org>
1364
1365         Reviewed by Alp Toker.
1366
1367         * Fix indention
1368
1369         * platform/gtk/ContextMenuGtk.cpp:
1370         (WebCore::ContextMenu::~ContextMenu):
1371
1372 2008-01-07  Holger Freyther  <zecke@selfish.org>
1373
1374         Reviewed by Alp Toker.
1375
1376         * The ContextMenuController is going to live longer than the ContextMenu. It is
1377         going to live as long as the WebCore::Page is around where the ContextMenu, specially
1378         in the case of a SubMenu, is gone before we popup the menu.
1379
1380         * platform/gtk/ContextMenuGtk.cpp:
1381         (WebCore::menuItemActivated):
1382         (WebCore::ContextMenu::appendItem):
1383
1384 2008-01-07  Holger Freyther  <zecke@selfish.org>
1385
1386         Reviewed by Alp Toker.
1387
1388         * Fix SubMenu handling
1389         * Do not connect to the activated signal if we are a separator or submenu
1390         * Change our type from ActionType to SubMenuType when we have a submenu
1391         * Initialize the SubMenu
1392
1393         * platform/gtk/ContextMenuGtk.cpp:
1394         (WebCore::ContextMenu::appendItem):
1395         * platform/gtk/ContextMenuItemGtk.cpp:
1396         (WebCore::ContextMenuItem::ContextMenuItem):
1397         (WebCore::ContextMenuItem::createNativeMenuItem):
1398         (WebCore::ContextMenuItem::setSubMenu):
1399
1400 2008-01-07  Holger Freyther  <zecke@selfish.org>
1401
1402         Reviewed by Alp Toker.
1403
1404         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
1405         actions.
1406         * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
1407         * Update the ContextMenuController to accept CheckableActionTypes as well.
1408         * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
1409         was extracted from ContextMenu::checkOrEnableIfNeeded.
1410         * Update the Qt and Windows port.
1411
1412
1413         * page/ContextMenuController.cpp:
1414         * platform/ContextMenu.cpp:
1415         (WebCore::createAndAppendFontSubMenu):
1416         (WebCore::createAndAppendSpellingAndGrammarSubMenu):
1417         (WebCore::createAndAppendSpellingSubMenu):
1418         (WebCore::createAndAppendWritingDirectionSubMenu):
1419         * platform/ContextMenuItem.h:
1420         * platform/gtk/ContextMenuItemGtk.cpp:
1421         (WebCore::ContextMenuItem::ContextMenuItem):
1422         (WebCore::ContextMenuItem::createNativeMenuItem):
1423
1424 2008-01-07  Luca Bruno  <lethalman88@gmail.com>
1425
1426         Reviewed by Alp Toker.
1427
1428         http://bugs.webkit.org/show_bug.cgi?id=16745
1429         [GTK] Context menu doesn't feel or look native - no icons
1430
1431         Use GTK+ stock icons for menu items where possible.
1432
1433         * platform/gtk/ContextMenuItemGtk.cpp:
1434         (WebCore::gtkStockIDFromContextMenuAction):
1435         (WebCore::ContextMenuItem::createNativeMenuItem):
1436         (WebCore::ContextMenuItem::setAction):
1437
1438 2008-01-07  Dan Bernstein  <mitz@apple.com>
1439
1440         Reviewed by John Sullivan.
1441
1442         - make the ATSUI code path work with custom fonts rather than crash
1443
1444         * platform/graphics/mac/FontCustomPlatformData.cpp:
1445         (WebCore::FontCustomPlatformData::fontPlatformData):
1446         * platform/graphics/mac/FontMac.mm:
1447         (WebCore::initializeATSUStyle):
1448
1449 2008-01-07  Thiago Macieira  <thiago.macieira@trolltech.com>
1450
1451         Reviewed by Simon.
1452
1453         abort() now emits the signals, so disconnect them before you abort()
1454
1455         * platform/network/qt/QNetworkReplyHandler.cpp:
1456         (WebCore::QNetworkReplyHandler::abort):
1457
1458 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
1459
1460         Reviewed by Lars.
1461
1462         Use a faster and safer way of flattening the form data.
1463
1464         * platform/network/qt/QNetworkReplyHandler.cpp:
1465         (WebCore::QNetworkReplyHandler::start):
1466
1467 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
1468
1469         Reviewed by Lars.
1470
1471         Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
1472
1473         * WebCore.pro:
1474         * platform/network/ResourceHandleInternal.h:
1475         * platform/network/qt/QNetworkReplyHandler.cpp: Added.
1476         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1477         (WebCore::QNetworkReplyHandler::abort):
1478         (WebCore::QNetworkReplyHandler::finish):
1479         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1480         (WebCore::QNetworkReplyHandler::forwardData):
1481         (WebCore::QNetworkReplyHandler::start):
1482         * platform/network/qt/QNetworkReplyHandler.h: Added.
1483         (WebCore::QNetworkReplyHandler::reply):
1484         * platform/network/qt/ResourceHandleQt.cpp:
1485         (WebCore::ResourceHandle::start):
1486         (WebCore::ResourceHandle::cancel):
1487         (WebCore::ResourceHandle::loadResourceSynchronously):
1488         * platform/network/qt/ResourceRequest.h:
1489         (WebCore::ResourceRequest::ResourceRequest):
1490         * platform/network/qt/ResourceRequestQt.cpp: Added.
1491         (WebCore::ResourceRequest::toNetworkRequest):
1492         * platform/qt/MIMETypeRegistryQt.cpp:
1493         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1494         * platform/qt/PlugInInfoStoreQt.cpp:
1495         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
1496         (WebCore::PlugInInfoStore::pluginCount):
1497         (WebCore::PlugInInfoStore::pluginNameForMIMEType):
1498
1499 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1500
1501         Reviewed by Lars.
1502
1503         * Remove m_dirtyRegion as it is not used as we pass every dirty region
1504         directly to the ChromeClient
1505
1506         * platform/qt/ScrollViewQt.cpp:
1507         (WebCore::ScrollView::paint):
1508
1509 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
1510
1511         Reviewed by Oliver.
1512
1513         Small CG paint server cleanups - use more GraphicsContext method where possible.
1514
1515         * svg/graphics/cg/CgSupport.cpp:
1516         (WebCore::applyStrokeStyleToContext):
1517         (WebCore::strokeBoundingBox):
1518         * svg/graphics/cg/CgSupport.h:
1519         * svg/graphics/cg/RenderPathCg.cpp:
1520         (WebCore::RenderPath::strokeContains):
1521         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
1522         (WebCore::SVGPaintServerGradient::setup):
1523         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
1524         (WebCore::SVGPaintServerPattern::setup):
1525         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
1526         (WebCore::SVGPaintServerSolid::setup):
1527
1528 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
1529
1530         Reviewed by Dan.
1531
1532         Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
1533
1534         * platform/graphics/mac/FontMac.mm:
1535         (WebCore::ATSULayoutParameters::initialize):
1536
1537 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
1538
1539         Reviewed by Darin.
1540         
1541         DOMRange doesn't correctly re-size when inserting items (Acid3)
1542         http://bugs.webkit.org/show_bug.cgi?id=16764
1543         
1544         Update the offset for the range when inserting items into the range.
1545
1546         Test: fast/dom/Range/range-modifycontents.html
1547
1548         * dom/Range.cpp:
1549         (WebCore::Range::insertNode):
1550
1551 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
1552
1553         Reviewed by Darin.
1554
1555         http://bugs.webkit.org/show_bug.cgi?id=16731
1556         Incorrect node type for whitespace when setting innerHTML in an XHTML document
1557
1558         Test: fast/dom/xhtml-fragment-whitespace.xhtml
1559
1560         * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
1561         Use balancedCharactersHandler for ignorable whitespace.
1562
1563 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
1564
1565         Reviewed by Darin.
1566
1567         http://bugs.webkit.org/show_bug.cgi?id=16701
1568         <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
1569         causes page load error
1570
1571         Test: http/tests/misc/location-with-space.php
1572
1573         * platform/network/cf/ResourceRequestCFNet.cpp:
1574         (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
1575
1576 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
1577
1578         Reviewed by Darin.
1579         
1580         DOMRange.cloneContents does not work (Acid3 bug)
1581         http://bugs.webkit.org/show_bug.cgi?id=16748
1582         
1583         When cloning an empty range, return an empty DocmentFragment instead of
1584         null or undefined.
1585
1586         Test: fast/dom/Range/range-clone-empty.html
1587
1588         * dom/Range.cpp:
1589         (WebCore::Range::processContents):
1590
1591 2008-01-06  Luca Bruno  <lethalman88@gmail.com>
1592
1593         Reviewed by Alp Toker.
1594
1595         Remove curl handles immediately if the timer is not running.
1596
1597         * platform/network/curl/ResourceHandleManager.cpp:
1598         (WebCore::ResourceHandleManager::cancel):
1599
1600 2008-01-06  Alp Toker  <alp@atoker.com>
1601
1602         Reviewed by Eric.
1603
1604         Cairo canvas refcounting fix. Reference the surface in the constructor
1605         to match its destruction in the destructor.
1606
1607         Fixes a crash triggered by leaving this page:
1608           http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
1609
1610         * html/CanvasPattern.cpp:
1611         (WebCore::CanvasPattern::CanvasPattern):
1612
1613 2008-01-06  Eric Seidel  <eric@webkit.org>
1614
1615         Reviewed by darin.
1616
1617         Make attr selectors case-insensitive for certain HTML attributes
1618         http://bugs.webkit.org/show_bug.cgi?id=15470
1619
1620         Test: fast/css/html-attr-case-sensitivity.html
1621
1622         * css/CSSStyleSelector.cpp:
1623         (WebCore::addLocalNameToSet):
1624         (WebCore::createHtmlCaseInsensitiveAttributesSet):
1625         (WebCore::htmlAttributeHasCaseInsensitiveValue):
1626         (WebCore::CSSStyleSelector::checkOneSelector):
1627
1628 2008-01-06  Eric Seidel  <eric@webkit.org>
1629
1630         Reviewed by Sam.
1631
1632         Fix :checked matching type='text' and add test case
1633         http://bugs.webkit.org/show_bug.cgi?id=16750
1634
1635         Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
1636
1637         * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
1638
1639 2008-01-05  Sam Weinig  <sam@webkit.org>
1640
1641         Reviewed by Eric Seidel.
1642
1643         Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
1644         ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
1645
1646         - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
1647
1648         Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
1649
1650         * dom/TreeWalker.cpp:
1651         (WebCore::TreeWalker::parentNode):
1652         (WebCore::TreeWalker::firstChild):
1653         (WebCore::TreeWalker::lastChild):
1654         (WebCore::TreeWalker::previousSibling):
1655         (WebCore::TreeWalker::nextSibling):
1656         (WebCore::TreeWalker::previousNode):
1657         (WebCore::TreeWalker::nextNode):
1658
1659 2008-01-04  Oliver Hunt  <oliver@apple.com>
1660
1661         Reviewed by Beth Dakin.
1662
1663         Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
1664         and other image repaint bugs.
1665
1666         We now cache the full local bounds for the <image> element, as otherwise certain
1667         combinations of attribute changes could result in incorrect dirty rects.
1668         Additionally we no longer use any of the integer bounds fields on RenderObject for
1669         determining repaint bounds (this was the principle cause of bug #16015).
1670
1671         I also removed the outline painting code as it was both wrong, and not correctly
1672         repainted.  I feel safe doing this as no other browser or viewer supports outline
1673         properties on svg elements.
1674
1675         I was unable to make a testcase for this unfortunately, despite seemingly deterministic 
1676         behaviour :(
1677
1678         * rendering/RenderSVGImage.cpp:
1679         (WebCore::RenderSVGImage::layout):
1680         (WebCore::RenderSVGImage::paint):
1681         (WebCore::RenderSVGImage::nodeAtPoint):
1682         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1683         * rendering/RenderSVGImage.h:
1684
1685 2008-01-04  Beth Dakin  <bdakin@apple.com>
1686
1687         Reviewed by Oliver.
1688
1689         Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with 
1690         type="hidden" matches :enabled/:disabled (Acid3 bug)
1691
1692         Prevent :enabled and :disabled from applying to input type="hidden" 
1693
1694         * css/CSSStyleSelector.cpp:
1695         (WebCore::CSSStyleSelector::checkOneSelector): Rather than 
1696         allowing :enabled and :disabled to apply to all controls, only 
1697         allow it to apply to non-"hidden" controls
1698         * dom/Element.h:
1699         (WebCore::Element::isInputTypeHidden): 
1700         * html/HTMLInputElement.h:
1701         (WebCore::HTMLInputElement::isInputTypeHidden):
1702
1703 2008-01-04  Sam Weinig  <sam@webkit.org>
1704
1705         Reviewed by Oliver Hunt.
1706
1707         - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
1708           getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
1709           if the type of the CSSPrimitiveValue is not the same as the type requested.
1710         - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
1711
1712         Test: fast/css/CSSPrimitiveValue-exceptions.html
1713
1714         * css/CSSPrimitiveValue.cpp:
1715         (WebCore::CSSPrimitiveValue::getDoubleValue):
1716         (WebCore::CSSPrimitiveValue::getStringValue):
1717         (WebCore::CSSPrimitiveValue::getCounterValue):
1718         (WebCore::CSSPrimitiveValue::getRectValue):
1719         (WebCore::CSSPrimitiveValue::getRGBColorValue):
1720         (WebCore::CSSPrimitiveValue::getPairValue):
1721         * css/CSSPrimitiveValue.h:
1722         (WebCore::CSSPrimitiveValue::getFloatValue):
1723         (WebCore::CSSPrimitiveValue::getIntValue):
1724         (WebCore::CSSPrimitiveValue::getCounterValue):
1725         (WebCore::CSSPrimitiveValue::getRectValue):
1726         (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
1727         * css/CSSPrimitiveValue.idl:
1728
1729 2008-01-04  Antti Koivisto  <antti@apple.com>
1730
1731         Reviewed by Darin.
1732         
1733         Windows part of <rdar://problem/5647034>
1734         Media tests crash if an old version of QuickTime is installed
1735
1736         Check QuickTime version on Windows too.
1737
1738         * platform/graphics/MediaPlayer.cpp:
1739         (WebCore::MediaPlayer::isAvailable):
1740         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1741         (WebCore::MediaPlayerPrivate::isAvailable):
1742         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1743         (WebCore::MediaPlayerPrivate::isAvailable):
1744         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1745         * platform/graphics/win/QTMovieWin.cpp:
1746         (QTMovieWin::initializeQuickTime):
1747
1748 2008-01-04  Darin Adler  <darin@apple.com>
1749
1750         Reviewed by Maciej and Alice.
1751
1752         - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
1753
1754         Test: fast/images/border.html
1755
1756         * html/HTMLImageElement.cpp:
1757         (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
1758         where the border value is not a number to use the value "0" for the border width instead
1759         of not setting the border width and style at all. This matches other browsers, and makes
1760         more sense.
1761
1762 2008-01-04  Antti Koivisto  <antti@apple.com>
1763
1764         Try to fix 64-bit build
1765
1766         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1767         (WebCore::MediaPlayerPrivate::isAvailable):
1768
1769 2008-01-04  Stephanie  <slewis@apple.com>
1770
1771         Reviewed by Oliver.
1772
1773         WARNING: NO TEST CASES ADDED OR CHANGED
1774
1775         Fix another stringImpl leak.
1776
1777         * platform/text/StringImpl.cpp: remove an extra allocation
1778         (WebCore::StringImpl::StringImpl):
1779
1780 2008-01-04  Alice Liu  <alice.liu@apple.com>
1781
1782         Reviewed by Mitz.
1783
1784         * platform/graphics/win/FontCacheWin.cpp:
1785         fix loop condition that was causing crash
1786
1787 2008-01-04  Timothy Hatcher  <timothy@apple.com>
1788
1789         Reviewed by Adam Roben.
1790
1791         <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
1792
1793         * page/inspector/inspector.css: Remove styles related to the toggle button
1794           and make the area always visible. 
1795         * page/inspector/inspector.html: Remove the toggle button.
1796         * page/inspector/inspector.js: Remove code to toggle the status area.
1797
1798 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
1799
1800         Reviewed by Adam Roben.
1801
1802         Temporarily restore BackwardDelete for Windows nightlies to work correctly.
1803
1804         * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
1805
1806 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
1807
1808         Reviewed by Darin.
1809
1810         <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
1811
1812         Enable the fix on Windows.
1813
1814         * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
1815         Always set a custom sort function, even if it doesn't implement proper collation on the platform.
1816
1817         * xml/XSLTUnicodeSort.cpp:
1818         (WebCore::xsltUnicodeSortFunction):
1819         * xml/XSLTUnicodeSort.h:
1820         If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
1821
1822 2008-01-04  Antti Koivisto  <antti@apple.com>
1823
1824         Fix build.
1825
1826         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1827
1828 2008-01-04  Antti Koivisto  <antti@apple.com>
1829
1830         Reviewed by Darin.
1831         
1832         Partial fix for <rdar://problem/5647034>
1833         Media tests crash if an old version of QuickTime is installed
1834
1835         Disable media support if QuickTime is not current enough (>=7.3).
1836         
1837         Windows patch coming soon.
1838
1839         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1840         (WebCore::createJSHTMLWrapper):
1841         * bindings/js/kjs_window.cpp:
1842         (KJS::Window::getValueProperty):
1843         * html/HTMLElementFactory.cpp:
1844         (WebCore::audioConstructor):
1845         (WebCore::videoConstructor):
1846         (WebCore::sourceConstructor):
1847         * platform/graphics/MediaPlayer.cpp:
1848         (WebCore::MediaPlayer::isAvailable):
1849         * platform/graphics/MediaPlayer.h:
1850         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1851         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1852         (WebCore::MediaPlayerPrivate::isAvailable):
1853
1854 2008-01-04  Timothy Hatcher  <timothy@apple.com>
1855
1856         Reviewed by Darin Adler.
1857
1858         <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
1859
1860         Check if the property is a getter before asking for the value.
1861         If the property is a getter, we no longer show the value.
1862
1863         * page/inspector/PropertiesSidebarPane.js:
1864         * page/inspector/inspector.css:
1865
1866 2008-01-04  Dan Bernstein  <mitz@apple.com>
1867
1868         Reviewed by Darin Adler.
1869
1870         - fix synthetic bold and italic on Windows
1871
1872         Covered by an existing test.
1873
1874         * platform/graphics/win/FontPlatformDataWin.cpp:
1875         (WebCore::FontPlatformData::FontPlatformData):
1876
1877 2008-01-04  Alp Toker  <alp@atoker.com>
1878
1879         GTK+ autotools build fix. Terminate empty rules.
1880
1881         * GNUmakefile.am:
1882
1883 2008-01-04  Lars Knoll  <lars@trolltech.com>
1884
1885         Reviewed by Simon.
1886
1887         Remove most dependencies of Widget/ScrollView onto native QWidgets.
1888
1889         This also brings the code closer in line with the Windows code. Seems
1890         to work nicely on first try :)
1891
1892         * page/qt/FrameQt.cpp:
1893         (WebCore::Frame::createScriptInstanceForWidget):
1894         * platform/Widget.h:
1895         * platform/qt/PlatformScreenQt.cpp:
1896         (WebCore::screenDepth):
1897         (WebCore::screenDepthPerComponent):
1898         (WebCore::screenIsMonochrome):
1899         (WebCore::screenRect):
1900         * platform/qt/PlatformScrollBarQt.cpp:
1901         (WebCore::PlatformScrollbar::thumbPosition):
1902         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1903         * platform/qt/ScrollViewQt.cpp:
1904         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1905         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1906         (WebCore::ScrollView::updateContents):
1907         (WebCore::ScrollView::update):
1908         (WebCore::ScrollView::scrollRectIntoViewRecursively):
1909         (WebCore::ScrollView::updateScrollbars):
1910         (WebCore::ScrollView::addChild):
1911         (WebCore::ScrollView::removeChild):
1912         (WebCore::ScrollView::paint):
1913         * platform/qt/WidgetQt.cpp:
1914         (WebCore::WidgetPrivate::WidgetPrivate):
1915         (WebCore::WidgetPrivate::~WidgetPrivate):
1916         (WebCore::Widget::frameGeometry):
1917         (WebCore::Widget::setFrameGeometry):
1918         (WebCore::Widget::setCursor):
1919         (WebCore::Widget::show):
1920         (WebCore::Widget::hide):
1921         (WebCore::Widget::nativeWidget):
1922         (WebCore::Widget::setNativeWidget):
1923         (WebCore::Widget::suppressInvalidation):
1924         (WebCore::Widget::setSuppressInvalidation):
1925         (WebCore::Widget::invalidateRect):
1926         (WebCore::Widget::topLevel):
1927         (WebCore::Widget::containingWindow):
1928
1929 2008-01-04  Lars Knoll  <lars@trolltech.com>
1930
1931         Reviewed by Simon.
1932
1933         make QWebPage a QObject and get things to compile.
1934
1935         Nothing works currently though.
1936
1937         * platform/qt/ScrollViewQt.cpp:
1938         (WebCore::ScrollView::updateContents):
1939         (WebCore::ScrollView::update):
1940         * platform/qt/WidgetQt.cpp:
1941         (WebCore::Widget::qwidget):
1942         (WebCore::Widget::invalidateRect):
1943
1944 2008-01-04  Alp Toker  <alp@atoker.com>
1945
1946         Reviewed by Mark Rowe.
1947
1948         http://bugs.webkit.org/show_bug.cgi?id=16667
1949         make -j is failing with the autotools based system
1950
1951         Support parallel code generation. Nearly every use of explicit
1952         multiple targets was a potential concurrency bug, though in practice
1953         the bison rules were the first to be noticed because they took longer
1954         to complete and broke the build immediately.
1955
1956         * GNUmakefile.am:
1957
1958 2008-01-04  Alp Toker  <alp@atoker.com>
1959
1960         Reviewed by Mark Rowe.
1961
1962         Re-use a single static dummy surface rather than creating and
1963         destroying a surface for each CairoPath.
1964
1965         * platform/graphics/cairo/CairoPath.h:
1966         (WebCore::CairoPath::CairoPath):
1967
1968 2008-01-04  Mark Rowe  <mrowe@apple.com>
1969
1970         Tiger build fix.
1971
1972         * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
1973
1974 2008-01-03  Mark Rowe  <mrowe@apple.com>
1975
1976         Reviewed by Maciej Stachowiak.
1977
1978         Use platform-provided atomic operations in place of inline assembly to
1979         increase portability.
1980
1981         * platform/Threading.h:
1982         (WebCore::atomicIncrement):
1983         (WebCore::atomicDecrement):
1984
1985 2008-01-03  Oliver Hunt  <oliver@apple.com>
1986
1987         Reviewed by Maciej.
1988
1989         Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
1990
1991         We need to cache the absolute bounds of the <image>,
1992         as there's no reliable way to recompute the old bounding
1993         box one we have started layout.
1994
1995         * rendering/RenderSVGImage.cpp:
1996         (WebCore::RenderSVGImage::layout):
1997         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1998         * rendering/RenderSVGImage.h:
1999
2000 2008-01-03  Alp Toker  <alp@atoker.com>
2001
2002         Reviewed by Mark Rowe.
2003
2004         Support building in Scratchbox, which has a version of make that fails
2005         on wildcard syntax. Use a vpath to match IDL files instead.
2006
2007         * GNUmakefile.am:
2008
2009 2008-01-03  Jon Honeycutt  <jhoneycutt@apple.com>
2010
2011         Reviewed by Darin.
2012
2013         <rdar://problem/5504775> PDF page will not load first time after Adobe
2014         Reader install, unless browser is relaunched
2015
2016         Refresh and re-search the plugin database if the MIME type is not
2017         registered.
2018
2019         * plugins/win/PluginDatabaseWin.cpp:
2020         (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
2021         * plugins/win/PluginDatabaseWin.h:
2022
2023 2008-01-03  Dan Bernstein  <mitz@apple.com>
2024
2025         Reviewed by Darin Adler.
2026
2027         - fix http://bugs.webkit.org/show_bug.cgi?id=16548
2028           <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
2029
2030         * platform/graphics/win/FontCacheWin.cpp:
2031         (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
2032         a valid LOGFONT for a given family.
2033         (WebCore::getLinkedFonts): Added. Returns a vector of font families
2034         linked to the given font family by the Windows registry key
2035         HKLM\Software\...\FontLink\SystemLink. The registry values typically
2036         differ based on the installed language version of Windows.
2037         (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
2038         font mapping, which is Windows code page based, except for characters in
2039         the range U+2000..U+200F. Instead, this function gets the font Uniscribe
2040         would use for the character. However, that font might not actually
2041         contain the character, in which case GDI font linking would substitute a
2042         different font. Therefore, this function walks the linked font list
2043         until it finds a font that actually contains the character.
2044
2045 2008-01-03  Darin Adler  <darin@apple.com>
2046
2047         Reviewed by Mitz.
2048
2049         - fix http://bugs.webkit.org/show_bug.cgi?id=16723
2050           tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
2051
2052         Test: fast/table/border-changes.html
2053
2054         * html/HTMLTableElement.h:
2055         * html/HTMLTableElement.cpp:
2056         (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
2057         parsing attributes, rather than doing this only for the rules attribute.
2058         (WebCore::HTMLTableElement::cellBorders): Added.
2059         (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
2060         rule about what type of borders to use.
2061
2062 2008-01-02  Sam Weinig  <sam@webkit.org>
2063
2064         Reviewed by Darin.
2065
2066         Pass the prototype of WebCore JS objects up the constructor chain
2067         rather than explicitly setting using setPrototype.  This removes many
2068         redundant settings of the prototype on construction.  To avoid a CG 
2069         hazard, the prototype must be constructed before calling the
2070         constructor of the JS object.
2071
2072         - JS objects that inherit from DOMObject, which all bindings objects
2073           (except Window) do, now can't implicitly have a jsNull prototype, but
2074           must explicitly pass it up the construction chain.
2075
2076         * bindings/js/JSCSSRuleCustom.cpp:
2077         (WebCore::toJS):
2078         * bindings/js/JSCSSValueCustom.cpp:
2079         (WebCore::toJS):
2080         * bindings/js/JSDocumentCustom.cpp:
2081         (WebCore::toJS):
2082         * bindings/js/JSEventCustom.cpp:
2083         (WebCore::toJS):
2084         * bindings/js/JSEventTargetNode.cpp:
2085         (WebCore::JSEventTargetNode::JSEventTargetNode):
2086         * bindings/js/JSEventTargetNode.h:
2087         * bindings/js/JSHTMLAllCollection.h:
2088         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
2089         * bindings/js/JSHTMLAudioElementConstructor.cpp:
2090         (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
2091         * bindings/js/JSHTMLCollectionCustom.cpp:
2092         (WebCore::getNamedItems):
2093         (WebCore::toJS):
2094         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2095         (WebCore::createJSHTMLWrapper):
2096         * bindings/js/JSHTMLFormElementCustom.cpp:
2097         (WebCore::JSHTMLFormElement::nameGetter):
2098         * bindings/js/JSHTMLInputElementBase.cpp:
2099         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
2100         * bindings/js/JSHTMLInputElementBase.h:
2101         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2102         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2103         * bindings/js/JSLocation.cpp:
2104         (WebCore::JSLocation::JSLocation):
2105         * bindings/js/JSLocation.h:
2106         * bindings/js/JSNamedNodesCollection.cpp:
2107         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2108         * bindings/js/JSNamedNodesCollection.h:
2109         * bindings/js/JSNodeCustom.cpp:
2110         (WebCore::toJS):
2111         * bindings/js/JSSVGElementWrapperFactory.cpp:
2112         (WebCore::createJSSVGWrapper):
2113         * bindings/js/JSSVGPathSegCustom.cpp:
2114         (WebCore::toJS):
2115         * bindings/js/JSStyleSheetCustom.cpp:
2116         (WebCore::toJS):
2117         * bindings/js/JSXMLHttpRequest.cpp:
2118         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
2119         (KJS::JSXMLHttpRequestConstructorImp::construct):
2120         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
2121         * bindings/js/JSXMLHttpRequest.h:
2122         * bindings/js/JSXSLTProcessor.cpp:
2123         (KJS::JSXSLTProcessor::JSXSLTProcessor):
2124         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
2125         (KJS::XSLTProcessorConstructorImp::implementsConstruct):
2126         (KJS::XSLTProcessorConstructorImp::construct):
2127         * bindings/js/JSXSLTProcessor.h:
2128         * bindings/js/kjs_binding.h:
2129         (KJS::DOMObject::DOMObject):
2130         (KJS::cacheDOMObject):
2131         (KJS::cacheSVGDOMObject):
2132         * bindings/js/kjs_css.cpp:
2133         (WebCore::JSRGBColor::JSRGBColor):
2134         (WebCore::getJSRGBColor):
2135         * bindings/js/kjs_css.h:
2136         * bindings/js/kjs_events.cpp:
2137         (WebCore::JSClipboard::JSClipboard):
2138         (WebCore::toJS):
2139         * bindings/js/kjs_events.h:
2140         * bindings/js/kjs_html.cpp:
2141         (WebCore::ImageConstructorImp::ImageConstructorImp):
2142         * bindings/js/kjs_navigator.cpp:
2143         (KJS::Navigator::Navigator):
2144         (KJS::PluginBase::PluginBase):
2145         * bindings/js/kjs_navigator.h:
2146         * bindings/js/kjs_window.cpp:
2147         (KJS::Window::Window):
2148         (KJS::Window::location):
2149         (KJS::Window::getValueProperty):
2150         * bindings/js/kjs_window.h:
2151         * bindings/scripts/CodeGeneratorJS.pm:
2152
2153 2008-01-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2154
2155         Reviewed by Alp.
2156
2157         -This is from http://bugs.webkit.org/show_bug.cgi?id=16115
2158
2159         Change the Gtk ContextMenuItem code to generate the GtkMenuItem
2160         or GtkCheckMenuItem on the fly. Currently we will create a
2161         GtkCheckMenuItem if the ContextMenuItem has been checked. What needs
2162         to be done is to change WebCore to tell the platform code if an item
2163         is checkable or not.
2164
2165         * platform/ContextMenuItem.h:
2166         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
2167         * platform/gtk/ContextMenuGtk.cpp:
2168         (WebCore::ContextMenu::appendItem):
2169         * platform/gtk/ContextMenuItemGtk.cpp:
2170         (WebCore::ContextMenuItem::ContextMenuItem):
2171         (WebCore::ContextMenuItem::~ContextMenuItem):
2172         (WebCore::ContextMenuItem::createNativeMenuItem):
2173         (WebCore::ContextMenuItem::releasePlatformDescription):
2174         (WebCore::ContextMenuItem::type):
2175         (WebCore::ContextMenuItem::setType):
2176         (WebCore::ContextMenuItem::action):
2177         (WebCore::ContextMenuItem::setAction):
2178         (WebCore::ContextMenuItem::platformSubMenu):
2179         (WebCore::ContextMenuItem::setSubMenu):
2180         (WebCore::ContextMenuItem::setChecked):
2181
2182 2008-01-03  Dan Bernstein  <mitz@apple.com>
2183
2184         Rubber-stamped by Adam Roben.
2185
2186         - update the project hierarchy to match the on-disk organization of
2187           the platform directory.
2188
2189         * WebCore.vcproj/WebCore.vcproj:
2190
2191 2008-01-03  Adam Roben  <aroben@apple.com>
2192
2193         Fix a buffer overrun and a leak introduced in r29098
2194
2195         Reviewed by Mark.
2196
2197         * platform/text/StringImpl.cpp:
2198         (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make
2199         it be big enough to hold the string contents plus the null terminator.
2200
2201 2008-01-03  Simon Hausmann  <hausmann@webkit.org>
2202
2203         Reviewed by Lars.
2204
2205         Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
2206
2207         * WebCore.pro:
2208
2209 2008-01-03  Alp Toker  <alp@atoker.com>
2210
2211         Suggested by Mark Rowe.
2212
2213         Fix indentation and remove trailing whitespace.
2214
2215         * platform/network/curl/ResourceHandleManager.cpp:
2216
2217 2008-01-03  Luca Bruno  <lethalman88@gmail.com>
2218
2219         Reviewed by Alp Toker.
2220
2221         Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring
2222         that the two POST methods don't conflict.
2223
2224         * platform/network/curl/ResourceHandleManager.cpp:
2225         (WebCore::ResourceHandleManager::setupPOST):
2226
2227 2008-01-02  Darin Adler  <darin@apple.com>
2228
2229         - touched some files to try to get the Windows buildbot building again
2230
2231 2008-01-02  Dan Bernstein  <mitz@apple.com>
2232
2233         Reviewed by Sam Weinig.
2234
2235         - fix small caps rendering
2236
2237         Covered by an existing test.
2238
2239         * platform/graphics/win/FontDataWin.cpp:
2240         (WebCore::FontData::smallCapsFontData):
2241
2242 2008-01-02  Antti Koivisto  <antti@apple.com>
2243
2244         Reviewed by Oliver.
2245
2246         Calculate video position and size within the renderer box in WebCore. This
2247         way the aspect ratio calculation is not needed in each MediaPlayer implementation.
2248         
2249         This fixes video aspect ratio on Windows.
2250         
2251         Covered by an existing pixel test.
2252
2253         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2254         (WebCore::MediaPlayerPrivate::createQTMovieView):
2255         * rendering/RenderVideo.cpp:
2256         (WebCore::RenderVideo::videoBox):
2257         (WebCore::RenderVideo::paintReplaced):
2258         (WebCore::RenderVideo::updatePlayer):
2259         * rendering/RenderVideo.h:
2260
2261 2008-01-02  Ada Chan  <adachan@apple.com>
2262
2263         Fix windows build.
2264
2265         * WebCore.vcproj/WebCore.vcproj:
2266
2267 2008-01-02  John Sullivan  <sullivan@apple.com>
2268
2269         Reviewed by Dan Bernstein
2270         
2271         - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present
2272
2273         * loader/DocumentLoader.cpp:
2274         (WebCore::canonicalizedTitle):
2275         in the code that replaces control characters with white space, also replace the unicode line separator
2276         and paragraph separator characters
2277
2278 2008-01-02  Darin Adler  <darin@apple.com>
2279
2280         - fix buffer overruns seen on buildbot
2281
2282         * platform/text/StringImpl.cpp:
2283         (WebCore::countCharacter): Added this.
2284         (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression.
2285         (WebCore::StringImpl::toLengthArray): Ditto.
2286         (WebCore::StringImpl::replace): Added assertions.
2287
2288 2008-01-02  Darin Adler  <darin@apple.com>
2289
2290         Reviewed by Maciej.
2291
2292         - fix http://bugs.webkit.org/show_bug.cgi?id=16657
2293           Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
2294         - fix http://bugs.webkit.org/show_bug.cgi?id=16659
2295           Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
2296
2297         Tests: dom/html/level2/html/HTMLCollection07.html
2298                dom/html/level2/html/HTMLCollection08.html
2299                dom/html/level2/xhtml/HTMLCollection07.xhtml
2300                dom/html/level2/xhtml/HTMLCollection08.xhtml
2301                fast/dom/HTMLTableElement/early-acid3-65-excerpt.html
2302                fast/dom/HTMLTableElement/early-acid3-66-excerpt.html
2303
2304         * GNUmakefile.am: Added HTMLTableRowsCollection.
2305         * WebCore.pro: Ditto.
2306         * WebCore.vcproj/WebCore.vcproj: Ditto.
2307         * WebCore.xcodeproj/project.pbxproj: Ditto.
2308         * WebCoreSources.bkl: Ditto.
2309
2310         * dom/XMLTokenizer.cpp: Took out stray include.
2311
2312         * html/HTMLCollection.cpp:
2313         (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use
2314         a separate class for that collection. Also got rid of the distinct types for custom collections
2315         that don't need them (use Other for both).
2316         * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual.
2317
2318         * html/HTMLFormCollection.cpp:
2319         (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements
2320         for the HTMLCollection type.
2321
2322         * html/HTMLTableElement.cpp:
2323         (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption.
2324         (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than
2325         keeping a pointer to it.
2326         (WebCore::HTMLTableElement::setCaption): Rewrote.
2327         (WebCore::HTMLTableElement::tHead): Ditto.
2328         (WebCore::HTMLTableElement::setTHead): Ditto.
2329         (WebCore::HTMLTableElement::tFoot): Ditto.
2330         (WebCore::HTMLTableElement::setTFoot): Ditto.
2331         (WebCore::HTMLTableElement::createTHead): Ditto.
2332         (WebCore::HTMLTableElement::deleteTHead): Ditto.
2333         (WebCore::HTMLTableElement::createTFoot): Ditto.
2334         (WebCore::HTMLTableElement::deleteTFoot): Ditto.
2335         (WebCore::HTMLTableElement::createCaption): Ditto.
2336         (WebCore::HTMLTableElement::deleteCaption): Ditto.
2337         (WebCore::HTMLTableElement::lastBody): Added.
2338         (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection.
2339         This is different from the old code mainly in how it handles rows outside any section.
2340         (WebCore::HTMLTableElement::deleteRow): Ditto.
2341         (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to
2342         these was a possible source of serious bugs too, including crashes with stale pointers, although I
2343         didn't write any test cases to prove those bugs existed.
2344         (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not
2345         just the cells of the first body. I believe this fixed rendering on some table tests. I think the code
2346         visits too many cells and also the use of recursion is overkill, but I didn't try to fix that.
2347         (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection.
2348         * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange
2349         things like DOM mutation events take things ot of the tree before they are safely referenced by
2350         JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded
2351         firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and
2352         Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed
2353         unneeded friend declaration for HTMLTableCellElement.
2354         * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions.
2355
2356         * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the
2357         collection in which order.
2358         * html/HTMLTableRowsCollection.h: Added.
2359
2360         * loader/FTPDirectoryDocument.cpp:
2361         (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of
2362         coming up with our own way of inserting a row. Simplifies things -- we can remove the code to
2363         create a tbody element.
2364
2365 2008-01-02  Darin Adler  <darin@apple.com>
2366
2367         Reviewed by Alice and Tim.
2368
2369         - try to fix GTK and Qt builds
2370
2371         * platform/win/ScrollViewWin.cpp:
2372         (WebCore::ScrollView::scroll): Improve logic slightly for the case of
2373         vertical scrolling when there's no vertical scroll bar.
2374
2375         * platform/gtk/ScrollViewGtk.cpp:
2376         (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this
2377         should be factored differently.
2378         * platform/qt/ScrollViewQt.cpp:
2379         (WebCore::ScrollView::scroll): Ditto.
2380
2381 2008-01-02  Darin Adler  <darin@apple.com>
2382
2383         Reviewed by Anders.
2384
2385         - http://bugs.webkit.org/show_bug.cgi?id=16712
2386           change StringImpl to take and return PassRefPtr instead of raw pointers
2387
2388         Also eliminated use of const StringImpl. Since StringImpl is immutable there
2389         is no distinction between a const and non-const one at the moment.
2390
2391         * WebCore.base.exp: Updated.
2392
2393         * css/CSSHelper.cpp:
2394         (WebCore::parseURL): Make String directly, not by making a StringImpl.
2395         * dom/Attr.cpp:
2396         (WebCore::Attr::createTextChild): Convert AtomicString to String with domString,
2397         not via StringImpl.
2398         (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String
2399         to a function that takes a String.
2400
2401         * dom/CDATASection.cpp: Removed unused constructor.
2402         (WebCore::CDATASection::cloneNode): Added a now-needed .get().
2403         (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr.
2404         * dom/CDATASection.h:
2405
2406         * dom/CharacterData.cpp:
2407         (WebCore::CharacterData::CharacterData): Removed unneeded initialization and
2408         ref() now that the string is a RefPtr. Also updated to not call "new StringImpl".
2409         (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's
2410         a RefPtr.
2411         (WebCore::CharacterData::setData): More of that.
2412         (WebCore::CharacterData::substringData): Ditto.
2413         (WebCore::CharacterData::appendData): Ditto.
2414         (WebCore::CharacterData::insertData): Ditto.
2415         (WebCore::CharacterData::deleteData): Ditto.
2416         (WebCore::CharacterData::replaceData): Ditto.
2417         (WebCore::CharacterData::nodeValue): Ditto.
2418         (WebCore::CharacterData::dispatchModifiedEvent): Ditto.
2419         (WebCore::CharacterData::dump): Ditto.
2420         * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String
2421         instead, but since String adds extra branches to handle 0, I figured it was
2422         more conservative to just use RefPtr. Later it would be good to figure out
2423         which is preferred style and be more consistent. Maybe we'll phase out
2424         StringImpl, or maybe we'll go the other way and use it more since it can be
2425         more efficient.
2426
2427         * dom/DOMImplementation.cpp:
2428         (WebCore::addString): Changed set to use String rather than StringImpl.
2429         (WebCore::isSVG10Feature): Ditto.
2430         (WebCore::isSVG11Feature): Ditto.
2431         (WebCore::DOMImplementation::createDocument): Replaced custom code to
2432         find a colon with a call to String::find.
2433
2434         * dom/Range.cpp:
2435         (WebCore::Range::insertNode): Updated since the result of splitText is now
2436         a PassRefPtr.
2437
2438         * dom/Text.cpp:
2439         (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the
2440         result of this function be a PassRefPtr.
2441         (WebCore::Text::createRenderer): Ditto.
2442         (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr.
2443         * dom/Text.h:
2444
2445         * html/HTMLElement.cpp:
2446         (WebCore::HTMLElement::nodeName): Use String::upper.
2447
2448         * html/HTMLInputElement.cpp:
2449         (WebCore::numGraphemeClusters): Remove now-unneeded const.
2450         (WebCore::numCharactersInGraphemeClusters): Ditto.
2451
2452         * html/HTMLTokenizer.cpp:
2453         (WebCore::HTMLTokenizer::processToken): Updated for function name change.
2454
2455         * platform/text/AtomicString.cpp:
2456         (WebCore::CStringTranslator::translate): Updated since there is no longer
2457         a constructor that takes a string.
2458
2459         * platform/text/PlatformString.h: Added new constructors that take
2460         PassRefPtr and RefPtr. Removed misleading comment.
2461
2462         * platform/text/String.cpp:
2463         (WebCore::String::String): Changed to use StringImpl::create, which handles
2464         the empty string automatically.
2465         (WebCore::String::append): Ditto.
2466         (WebCore::String::charactersWithNullTermination): Similar.
2467         (WebCore::String::format): Ditto.
2468
2469         * platform/text/StringHash.h: Took out unneeded const.
2470
2471         * platform/text/StringImpl.cpp:
2472         (WebCore::deleteUCharVector): Changed to take a const pointer since the
2473         buffers are now const UChar buffers.
2474         (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the
2475         separate init functions. The constructors are now private and used only in
2476         the create functions and one or two other places.
2477         (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const.
2478         (WebCore::StringImpl::substring): Ditto. Also changed return value to be a
2479         PassRefPtr.
2480         (WebCore::StringImpl::characterStartingAt): Ditto.
2481         (WebCore::StringImpl::toLength): Ditto.
2482         (WebCore::StringImpl::toCoordsArray): Ditto.
2483         (WebCore::StringImpl::toLengthArray): Ditto.
2484         (WebCore::StringImpl::isLower): Ditto.
2485         (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we
2486         don't have to use new directly here. Makes empty string handling more consistent.
2487         (WebCore::StringImpl::upper): Ditto.
2488         (WebCore::StringImpl::secure): Ditto.
2489         (WebCore::StringImpl::foldCase): Ditto.
2490         (WebCore::StringImpl::stripWhiteSpace): Ditto.
2491         (WebCore::StringImpl::simplifyWhiteSpace): Ditto.
2492         (WebCore::StringImpl::capitalize): Ditto.
2493         (WebCore::StringImpl::toInt): Removed now-meaningless const.
2494         (WebCore::StringImpl::toInt64): Ditto.
2495         (WebCore::StringImpl::toUInt64): Ditto.
2496         (WebCore::StringImpl::toDouble): Ditto.
2497         (WebCore::StringImpl::toFloat): Ditto.
2498         (WebCore::StringImpl::find): Ditto.
2499         (WebCore::StringImpl::reverseFind): Ditto.
2500         (WebCore::StringImpl::endsWith): Ditto.
2501         (WebCore::StringImpl::replace): Ditto.
2502         (WebCore::equal): Ditto.
2503         (WebCore::equalIgnoringCase): Ditto.
2504         (WebCore::StringImpl::ascii): Ditto.
2505         (WebCore::StringImpl::defaultWritingDirection): Ditto.
2506         (WebCore::StringImpl::createStrippingNullCharacters): Ditto.
2507         (WebCore::StringImpl::adopt): Added special case so this uses the shared
2508         empty string like other functions. Also optimized the common case where the
2509         vector happens to already have the right size so we don't do a fastRealloc
2510         at all in those cases.
2511         (WebCore::StringImpl::create): Added. These are now the public functions for
2512         creating new StringImpl objects. They all implement the shared empty string.
2513         (WebCore::StringImpl::createWithTerminatingNullCharacter):
2514         * platform/text/StringImpl.h:
2515
2516         * platform/text/cf/StringCF.cpp:
2517         (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
2518         * platform/text/cf/StringImplCF.cpp:
2519         (WebCore::StringImpl::createCFString): Removed now-obsolete const.
2520         * platform/text/mac/StringImplMac.mm:
2521         (WebCore::StringImpl::operator NSString *): Ditto.
2522         * platform/text/mac/StringMac.mm:
2523         (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
2524         * platform/text/qt/StringQt.cpp:
2525         (WebCore::String::String): Ditto.
2526         * platform/text/wx/StringWx.cpp:
2527         (WebCore::String::String): Ditto.
2528         * rendering/RenderBR.cpp:
2529         (WebCore::RenderBR::RenderBR): Ditto.
2530
2531         * rendering/RenderSVGInlineText.cpp:
2532         (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr.
2533         * rendering/RenderSVGInlineText.h:
2534
2535         * rendering/RenderText.cpp:
2536         (WebCore::charactersAreAllASCII): Removed now-unneeded const.
2537         * rendering/RenderTextFragment.cpp:
2538         (WebCore::RenderTextFragment::originalText): Use RefPtr.
2539
2540 2008-01-02  Timothy Hatcher  <timothy@apple.com>
2541
2542         Reviewed by Oliver Hunt.
2543
2544         <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed
2545
2546         Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the
2547         internal element lookup tables. The represented DOM node object still holds the identifier
2548         it was assigned, and a later call to findTreeElement will use that original identifier
2549         against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup.
2550
2551         * page/inspector/treeoutline.js:
2552         (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier,
2553         but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup
2554         instead of an early return.
2555
2556 2008-01-02  Alice Liu  <alice.liu@apple.com>
2557
2558         Reviewed by Maciej.
2559
2560         Fixed <rdar://5283861> (problems scrolling in gmail message content area)
2561
2562         * platform/ScrollView.h:
2563         * platform/win/ScrollViewWin.cpp:
2564         (WebCore::ScrollView::scroll):
2565          Changed return value to bool to reflect success of scroll attempt
2566
2567 2008-01-02  Alexey Proskuryakov  <ap@webkit.org>
2568
2569         Fixed a typo (pointed out in review, but I somehow missed it at first).
2570
2571         * editing/EditorCommand.cpp: (WebCore::executeDelete):
2572
2573 2008-01-02  Alexey Proskuryakov  <ap@webkit.org>
2574
2575         Reviewed by Darin.
2576
2577         Resolved several FIXMEs in EditorCommand.
2578         Made recently added commands hidden from JS again.
2579         Removed BackwardDelete implementation, which used to be dead code, but got exposed now.
2580
2581         Tests: editing/execCommand/delete-no-scroll.html
2582                editing/execCommand/forward-delete-no-scroll.html
2583                editing/execCommand/insert-line-break-no-scroll.html
2584
2585         * editing/EditorCommand.cpp:
2586         (WebCore::executeDelete):
2587         (WebCore::executeForwardDelete):
2588         (WebCore::executeInsertLineBreak):
2589         (WebCore::supportedFromMenuOrKeyBinding):
2590         (WebCore::CommandEntry::):
2591
2592 2008-01-02  Alexey Proskuryakov  <ap@webkit.org>
2593
2594         Reviewed by Darin.
2595
2596         http://bugs.webkit.org/show_bug.cgi?id=14555
2597         action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice
2598
2599         http://bugs.webkit.org/show_bug.cgi?id=14774
2600         Submitted data only includes first input item
2601
2602         Reworked encoding of mailto URLs to match other browsers.
2603         Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit().
2604
2605         Tests: fast/forms/mailto/advanced-get.html
2606                fast/forms/mailto/advanced-put.html
2607                fast/forms/mailto/get-multiple-items-text-plain.html
2608                fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html
2609                fast/forms/mailto/get-multiple-items.html
2610                fast/forms/mailto/get-non-ascii.html
2611                fast/forms/mailto/get-non-ascii-text-plain.html
2612                fast/forms/mailto/get-overwrite-query.html
2613                fast/forms/mailto/post-append-query.html
2614                fast/forms/mailto/post-multiple-items-multipart-form-data.html
2615                fast/forms/mailto/post-multiple-items-text-plain.html
2616                fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html
2617                fast/forms/mailto/post-multiple-items.html
2618
2619         * html/HTMLFormElement.cpp:
2620         (WebCore::HTMLFormElement::submit):
2621         * loader/FrameLoader.cpp:
2622         (WebCore::FrameLoader::submitForm):
2623
2624 2008-01-02  Mark Rowe  <mrowe@apple.com>
2625
2626         Autotools build fix.
2627
2628         * GNUmakefile.am: Remove files before generating them, not after.
2629
2630 2008-01-02  Mark Rowe  <mrowe@apple.com>
2631
2632         Rubber-stamped by Alp Toker.
2633
2634         Add missing dependencies to some GNUmakefile.am rules.
2635
2636         * GNUmakefile.am:
2637
2638 2008-01-02  Mark Rowe  <mrowe@apple.com>
2639
2640         Reviewed by Alp Toker.
2641
2642         Autotools build fix.  Make can expand $@ to any of the targets for the rule,
2643         while we always want to use the name of the .cpp file as the output file.
2644
2645         * GNUmakefile.am:
2646
2647 2008-01-02  Luca Bruno  <lethalman88@gmail.com>
2648
2649         Reviewed by Alp Toker.
2650
2651         http://bugs.webkit.org/show_bug.cgi?id=16115
2652         [GTK] ContextMenu and ContextMenuItem lacks an implementation
2653
2654         Add context menu support.
2655
2656         Based on a patch by Holger Freyther.
2657
2658         * platform/gtk/ContextMenuGtk.cpp:
2659         (WebCore::menuItemActivated):
2660         (WebCore::ContextMenu::ContextMenu):
2661         (WebCore::ContextMenu::~ContextMenu):
2662         (WebCore::ContextMenu::appendItem):
2663         (WebCore::ContextMenu::setPlatformDescription):
2664         (WebCore::ContextMenu::releasePlatformDescription):
2665         * platform/gtk/ContextMenuItemGtk.cpp:
2666         (WebCore::ContextMenuItem::ContextMenuItem):
2667         (WebCore::ContextMenuItem::~ContextMenuItem):
2668         (WebCore::ContextMenuItem::releasePlatformDescription):
2669         (WebCore::ContextMenuItem::type):
2670         (WebCore::ContextMenuItem::action):
2671         (WebCore::ContextMenuItem::setAction):
2672         (WebCore::ContextMenuItem::platformSubMenu):
2673         (WebCore::ContextMenuItem::setSubMenu):
2674         (WebCore::ContextMenuItem::setChecked):
2675         (WebCore::ContextMenuItem::setEnabled):
2676
2677 2008-01-02  Alp Toker  <alp@atoker.com>
2678
2679         GTK+ autotools build fix. Track changes in r29073.
2680
2681         * GNUmakefile.am:
2682
2683 2008-01-01  Darin Adler  <darin@apple.com>
2684
2685         - fix release build
2686
2687         * bindings/js/kjs_binding.cpp:
2688         (KJS::setDOMException): Initialize to avoid uninitialized variable warning.
2689         Removed default so we get a warning if there's a missing case.
2690
2691 2008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
2692
2693         Scripting MIME Types application/ecmascript, application/javascript not viewable
2694         <http://bugs.webkit.org/show_bug.cgi?id=11063>
2695
2696         Reviewed by Darin.
2697
2698         This patch consolidates the list of acceptable MIME types for JavaScript
2699         source into the MIMETypeRegistry class, and replaces checks for these
2700         types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType().
2701
2702         No tests added since viewing JavaScript source is not testable.
2703
2704         * dom/DOMImplementation.cpp:
2705         (WebCore::DOMImplementation::isTextMIMEType): Use
2706         MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single
2707         hard-coded MIME type, "application/x-javascript".
2708
2709         * html/HTMLScriptElement.cpp:
2710         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of
2711         JavaScript MIME types from here to
2712         MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes().
2713
2714         * platform/MIMETypeRegistry.cpp:
2715         (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of
2716         MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript().
2717         (WebCore::initialiseSupportedNonImageMimeTypes): Remove single
2718         hard-coded MIME type, "application/x-javascript", from the list.
2719         (WebCore::initialiseMIMETypeRegistry): Initialise
2720         supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes
2721         with values in supportedJavaScriptMIMETypes.
2722         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added.
2723
2724         * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType().
2725
2726 2008-01-01  Sam Weinig  <sam@webkit.org>
2727
2728         Reviewed by Darin.
2729
2730         Patch for http://bugs.webkit.org/show_bug.cgi?id=16691
2731         Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc)
2732
2733         - Create JS objects for all the different types of exceptions, each with there own prototype and constructor.
2734         - Abstract all the logic and storage for exception classes in to an ExceptionBase class.
2735         - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException).
2736
2737         Tests: fast/dom/DOMException/EventException.html
2738                fast/dom/DOMException/RangeException.html
2739                fast/dom/DOMException/XPathException.html
2740                http/tests/xmlhttprequest/XMLHttpRequestException.html
2741                svg/custom/SVGException.html
2742
2743         * DerivedSources.make:
2744         * WebCore.pro:
2745         * WebCore.vcproj/WebCore.vcproj:
2746         * WebCore.xcodeproj/project.pbxproj:
2747         * WebCoreSources.bkl:
2748         * bindings/js/JSSVGMatrixCustom.cpp:
2749         (WebCore::JSSVGMatrix::inverse):
2750         (WebCore::JSSVGMatrix::rotateFromVector):
2751         * bindings/js/kjs_binding.cpp:
2752         (KJS::setDOMException):
2753         * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined
2754         in the IDL as the ObjC bindings do.
2755         * bindings/scripts/CodeGeneratorObjC.pm:
2756         * dom/DOMCoreException.cpp: Removed.
2757         * dom/DOMCoreException.h:
2758         (WebCore::DOMCoreException::DOMCoreException):
2759         * dom/DOMCoreException.idl:
2760         * dom/Event.h:
2761         * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h.
2762         (WebCore::EventException::EventException):
2763         (WebCore::EventException::):
2764         * dom/EventException.idl: Copied from WebCore/dom/DOMCoreException.idl.
2765         * dom/EventTargetNode.cpp:
2766         (WebCore::EventTargetNode::dispatchEvent):
2767         * dom/ExceptionBase.cpp: Copied from WebCore/dom/DOMCoreException.cpp.
2768         (WebCore::ExceptionBase::ExceptionBase):
2769         (WebCore::ExceptionBase::toString):
2770         * dom/ExceptionBase.h: Copied from WebCore/dom/DOMCoreException.h.
2771         (WebCore::ExceptionBase::code):
2772         * dom/ExceptionCode.cpp:
2773         (WebCore::getExceptionCodeDescription):
2774         * dom/ExceptionCode.h:
2775         (WebCore::):
2776         * dom/Range.cpp:
2777         (WebCore::Range::insertNode):
2778         (WebCore::Range::checkNodeWOffset):
2779         (WebCore::Range::checkNodeBA):
2780         (WebCore::Range::selectNode):
2781         (WebCore::Range::selectNodeContents):
2782         (WebCore::Range::surroundContents):
2783         * dom/RangeException.h:
2784         (WebCore::RangeException::RangeException):
2785         (WebCore::RangeException::):
2786         * dom/RangeException.idl:
2787         * page/DOMWindow.idl:
2788         * svg/SVGColor.cpp:
2789         (WebCore::SVGColor::setRGBColor):
2790         * svg/SVGException.h:
2791         (WebCore::SVGException::SVGException):
2792         (WebCore::SVGException::):
2793         * svg/SVGException.idl:
2794         * svg/SVGLocatable.cpp:
2795         (WebCore::SVGLocatable::getTransformToElement):
2796         * xml/XMLHttpRequest.cpp:
2797         (WebCore::XMLHttpRequest::dispatchEvent):
2798         (WebCore::XMLHttpRequest::open):
2799         (WebCore::XMLHttpRequest::send):
2800         * xml/XMLHttpRequest.h:
2801         * xml/XMLHttpRequestException.h: Copied from WebCore/dom/DOMCoreException.h.
2802         (WebCore::XMLHttpRequestException::XMLHttpRequestException):
2803         (WebCore::XMLHttpRequestException::):
2804         * xml/XMLHttpRequestException.idl: Copied from WebCore/dom/DOMCoreException.idl.
2805         * xml/XPathEvaluator.h:
2806         * xml/XPathException.h: Copied from WebCore/dom/DOMCoreException.h.
2807         (WebCore::XPathException::XPathException):
2808         (WebCore::XPathException::):
2809         * xml/XPathException.idl: Copied from WebCore/dom/DOMCoreException.idl.
2810         * xml/XPathParser.cpp:
2811         (WebCore::XPath::Parser::parseStatement):
2812         * xml/XPathResult.cpp:
2813         (WebCore::XPathResult::convertTo):
2814         (WebCore::XPathResult::numberValue):
2815         (WebCore::XPathResult::stringValue):
2816         (WebCore::XPathResult::booleanValue):
2817         (WebCore::XPathResult::singleNodeValue):
2818         (WebCore::XPathResult::snapshotLength):
2819         (WebCore::XPathResult::iterateNext):
2820         (WebCore::XPathResult::snapshotItem):
2821
2822 2008-01-01  Sam Weinig  <sam@webkit.org>
2823
2824         Remove JSDomExceptionConstructor.lut.h from clean step
2825         as it no longer exists.
2826
2827         * GNUmakefile.am:
2828
2829 2008-01-01  Dan Bernstein  <mitz@apple.com>
2830
2831         - Windows build fix
2832
2833         * WebCore.vcproj/WebCore.vcproj:
2834
2835 2008-01-01  Sam Weinig  <sam@webkit.org>
2836
2837         Try again to fix the builds
2838
2839         * DerivedSources.make:
2840
2841 2008-01-01  Sam Weinig  <sam@webkit.org>
2842
2843         Fix non-mac builds.
2844
2845         * WebCore.pro:
2846         * WebCore.vcproj/WebCore.vcproj:
2847         * WebCoreSources.bkl:
2848
2849 2008-01-01  Eric Seidel  <eric@webkit.org>
2850
2851         Reviewed by Alexey.
2852
2853         Don't replace \ with / in data: urls
2854         http://bugs.webkit.org/show_bug.cgi?id=16692
2855
2856         Test: fast/loader/url-data-replace-backslash.html
2857
2858         * platform/KURL.cpp:
2859         (WebCore::KURL::init):
2860
2861 2008-01-01  Alp Toker  <alp@atoker.com>
2862
2863         GTK+ autotools build fix. Track changes in r29051, r29058 and pass the
2864         correct parameter to AM_INIT_AUTOMAKE.
2865
2866         * GNUmakefile.am:
2867
2868 2007-12-31  Sam Weinig  <sam@webkit.org>
2869
2870         Reviewed by Darin.
2871
2872         Patch for http://bugs.webkit.org/show_bug.cgi?id=16637
2873         Acid3 expects ExeceptionCode constants to be defined on DOMException objects
2874
2875         - Make DOMException a real JS object.
2876
2877         Test: fast/dom/DOMException/prototype-object.html
2878
2879         * DerivedSources.make:
2880         * WebCore.xcodeproj/project.pbxproj:
2881
2882         This is no longer needed as the autogenerated classes now includes the
2883         constructor.
2884         * bindings/js/JSDOMExceptionConstructor.cpp: Removed.
2885         * bindings/js/JSDOMExceptionConstructor.h: Removed.
2886
2887         Create on demand and use the new class for DOMExceptions.
2888         * bindings/js/kjs_binding.cpp:
2889         (KJS::setDOMException):
2890
2891         Remove no longer needed custom constructor getter.
2892         * bindings/js/kjs_window.cpp:
2893         (KJS::Window::getValueProperty):
2894
2895         Don't expose DOMCoreException as the name of class by special casing
2896         the user visible class name to be DOMException.
2897         * bindings/scripts/CodeGeneratorJS.pm:
2898
2899         The DOMException class/file needs to be named DOMCoreException because there is
2900         name conflict with one of the Objective-C bindings classes.  It should be renamed
2901         to DOMException when the Objective-C bindings are moved into WebKit.
2902         * dom/DOMCoreException.cpp: Added.
2903         (WebCore::DOMCoreException::DOMCoreException):
2904         (WebCore::DOMCoreException::toString):
2905         * dom/DOMCoreException.h: Added.
2906         (WebCore::DOMCoreException::):
2907         (WebCore::DOMCoreException::code):
2908         (WebCore::DOMCoreException::name):
2909         (WebCore::DOMCoreException::message):
2910         * dom/DOMCoreException.idl: Added.
2911         * page/DOMWindow.idl:
2912
2913 2007-12-31  Sam Weinig  <sam@webkit.org>
2914
2915         Re-enable querySelector and querySelectorAll and touch the necessary files to not
2916         kill the windows build.
2917
2918         * WebCore.vcproj/build-generated-files.sh:
2919         * bindings/scripts/CodeGeneratorCOM.pm:
2920         * dom/Document.idl:
2921         * dom/Element.idl:
2922
2923 2007-12-31  Darin Adler  <darin@apple.com>
2924
2925         - fix Windows build
2926
2927         * dom/Document.idl: Temporarily disable querySelector and querySelectorAll, since they are showing
2928         up as pure virtual functions. Sam can fix this later.
2929         * dom/Element.idl: Ditto.
2930
2931 2007-12-31  Dan Bernstein  <mitz@apple.com>
2932
2933         Reviewed by Darin Adler.
2934
2935         - fix http://bugs.webkit.org/show_bug.cgi?id=14134
2936           <rdar://problem/5655160> REGRESSION (r25353): Whitespace nodes ignored between inline list items
2937
2938         Test: fast/dynamic/create-renderer-for-whitespace-only-text.html
2939
2940         * dom/Node.cpp:
2941         (WebCore::Node::attach): Added code to check if this node's renderer
2942         has become the "previous renderer" of any sibling text node, and if so,
2943         ensure that that node gets a renderer if it now needs one.
2944         (WebCore::Node::createRendererIfNeeded): Removed the assertion that the
2945         node is not attached.
2946
2947 2007-12-31  Darin Adler  <darin@apple.com>
2948
2949         Reviewed by Mitz.
2950
2951         - fix http://bugs.webkit.org/show_bug.cgi?id=16641
2952           Acid3 reveals HTMLFormElement.elements fails to update when element name changes
2953
2954         Test: fast/dom/HTMLFormElement/elements-not-in-document.html
2955
2956         This was a bug specific to forms that are not in the document tree.
2957         The fix was to change the code to increment the document version number to match
2958         up with other document change tracking. Maybe at some point we can clean these up
2959         so we don't have so many competing change notification systems.
2960
2961         * dom/ContainerNode.cpp:
2962         (WebCore::ContainerNode::replaceChild): Removed bogus comment.
2963         (WebCore::ContainerNode::addChild): Added an explicit incDOMTreeVersion
2964         call here, since this code path bypasses the subtree-modified event code.
2965
2966         * dom/Element.cpp:
2967         (WebCore::Element::setAttribute): Remove the inDocument() check -- not all HTML
2968         collections are for things in the document.
2969         (WebCore::Element::setAttributeMap): Ditto.
2970
2971         * dom/EventTargetNode.cpp:
2972         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): Added a call to
2973         incDOMTreeVersion here; covers most cases of tree structure changes.
2974
2975         * dom/Node.cpp:
2976         (WebCore::Node::attach): Remove call to incDOMTreeVersion -- creating a renderer
2977         has nothing to do with changes to the DOM tree!
2978         (WebCore::Node::detach): Ditto.
2979
2980         * html/HTMLFormElement.cpp:
2981         (WebCore::HTMLFormElement::registerFormElement): Remove call to incDOMTreeVersion.
2982         This is handled at a lower level and doesn't need to be here.
2983         (WebCore::HTMLFormElement::removeFormElement): Ditto.
2984
2985 2007-12-31  Henry Mason  <hmason@mac.com>
2986
2987         Reviewed by Darin.
2988
2989         Patch for http://bugs.webkit.org/show_bug.cgi?id=14994
2990         Support for MessageEvent and cross-domain messaging
2991
2992         Test: http/tests/messaging/cross-domain-message-send.html
2993
2994         * DerivedSources.make:
2995         * WebCore.pro:
2996         * WebCore.vcproj/WebCore.vcproj:
2997         * WebCore.xcodeproj/project.pbxproj:
2998         * WebCoreSources.bkl:
2999         * bindings/js/JSDOMWindowCustom.cpp:
3000         (WebCore::JSDOMWindow::customGetOwnPropertySlot): Allow cross-domain access to the
3001         postMessage function.
3002         (WebCore::JSDOMWindow::postMessage):
3003         * bindings/js/JSEventCustom.cpp:
3004         (WebCore::toJS):
3005         * dom/Event.cpp:
3006         (WebCore::Event::isMessageEvent):
3007         * dom/Event.h:
3008         * dom/EventNames.h: New event name
3009         * dom/MessageEvent.cpp: Added.
3010         * dom/MessageEvent.h: Added.
3011         * dom/MessageEvent.idl: Added.
3012         * page/DOMWindow.cpp:
3013         (WebCore::DOMWindow::postMessage): Added.
3014         * page/DOMWindow.h:
3015         * page/DOMWindow.idl:
3016
3017 2007-12-31  Darin Adler  <darin@apple.com>
3018
3019         Suggested by Antti.
3020
3021         - turn ENABLE_VIDEO back off for Windows until we can install QuickTime on the build bots
3022
3023         * WebCore.vcproj/WebCore.vcproj: Removed ENABLE_VIDEO.
3024         * WebCore.vcproj/build-generated-files.sh: Ditto.
3025
3026 2007-12-30  Alp Toker  <alp@atoker.com>
3027
3028         Reviewed by Dan Bernstein.
3029
3030         Silence warning.
3031
3032         * dom/NodeList.h:
3033
3034 2007-12-30  Sam Weinig  <sam@webkit.org>
3035
3036         Reviewed by Oliver Hunt.
3037
3038         Fix for http://bugs.webkit.org/show_bug.cgi?id=16387
3039         Variable names can be enumerated across domains
3040         <rdar://problem/5640454>
3041
3042         Test: http/tests/security/cross-frame-access-enumeration.html
3043
3044         * bindings/js/kjs_window.cpp:
3045         (KJS::Window::getPropertyNames): Override method to test same-origin policy.
3046         * bindings/js/kjs_window.h:
3047
3048 2007-12-30  Sam Weinig  <sam@webkit.org>
3049
3050         Reviewed by Oliver Hunt.
3051
3052         Patch for http://bugs.webkit.org/show_bug.cgi?id=10686
3053         event instanceof MouseEvent throws exception
3054
3055         Add JS constructors for all the Event types.
3056
3057         Test: fast/events/event-instanceof.html
3058
3059         * WebCore.xcodeproj/project.pbxproj:
3060         * dom/KeyboardEvent.idl:
3061         * dom/MouseEvent.idl:
3062         * dom/MutationEvent.idl:
3063         * dom/OverflowEvent.idl:
3064         * dom/ProgressEvent.idl:
3065         * dom/TextEvent.idl:
3066         * dom/UIEvent.idl:
3067         * dom/WheelEvent.idl:
3068         * page/DOMWindow.idl:
3069
3070 2007-12-30  David Kilzer  <ddkilzer@webkit.org>
3071
3072         Reviewed by Darin.
3073
3074         - fix http://bugs.webkit.org/show_bug.cgi?id=15359
3075           JPEG image not shown when height is specified as percentage inside a table
3076
3077         The problem occurs when a replaced element (image, canvas, etc.) with
3078         a percent-height attribute is contained by a table cell with an auto-
3079         or percent-height attribute.  If there are no other conditions to cause
3080         the table cell's height to expand, an available height of zero will
3081         always be returned.  In these cases, the intrinsic height of the
3082         replaced element should be used if it is greater than the available
3083         height of the table cell.
3084
3085         Tests: fast/replaced/table-percent-height.html
3086                tables/mozilla/bugs/bug137388-1.html
3087                tables/mozilla/bugs/bug137388-2.html
3088
3089         * rendering/RenderBox.cpp:
3090         (WebCore::RenderBox::calcReplacedHeightUsing):
3091
3092 2007-12-30  Luca Bruno  <lethalman88@gmail.com>
3093
3094         Reviewed by Alp Toker.
3095
3096         http://bugs.webkit.org/show_bug.cgi?id=16099
3097         Crash in CURL for empty POST
3098
3099         We have to set POST even when the data is empty, otherwise cURL will
3100         hang while waiting for a response.
3101
3102         * platform/network/curl/ResourceHandleManager.cpp
3103         (ResourceHandleManager::setupPOST): allow empty POST
3104
3105 2007-12-29  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
3106
3107         Reviewed by Alp Toker.
3108
3109         Move all SVG related stuff inside SVG block. Don't include
3110         SVGNames, SVGElementFactory, and XLinkNames when SVG is not
3111         enabled
3112
3113         * GNUmakefile.am:
3114
3115 2007-12-29  Alexey Proskuryakov  <ap@webkit.org>
3116
3117         Reviewed by Darin.
3118
3119         http://bugs.webkit.org/show_bug.cgi?id=14428
3120         FCKEditor: Images disappear on drag/drop and copy/paste
3121
3122         Test: editing/pasteboard/drag-image-in-about-blank-frame.html
3123
3124         * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Don't use "about:blank" as a
3125         base URL, just like we don't use an empty one.
3126
3127 2007-12-29  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
3128
3129         Reviewed by Alp Toker.
3130
3131         http://bugs.webkit.org/show_bug.cgi?id=16669
3132         autotools update and fixes
3133
3134         Autotools update and database/icon database inclusion guard fixes
3135
3136         * GNUmakefile.am:
3137           - Update autotools config as per -r29012 changes
3138           - Fix CSSGrammar.h/cpp generation (Seo Sanghyeon, sanxiyn)
3139         * dom/Document.cpp:
3140         * loader/icon/IconDatabase.h:
3141         * page/DOMWindow.cpp:
3142         * page/InspectorController.cpp:
3143         * page/Settings.cpp:
3144         * storage/Database.h:
3145           - Remove ENABLE(DATABASE) inclusion guard. Let the includer add the guard instead.
3146
3147 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
3148
3149         Reviewed by Alexey.
3150
3151         Respect horiz-origin-x / horiz-origin-y / vert-origin-x / vert-origin-y properties when drawing SVG Fonts.
3152         (Fixes fonts-elem-05-t.svg in a --svg-fonts build)
3153
3154         * svg/SVGFont.cpp:
3155         (WebCore::Font::drawGlyphsWithSVGFont):
3156
3157 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
3158
3159         Reviewed by Oliver.
3160
3161         Further SVG Font work. Parse all <glyph> attributes, using SVGGlyphElement::buildGlyphIdentifier.
3162         SVGFontElement::collectGlyphs() now uses this method. Per character advance values work well now.
3163
3164         * platform/graphics/FontData.cpp:
3165         (WebCore::SVGFontData::convertEmUnitToPixel): Add helper function.
3166         (WebCore::FontData::ascent):
3167         (WebCore::FontData::descent):
3168         * platform/graphics/FontData.h:
3169         * svg/SVGFont.cpp:
3170         (WebCore::isVerticalWritingMode): Add helper function.
3171         (WebCore::Font::drawGlyphsWithSVGFont):
3172         * svg/SVGFontElement.cpp:
3173         (WebCore::SVGFontElement::collectGlyphs): Simplified implementation - SVGGlyphIdentifier now build by SVGGlyphElement.
3174         * svg/SVGGlyphElement.cpp:
3175         (WebCore::parseArabicForm): Helper function.
3176         (WebCore::parseOrientation): Ditto.
3177         (WebCore::parsePathData): Ditto.
3178         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
3179         * svg/SVGGlyphElement.h:
3180         (WebCore::SVGGlyphElement::rendererIsNeeded):
3181
3182 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
3183
3184         Reviewed by Oliver.
3185
3186         Refactor SVGAnimationElement::parseValues into a generic function parseDelimitedString.
3187         SVGAnimationElement needs to parse semicolon-seperated strings, SVGGlyphElement comma-seperated.
3188
3189         * svg/SVGAnimationElement.cpp:
3190         (WebCore::SVGAnimationElement::parseMappedAttribute):
3191         * svg/SVGParserUtilities.cpp:
3192         (WebCore::parseDelimitedString):
3193         * svg/SVGParserUtilities.h:
3194
3195 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
3196
3197         Reviewed by Maciej.
3198
3199         Add new helper structure SVGFontData - FontData holds this object as OwnPtr.
3200         Store several attribute values there (horiz-adv-x, horiz-origin-x etc..)
3201
3202         To optimize for the common case ('FontData' used for HTML rendering) it feels
3203         better to hold one OwnPtr in FontData, than several floats.
3204
3205         Parse all <font> attributes in SVGFontFaceElement::createFontData.
3206
3207         * platform/graphics/FontData.cpp:
3208         (WebCore::SVGFontData::SVGFontData):
3209         (WebCore::FontData::FontData):
3210         (WebCore::FontData::ascent):
3211         (WebCore::FontData::descent):
3212         * platform/graphics/FontData.h:
3213         (WebCore::FontData::isSVGFont):
3214         (WebCore::FontData::svgFontData):
3215         * svg/SVGFont.cpp:
3216         (WebCore::Font::drawGlyphsWithSVGFont):
3217         * svg/SVGFontElement.cpp:
3218         * svg/SVGFontElement.h:
3219         (WebCore::SVGFontElement::rendererIsNeeded):
3220         * svg/SVGFontFaceElement.cpp:
3221         (WebCore::SVGFontFaceElement::unitsPerEm):
3222         (WebCore::SVGFontFaceElement::createFontData):
3223
3224 2007-12-28  Darin Adler  <darin@apple.com>
3225
3226         - try to fix Windows and WX builds (broken by SVG Fonts check-in)
3227
3228         * platform/graphics/win/FontWin.cpp:
3229         (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent, now that it requires it.
3230         I can't see how it can be right to require the font size for ascent and descent,
3231         but not for other metrics functions in FontData.
3232
3233         * platform/graphics/wx/FontWx.cpp:
3234         (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent and FontData::descent.
3235
3236 2007-12-28  Dan Bernstein  <mitz@apple.com>
3237
3238         Reviewed by Mark Rowe.
3239
3240         - fix http://bugs.webkit.org/show_bug.cgi?id=16650
3241           <rdar://problem/5664872> REGRESSION (r28278-r28314): ATSUI uses LTR writing direction for all text runs
3242
3243         Covered by existing pixel tests.
3244
3245         * platform/graphics/mac/FontMac.mm:
3246         (WebCore::Font::drawComplexText): Corrected to maintain the style
3247         information in the adjusted text run when passing it to
3248         ATSUILayoutParameters. Prior to r28298 the style was passed separately.
3249
3250 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
3251
3252         Build fix, not reviewed.
3253
3254         Add wtf/OwnPtr.h include, to fix --svg-fonts build.
3255
3256         * css/SVGCSSFontFace.h:
3257
3258 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
3259
3260         Reviewed by Eric.
3261
3262         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support)
3263
3264         Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work.
3265         Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax
3266         are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet).
3267
3268         Limited to single char <-> glyph mapping, no ligatures supported yet.
3269         (ie. <glyph unicode='A'/> <glyph unicode='AB'/> - it ignores the 'AB' glyph definition for now)
3270
3271         Mark all SVG Font related classes & usages in ENABLE(SVG_FONTS) blocks.
3272
3273         No layout test changes for a --no-svg-fonts build, heavy changes if enabled. Because a lot of SVG Font
3274         attributes are not processed yet, the rendering looks wrong - hence disabled by default.)
3275
3276         * DerivedSources.make: Add SVGFontElement/SVGGlyphElement/SVGMissingGlyphElement
3277         * WebCore.pro: Updated build system.
3278         * WebCore.vcproj/WebCore.vcproj: Ditto.
3279         * WebCore.xcodeproj/project.pbxproj: Ditto.
3280         * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGFontElement/JSSVGGlyphElement/JSSVGMissingGlyphElement
3281         * bindings/objc/DOM.mm: Ditto (for DOMSVG*).
3282         (WebCore::createElementClassMap):
3283         * bindings/objc/DOMInternal.h: Ditto.
3284         * bindings/objc/DOMSVG.h: Ditto.
3285         * css/CSSFontFace.h: Mark three functions 'virtual', to be overriden by SVGCSSFontFace
3286         * css/CSSFontFaceSrcValue.h: Add functionality to identify as SVG CSS font face source.
3287         (WebCore::CSSFontFaceSrcValue::m_fontFaceElement): Hold a pointer to the font face which created it.
3288         (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
3289         (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement):
3290         * css/CSSFontSelector.cpp: Build 'SVGCSSFontFace' objects for local, in-document SVG fonts.
3291         (WebCore::CSSFontSelector::addFontFaceRule):
3292         * css/SVGCSSFontFace.cpp: Added. (Simplified implementation for SVG Fonts)
3293         (WebCore::SVGCSSFontFace::SVGCSSFontFace):
3294         (WebCore::SVGCSSFontFace::~SVGCSSFontFace):
3295         (WebCore::SVGCSSFontFace::isValid):
3296         (WebCore::SVGCSSFontFace::addSource):
3297         (WebCore::SVGCSSFontFace::getFontData):
3298         * css/SVGCSSFontFace.h: Added.
3299         * platform/graphics/cg/PathCG.cpp:
3300         (WebCore::Path::closeSubpath): Silence a CG warning when calling closeSubpath() on empty path.
3301         * platform/graphics/Font.cpp: Add some logic to call into SVG Font code when operating on SVG Fonts.
3302         (WebCore::Font::ascent): Pass font size to FontData::ascent() call
3303         (WebCore::Font::descent): Pass font size to FontData::descent() call
3304         (WebCore::Font::canUseGlyphCache): Always return true for SVG fonts here.
3305         (WebCore::Font::drawGlyphBuffer): Call drawGlyphsWithSVGFont (instead of drawGlyphs) if the primary font is a SVG font.
3306         * platform/graphics/Font.h: Add (SVG-only!) ability to store a RenderObject pointer, to the element which invoked the drawText() call.
3307         (WebCore::TextRun::TextRun):
3308         (WebCore::TextRun::referencingRenderObject):
3309         (WebCore::TextRun::setReferencingRenderObject):
3310         * platform/graphics/FontData.cpp:
3311         (WebCore::FontData::FontData):
3312         (WebCore::FontData::ascent):
3313         (WebCore::FontData::descent):
3314         * platform/graphics/FontData.h: Store a pointer to the SVGFontFaceElement, which created this FontData object - needed for drawGlyphsWithSVGFont().
3315         (WebCore::FontData::isSVGFont): Offer a way to determine wheter this is a FontData object, created by a SVGFontFaceElement.
3316         (WebCore::FontData::svgFontFace):
3317         * rendering/SVGInlineTextBox.cpp:
3318         (WebCore::SVGInlineTextBox::calculateGlyphWidth): Add assertion.
3319         * rendering/SVGRootInlineBox.cpp:
3320         (WebCore::svgTextRunForInlineTextBox): Always call 'setReferencingRenderObject(myRenderSVGText)' on the new TextRun
3321         * svg/SVGFont.cpp: Added.
3322         (WebCore::Font::drawGlyphsWithSVGFont): Outsourced implementation of SVG Fonts into it's own file.
3323         * svg/SVGFontElement.cpp: Added. (Note: this holds the GlyphHashMap which associates certain <glyph> objects with unicode values)
3324         (WebCore::SVGFontElement::SVGFontElement):
3325         (WebCore::SVGFontElement::~SVGFontElement):
3326         (WebCore::SVGFontElement::parseMappedAttribute):
3327         (WebCore::SVGFontElement::collectGlyphs):
3328         (WebCore::SVGFontElement::glyphIdentifierForGlyphCode):
3329         * svg/SVGFontElement.h: Added.
3330         (WebCore::GlyphHash::hash):
3331         (WebCore::GlyphHash::equal):
3332         (WebCore::GlyphHashTraits::deletedValue):
3333         (WebCore::SVGFontElement::rendererIsNeeded):
3334         (WebCore::SVGFontElement::contextElement):
3335         * svg/SVGFontElement.idl: Added.
3336         * svg/SVGFontFaceElement.cpp: Build SVG specific 'FontData' object
3337         (WebCore::SVGFontFaceElement::unitsPerEm):
3338         (WebCore::SVGFontFaceElement::fontFamily):
3339         (WebCore::SVGFontFaceElement::createFontData): Builds SVG specified 'FontData' object with the markup specified ascent/descent values etc..
3340         (WebCore::SVGFontFaceElement::rebuildFontFace): Construct CSSFontFaceSrc object (marked as 'isSVGFontFaceSrc') to satisfy CSSFontSelector::addFontFaceRule.
3341         (WebCore::SVGFontFaceElement::insertedIntoDocument): Rebuild font face.
3342         (WebCore::SVGFontFaceElement::glyphIdentifierForGlyphCode): Allows drawGlyphsWithSVGFont to access the glyph hash map living in the SVGFontElement.
3343         * svg/SVGFontFaceElement.h: Fixed code formatting issues & wrap in ENABLE(SVG_FONTS) blocks.
3344         * svg/SVGFontFaceElement.idl: Ditto.
3345         * svg/SVGFontFaceFormatElement.cpp: Ditto.
3346         * svg/SVGFontFaceFormatElement.h: Ditto.
3347         * svg/SVGFontFaceFormatElement.idl: Ditto.
3348         * svg/SVGFontFaceNameElement.cpp: Ditto.
3349         * svg/SVGFontFaceNameElement.h: Ditto.
3350         * svg/SVGFontFaceNameElement.idl: Ditto.
3351         * svg/SVGFontFaceSrcElement.cpp: Ditto.
3352         * svg/SVGFontFaceSrcElement.h: Ditto.
3353         * svg/SVGFontFaceSrcElement.idl: Ditto.
3354         * svg/SVGFontFaceUriElement.cpp: Ditto.
3355         * svg/SVGFontFaceUriElement.h: Ditto.
3356         * svg/SVGFontFaceUriElement.idl: Ditto.
3357         * svg/SVGDefinitionSrcElement.cpp: Ditto.
3358         * svg/SVGDefinitionSrcElement.h: Ditto.
3359         * svg/SVGDefinitionSrcElement.idl: Ditto.
3360         * svg/SVGGlyphElement.cpp: Added.
3361         (WebCore::SVGGlyphElement::SVGGlyphElement):
3362         (WebCore::SVGGlyphElement::parseMappedAttribute):
3363         (WebCore::SVGGlyphElement::childrenChanged):
3364         * svg/SVGGlyphElement.h: Added.
3365         (WebCore::SVGGlyphElement::rendererIsNeeded):
3366         (WebCore::SVGGlyphIdentifier::): Structure holding all data to represent a SVG glyph (origin, advance, orientation etc..)
3367         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3368         * svg/SVGGlyphElement.idl: Added.
3369         * svg/SVGMissingGlyphElement.cpp: Added. (stub implementation)
3370         (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
3371         (WebCore::SVGMissingGlyphElement::parseMappedAttribute):
3372         (WebCore::SVGMissingGlyphElement::childrenChanged):
3373         * svg/SVGMissingGlyphElement.h: Added.
3374         (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
3375         * svg/SVGMissingGlyphElement.idl: Added.
3376         * svg/svgtags.in: Wrap all SVGFont* elements in ENABLE(SVG_FONTS) block - to assure --no-svg-fonts compilation works (which is the default for now!).
3377
3378 2007-12-27  Dan Bernstein  <mitz@apple.com>
3379
3380         Reviewed by Alexey Proskuryakov.
3381
3382         - fix http://bugs.webkit.org/show_bug.cgi?id=16628
3383           ASSERTION FAILED: m_resizeLayer (running layout tests)
3384
3385         * rendering/RenderLayer.cpp:
3386         (WebCore::RenderLayer::~RenderLayer): Avoid calling
3387         EventHandler::resizeLayerDestroyed() if the document is being destroyed.
3388
3389 2007-12-27  Dan Bernstein  <mitz@apple.com>
3390
3391         Reviewed by Oliver Hunt.
3392
3393         - fix http://bugs.webkit.org/show_bug.cgi?id=16603
3394           <rdar://problem/5664199> Crash when resizing text field
3395
3396         Test: fast/layers/resize-layer-deletion-crash.html
3397
3398         The event handler has only a weak reference to the layer that is
3399         currently in resize mode, so it is the layer's responsibility to let
3400         the event handler know if it has been destroyed while in that mode.
3401
3402         * page/EventHandler.cpp:
3403         (WebCore::EventHandler::resizeLayerDestroyed): Added. Resets
3404         m_resizeLayer to 0.
3405         * page/EventHandler.h:
3406         * rendering/RenderLayer.cpp:
3407         (WebCore::RenderLayer::~RenderLayer): Added a call to
3408         EventHandler::resizeLayerDestroyed() if the layer is in resize mode.
3409
3410 2007-12-27  Collin Jackson  <webkit@collinjackson.com>
3411
3412         Reviewed by Sam Weinig.
3413
3414         http://bugs.webkit.org/show_bug.cgi?id=16539
3415         <rdar://problem/5659269>
3416
3417         The same-origin check was missing in the implementation of 
3418         setTimeout, setInterval, addEventListener, and removeEventListener.
3419
3420         Suppose <http://www.badguy.com/> contains an iframe to 
3421         <http://www.goodguy.com/>. Now www.badguy.com can steal
3422         www.goodguy.com cookies by running this code:
3423
3424         setTimeout.call(frames[0], "alert(document.cookie)", 1000);
3425
3426         This patch changes the behavior so that setTimeout to does 
3427         nothing and returns an undefined value if the caller is not
3428         permitted to script the window whose setTimeout method is being
3429         called. The same applies to setInterval, addEventListener, and 
3430         removeEventListener.
3431
3432         Tests: http/tests/security/cross-frame-access-call.html
3433
3434         * bindings/js/kjs_window.cpp:
3435         (KJS::WindowProtoFuncSetTimeout::callAsFunction)
3436         (KJS::WindowProtoFuncSetInterval::callAsFunction)
3437         (KJS::WindowProtoFuncAddEventListener::callAsFunction)
3438         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction)
3439
3440 2007-12-27  Dan Bernstein  <mitz@apple.com>
3441
3442         Reviewed by Dave Hyatt and Sam Weinig.
3443
3444         - fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click
3445
3446         Test: fast/layers/add-layer-with-nested-stacking.html
3447         Test: fast/layers/remove-layer-with-nested-stacking.html
3448
3449         * rendering/RenderLayer.cpp:
3450         (WebCore::RenderLayer::addChild): If the new child is overflow-only
3451         but has children of its own, dirty the stacking context's z-order lists
3452         since the grandchildren might need to be in them.
3453         (WebCore::RenderLayer::removeChild): Similarly for the old child.
3454
3455 2007-12-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
3456
3457         Reviewed by Alp Toker.
3458
3459         http://bugs.webkit.org/show_bug.cgi?id=16353
3460         [GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.)
3461
3462         Added the flags mentioned in the bug only when doing 'debug'
3463         builds. -DGST_DISABLE_DEPRECATED only added when video is enabled.
3464
3465         * GNUmakefile.am:
3466         * WebCore.pro:
3467
3468 2007-12-27  Dan Bernstein  <mitz@apple.com>
3469
3470         Reviewed by Eric Seidel.
3471
3472         - fix http://bugs.webkit.org/show_bug.cgi?id=16490
3473           ASSERT in ~FrameView while viewing/reloading WICD test case
3474
3475         Test: fast/dynamic/paused-event-dispatch.html
3476
3477         * page/FrameView.cpp:
3478         (WebCore::FrameView::~FrameView):
3479         (WebCore::FrameView::layout): Changed to always pause event dispatch and
3480         always resume event dispatch, regardless of whether the post-layout
3481         task timer is active. However, if it is active, assert that event
3482         dispatch is still paused.
3483
3484 2007-12-27  Alexey Proskuryakov  <ap@webkit.org>
3485
3486         Reviewed by Maciej.
3487
3488         http://bugs.webkit.org/show_bug.cgi?id=14500
3489         need to be more generous about charset declaration with meta tag
3490         
3491         http://bugs.webkit.org/show_bug.cgi?id=12526
3492         <rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html
3493
3494         <rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head
3495
3496         <rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website
3497
3498         Tests: fast/encoding/ahram-org-eg.html
3499                fast/encoding/bandai-co-jp-releases.html
3500                fast/encoding/floraexpress-ru.html
3501                fast/encoding/hanarei-blog32-fc2-com.html
3502                fast/encoding/yahoo-mail.html
3503
3504         * loader/TextResourceDecoder.cpp:
3505         (WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've
3506         seen at least 512 bytes of input.
3507
3508 2007-12-26  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
3509
3510         Reviewed by Alp Toker.
3511
3512         http://bugs.webkit.org/show_bug.cgi?id=16390
3513         Use autotools or GNU make as the build system for the GTK port
3514
3515         * GNUmakefile.am: Added.
3516
3517 2007-12-26  Alexey Proskuryakov  <ap@webkit.org>
3518
3519         Reviewed by Sam Weinig.
3520
3521         http://bugs.webkit.org/show_bug.cgi?id=16609
3522         Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic
3523
3524         * manual-tests/xmlhttprequest-contenttype-empty.html: Removed (moved to LayoutTests/http).
3525
3526 2007-12-26  Mark Rowe  <mrowe@apple.com>
3527
3528         Windows build fix.
3529
3530         * platform/Threading.h:
3531
3532 2007-12-25  Rob Buis  <buis@kde.org>
3533
3534         Reviewed by Eric.
3535
3536         http://bugs.webkit.org/show_bug.cgi?id=15514
3537         <clipPath> with <use> not respected
3538         http://bugs.webkit.org/show_bug.cgi?id=16557
3539         SVG circle elements have been clipped away completely, instead of partially.
3540
3541         Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use.
3542
3543         * svg/SVGClipPathElement.cpp:
3544         (WebCore::SVGClipPathElement::canvasResource):
3545         * svg/SVGStyledTransformableElement.h:
3546         (WebCore::SVGStyledTransformableElement::toClipPath):
3547         * svg/SVGUseElement.cpp:
3548         (WebCore::isDirectReference):
3549         (WebCore::SVGUseElement::toClipPath):
3550         * svg/SVGUseElement.h:
3551
3552 2007-12-25  Sam Weinig  <sam@webkit.org>
3553
3554         Reviewed by Eric Seidel.
3555
3556         Clean up the files relating to NodeLists.
3557
3558         * dom/ChildNodeList.cpp:
3559         (WebCore::ChildNodeList::ChildNodeList):
3560         (WebCore::ChildNodeList::length):
3561         (WebCore::ChildNodeList::item):
3562         (WebCore::ChildNodeList::nodeMatches):
3563         * dom/ChildNodeList.h:
3564         * dom/DynamicNodeList.cpp:
3565         (WebCore::DynamicNodeList::itemForwardsFromCurrent):
3566         (WebCore::DynamicNodeList::itemBackwardsFromCurrent):
3567         (WebCore::DynamicNodeList::itemWithName):
3568         * dom/DynamicNodeList.h:
3569         (WebCore::DynamicNodeList::needsNotifications):
3570         * dom/NameNodeList.cpp:
3571         (WebCore::NameNodeList::NameNodeList):
3572         (WebCore::NameNodeList::rootNodeAttributeChanged):
3573         (WebCore::NameNodeList::nodeMatches):
3574         * dom/NameNodeList.h:
3575         * dom/NodeList.h:
3576         * dom/SelectorNodeList.h:
3577
3578 2007-12-25  Sam Weinig  <sam@webkit.org>
3579
3580         Fix non-mac builds.
3581