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