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