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