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