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