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