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