2008-01-17 Simon Hausmann <hausmann@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
2
3         MSVC Windows build fix. Forward declaring Document in CookieJar.h
4         seems not enough for MSVC.
5
6         * platform/network/win/CookieJarWin.cpp:
7
8 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
9
10         Reviewed by Maciej, Lars, Holger.
11
12         http://bugs.webkit.org/show_bug.cgi?id=16589
13
14         Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
15
16         * WebCore.pro:
17         * bindings/js/kjs_navigator.cpp:
18         (KJS::Navigator::getValueProperty):
19         * dom/Document.cpp:
20         (WebCore::Document::cookie):
21         * platform/CookieJar.h:
22         * platform/gtk/CookieJarGtk.cpp:
23         (WebCore::setCookies):
24         (WebCore::cookies):
25         * platform/mac/CookieJar.mm:
26         * platform/network/win/CookieJarWin.cpp:
27         * platform/qt/CookieJarQt.cpp:
28         (WebCore::setCookies):
29         (WebCore::cookies):
30         (WebCore::cookiesEnabled):
31         * platform/wx/TemporaryLinkStubs.cpp:
32
33 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
34
35         Reviewed by Holger.
36
37         Windows build fix. (use localtime_r again instead of _s)
38
39         * loader/FTPDirectoryDocument.cpp:
40         (WebCore::processFileDateString):
41
42 2008-01-17  Frans Englich  <fenglich@trolltech.com>
43
44         Reviewed by Simon Hausmann <hausmann@webkit.org>.
45
46         Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
47
48         * loader/FTPDirectoryDocument.cpp:
49
50 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
51
52         Reviewed by Holger.
53
54         Don't link QtWebKit against libQtXml when building against Qt 4.4.
55
56         This is not necessary anymore since QXmlStream has been moved into QtCore.
57
58         * WebCore.pro:
59
60 2008-01-17  HÃ¥vard Wall  <hwall@trolltech.com>
61
62         Reviewed by Simon Hausmann <hausmann@webkit.org>.
63
64         Fix compilation on arm
65
66         * platform/graphics/qt/GraphicsContextQt.cpp:
67         (WebCore::GraphicsContext::endTransparencyLayer):
68
69 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
70
71         Reviewed by Holger.
72
73         Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
74
75         * WebCore.pro:
76         * platform/network/qt/ResourceHandleQt.cpp:
77         * platform/qt/MIMETypeRegistryQt.cpp:
78         * platform/qt/PlugInInfoStoreQt.cpp:
79
80 2008-01-17  Frans Englich  <fenglich@trolltech.com>
81
82         Reviewed by Simon Hausmann <hausmann@webkit.org>.
83
84         Fixes compilation with MinGW.
85         Neither localtime_r nor localtime_s are available on MingW, so instead of
86         calling back to the thread-unsafe localtime use QDateTime instead.
87
88         * loader/FTPDirectoryDocument.cpp:
89         (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString):
90         (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth):
91         (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt):
92         * loader/FTPDirectoryParser.cpp:
93         (WebCore::parseOneFTPLine):
94
95 2008-01-17  Dan Bernstein  <mitz@apple.com>
96
97         Reviewed by Dave Hyatt.
98
99         - fix determinePitch for segmented fonts
100
101         Covered by and existing test.
102
103         * platform/graphics/FontFallbackList.cpp:
104         (WebCore::FontFallbackList::determinePitch): If the primary font is
105         segmented, treat as fixed pitch only if it has only one segment
106         and that segment is fixed-pitch.
107
108 2008-01-16  David Hyatt  <hyatt@apple.com>
109
110         Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
111
112         Make sure vertical-align length values are offset from their parents rather than being absolute to the
113         line.
114
115         Reviewed by olliej
116
117         Added fast/css/vertical-align-lengths.html
118
119         * rendering/RenderObject.cpp:
120         (WebCore::RenderObject::getVerticalPosition):
121
122 2008-01-16  Dan Bernstein  <mitz@apple.com>
123
124         Reviewed by Dave Hyatt.
125
126         - fix for @font-face rules with unicode-range: always use a local font where not
127           explicitly overlaid.
128
129         Test: fast/css/font-face-implicit-local-font.html
130
131         * css/CSSFontSelector.cpp:
132         (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit
133         @font-face rule with the local font the matches the family and description before
134         any explicit @font-face rules that overlay specific ranges of the same font.
135         * css/CSSSegmentedFontFace.h:
136         (WebCore::CSSSegmentedFontFace::numRanges): Addded.
137
138 2008-01-16  Antti Koivisto  <antti@apple.com>
139
140         Fix Tiger build.
141
142         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
143         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
144
145 2008-01-16  Antti Koivisto  <antti@apple.com>
146
147         Reviewed by Adele.
148         
149         OS X fix for <rdar://problem/5605682>
150         Disallow streaming protocols for media elements
151         and <rdar://problem/5668711>
152         Limit the container and codec types that the <video> tag supports
153         
154         - Disable unsupported QuickTime tracks types. 
155         - Disallow streaming protocols (for now).
156         - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute 
157           to limit QuickTime's access to external resources.
158         
159         Windows patch coming up.
160
161         Tests: media/broken-video.html
162                media/unsupported-rtsp.html
163                media/unsupported-tracks.html
164
165         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
166         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
167         (WebCore::MediaPlayerPrivate::createQTMovie):
168         (WebCore::MediaPlayerPrivate::updateStates):
169         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
170
171 2008-01-16  Rodney Dawes  <dobey@wayofthemonkey.com>
172
173         Reviewed by Alp Toker.
174
175         http://bugs.webkit.org/show_bug.cgi?id=16897
176         Add shared plugins directory to INCLUDE path
177
178         Add the plugins directory to INCLUDEPATH
179
180         * GNUmakefile.am:
181         * WebCore.pro:
182
183 2008-01-16  Geoffrey Garen  <ggaren@apple.com>
184
185         Reviewed by Sam Weinig.
186         
187         Added a debug counter for SQL transactions. This helped me debug an SQL
188         leak.
189
190         * bindings/js/JSCustomSQLTransactionCallback.cpp:
191         (WebCore::):
192         (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
193         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
194         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
195         * bindings/js/JSCustomSQLTransactionCallback.h:
196
197         * bindings/js/kjs_window.cpp: Removed a silly comment.
198
199 2008-01-16  David Hyatt  <hyatt@apple.com>
200
201         Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
202
203         Reviewed by Eric Seidel
204
205         Added fast/table/dynamic-cellpadding.html
206
207         * html/HTMLTableElement.cpp:
208         (WebCore::HTMLTableElement::parseMappedAttribute):
209         * rendering/RenderTable.cpp:
210         (WebCore::RenderTable::setCellPadding):
211         * rendering/RenderTable.h:
212
213 2008-01-16  David Hyatt  <hyatt@apple.com>
214
215         Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
216
217         This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
218         The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
219         to apply.  In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
220         to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
221         laying out).
222
223         This new patch rewrites the quirk to be complete.  The original test case attached to the bug that tested a variety
224         of image/text combinations now fully matches WinIE.
225
226         Reviewed by Beth
227
228         Added fast/table/unbreakable-images-quirk.html
229
230         * rendering/RenderBlock.cpp:
231         (WebCore::RenderBlock::calcInlinePrefWidths):
232         * rendering/bidi.cpp:
233         (WebCore::RenderBlock::findNextLineBreak):
234
235 2008-01-16  Rodney Dawes  <dobey@wayofthemonkey.com>
236
237         Reviewed by Jon Honeycutt
238
239         Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid
240         a circular dependency on PluginDatabaseWin
241         Remove the getFileVersion method, and just check the versions directly
242         in isPluginBlacklisted, as it was the only caller
243
244         http://bugs.webkit.org/show_bug.cgi?id=16884
245
246         * plugins/win/PluginDatabaseWin.cpp:
247         * plugins/win/PluginDatabaseWin.h:
248         * plugins/win/PluginPackageWin.cpp:
249         * plugins/win/PluginPackageWin.h:
250
251 2008-01-16  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
252
253         Reviewed by Lars.
254
255         * Set the cursor on the containingWindow() instead of the
256         nativeWidget()
257         * This should be safe even with plugins as the cursor is set
258         on the mouse events.
259
260         * platform/qt/WidgetQt.cpp:
261         (WebCore::Widget::setCursor):
262
263 2008-01-16  Brad Hughes  <bhughes@trolltech.com>
264
265         Reviewed by Lars.
266
267         Improve the sqlite3 dependency when building WebKit inside Qt.
268
269         Build sqlite3 into QtWebKit if a system sqlite3 development package
270         can't be found.
271
272         * WebCore.pro:
273
274 2008-01-16  Lars Knoll  <lars@trolltech.com>
275
276         Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
277
278         Implement GraphicsContext::clipOut and fix transparency layers.
279
280         Transparency layers where broken in two ways: It always used the
281         complete device rect as the size of the layer pixmap and the pixmaps
282         where not correctly initialized to transparent.
283
284         This fixes the worst drawing errors in the Inspector and makes drawing it
285         10 times faster.
286
287         * platform/graphics/qt/GraphicsContextQt.cpp:
288         (WebCore::toQtLineJoin):
289         (WebCore::TransparencyLayer::TransparencyLayer):
290         (WebCore::GraphicsContextPlatformPrivate::p):
291         (WebCore::GraphicsContext::platformContext):
292         (WebCore::GraphicsContext::savePlatformState):
293         (WebCore::GraphicsContext::restorePlatformState):
294         (WebCore::GraphicsContext::drawRect):
295         (WebCore::GraphicsContext::drawLine):
296         (WebCore::GraphicsContext::drawEllipse):
297         (WebCore::GraphicsContext::strokeArc):
298         (WebCore::GraphicsContext::drawConvexPolygon):
299         (WebCore::GraphicsContext::fillRect):
300         (WebCore::GraphicsContext::fillRoundedRect):
301         (WebCore::GraphicsContext::clip):
302         (WebCore::GraphicsContext::drawFocusRing):
303         (WebCore::GraphicsContext::beginTransparencyLayer):
304         (WebCore::GraphicsContext::endTransparencyLayer):
305         (WebCore::GraphicsContext::clearRect):
306         (WebCore::GraphicsContext::strokeRect):
307         (WebCore::GraphicsContext::setLineCap):
308         (WebCore::GraphicsContext::setLineJoin):
309         (WebCore::GraphicsContext::setMiterLimit):
310         (WebCore::GraphicsContext::setAlpha):
311         (WebCore::GraphicsContext::setCompositeOperation):
312         (WebCore::GraphicsContext::clipOut):
313         (WebCore::GraphicsContext::translate):
314         (WebCore::GraphicsContext::origin):
315         (WebCore::GraphicsContext::rotate):
316         (WebCore::GraphicsContext::scale):
317         (WebCore::GraphicsContext::clipOutEllipseInRect):
318         (WebCore::GraphicsContext::addInnerRoundedRectClip):
319         (WebCore::GraphicsContext::setPlatformStrokeStyle):
320         (WebCore::GraphicsContext::setPlatformStrokeThickness):
321         (WebCore::GraphicsContext::setPlatformFillColor):
322         (WebCore::GraphicsContext::setUseAntialiasing):
323
324 2008-01-16  Lars Knoll  <lars@trolltech.com>
325
326         Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
327
328         Trivially implement the themed search field by mapping it to a text field
329
330         Also add a bunch of notImplemented warnings for other places where we don't
331         have an implementatin in RenderTheme.
332
333         * platform/qt/RenderThemeQt.cpp:
334         (WebCore::RenderThemeQt::paintTextField):
335         (WebCore::RenderThemeQt::paintMenuListButton):
336         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
337         (WebCore::RenderThemeQt::paintSliderTrack):
338         (WebCore::RenderThemeQt::paintSliderThumb):
339         (WebCore::RenderThemeQt::paintSearchField):
340         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
341         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
342         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
343         (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
344         (WebCore::RenderThemeQt::paintSearchFieldDecoration):
345         (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
346         (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
347
348 2008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
349
350         Reviewed by Simon.
351
352         * Follow the EventHandlerWin.cpp and always return true in the handlers.
353         * Match the windows implementation more closely as well.
354         * This is fixing "selection" bugs with the Web Inspector
355
356         * page/qt/EventHandlerQt.cpp:
357         (WebCore::EventHandler::focusDocumentView):
358         (WebCore::EventHandler::passMousePressEventToSubframe):
359         (WebCore::EventHandler::passMouseMoveEventToSubframe):
360         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
361         (WebCore::EventHandler::passMousePressEventToScrollbar):
362
363 2008-01-16  Simon Hausmann  <hausmann@webkit.org>
364
365         Reviewed by Lars Knoll <lars@trolltech.com>.
366
367         Fix crashes in the new networking code.
368
369         When the ResourceLoader cancels the handle we have to make sure not to access
370         the resource handle afterwards again.
371
372         * platform/network/qt/QNetworkReplyHandler.cpp:
373         (WebCore::QNetworkReplyHandler::finish):
374         (WebCore::QNetworkReplyHandler::forwardData):
375
376 2008-01-16  Lars Knoll  <lars@trolltech.com>
377
378         Reviewed by Simon.
379
380         add conversion methods from and to QUrl to KURL.
381
382         Use them in the places I found at the moment. Fixes a bug
383         where form data was encoded twice.
384         Also fix QWebSettings to take a QUrl for the user style sheet
385         location.
386
387         * WebCore.pro:
388         * platform/KURL.h:
389         * platform/network/qt/QNetworkReplyHandler.cpp:
390         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
391         * platform/network/qt/ResourceRequestQt.cpp:
392         (WebCore::ResourceRequest::toNetworkRequest):
393         * platform/qt/KURLQt.cpp: Added.
394         (WebCore::KURL::KURL):
395         (WebCore::KURL::operator QUrl):
396
397 2008-01-15  Darin Adler  <darin@apple.com>
398
399         Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
400
401         - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
402
403         Put navigation policy delegate calls back for redirects.
404         Just rolled out the change where I took them out.
405
406         * loader/MainResourceLoader.cpp:
407         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
408         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
409         (WebCore::MainResourceLoader::willSendRequest):
410         * loader/MainResourceLoader.h:
411
412 2008-01-15  Adele Peterson  <adele@apple.com>
413
414         Reviewed by Sam.
415
416         Remove unused variable for old media control background drawing code.
417
418         * rendering/RenderThemeMac.h:
419         * rendering/RenderThemeMac.mm:
420         (WebCore::RenderThemeMac::RenderThemeMac):
421         (WebCore::RenderThemeMac::~RenderThemeMac):
422
423 2008-01-15  Sam Weinig  <sam@webkit.org>
424
425         Reviewed by Geoffrey Garen.
426
427         Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
428
429         - Update JS Function implementations to use a static function based method. This decreases
430           the binary size of an Intel only build by 1013.5K.
431
432         * WebCore.xcodeproj/project.pbxproj:
433         * bindings/js/JSDOMWindowCustom.cpp:
434         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
435         * bindings/js/JSEventTargetBase.cpp:
436         (WebCore::jsEventTargetAddEventListener):
437         (WebCore::jsEventTargetRemoveEventListener):
438         (WebCore::jsEventTargetDispatchEvent):
439         (WebCore::retrieveEventTargetAndCorrespondingNode):
440         * bindings/js/JSEventTargetBase.h:
441         * bindings/js/JSHTMLInputElementBase.cpp:
442         (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
443         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
444         * bindings/js/JSHTMLInputElementBase.h:
445         * bindings/js/JSLocation.cpp:
446         (WebCore::JSLocation::getOwnPropertySlot):
447         (WebCore::jsLocationProtoFuncReplace):
448         (WebCore::jsLocationProtoFuncReload):
449         (WebCore::jsLocationProtoFuncAssign):
450         (WebCore::jsLocationProtoFuncToString):
451         * bindings/js/JSLocation.h:
452         * bindings/js/JSXMLHttpRequest.cpp:
453         (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
454         (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
455         (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
456         (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
457         (KJS::jsXMLHttpRequestPrototypeFunctionSend):
458         (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
459         (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
460         (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
461         (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
462         (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
463         * bindings/js/JSXMLHttpRequest.h:
464         * bindings/js/JSXSLTProcessor.cpp:
465         (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
466         (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
467         (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
468         (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
469         (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
470         (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
471         (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
472         (KJS::jsXSLTProcessorPrototypeFunctionReset):
473         * bindings/js/JSXSLTProcessor.h:
474         * bindings/js/kjs_events.cpp:
475         (WebCore::jsClipboardPrototypeFunctionClearData):
476         (WebCore::jsClipboardPrototypeFunctionGetData):
477         (WebCore::jsClipboardPrototypeFunctionSetData):
478         (WebCore::jsClipboardPrototypeFunctionSetDragImage):
479         * bindings/js/kjs_events.h:
480         * bindings/js/kjs_navigator.cpp:
481         (KJS::pluginsFunctionRefresh):
482         (KJS::navigatorProtoFuncJavaEnabled):
483         * bindings/js/kjs_navigator.h:
484         * bindings/js/kjs_window.cpp:
485         (KJS::Window::getOwnPropertySlot):
486         (KJS::windowProtoFuncAToB):
487         (KJS::windowProtoFuncBToA):
488         (KJS::windowProtoFuncOpen):
489         (KJS::windowProtoFuncSetTimeout):
490         (KJS::windowProtoFuncClearTimeout):
491         (KJS::windowProtoFuncSetInterval):
492         (KJS::windowProtoFuncAddEventListener):
493         (KJS::windowProtoFuncRemoveEventListener):
494         (KJS::windowProtoFuncShowModalDialog):
495         (KJS::windowProtoFuncNotImplemented):
496         * bindings/js/kjs_window.h:
497         * bindings/scripts/CodeGenerator.pm:
498         * bindings/scripts/CodeGeneratorJS.pm:
499
500 2008-01-15  Adele Peterson  <adele@apple.com>
501
502         Reviewed by Dan.
503
504         Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
505
506         * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
507           Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down. 
508
509 2008-01-15  Alp Toker  <alp@atoker.com>
510
511         Rubber-stamped by Anders.
512
513         Make the HTTP backend configurable in the GTK+ port. curl is currently
514         the only option.
515
516         * GNUmakefile.am:
517
518 2008-01-15  Adele Peterson  <adele@apple.com>
519
520         Build fix.
521
522         * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
523
524 2008-01-14  Samuel Weinig  <sam@webkit.org>
525
526         Reviewed by Darin.
527
528         Fix for <rdar://problem/5671040>
529         REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
530
531         On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
532         which does not completely make up reported regression, but I was not able to
533         reproduce those findings either.
534
535         * css/CSSStyleSelector.cpp:
536         (WebCore::CSSStyleSelector::matchRules):
537         (WebCore::CSSStyleSelector::checkOneSelector):
538         * dom/ClassNames.cpp:
539         (WebCore::ClassNames::parseClassAttribute):
540         * dom/ClassNames.h:
541         (WebCore::ClassNames::contains):
542         (WebCore::ClassNames::operator[]):
543
544 2008-01-15  Adele Peterson  <adele@apple.com>
545
546         Build fix.  This time for real.
547
548         * rendering/RenderThemeSafari.cpp:
549
550 2008-01-15  Adele Peterson  <adele@apple.com>
551
552         Build fix.
553
554         * rendering/RenderThemeSafari.cpp:
555
556 2008-01-15  Dan Bernstein  <mitz@apple.com>
557
558         Reviewed by Darin Adler.
559
560         - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
561
562         * svg/SVGPreserveAspectRatio.cpp:
563         (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
564         from float to double in order to make the values passed to scale() and
565         translate() on Mac OS X and on Windows the same.
566         * svg/SVGPreserveAspectRatio.h:
567
568 2008-01-15  Alexey Proskuryakov  <ap@webkit.org>
569
570         Reviewed by Darin.
571
572         <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
573
574         Test: fast/encoding/mailto-always-utf-8.html
575
576         * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
577
578 2008-01-15  Adele Peterson  <adele@apple.com>
579
580         Reviewed by Adam and Antti.
581
582         WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
583
584         * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData.  Added symbol for wkDrawMediaSliderTrack.
585         * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
586         * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element.  Removed unnecessary margin for slider.
587         * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
588
589         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
590           Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
591         * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData.  Added wkDrawMediaSliderTrack.
592         * platform/mac/WebCoreSystemInterface.mm: ditto.
593
594         * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
595         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
596         * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
597         * rendering/RenderThemeMac.mm:
598         (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
599         (WebCore::RenderThemeMac::paintMediaSliderTrack): Added.  Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
600         * rendering/RenderThemeSafari.cpp: ditto.
601         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
602         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
603         * rendering/RenderThemeSafari.h:
604
605 2008-01-15  Alexey Proskuryakov  <ap@webkit.org>
606
607         Reviewed by Mark Rowe.
608
609         Some logging channels weren't initialized from user defaults.
610
611         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
612         Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
613
614 2008-01-14  Steve Falkenburg  <sfalken@apple.com>
615
616         Use shared vsprops for most vcproj properties.
617         
618         Reviewed by Darin.
619
620         * WebCore.vcproj/QTMovieWin.vcproj:
621         * WebCore.vcproj/WebCore.vcproj:
622         * platform/graphics/win/QTMovieWin.cpp:
623         (QTMovieWin::initializeQuickTime): Fix compiler warning.
624
625 2008-01-14  Eric Seidel  <eric@webkit.org>
626
627         Reviewed by mjs.
628
629         Remove a couple more uses of DeprecatedString
630
631         No functional changes, thus no test case.
632
633         * dom/Document.cpp:
634         (WebCore::Document::write):
635         (WebCore::Document::writeln):
636         (WebCore::Document::recalcStyleSelector):
637         * dom/Document.h:
638
639 2008-01-14  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
640
641         Reviewed by Alp Toker.
642
643         Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
644         http://bugs.webkit.org/show_bug.cgi?id=16874
645
646         * GNUmakefile.am:
647         * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
648         (WebCore::SVGResourceFilter::createPlatformData):
649         (WebCore::SVGResourceFilter::prepareFilter):
650         (WebCore::SVGResourceFilter::applyFilter):
651
652 2008-01-14  Finnur Thorarinsson  <finnur.webkit@gmail.com>
653
654         Reviewed by hyatt & eseidel.
655
656         - fix http://bugs.webkit.org/show_bug.cgi?id=16844
657         RenderText::addLineBoxRects erroneously includes last char for boundingBox
658
659         This patch fixes an issue with addLineBoxRects not correctly calculating the 
660         rects due to an off-by-one error in using box->end(). We were assuming that 
661         end() gives the index past the last character, when in fact it gives the 
662         index _of_ the last character. 
663
664         Eric Seidel and I could not find a way to test this via DRT. This method is 
665         only used by WebKit or Safari for displaying selection rects AFAICT.
666
667         * rendering/RenderText.cpp:
668         (WebCore::RenderText::addLineBoxRects):
669
670 2008-01-14  Darin Adler  <darin@apple.com>
671
672         Reviewed by Geoff.
673
674         - fix crash seen in layout tests
675
676         * html/HTMLFrameSetElement.cpp:
677         (WebCore::HTMLFrameSetElement::attach):
678         Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
679         HTMLElement or a Document, not necessarily an HTMLElement.
680
681 2008-01-14  Darin Adler  <darin@apple.com>
682
683         Reviewed by Sam.
684
685         - fix mistakes Sam noticed in my re-speed-up patch
686
687         * dom/Element.cpp:
688         (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
689         this inline.
690         * dom/Element.h: Moved virtualHasTagName out of header file.
691
692         * dom/Node.cpp:
693         (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
694         this inline.
695         * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
696         out of header file.
697
698         * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
699
700         * platform/text/StringImpl.h: Removed StringBuffer class.
701
702         * loader/DocumentLoader.cpp: Added StringBuffer.h include.
703         * platform/text/String.cpp: Ditto.
704         * platform/text/StringImpl.cpp: Ditto.
705         * platform/text/TextCodecLatin1.cpp: Ditto.
706         * platform/text/TextCodecUTF16.cpp: Ditto.
707         * platform/text/TextCodecUserDefined.cpp: Ditto.
708
709         * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
710         * WebCore.xcodeproj/project.pbxproj: Ditto.
711
712 2008-01-14  Dave Hyatt  <hyatt@apple.com>
713
714         Clean up all the misplaced graphics files after the recent file moves.  Clean up the project to
715         accurately reflect the location of all the graphics files.
716         
717         Reviewed by Adam
718
719         * WebCore.vcproj/WebCore.vcproj:
720         * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
721         * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
722         * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
723         * platform/win/GraphicsContextWin.cpp: Removed.
724         * platform/win/UniscribeController.cpp: Removed.
725         * platform/win/UniscribeController.h: Removed.
726
727 2008-01-14  Geoffrey Garen  <ggaren@apple.com>
728
729         Reviewed by Sam Weinig.
730         
731         Some cleanup to my last patch.
732
733         Removed one unused setter declaration and one unused setter definition.
734         
735         Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
736         because "get" is all over the IDL files, and "read" is not.
737
738         * bindings/scripts/CodeGeneratorJS.pm:
739         * page/DOMWindow.h:
740         (WebCore::DOMWindow::defaultstatus):
741         * page/DOMWindow.idl:
742
743 2008-01-14  Dan Bernstein  <mitz@apple.com>
744
745         Rubber-stamped by Alice Liu.
746
747         - remove reference to nonexistent file
748
749         * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
750
751 2008-01-14  Darin Adler  <darin@apple.com>
752
753         Reviewed by Adam.
754
755         - re-speed-up the page load test (my StringImpl change slowed it down)
756           <rdar://problem/5677241> 1.5% PLT regression from r29098
757
758         To reverse the slowdown I caused by changing StringImpl, I tightened it up,
759         and also did a little optimization in the HTML tokenizer and in other clients
760         of Vector.
761
762         * WebCore.base.exp: Removed export of a now-inline function.
763
764         * css/CSSParser.cpp:
765         (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
766         to get property ID. This could be sped up even more by writing a fast path
767         to use a local Vector<char> rather than allocating a string.
768         (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
769         allocating a string object to hold the number.
770         (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
771         DeprecatedString::toFloat.
772
773         * dom/Element.h:
774         (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
775         an Element*. It's still virtual if you have a Node*.
776         (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
777         case work.
778
779         * dom/Node.h:
780         (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
781         can override it with an inline. This is the same technique we use for
782         firstChild and lastChild.
783         (WebCore::Node::virtualHasTagName): This is the private virtual that Element
784         overrides.
785
786         * dom/Text.cpp:
787         (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
788         PassRefPtr.
789
790         * html/HTMLTokenizer.cpp:
791         (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
792         which is more efficient in cases where we know the character is not a newline
793         and hence we don't have to update the line number.
794         (WebCore::HTMLTokenizer::parseComment): Ditto.
795         (WebCore::HTMLTokenizer::parseServer): Ditto.
796         (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
797         (WebCore::HTMLTokenizer::parseText): Ditto.
798         (WebCore::HTMLTokenizer::parseEntity): Ditto.
799         (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
800         so there's one less branch taken for non-punctuation characters since this
801         code path is *so* hot.
802         (WebCore::HTMLTokenizer::write): More of the same.
803
804         * loader/Cache.cpp:
805         (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
806
807         * loader/DocumentLoader.cpp:
808         (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
809
810         * loader/TextResourceDecoder.cpp:
811         (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
812         (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
813         (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
814         (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
815
816         * platform/KURL.cpp:
817         (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
818
819         * platform/SharedBuffer.cpp:
820         (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
821
822         * platform/graphics/BitmapImage.cpp:
823         (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
824
825         * platform/network/FormData.cpp:
826         (WebCore::FormData::appendData): Use Vector::grow instead of resize.
827         (WebCore::FormData::flatten): Ditto.
828
829         * platform/text/AtomicString.cpp:
830         (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
831         for use by AtomicString. Avoids setting fields twice, and also preserves reference
832         count behavior (which I changed for the other constructors, since they're entirely
833         private and used only inside the class).
834         (WebCore::UCharBufferTranslator::translate): Ditto.
835
836         * platform/text/Base64.cpp:
837         (WebCore::base64Encode): Use Vector::grow instead of resize.
838         (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
839
840         * platform/text/PlatformString.h:
841         (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
842         made both versions inline.
843
844         * platform/text/SegmentedString.h:
845         (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
846         where the character is known to be a newline.
847         (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
848         the character is known not to be a newline.
849
850         * platform/text/String.cpp:
851         (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
852         (WebCore::String::insert): Ditto.
853         (WebCore::String::truncate): Ditto.
854         (WebCore::String::remove): Ditto.
855         (WebCore::String::format): Use Vector::grow instead of resize.
856
857         * platform/text/StringImpl.cpp:
858         (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
859         of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
860         since they all behave this way now. The only exceptions are the constructors for
861         AtomicString, which retain the old behavior.
862         (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
863         special WithOneRef constructor.
864         (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
865         (WebCore::StringImpl::lower): Ditto.
866         (WebCore::StringImpl::upper): Ditto.
867         (WebCore::StringImpl::secure): Ditto.
868         (WebCore::StringImpl::foldCase): Ditto.
869         (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
870         instead of resize (since half of the function uses Vector<UChar>).
871         (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
872         (WebCore::StringImpl::replace): Ditto.
873         (WebCore::StringImpl::ascii): Streamlined a bit.
874         (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
875         Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
876         Coded the check for null characters in a slightly more efficient way. Since this
877         is so hot, didn't call adopt at all, putting the code right in here, including
878         the call to the StringImpl constructor and adoptRef (for the fast case).
879         (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
880         Removed the attempt to resize the buffer at the time we adopt based on measuring
881         actual use and realizing that it's just a character here or there and not worth
882         a call to fastRealloc. Changed to use adoptRef since the constructor now starts
883         with a refCount of 1.
884         (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
885         starts with a refCount of 1.
886         (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
887         (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
888         itself is now inline.
889
890         * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
891         putting characters into a buffer before creating an immutable string. Not good
892         at resizing the way Vector<UChar> is, so only useful for things that rarely need
893         to be resized. Added a new AdoptBuffer constructor and empty constructor, but
894         made all constructors private so they can be inlined and only used inside the
895         StringImpl class. Added two new constructors for AtomicString. Made copy()
896         no longer inline. Changed the type of the [] operator to unsigned instead of
897         int and added an assertion. Made the hash functions inline.
898
899         * platform/text/TextCodecICU.cpp:
900         (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
901
902         * platform/text/TextCodecLatin1.cpp:
903         (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
904         (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
905
906         * platform/text/TextCodecUTF16.cpp:
907         (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
908
909         * platform/text/TextCodecUserDefined.cpp:
910         (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
911         (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
912
913         * platform/text/TextEncoding.cpp:
914         (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
915
916         * platform/text/TextStream.cpp:
917         (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
918
919         * platform/text/mac/TextCodecMac.cpp:
920         (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
921
922         * rendering/AutoTableLayout.cpp:
923         (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
924
925         * rendering/RenderFrameSet.h:
926         (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
927         size instead of calling resize on them after allocating empty.
928
929         * rendering/RenderListMarker.cpp:
930         (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
931
932         * rendering/RenderStyle.cpp: Removed CursorList::operator==.
933         * rendering/RenderStyle.h:
934         (WebCore::CursorList::operator==): Implemented using the Vector ==.
935         (WebCore::CursorList::operator!=): Ditto.
936
937         * rendering/RenderTable.cpp:
938         (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
939         (WebCore::RenderTable::appendColumn): Ditto.
940
941         * rendering/RenderTableSection.cpp:
942         (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
943
944         * rendering/bidi.cpp:
945         (WebCore::addMidpoint): Use Vector::grow instead of resize.
946
947         * xml/XPathNodeSet.h:
948         (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
949
950 2008-01-13  Steve Falkenburg  <sfalken@apple.com>
951
952         Share common files across projects.
953         
954         Unify vsprops files
955         Debug:          common.vsprops, debug.vsprops
956         Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
957         Release:        common.vsprops, release.vsprops
958         
959         Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
960         debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
961
962         Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
963
964         Reviewed by Adam Roben.
965
966         * WebCore.vcproj/PRODUCTVERSION: Removed.
967         * WebCore.vcproj/QTMovieWin.vcproj:
968         * WebCore.vcproj/VERSION: Removed.
969         * WebCore.vcproj/WebCore.vcproj:
970         * WebCore.vcproj/auto-version.sh: Removed.
971         * WebCore.vcproj/debug.vsprops: Removed.
972         * WebCore.vcproj/debug_internal.vsprops: Removed.
973         * WebCore.vcproj/release.vsprops: Removed.
974
975 2008-01-13  Dan Bernstein  <mitz@apple.com>
976
977         Reviewed by Darin Adler.
978
979         - fix http://bugs.webkit.org/show_bug.cgi?id=16865
980           fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
981
982         * rendering/RenderBox.cpp:
983         (WebCore::RenderBox::destroy): Removed the call to
984         RenderLayer::destroy() from here, because ~RenderLayer() calls
985         RenderObject() methods.
986         * rendering/RenderObject.cpp:
987         (WebCore::RenderObject::destroy): Added the call to
988         RenderLayer::destroy() here.
989
990 2008-01-13  Eric Seidel  <eric@webkit.org>
991
992         Reviewed by darin.
993
994         Range.insertNode does not update endContainer endIndex correctly
995         in the case where it had to split a text node.
996         http://bugs.webkit.org/show_bug.cgi?id=16765
997         
998         Darin pointed out during review that we still don't handle the dynamic
999         range case (where the dom tree changes not using range methods)
1000         Thus this code will get ripped out when we add that.  The test cases
1001         are still valid and useful however, so I'm landing this as-is.
1002
1003         Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
1004                fast/dom/Range/range-insertNode-splittext.html
1005
1006         * dom/Range.cpp:
1007         (WebCore::Range::insertNode): handle the splitText case correctly.
1008
1009 2008-01-13  Darin Adler  <darin@apple.com>
1010
1011         Reviewed by Eric.
1012
1013         - http://bugs.webkit.org/show_bug.cgi?id=16861
1014           get rid of unnecessary string copying
1015
1016         * dom/Document.cpp:
1017         (WebCore::Document::setDomain): Removed unneeded call to copy.
1018         (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
1019         unneeded length argument to substring, which stops at the end of the string
1020         if you don't specify a length.
1021         (WebCore::Document::createAttributeNS): Replaced code that was calling copy
1022         with more-efficient code using the substring function.
1023         * dom/StyledElement.cpp:
1024         (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
1025         * editing/InsertIntoTextNodeCommand.cpp:
1026         (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
1027         unneeded copy and also initialized text instead of assigning to it.
1028         (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
1029         (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
1030
1031         * editing/htmlediting.cpp:
1032         (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
1033         This one was particularly bad since we just turned around and copied it again!
1034
1035         * editing/markup.cpp:
1036         (WebCore::stringValueForRange): Removed unneeded call to copy.
1037
1038         * loader/icon/IconDatabase.cpp:
1039         (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
1040         get the path from the database object. This was the only reason the database
1041         had to keep its path around.
1042
1043         * platform/sql/SQLiteDatabase.cpp:
1044         (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
1045         convert the string to a null-terminated one.
1046         (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
1047         * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
1048         functio member. Also tweaked formatting and comments a bit. Removed the unused
1049         escapeSQLString function.
1050
1051         * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
1052
1053 2008-01-13  Oliver Hunt  <oliver@apple.com>
1054
1055         Attempt to fix QT build
1056
1057         * html/CanvasRenderingContext2D.cpp:
1058         (WebCore::CanvasRenderingContext2D::willDraw):
1059
1060 2008-01-13  Oliver Hunt  <oliver@apple.com>
1061
1062         Reviewed by Mark Rowe.
1063
1064         Avoid repainting the entire canvas element when possible.
1065
1066         http://bugs.webkit.org/show_bug.cgi?id=16859
1067
1068         We now only register the dirty regions of a canvas for repainting, rather
1069         than the entire element (though repaint coalescing may choose to combine
1070         these regions).  This doesn't cause a measurable regression in the worst
1071         case (clearing the canvas repeatedly), but is a moderate-large win if only
1072         a minor update has occurred.  If there is any CSS scaling applied to the
1073         canvas almost any update short of clearing the entire element is substantially
1074         faster.
1075
1076         * html/CanvasRenderingContext2D.cpp:
1077         (WebCore::CanvasRenderingContext2D::willDraw):
1078         * html/HTMLCanvasElement.cpp:
1079         (WebCore::HTMLCanvasElement::willDraw):
1080
1081 2008-01-13  Michael Goddard  <michael.goddard@trolltech.com>
1082
1083         Reviewed by Anders Carlsson.
1084
1085         Move RuntimeObjectImp creations into Instance.
1086         Make the ctor protected, and Instance a friend class, so
1087         that all creation of RuntimeObjectImps goes through
1088         one place.
1089
1090         * bindings/js/kjs_dom.cpp:
1091         (WebCore::getRuntimeObject):
1092
1093 2008-01-12  Rodney Dawes  <dobey@wayofthemonkey.com>
1094
1095         Gtk debug build fix.  Reviewed by Mark Rowe.
1096
1097         Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
1098
1099         * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
1100         * platform/Logging.cpp:
1101         * platform/Logging.h:
1102         * plugins/PluginDebug.h:
1103
1104 2008-01-12  Adam Barth  <hk9565@gmail.com>
1105
1106         Reviewed by Maciej (and also tweaked a little bit).
1107
1108         - more thorough fix for some crashing tests
1109           http://bugs.webkit.org/show_bug.cgi?id=16782
1110
1111         * loader/FrameLoader.cpp:
1112         (WebCore::FrameLoader::urlSelected):
1113         (WebCore::FrameLoader::submitForm):
1114         (WebCore::FrameLoader::executeIfJavaScriptURL):
1115         * loader/FrameLoader.h:
1116
1117 2008-01-12  Maciej Stachowiak  <mjs@apple.com>
1118
1119         Reviewed by Sam.
1120
1121         - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
1122         
1123         * platform/SecurityOrigin.cpp:
1124         (WebCore::isDefaultPortForProtocol):
1125         (WebCore::SecurityOrigin::SecurityOrigin):
1126
1127 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
1128
1129         Reviewed by Oliver Hunt.
1130         
1131         Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
1132         variable access (16644)
1133         
1134         Removed the ReadOnly bit from some properties, to match Firefox. Also
1135         removed status-related setters, to allow using their names as variable
1136         names.
1137         
1138         * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
1139         are one-way across domain boundaries, to match Firefox.
1140
1141         * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
1142
1143         * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
1144         we don't know that JSObject is our base class.
1145
1146         * page/DOMWindow.idl: Replaced lots of readonly declarations with
1147         [Replaceable] declarations.
1148
1149         * page/DOMWindow.h: Removed interfaces for setting status text via the
1150         DOM. (They were getting in the way of, e.g., "var status"
1151         declarations.) By default, IE 7 and FF disable these interfaces in order
1152         to defend against phishing attacks that try to spoof domain names in the
1153         statusbar.
1154         * page/DOMWindow.cpp:
1155
1156 2008-01-11  Anyang Ren  <anyang.ren@gmail.com>
1157
1158         Reviewed by Darin Adler.
1159
1160         http://bugs.webkit.org/show_bug.cgi?id=15960
1161         The view source mode should skip an empty attribute value only if
1162         the attribute name is not followed by an equal sign (=).
1163
1164         Test: fast/frames/viewsource-empty-attribute-value.html
1165
1166         * html/HTMLViewSourceDocument.cpp:
1167         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1168
1169 2008-01-11  Sylvain Pasche  <sylvain.pasche@gmail.com>
1170
1171         Reviewed by Alp Toker.
1172
1173         [Gtk] Uneven glyph spacing with subpixel antialiasing
1174         http://bugs.webkit.org/show_bug.cgi?id=16715
1175
1176         Use cairo font options from the default GDK screen when creating a
1177         scaled font.
1178
1179         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1180         (WebCore::FontPlatformData::FontPlatformData):
1181
1182 2008-01-11  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1183
1184         Reviewed by Maciej.
1185
1186         Added a new forwarding header, because Activation.h has been separated
1187         from function.h
1188
1189         * ForwardingHeaders/kjs/Activation.h: Added.
1190
1191 2008-01-11  Luca Bruno  <lethalman88@gmail.com>
1192
1193         Reviewed by Alp Toker.
1194
1195         http://bugs.webkit.org/show_bug.cgi?id=16729
1196         [cURL] Allow multiple files for upload
1197
1198         * platform/network/ResourceHandleInternal.h:
1199         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1200         * platform/network/curl/ResourceHandleCurl.cpp:
1201         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1202         * platform/network/curl/ResourceHandleManager.cpp:
1203         (WebCore::readCallback): added
1204         (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
1205         (WebCore::ResourceHandleManager::startJob):
1206         (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
1207         * platform/network/curl/ResourceHandleManager.h:
1208
1209 2008-01-11  Christian Dywan  <christian@imendio.com>
1210
1211         Reviewed by Alp Toker.
1212
1213         [Gtk] Menu items need underscores
1214         http://bugs.webkit.org/show_bug.cgi?id=16817
1215
1216         Add underscores to appropriate menu labels.
1217         Also adjust strings slightly.
1218
1219         * platform/gtk/ContextMenuItemGtk.cpp:
1220         (WebCore::ContextMenuItem::createNativeMenuItem):
1221         * platform/gtk/LocalizedStringsGtk.cpp:
1222         (WebCore::searchableIndexIntroduction):
1223         (WebCore::fileButtonChooseFileLabel):
1224         (WebCore::fileButtonNoFileSelectedLabel):
1225         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1226         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1227         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1228         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1229         (WebCore::contextMenuItemTagDownloadImageToDisk):
1230         (WebCore::contextMenuItemTagCopyImageToClipboard):
1231         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1232         (WebCore::contextMenuItemTagCopy):
1233         (WebCore::contextMenuItemTagGoBack):
1234         (WebCore::contextMenuItemTagGoForward):
1235         (WebCore::contextMenuItemTagStop):
1236         (WebCore::contextMenuItemTagReload):
1237         (WebCore::contextMenuItemTagCut):
1238         (WebCore::contextMenuItemTagPaste):
1239         (WebCore::contextMenuItemTagIgnoreSpelling):
1240         (WebCore::contextMenuItemTagLearnSpelling):
1241         (WebCore::contextMenuItemTagSearchWeb):
1242         (WebCore::contextMenuItemTagLookUpInDictionary):
1243         (WebCore::contextMenuItemTagOpenLink):
1244         (WebCore::contextMenuItemTagIgnoreGrammar):
1245         (WebCore::contextMenuItemTagSpellingMenu):
1246         (WebCore::contextMenuItemTagShowSpellingPanel):
1247         (WebCore::contextMenuItemTagCheckSpelling):
1248         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1249         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1250         (WebCore::contextMenuItemTagFontMenu):
1251         (WebCore::contextMenuItemTagBold):
1252         (WebCore::contextMenuItemTagItalic):
1253         (WebCore::contextMenuItemTagUnderline):
1254         (WebCore::contextMenuItemTagOutline):
1255         (WebCore::contextMenuItemTagWritingDirectionMenu):
1256         (WebCore::contextMenuItemTagDefaultDirection):
1257         (WebCore::contextMenuItemTagLeftToRight):
1258         (WebCore::contextMenuItemTagRightToLeft):
1259         (WebCore::contextMenuItemTagInspectElement):
1260         (WebCore::searchMenuClearRecentSearchesText):
1261
1262 2008-01-11  Ada Chan  <adachan@apple.com>
1263
1264         <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
1265         Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since 
1266         provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
1267         when a link to download a file has been clicked.
1268
1269         Reviewed by John and Anders.
1270
1271         * loader/FrameLoader.cpp:
1272         (WebCore::FrameLoader::provisionalLoadStarted):
1273         (WebCore::FrameLoader::commitProvisionalLoad):
1274
1275 2008-01-11  Jon Honeycutt  <jhoneycutt@apple.com>
1276
1277         Reviewed by Anders.
1278
1279         <rdar://problem/5683529> plugins/embed-inside-object.html is timing
1280         out/failing
1281
1282         Revert to using FrameTree::find() so that frame aliases like "_self" and
1283         "_current" are interpreted properly
1284
1285         * plugins/win/PluginViewWin.cpp:
1286         (WebCore::PluginViewWin::performRequest):
1287         (WebCore::PluginViewWin::load):
1288
1289 2008-01-11  Alp Toker  <alp@atoker.com>
1290
1291         Reviewed by Dave Hyatt and Mark Rowe.
1292
1293         http://bugs.webkit.org/show_bug.cgi?id=16089
1294         [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
1295
1296         Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
1297         port.
1298
1299         * GNUmakefile.am:
1300         * WebCore.pro:
1301         * loader/CachedFont.cpp:
1302         (WebCore::CachedFont::~CachedFont):
1303         (WebCore::CachedFont::ensureCustomFontData):
1304         (WebCore::CachedFont::platformDataFromCustomData):
1305         (WebCore::CachedFont::allReferencesRemoved):
1306         * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
1307         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1308         (WebCore::FontCustomPlatformData::fontPlatformData):
1309         (WebCore::releaseData):
1310         (WebCore::createFontCustomPlatformData):
1311         * platform/graphics/gtk/FontCustomPlatformData.h: Added.
1312         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1313         * platform/graphics/gtk/FontPlatformData.h:
1314         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1315         (WebCore::FontPlatformData::FontPlatformData):
1316         (WebCore::FontPlatformData::init):
1317         (WebCore::FontPlatformData::isFixedPitch):
1318         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1319         (WebCore::SimpleFontData::platformDestroy):
1320
1321 2008-01-11  Adam Roben  <aroben@apple.com>
1322
1323         Remove FrameLoader::committedFirstRealDocumentLoad
1324         
1325         This method no longer has any callers.
1326
1327         Reviewed by Hyatt.
1328
1329         * loader/FrameLoader.h:
1330
1331 2008-01-11  Antti Koivisto  <antti@apple.com>
1332
1333         Add a standalone version of the blog post video player as a manual test.
1334
1335         * manual-tests/resources/touch-poster.png: Added.
1336         * manual-tests/video-player.html: Added.
1337
1338 2008-01-10  Antti Koivisto  <antti@apple.com>
1339
1340         Reviewed by Adam.
1341
1342         Fix <rdar://problem/5682767>
1343         Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
1344         
1345         Take care that GWorld is created and deletes when needed as size or visibility changes.
1346
1347         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1348         (WebCore::MediaPlayerPrivate::load):
1349         * platform/graphics/win/QTMovieWin.cpp:
1350         (QTMovieWinPrivate::QTMovieWinPrivate):
1351         (QTMovieWinPrivate::updateGWorld):
1352         (QTMovieWinPrivate::setSize):
1353         (QTMovieWin::setVisible):
1354         (QTMovieWin::initializeQuickTime):
1355
1356 2008-01-11  David Hyatt  <hyatt@apple.com>
1357
1358         Fix for bug 11188, setting hspace on a table overrides align=center.  Fix align=center to be done using
1359         mapped attributes so that it does not get overridden by hspace all the time.
1360
1361         Reviewed by mitz
1362
1363         Added fast/table/table-hspace-align-center.html
1364
1365         * css/html4.css:
1366         * html/HTMLTableElement.cpp:
1367         (WebCore::HTMLTableElement::parseMappedAttribute):
1368
1369 2008-01-11  Mark Rowe  <mrowe@apple.com>
1370
1371         Qt build fix.
1372
1373         * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
1374
1375 2008-01-11  Mark Rowe  <mrowe@apple.com>
1376
1377         Qt build fix.  Add link stubs for the new FileSystem.h functions introduced
1378         in r29399.
1379
1380         * platform/qt/TemporaryLinkStubs.cpp:
1381         (WebCore::openTemporaryFile):
1382
1383 2008-01-11  Rodney Dawes  <dobey@wayofthemonkey.com>
1384
1385         Reviewed by Anders Carlsson.
1386
1387         Bug 16779: Make the PluginStream implementation be shared across platforms
1388         http://bugs.webkit.org/show_bug.cgi?id=16779
1389
1390         Add the new shared PluginStream files to the GTK+ and Win32 builds.
1391         Add PluginStreamClient class for the streamDidFinishLoading method.
1392         Add open/close/write methods to FileSystem for temporary file handling.
1393         Add PluginDebug.h and npfunctions.h for shared PluginStream.
1394         Add shared PluginStream.
1395         Remove PluginStreamWin.
1396         Update PluginViewWin to use shared PluginStream and PluginStreamClass.
1397
1398         * GNUmakefile.am:
1399         * WebCore.pro:
1400         * WebCore.vcproj/WebCore.vcproj:
1401         * platform/FileSystem.h:
1402         * platform/gtk/FileSystemGtk.cpp:
1403         * platform/win/FileSystemWin.cpp:
1404         * plugins/PluginDebug.h:
1405         * plugins/PluginStream.cpp:
1406         * plugins/PluginStream.h:
1407         * plugins/npfunctions.h:
1408         * plugins/win/PluginDebug: Moved to PluginDebug.h.
1409         * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
1410         * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
1411         * plugins/win/PluginViewWin.cpp:
1412         * plugins/win/PluginViewWin.h:
1413         * plugins/win/npfunctions.h: Moved to npfunctions.h
1414
1415 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
1416
1417         Try to fix Mac build: Edit the right .exp file.
1418
1419         * WebCore.base.exp:
1420
1421 2008-01-11  Geoffrey Garen  <ggaren@apple.com>
1422
1423         Try to fix Qt build: don't use pthreads if they're not available.
1424
1425         * bindings/js/GCController.cpp:
1426
1427 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
1428
1429         Reviewed by John Sullivan.
1430
1431         Fixed some world leak reports:
1432         * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
1433         Interpreter after running cvs-base suite
1434
1435         * <rdar://problem/5669423> PLT complains about world leak if browser
1436         window is open when PLT starts
1437         
1438         These were both bugs in the reporting mechanism, so I took the
1439         opportunity to do some house cleaning there.
1440
1441         Stupid class, I kill you:
1442         * bridge/JavaScriptStatistics.cpp: Removed.
1443         * bridge/JavaScriptStatistics.h: Removed.
1444
1445         * bindings/js/GCController.h: Adopted the only useful features of
1446         JavaScriptStatistics, since they were GC-related.
1447         * bindings/js/GCController.cpp:
1448
1449 2008-01-10  Eric Seidel  <eric@webkit.org>
1450
1451         Reviewed by Adele.
1452
1453         No functional changes, only code cleanup.
1454
1455         * css/MediaQueryEvaluator.cpp:
1456         (WebCore::compareValue): renamed from cmpvalue
1457         (WebCore::colorMediaFeatureEval):
1458         (WebCore::device_aspect_ratioMediaFeatureEval):
1459         (WebCore::device_pixel_ratioMediaFeatureEval):
1460         (WebCore::gridMediaFeatureEval):
1461         (WebCore::device_heightMediaFeatureEval):
1462         (WebCore::device_widthMediaFeatureEval):
1463         (WebCore::heightMediaFeatureEval):
1464         (WebCore::widthMediaFeatureEval):
1465
1466 2008-01-10  Dan Bernstein  <mitz@apple.com>
1467
1468         Reviewed by Anders Carlsson.
1469
1470         - fix a crash when calling alert() from a repeating timer
1471
1472         On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
1473         alert() and other similar functions, which deletes the actual
1474         DOMWindowTimer objects and replaces them with new objects when resuming.
1475
1476         * bindings/js/kjs_window.cpp:
1477         (KJS::Window::timerFired): Re-fetch the timer object from the map in
1478         case it has been deleted or replaced.
1479
1480 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
1481
1482         Reviewed by Sam.
1483
1484         - remove SecurityOriginData and fold its functionality into SecurityOrigin
1485
1486         * GNUmakefile.am:
1487         * WebCore.base.exp:
1488         * WebCore.pro:
1489         * WebCore.vcproj/WebCore.vcproj:
1490         * WebCore.xcodeproj/project.pbxproj:
1491         * WebCoreSources.bkl:
1492         * bindings/js/JSDOMWindowCustom.cpp:
1493         (WebCore::JSDOMWindow::postMessage):
1494         * dom/Document.cpp:
1495         (WebCore::Document::domain):
1496         * page/Chrome.cpp:
1497         (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
1498         (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
1499         * page/Chrome.h:
1500         * page/ChromeClient.h:
1501         * platform/SecurityOrigin.cpp:
1502         (WebCore::SecurityOrigin::copy):
1503         (WebCore::SecurityOrigin::createFromIdentifier):
1504         (WebCore::SecurityOrigin::stringIdentifier):
1505         * platform/SecurityOrigin.h:
1506         (WebCore::SecurityOrigin::host):
1507         (WebCore::SecurityOrigin::protocol):
1508         (WebCore::SecurityOrigin::port):
1509         (WebCore::SecurityOrigin::equal):
1510         * platform/SecurityOriginData.cpp: Removed.
1511         * platform/SecurityOriginData.h: Removed.
1512         * storage/Database.cpp:
1513         (WebCore::Database::openDatabase):
1514         (WebCore::Database::Database):
1515         (WebCore::Database::securityOriginCopy):
1516         * storage/Database.h:
1517         * storage/DatabaseTracker.cpp:
1518         (WebCore::SecurityOriginHash::hash):
1519         (WebCore::SecurityOriginHash::equal):
1520         (WebCore::SecurityOriginTraits::deletedValue):
1521         (WebCore::SecurityOriginTraits::emptyValue):
1522         (WebCore::DatabaseTracker::canEstablishDatabase):
1523         (WebCore::DatabaseTracker::hasEntryForOrigin):
1524         (WebCore::DatabaseTracker::hasEntryForDatabase):
1525         (WebCore::DatabaseTracker::establishEntryForOrigin):
1526         (WebCore::DatabaseTracker::fullPathForDatabase):
1527         (WebCore::DatabaseTracker::populateOrigins):
1528         (WebCore::DatabaseTracker::origins):
1529         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1530         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1531         (WebCore::DatabaseTracker::setDatabaseDetails):
1532         (WebCore::DatabaseTracker::usageForDatabase):
1533         (WebCore::DatabaseTracker::usageForOrigin):
1534         (WebCore::DatabaseTracker::quotaForOrigin):
1535         (WebCore::DatabaseTracker::setQuota):
1536         (WebCore::DatabaseTracker::addDatabase):
1537         (WebCore::DatabaseTracker::deleteAllDatabases):
1538         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
1539         (WebCore::DatabaseTracker::deleteDatabase):
1540         (WebCore::DatabaseTracker::deleteDatabaseFile):
1541         (WebCore::notificationQueue):
1542         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1543         (WebCore::DatabaseTracker::notifyDatabasesChanged):
1544         * storage/DatabaseTracker.h:
1545         * storage/DatabaseTrackerClient.h:
1546         * storage/SQLTransaction.cpp:
1547         (WebCore::SQLTransaction::openTransactionAndPreflight):
1548         (WebCore::SQLTransaction::runStatements):
1549         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1550         (WebCore::SQLTransaction::postflightAndCommit):
1551         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
1552         * svg/graphics/SVGImageEmptyClients.h:
1553         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
1554         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
1555
1556 2008-01-10  Anders Carlsson  <andersca@apple.com>
1557
1558         Reviewed by Sam.
1559
1560         Use the correct frame loader load method. Using the old method would not cause a 
1561         new window to be open if the frame navigation was not allowed.
1562         
1563         * plugins/win/PluginViewWin.cpp:
1564         (WebCore::PluginViewWin::performRequest):
1565
1566 2008-01-10  Alp Toker  <alp@atoker.com>
1567
1568         SVG font build fix for GTK+/autotools.
1569
1570         * GNUmakefile.am:
1571
1572 2008-01-10  Adam Barth  <hk9565@gmail.com>
1573
1574         Reviewed by Sam Weinig and Anders Carlsson.
1575
1576         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
1577         <rdar://problem/5657355>
1578
1579         This patch makes two changes:
1580
1581         1) Java calls FrameLoader::load in a slightly different way than
1582            JavaScript, which previously let a malicious web site bypass the
1583            shouldAllowNavigation check.  This patch adds that check to that
1584            code path.
1585
1586         2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
1587            findFrameForNavigation, which calls shouldAllowNavigation.  This
1588            treats disallowed frame navigations as if the named frame did not
1589            exist, resulting in a popup window when appropriate.
1590
1591         Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
1592                http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
1593
1594         * WebCore.base.exp:
1595         * bindings/js/kjs_window.cpp:
1596         (KJS::WindowProtoFuncOpen::callAsFunction):
1597         * loader/FrameLoader.cpp:
1598         (WebCore::FrameLoader::createWindow):
1599         (WebCore::FrameLoader::load):
1600         (WebCore::FrameLoader::post):
1601         (WebCore::FrameLoader::findFrameForNavigation):
1602         * loader/FrameLoader.h:
1603
1604 2008-01-10  John Sullivan  <sullivan@apple.com>
1605
1606         Written by Hyatt, reviewed by me
1607         
1608         - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display 
1609           a <video> element that uses controls attribute
1610
1611         * rendering/MediaControlElements.cpp:
1612         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1613         force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
1614         up this architecture, but this one-line fix will prevent the crash in the meantime
1615
1616 2008-01-10  Ada Chan  <adachan@apple.com>
1617
1618         Fix fast/forms/input-radio-checked-tab.html
1619         Meta key is not the same as Alt key on windows.
1620
1621         Reviewed by Darin.
1622
1623         * platform/win/KeyEventWin.cpp:
1624         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1625
1626 2008-01-10  Anders Carlsson  <andersca@apple.com>
1627
1628         Reviewed by Jon.
1629
1630         Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
1631         
1632         * plugins/win/PluginViewWin.cpp:
1633         (WebCore::PluginViewWin::performRequest):
1634         Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
1635         
1636         (WebCore::PluginViewWin::requestTimerFired):
1637         Don't leak the plugin requests.
1638         
1639         (WebCore::PluginViewWin::load):
1640
1641 2008-01-10  Anders Carlsson  <andersca@apple.com>
1642
1643         Reviewed by John Sullivan.
1644
1645         <rdar://problem/5455889>
1646         REGRESSION: BumperCar crashes when attempting to load a long invalid URL
1647         
1648         Make sure to call FrameLoader::receivedMainResourceError before calling
1649         FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
1650         clearing out the provisional document loader so that we won't call the didFail
1651         ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
1652         didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
1653         
1654         * loader/MainResourceLoader.cpp:
1655         (WebCore::MainResourceLoader::receivedError):
1656
1657 2008-01-10  Antti Koivisto  <antti@apple.com>
1658
1659         Reviewed by Adele.
1660
1661         Fix <rdar://problem/5658048>
1662         After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
1663         
1664         - Move to paused state if the playback had ended and the controller is used to seek to earlier time
1665         - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
1666
1667         * html/HTMLMediaElement.cpp:
1668         (WebCore::HTMLMediaElement::HTMLMediaElement):
1669         (WebCore::HTMLMediaElement::updateMediaPlayer):
1670         (WebCore::HTMLMediaElement::setPausedInternal):
1671         * html/HTMLMediaElement.h:
1672         * rendering/MediaControlElements.cpp:
1673         (WebCore::MediaControlTimelineElement::defaultEventHandler):
1674
1675 2008-01-10  Alexey Proskuryakov  <ap@webkit.org>
1676
1677         Reviewed by Adam Roben.
1678
1679         <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
1680
1681         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
1682         requests, as CFNetwork doesn't perform extension to MIME type mapping then.
1683
1684 2008-01-10  Adam Roben  <aroben@apple.com>
1685
1686         Fixes to allow multiple FrameViews on Windows
1687
1688         Reviewed by Hyatt.
1689
1690         * page/FrameView.cpp:
1691         (WebCore::FrameView::FrameView): Added a new constructor that takes an
1692         IntSize to specify the FrameView's initial size.
1693         (WebCore::FrameView::scheduleRelayout): Added an assertion that our
1694         Document is not in the page cache.
1695         * page/FrameView.h:
1696         * platform/gtk/WidgetGtk.cpp:
1697         (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
1698         * platform/qt/WidgetQt.cpp:
1699         (WebCore::Widget::~Widget): Ditto.
1700         * rendering/RenderWidget.cpp:
1701         (WebCore::RenderWidget::setWidget): Make sure to remove any existing
1702         Widget from the Widget hierarchy before deleting it. One instance
1703         where this is needed is when setWidget is called during FrameView
1704         creation on Windows.
1705
1706 2008-01-10  Alp Toker  <alp@atoker.com>
1707
1708         Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
1709
1710         * svg/SVGFontFaceElement.cpp:
1711
1712 2008-01-10  Justin Garcia  <justin.garcia@apple.com>
1713
1714         Reviewed by Alice Liu.
1715
1716         <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
1717         <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
1718         
1719         Make sure we have an updated layout before we perform any editing work.
1720
1721         * editing/EditCommand.cpp:
1722         (WebCore::EditCommand::apply):
1723         (WebCore::EditCommand::unapply):
1724         (WebCore::EditCommand::reapply):
1725
1726 2008-01-10  Luca Bruno  <lethalman88@gmail.com>
1727
1728         Reviewed by Alp Toker.
1729
1730         Back out r29206 which was causing regressions in curl http job
1731         cancellation.
1732
1733         * platform/network/curl/ResourceHandleManager.cpp
1734         (ResourceHandleManager::cancel): 
1735
1736 2008-01-10  Kevin McCullough  <kmccullough@apple.com>
1737
1738         Reviewed by Darin, Sam, and Adam.
1739
1740         - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
1741         - link in gmail message displays JavaScript alert falsely complaining
1742         about pop-up blocking
1743         - When trying to open a new window, we now see if the user gesture 
1744         occurred in the global dynamic object instead of the frame since that is
1745         the only place an event can occur. 
1746
1747         * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
1748         of the frame.
1749         (KJS::allowPopUp):
1750         (KJS::showModalDialog):
1751         (KJS::WindowProtoFuncOpen::callAsFunction):
1752
1753 2008-01-10  David Hyatt  <hyatt@apple.com>
1754
1755         Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
1756
1757         Reviewed by adele
1758
1759         Added fast/css/visibility-hit-test.html test case.
1760
1761         * rendering/RenderBox.cpp:
1762         (WebCore::RenderBox::nodeAtPoint):
1763
1764 2008-01-10  Lars Knoll  <lars@trolltech.com>
1765
1766         Reviewed by Simon.
1767
1768         rename QWebPageHistory to QWebHistory.
1769
1770         * WebCore.pro:
1771
1772 2008-01-10  Lars Knoll  <lars@trolltech.com>
1773
1774         Reviewed by Simon.
1775
1776         fix the drawing errors that where introduced due to refactoring.
1777
1778         Correctly clip to the rectangle we want to draw in ScrollView::paint().
1779
1780         * platform/qt/ScrollViewQt.cpp:
1781         (WebCore::ScrollView::paint):
1782
1783 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
1784
1785         Reviewed by Lars.
1786
1787         Temporarily disable gzip decompression in qhttp due to a bug.
1788
1789         * platform/network/qt/QNetworkReplyHandler.cpp:
1790         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1791
1792 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
1793
1794         Reviewed by Lars.
1795
1796         http://bugs.webkit.org/show_bug.cgi?id=16588
1797
1798         Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
1799         This allows implementing the synchronous loading correctly for the Qt port where the networking
1800         backend is bound to the page.
1801
1802         * loader/FrameLoader.cpp:
1803         (WebCore::FrameLoader::loadResourceSynchronously):
1804         * platform/network/ResourceHandle.h:
1805         * platform/network/cf/ResourceHandleCFNet.cpp:
1806         * platform/network/curl/ResourceHandleCurl.cpp:
1807         * platform/network/mac/ResourceHandleMac.mm:
1808         * platform/network/qt/ResourceHandleQt.cpp:
1809         (WebCore::ResourceHandle::loadResourceSynchronously):
1810
1811 2008-01-10  Kevin Ollivier  <kevino@theolliviers.com>
1812
1813         wx build fix for changes in r29328
1814
1815         * WebCoreSources.bkl:
1816
1817 2008-01-09  Maciej Stachowiak  <mjs@apple.com>
1818
1819         Reviewed by Sam.
1820
1821         - refactor SecurityOrigin in preparation for merging with SecurityOriginData
1822
1823         * platform/SecurityOrigin.cpp:
1824         (WebCore::SecurityOrigin::SecurityOrigin):
1825         (WebCore::SecurityOrigin::create):
1826         (WebCore::SecurityOrigin::createForFrame):
1827         * platform/SecurityOrigin.h:
1828
1829 2008-01-09  Ada Chan  <adachan@apple.com>
1830
1831         Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
1832
1833         Reviewed by Darin.
1834
1835         Test: fast/forms/tabs-with-modifiers.html
1836
1837         * page/EventHandler.cpp:
1838         (WebCore::EventHandler::defaultKeyboardEventHandler):
1839         (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.  
1840         Clean up the code a bit.
1841         * page/EventHandler.h:
1842         * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent.  It was
1843         only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
1844         no longer needs it.
1845         * page/FocusController.h:
1846
1847 2008-01-09  Antti Koivisto  <antti@apple.com>
1848
1849         Reviewed by Mitz.
1850
1851         Fix http://bugs.webkit.org/show_bug.cgi?id=16376
1852         <rdar://problem/5665206>
1853         <video> element fails to play frames when navigating back to page (16376)
1854         
1855         Don't make MediaPlayer visible when it is actually in page cache.
1856
1857         * rendering/RenderVideo.cpp:
1858         (WebCore::RenderVideo::updatePlayer):
1859
1860 2008-01-09  Anders Carlsson  <andersca@apple.com>
1861
1862         Reviewed by Darin.
1863
1864         <rdar://problem/5532361> 
1865         CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
1866         
1867         Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
1868         
1869         * page/Frame.cpp:
1870         (WebCore::Frame::pageDestroyed):
1871
1872 2008-01-09  John Sullivan  <sullivan@apple.com>
1873
1874         Reviewed by Adam Roben and Anders Carlsson
1875         
1876         - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to 
1877           missing-but-expected Reload item
1878
1879         * platform/ContextMenu.cpp:
1880         (WebCore::ContextMenu::populate):
1881         use isLoadingInAPISense when deciding whether to include Stop or Reload in context
1882         menu, to match the WebKit API
1883
1884 2008-01-09  Mark Rowe  <mrowe@apple.com>
1885
1886         Fix Windows debug build for opensource developers.
1887
1888         * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
1889
1890 2007-10-01  Allan Sandfeld Jensen  <sandfeld@kde.org>
1891
1892         Reworked by Eric, Reviewed by Hyatt.
1893
1894         - fix http://bugs.webkit.org/show_bug.cgi?id=9454
1895         Add support for :lang inheritance and xml:lang support.
1896
1897         Tests: fast/selectors/lang-inheritance.html
1898                fast/selectors/lang-inheritance2.html
1899                fast/selectors/lang-vs-xml-lang.html
1900                fast/selectors/lang-vs-xml-lang-xhtml.xhtml
1901
1902         * css/CSSStyleSelector.cpp:
1903         (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
1904         different LANG-attribute.
1905         (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
1906         for all the elements parents and the content-language of the document.
1907         * dom/Document.cpp:
1908         (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
1909         * dom/Document.h:
1910         (WebCore::Document::contentLanguage):
1911         (WebCore::Document::setContentLanguage):
1912
1913 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1914
1915         Reviewed by Brady.
1916
1917         Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
1918         http://bugs.webkit.org/show_bug.cgi?id=16678
1919
1920         Add a NULL check for controller before calling JSObjectSetPrivate.
1921
1922         * page/InspectorController.cpp:
1923         (WebCore::InspectorController::~InspectorController):
1924
1925 2008-01-08  Xan Lopez  <xan@gnome.org>
1926
1927         Reviewed by Alp Toker.
1928
1929         http://bugs.webkit.org/show_bug.cgi?id=15610
1930         [GTK] Text rendering using Pango
1931
1932         Use Pango to render Complex path text.
1933
1934         * platform/graphics/gtk/FontGtk.cpp:
1935         (WebCore::utf16_to_utf8):
1936         (WebCore::convertUniCharToUTF8):
1937         (WebCore::setPangoAttributes):
1938         (WebCore::Font::drawGlyphs):
1939         (WebCore::Font::drawComplexText):
1940         (WebCore::Font::floatWidthForComplexText):
1941         (WebCore::Font::offsetForPositionForComplexText):
1942
1943 2008-01-08  Timothy Hatcher  <timothy@apple.com>
1944
1945         Reviewed by Darin Adler.
1946
1947         <rdar://problem/5665860> With the web inspector displayed, a crash occurs
1948         at WebCore::Frame::document() when navigating back to previous page
1949
1950         This fixes the crash, but the inspector was totally broken with back/forward.
1951         So this also fixes back/forward navigation so the right main resource shows
1952         up in the inspector.
1953
1954         * page/InspectorController.cpp:
1955         (WebCore::addSourceToFrame): Add some null checks for the frame when
1956         getting the textEncoding. This was the crash.
1957         (WebCore::InspectorController::addScriptResource): Create a script object
1958         only if needed, and always add it by calling addResource.
1959         (WebCore::InspectorController::didCommitLoad): Check if the loader is 
1960         loading from the page cache, and clear m_mainResource. If the load is
1961         normal, then call addAndUpdateScriptResource with the main resource. 
1962         (WebCore::InspectorController::identifierForInitialRequest): If the load
1963         is from the page cache and the resource is the main resource call
1964         addAndUpdateScriptResource since didCommitLoad did not do it.
1965
1966 2008-01-08  Alp Toker  <alp@atoker.com>
1967
1968         Back out VIDEO by default in the GTK+ qmake build. The build bot
1969         doesn't have the necessary libraries installed.
1970
1971         * WebCore.pro:
1972
1973 2008-01-08  Alp Toker  <alp@atoker.com>
1974
1975         Win build fix for breakage introduced in r29328.
1976
1977         * WebCore.vcproj/WebCore.vcproj:
1978
1979 2008-01-08  Alp Toker  <alp@atoker.com>
1980
1981         Rubber-stamped by Mark Rowe.
1982
1983         Enable VIDEO by default in the GTK+ qmake build.
1984
1985         * WebCore.pro:
1986
1987 2008-01-08  Alp Toker  <alp@atoker.com>
1988
1989         GTK+ VIDEO build fix for breakage introduced in r29328.
1990
1991         Issue noticed by Ori_B.
1992
1993         * GNUmakefile.am:
1994         * WebCore.pro:
1995
1996 2008-01-08  Antti Koivisto  <antti@apple.com>
1997
1998         Reviewed by Darin.
1999         
2000         HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is 
2001         bit strange.
2002         
2003         Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
2004
2005         Test: media/constructors.html
2006
2007         * ChangeLog:
2008         * WebCore.xcodeproj/project.pbxproj:
2009         * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
2010         (WebCore::JSAudioConstructor::JSAudioConstructor):
2011         (WebCore::JSAudioConstructor::implementsConstruct):
2012         (WebCore::JSAudioConstructor::construct):
2013         * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
2014         * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
2015         * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
2016         * bindings/js/kjs_window.cpp:
2017         (KJS::Window::getValueProperty):
2018         * html/HTMLAudioElement.idl:
2019
2020 2008-01-08  Anders Carlsson  <andersca@apple.com>
2021
2022         Reviewed by Mitz.
2023
2024         Don't add the applet widget to the view, that's done later by RenderApplet.
2025             
2026         * loader/FrameLoader.cpp:
2027         (WebCore::FrameLoader::createJavaAppletWidget):
2028
2029 2008-01-08  Antti Koivisto  <antti@apple.com>
2030
2031         Reviewed by Weinig.
2032         
2033         Add security check for Audio constructor.
2034
2035         * bindings/js/kjs_window.cpp:
2036         (KJS::Window::getValueProperty):
2037
2038 2008-01-08  Timothy Hatcher  <timothy@apple.com>
2039
2040         Reviewed by Adam Roben.
2041
2042         <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
2043
2044         InspectorController::didLoadResourceFromMemoryCache was not being called for
2045         resources that loaded from the memory cache that the FrameLoader's client
2046         has already been notified about. This fix always calls the InspectorController
2047         when loading a memory cached resource. No test possible for the Web Inspector.
2048
2049         * loader/DocLoader.cpp:
2050         (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
2051         FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
2052         * loader/FrameLoader.cpp:
2053         (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
2054         (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
2055         (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
2056         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
2057         Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
2058         didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
2059         didTellClientAboutLoad.
2060         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
2061         in FrameLoader::loadedResourceFromMemoryCache.
2062         * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
2063         Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to 
2064         m_urlsClientKnowsAbout.
2065         * loader/SubresourceLoader.cpp:
2066         (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
2067
2068 2008-01-08  Dan Bernstein  <mitz@apple.com>
2069
2070         Rubber-stamped by Sam Weinig.
2071
2072         - prefix all member variables in CSSStyleSelector with m_
2073
2074         * css/CSSStyleSelector.cpp:
2075         (WebCore::CSSStyleSelector::CSSStyleSelector):
2076         (WebCore::CSSStyleSelector::init):
2077         (WebCore::CSSStyleSelector::setEncodedURL):
2078         (WebCore::CSSStyleSelector::loadDefaultStyle):
2079         (WebCore::CSSStyleSelector::matchRules):
2080         (WebCore::CSSStyleSelector::matchRulesForList):
2081         (WebCore::CSSStyleSelector::initElementAndPseudoState):
2082         (WebCore::CSSStyleSelector::initForStyleResolve):
2083         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2084         (WebCore::CSSStyleSelector::locateSharedStyle):
2085         (WebCore::CSSStyleSelector::matchUARules):
2086         (WebCore::CSSStyleSelector::styleForElement):
2087         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2088         (WebCore::CSSStyleSelector::updateFont):
2089         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2090         (WebCore::CSSStyleSelector::checkSelector):
2091         (WebCore::CSSStyleSelector::checkOneSelector):
2092         (WebCore::CSSStyleSelector::applyProperty):
2093         (WebCore::CSSStyleSelector::mapBackgroundImage):
2094         (WebCore::CSSStyleSelector::mapBackgroundSize):
2095         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2096         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2097         (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
2098         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2099         * css/CSSStyleSelector.h:
2100         (WebCore::CSSStyleSelector::):
2101         (WebCore::CSSRuleData::CSSRuleData):
2102         (WebCore::CSSRuleDataList::CSSRuleDataList):
2103         (WebCore::CSSRuleDataList::append):
2104         * css/SVGCSSStyleSelector.cpp:
2105         (WebCore::CSSStyleSelector::applySVGProperty):
2106         * rendering/RenderStyle.cpp:
2107         (WebCore::RenderStyle::isStyleAvailable):
2108
2109 2008-01-08  David D. Kilzer  <ddkilzer@apple.com>
2110
2111         Removed unnecessary files from Copy Bundle Resources build phase.
2112
2113         Reviewed by Sam.
2114
2115         * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
2116         DOMCoreException.idl
2117         EventException.idl
2118         MessageEvent.idl
2119         SVGAElement.idl
2120         SVGAngle.idl
2121         SVGAnimateColorElement.idl
2122         SVGAnimateElement.idl
2123         SVGAnimateTransformElement.idl
2124         SVGAnimatedAngle.idl
2125         SVGAnimatedBoolean.idl
2126         SVGAnimatedEnumeration.idl
2127         SVGAnimatedInteger.idl
2128         SVGAnimatedLength.idl
2129         SVGAnimatedLengthList.idl
2130         SVGAnimatedNumber.idl
2131         SVGAnimatedNumberList.idl
2132         SVGAnimatedPathData.idl
2133         SVGAnimatedPoints.idl
2134         SVGAnimatedPreserveAspectRatio.idl
2135         SVGAnimatedRect.idl
2136         SVGAnimatedString.idl
2137         SVGAnimatedTransformList.idl
2138         SVGAnimationElement.idl
2139         SVGCSSPropertyNames.in
2140         SVGCSSValueKeywords.in
2141         SVGCircleElement.idl
2142         SVGClipPathElement.idl
2143         SVGColor.idl
2144         SVGComponentTransferFunctionElement.idl
2145         SVGCursorElement.idl
2146         SVGDefinitionSrcElement.idl
2147         SVGDefsElement.idl
2148         SVGDescElement.idl
2149         SVGDocument.idl
2150         SVGElement.idl
2151         SVGElementInstance.idl
2152         SVGElementInstanceList.idl
2153         SVGEllipseElement.idl
2154         SVGException.idl
2155         SVGExternalResourcesRequired.idl
2156         SVGFEBlendElement.idl
2157         SVGFEColorMatrixElement.idl
2158         SVGFEComponentTransferElement.idl
2159         SVGFECompositeElement.idl
2160         SVGFEDiffuseLightingElement.idl
2161         SVGFEDisplacementMapElement.idl
2162         SVGFEDistantLightElement.idl
2163         SVGFEFloodElement.idl
2164         SVGFEFuncAElement.idl
2165         SVGFEFuncBElement.idl
2166         SVGFEFuncGElement.idl
2167         SVGFEFuncRElement.idl
2168         SVGFEGaussianBlurElement.idl
2169         SVGFEImageElement.idl
2170         SVGFEMergeElement.idl
2171         SVGFEMergeNodeElement.idl
2172         SVGFEOffsetElement.idl
2173         SVGFEPointLightElement.idl
2174         SVGFESpecularLightingElement.idl
2175         SVGFESpotLightElement.idl
2176         SVGFETileElement.idl
2177         SVGFETurbulenceElement.idl
2178         SVGFilterElement.idl
2179         SVGFilterPrimitiveStandardAttributes.idl
2180         SVGFitToViewBox.idl
2181         SVGFontElement.idl
2182         SVGFontFaceElement.idl
2183         SVGFontFaceFormatElement.idl
2184         SVGFontFaceNameElement.idl
2185         SVGFontFaceSrcElement.idl
2186         SVGFontFaceUriElement.idl
2187         SVGForeignObjectElement.idl
2188         SVGGElement.idl
2189         SVGGlyphElement.idl
2190         SVGGradientElement.idl
2191         SVGImageElement.idl
2192         SVGLangSpace.idl
2193         SVGLength.idl
2194         SVGLengthList.idl
2195         SVGLineElement.idl
2196         SVGLinearGradientElement.idl
2197         SVGLocatable.idl
2198         SVGMarkerElement.idl
2199         SVGMaskElement.idl
2200         SVGMatrix.idl
2201         SVGMetadataElement.idl
2202         SVGMissingGlyphElement.idl
2203         SVGNumber.idl
2204         SVGNumberList.idl
2205         SVGPaint.idl
2206         SVGPathElement.idl
2207         SVGPathSeg.idl
2208         SVGPathSegArcAbs.idl
2209         SVGPathSegArcRel.idl
2210         SVGPathSegClosePath.idl
2211         SVGPathSegCurvetoCubicAbs.idl
2212         SVGPathSegCurvetoCubicRel.idl
2213         SVGPathSegCurvetoCubicSmoothAbs.idl
2214         SVGPathSegCurvetoCubicSmoothRel.idl
2215         SVGPathSegCurvetoQuadraticAbs.idl
2216         SVGPathSegCurvetoQuadraticRel.idl
2217         SVGPathSegCurvetoQuadraticSmoothAbs.idl
2218         SVGPathSegCurvetoQuadraticSmoothRel.idl
2219         SVGPathSegLinetoAbs.idl
2220         SVGPathSegLinetoHorizontalAbs.idl
2221         SVGPathSegLinetoHorizontalRel.idl
2222         SVGPathSegLinetoRel.idl
2223         SVGPathSegLinetoVerticalAbs.idl
2224         SVGPathSegLinetoVerticalRel.idl
2225         SVGPathSegList.idl
2226         SVGPathSegMovetoAbs.idl
2227         SVGPathSegMovetoRel.idl
2228         SVGPatternElement.idl
2229         SVGPoint.idl
2230         SVGPointList.idl
2231         SVGPolygonElement.idl
2232         SVGPolylineElement.idl
2233         SVGPreserveAspectRatio.idl
2234         SVGRadialGradientElement.idl
2235         SVGRect.idl
2236         SVGRectElement.idl
2237         SVGRenderingIntent.idl
2238         SVGSVGElement.idl
2239         SVGScriptElement.idl
2240         SVGSetElement.idl
2241         SVGStopElement.idl
2242         SVGStringList.idl
2243         SVGStylable.idl
2244         SVGStyleElement.idl
2245         SVGSwitchElement.idl
2246         SVGSymbolElement.idl
2247         SVGTRefElement.idl
2248         SVGTSpanElement.idl
2249         SVGTests.idl
2250         SVGTextContentElement.idl
2251         SVGTextElement.idl
2252         SVGTextPathElement.idl
2253         SVGTextPositioningElement.idl
2254         SVGTitleElement.idl
2255         SVGTransform.idl
2256         SVGTransformList.idl
2257         SVGTransformable.idl
2258         SVGURIReference.idl
2259         SVGUnitTypes.idl
2260         SVGUseElement.idl
2261         SVGViewElement.idl
2262         SVGViewSpec.idl
2263         SVGZoomAndPan.idl
2264         SVGZoomEvent.idl
2265         XMLHttpRequestException.idl
2266         XPathException.idl
2267         character-sets.txt
2268         mac-encodings.txt
2269         make-charset-table.pl
2270         svgattrs.in
2271         svgtags.in
2272         xlinkattrs.in
2273
2274 2008-01-08  Luca Bruno  <lethalman88@gmail.com>
2275
2276         Reviewed by Alp Toker.
2277
2278         Support copying the selected URL to the clipboard.
2279
2280         * platform/gtk/PasteboardGtk.cpp:
2281         (WebCore::Pasteboard::writeURL): implemented
2282
2283 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
2284
2285         Renamed CharacterData::m_str to m_data
2286
2287         Rubber-stamped by Adam again.
2288
2289         No test cases added since there is no change in behavior.
2290
2291         * dom/CDATASection.cpp:
2292         * dom/CharacterData.cpp:
2293         (WebCore::CharacterData::CharacterData):
2294         (WebCore::CharacterData::setData):
2295         (WebCore::CharacterData::substringData):
2296         (WebCore::CharacterData::appendData):
2297         (WebCore::CharacterData::insertData):
2298         (WebCore::CharacterData::deleteData):
2299         (WebCore::CharacterData::replaceData):
2300         (WebCore::CharacterData::nodeValue):
2301         (WebCore::CharacterData::containsOnlyWhitespace):
2302         (WebCore::CharacterData::dispatchModifiedEvent):
2303         (WebCore::CharacterData::checkCharDataOperation):
2304         (WebCore::CharacterData::dump):
2305         * dom/CharacterData.h:
2306         * dom/Comment.cpp:
2307         * dom/Text.cpp:
2308         (WebCore::Text::splitText):
2309         (WebCore::Text::createRenderer):
2310         (WebCore::Text::recalcStyle):
2311
2312 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
2313
2314         Fix a couple of compiler warnings.
2315         
2316         Reviewed by Mitz.
2317
2318         * platform/win/ThreadingWin.cpp:
2319         * platform/win/UniscribeController.cpp: Remove unused function.
2320         (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
2321
2322 2008-01-08  Adele Peterson  <adele@apple.com>
2323
2324         Reviewed by Darin.
2325
2326         Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
2327
2328         * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2329           After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
2330           MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.  
2331           This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
2332           I also added a missing call to setDefaultHandled for the mousemove event.
2333
2334 2008-01-08  Adele Peterson  <adele@apple.com>
2335
2336         Reviewed by Adam. 
2337
2338         * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
2339         paint the media controls in RenderThemeSafari.
2340
2341 2008-01-08  Oliver Hunt  <oliver@apple.com>
2342
2343         Reviewed by Adele and John.
2344
2345         Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
2346         dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
2347
2348         We hit this crash if the page reloads between DragController::dragUpdated
2349         and DragController::performDrag, meaning that m_document starts pointing to
2350         a now viewless document.  This is picked up by an assertion in performDrag
2351         which I have now replaced with an assignment given that the assertion is 
2352         invalid -- it is possible for m_document to be changed between dragUpdated
2353         performDrag
2354
2355         * page/DragController.cpp:
2356         (WebCore::DragController::performDrag):
2357
2358 2008-01-08  Alexey Proskuryakov  <ap@webkit.org>
2359
2360         Reviewed by Darin.
2361
2362         <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
2363         WebCore::Node::setChanged + 96
2364
2365         Test: fast/dom/cssTarget-crash.html
2366
2367         * dom/Node.cpp: (WebCore::Node::removedFromDocument):
2368         Check to see if the node being removed is currently set as the Document's cssTarget.
2369         If it is, clear the cssTarget to prevent a hanging reference to it.
2370
2371 2008-01-08  Adam Roben  <aroben@apple.com>
2372
2373         * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
2374         rebuild on Windows now that the media elements are enabled.
2375
2376 2008-01-08  Adam Roben  <aroben@apple.com>
2377
2378         * svg/svgtags.in: Touch this again for the sake of the Windows bots.
2379
2380 2008-01-08  Timothy Hatcher  <timothy@apple.com>
2381
2382         Reviewed by Adam Roben.
2383
2384         Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
2385         Also added some #pragma marks to help find places in the file.
2386
2387         * page/InspectorController.cpp:
2388         (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
2389         And return the result of JSObjectCallAsFunction.
2390         (WebCore::search): Use JSRetainPtr<JSStringRef>.
2391         (WebCore::databaseTableNames): Ditto.
2392         (WebCore::localizedStrings): Ditto.
2393         (WebCore::InspectorController::~InspectorController): Ditto.
2394         (WebCore::InspectorController::focusNode): Ditto.
2395         (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
2396         (WebCore::InspectorController::scriptObjectReady): Ditto.
2397         (WebCore::addHeaders): Ditto.
2398         (WebCore::InspectorController::addScriptResource): Ditto.
2399         (WebCore::InspectorController::removeScriptResource): Ditto.
2400         (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
2401         (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
2402         (WebCore::InspectorController::updateScriptResource): Ditto.
2403         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
2404         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
2405         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
2406
2407 2008-01-08  Dan Bernstein  <mitz@apple.com>
2408
2409         Rubber-stamped by Sam Weinig.
2410
2411         - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
2412
2413         * GNUmakefile.am:
2414         * WebCore.pro:
2415         * WebCore.vcproj/WebCore.vcproj:
2416         * WebCore.xcodeproj/project.pbxproj:
2417         * WebCoreSources.bkl:
2418         * editing/Editor.cpp:
2419         * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
2420         * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
2421         * platform/graphics/FontDataBaseClass.cpp: Removed.
2422         * platform/graphics/FontDataBaseClass.h: Removed.
2423         * platform/graphics/SegmentedFontData.h:
2424         * platform/graphics/SimpleFontData.h:
2425
2426 2008-01-08  Dan Bernstein  <mitz@apple.com>
2427
2428         Fix a Wx build error.
2429
2430         * platform/graphics/wx/GlyphMapWx.cpp:
2431         (WebCore::GlyphPage::fill):
2432
2433 2008-01-08  Dan Bernstein  <mitz@apple.com>
2434
2435         Fix a Qt build error.
2436
2437         * platform/graphics/qt/SimpleFontDataQt.cpp:
2438         (WebCore::SimpleFontData::containsCharacters):
2439         (WebCore::SimpleFontData::fontDataForCharacter):
2440         (WebCore::SimpleFontData::isSegmented):
2441
2442 2008-01-08  Adam Roben  <aroben@apple.com>
2443
2444         Windows build fix.
2445
2446         Touch config.h to force a rebuild (apparently changing preprocessor
2447         definitions in the .vcproj doesn't force a rebuild).
2448
2449         * config.h:
2450
2451 2008-01-08  Dan Bernstein  <mitz@apple.com>
2452
2453         Fix a Wx build failure.
2454
2455         * webcore-wx.bkl:
2456
2457 2008-01-08  Dan Bernstein  <mitz@apple.com>
2458
2459         Fix a Qt build failure.
2460
2461         * WebCore.pro:
2462
2463 2008-01-08  John Sullivan  <sullivan@apple.com>
2464
2465         Reviewed by Adam Roben
2466         
2467         - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, 
2468           Delete menu item is enabled but shouldn't be
2469
2470         The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
2471         parameter to the enabled functions so that they can have parallel logic to the execute functions.
2472
2473         * editing/EditorCommand.cpp:
2474         added EditorCommandSource parameter to isEnabled function prototype
2475         (WebCore::enabled):
2476         added unused EditorCommandSource parameter to these isEnabled functions:
2477         (WebCore::enabledAnySelection):
2478         (WebCore::enabledAnySelectionAndMark):
2479         (WebCore::enableCaretInEditableText):
2480         (WebCore::enabledCopy):
2481         (WebCore::enabledCut):
2482
2483         (WebCore::enabledDelete):
2484         new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
2485         for menu source
2486
2487         added unused EditorCommandSource parameter to these isEnabled functions:
2488         (WebCore::enabledInEditableText):
2489         (WebCore::enabledInRichlyEditableText):
2490         (WebCore::enabledPaste):
2491         (WebCore::enabledRangeInEditableText):
2492         (WebCore::enabledRangeInRichlyEditableText):
2493         (WebCore::enabledRedo):
2494         (WebCore::enabledUndo):
2495         
2496         (WebCore::CommandEntry::):
2497         wire up new enabledDelete function as delete function for Delete command
2498         
2499         (WebCore::Editor::Command::isEnabled):
2500         pass EditorCommandSource parameter to isEnabled function
2501
2502 2008-01-08  Adam Roben  <aroben@apple.com>
2503
2504         Visual C++ Express build fix
2505
2506         * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
2507         and advapi32.lib. VS implicitly links against these, VC++ Express
2508         doesn't.
2509
2510 2008-01-08  Dan Bernstein  <mitz@apple.com>
2511
2512         - add bug number
2513
2514         * platform/graphics/mac/FontCustomPlatformData.cpp:
2515         (WebCore::createFontCustomPlatformData):
2516
2517 2008-01-08  Dan Bernstein  <mitz@apple.com>
2518
2519         Try to fix the Qt build.
2520
2521         * WebCore.pro:
2522
2523 2008-01-08  Nikolas Zimmermann  <zimmermann@kde.org>
2524
2525         Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
2526
2527         * page/inspector/WebKit.qrc:
2528
2529 2008-01-08  Maciej Stachowiak  <mjs@apple.com>
2530
2531         Reviewed by Mark.
2532
2533         - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
2534
2535         * bindings/objc/PublicDOMInterfaces.h:
2536         * html/HTMLDocument.idl:
2537
2538 2008-01-08  David D. Kilzer  <ddkilzer@webkit.org>
2539
2540         Renamed CharacterData::str to m_str to match coding style
2541
2542         Rubber-stamped by Adam.
2543
2544         No test cases added since there is no change in behavior.
2545
2546         * dom/CDATASection.cpp:
2547         * dom/CharacterData.cpp:
2548         (WebCore::CharacterData::CharacterData):
2549         (WebCore::CharacterData::setData):
2550         (WebCore::CharacterData::substringData):
2551         (WebCore::CharacterData::appendData):
2552         (WebCore::CharacterData::insertData):
2553         (WebCore::CharacterData::deleteData):
2554         (WebCore::CharacterData::replaceData):
2555         (WebCore::CharacterData::nodeValue):
2556         (WebCore::CharacterData::containsOnlyWhitespace):
2557         (WebCore::CharacterData::dispatchModifiedEvent):
2558         (WebCore::CharacterData::checkCharDataOperation):
2559         (WebCore::CharacterData::dump):
2560         * dom/CharacterData.h:
2561         * dom/Comment.cpp:
2562         * dom/Text.cpp:
2563         (WebCore::Text::splitText):
2564         (WebCore::Text::createRenderer):
2565         (WebCore::Text::recalcStyle):
2566
2567 2008-01-08  Oliver Hunt  <oliver@apple.com>
2568
2569         Set the ENABLE_SVG_FONTS flag in Windows build, now builds, 
2570         I'm not sure if it just caused the right files to regenerate,
2571         or if there's some configuration weirdness in the non-SVG-fonts
2572         build. 
2573
2574         * WebCore.vcproj/WebCore.vcproj:
2575
2576 2008-01-07  Maciej Stachowiak  <mjs@apple.com>
2577
2578         Reviewed by Brady.
2579
2580         - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
2581         
2582         Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
2583         
2584         * dom/Document.cpp:
2585         (WebCore::Document::Document):
2586         * dom/Document.h:
2587         (WebCore::Document::setHasOpenDatabases):
2588         (WebCore::Document::hasOpenDatabases):
2589         * loader/FrameLoader.cpp:
2590         (WebCore::FrameLoader::canCachePage):
2591         * storage/Database.cpp:
2592         (WebCore::Database::openDatabase):
2593
2594 2008-01-07  Dan Bernstein  <mitz@apple.com>
2595
2596         Reviewed by Oliver Hunt.
2597
2598         - fix leaks seen on the build bot
2599
2600         * css/CSSFontSelector.cpp:
2601         (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
2602         CSSFontFaceSource for SVG font-face elements going into an
2603         SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
2604         face elements to a CSSFontFace because it will not work as expected.
2605
2606 2008-01-07  Mark Rowe  <mrowe@apple.com>
2607
2608         Tiger build fix.
2609
2610         * platform/graphics/mac/FontCustomPlatformData.cpp:
2611         (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
2612         It's not needed on Tiger, and breaks the build.
2613
2614 2008-01-07  Antti Koivisto  <antti@apple.com>
2615
2616         Reviewed by Steve.
2617
2618         Re-enable media support in Windows build.
2619
2620         * WebCore.vcproj/QTMovieWin.vcproj:
2621         * WebCore.vcproj/WebCore.vcproj:
2622         * WebCore.vcproj/build-generated-files.sh:
2623
2624 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
2625
2626         Add version resource to QTMovieWin.dll
2627         
2628         Reviewed by Adam.
2629
2630         * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
2631         * WebCore.vcproj/QTMovieWin.rc: Added.
2632         * WebCore.vcproj/QTMovieWin.vcproj:
2633         * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
2634         * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
2635
2636 2008-01-07  Dan Bernstein  <mitz@apple.com>
2637
2638         Build fix.
2639
2640         * platform/graphics/qt/FontCustomPlatformData.cpp:
2641         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
2642         Calls QFontDatabase::removeApplicationFont().
2643         * platform/graphics/qt/FontCustomPlatformData.h:
2644         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2645         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
2646         implementation because Qt does not use the WebCore glyph cache.
2647
2648 2008-01-07  Dan Bernstein  <mitz@apple.com>
2649
2650         Reviewed by Oliver Hunt.
2651
2652         - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
2653           Tiger and multiple SVG layout test failures on Leopard.
2654
2655         * css/CSSSegmentedFontFace.cpp:
2656         (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
2657         empty SegmentedFontData.
2658         * platform/graphics/mac/FontCustomPlatformData.cpp:
2659         (WebCore::createFontCustomPlatformData): Avoid creating a font that
2660         contains no glyphs. On Leopard, ATS might create such a font given
2661         data in an unsupported format (such as SVG).
2662
2663 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
2664
2665         Build fix.
2666
2667         * WebCore.vcproj/WebCore.sln:
2668         * WebCore.vcproj/WebCore.submit.sln:
2669
2670 2008-01-07  Oliver Hunt  <oliver@apple.com>
2671
2672         Reviewed by Niko.
2673
2674         Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
2675
2676         Test: svg/custom/image-with-aspect-ratio-stretch.svg
2677
2678         * rendering/RenderSVGImage.cpp:
2679         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2680
2681 2008-01-07  Dan Bernstein  <mitz@apple.com>
2682
2683         Build fix.
2684
2685         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2686         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2687
2688 2008-01-07  Adele Peterson  <adele@apple.com>
2689
2690         Add missing newline.
2691
2692         * rendering/MediaControlElements.cpp:
2693
2694 2008-01-07  Jon Honeycutt  <jhoneycutt@apple.com>
2695
2696         Reviewed by Hyatt.
2697
2698         <rdar://problem/5673489> Safari does not render windowless plugins in an
2699         iframe when opacity < 1.0
2700
2701         Plugins in transparency layers handle their own world transforms, so
2702         only apply the horizontal/vertical transform if we are not in a
2703         transparency layer.
2704
2705         * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
2706         inTransparencyLayer() function
2707         * platform/win/GraphicsContextWin.cpp:
2708         (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
2709         (WebCore::GraphicsContext::inTransparencyLayer):
2710         (WebCore::GraphicsContext::releaseWindowsContext): Use
2711         inTransparencyLayer()
2712         * plugins/win/PluginViewWin.cpp:
2713         (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
2714         relative to the window. Pass m_isTransparent to
2715         get/releaseWindowsContext(). Only set the world transform if we are not
2716         in a transparency layer.
2717
2718 2008-01-07  Adele Peterson  <adele@apple.com>
2719
2720         Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)
2721
2722         * rendering/MediaControlElements.cpp:
2723         * rendering/MediaControlElements.h:
2724
2725 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2726
2727         Reviewed by Mark.
2728
2729         Enable SVG_FONTS by default.
2730
2731         * Configurations/WebCore.xcconfig:
2732         * WebCore.vcproj/build-generated-files.sh:
2733
2734 2008-01-07  Dan Bernstein  <mitz@apple.com>
2735
2736         Build fix.
2737
2738         * platform/graphics/qt/SimpleFontDataQt.cpp:
2739         (WebCore::SimpleFontData::SimpleFontData):
2740         (WebCore::SimpleFontData::~SimpleFontData):
2741
2742 2008-01-07  Adam Barth  <hk9565@gmail.com>
2743
2744         Reviewed by Sam Weinig
2745
2746         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
2747         <rdar://problem/5657447>
2748
2749         When a frame is created with the URL "about:blank" or "", it should
2750         inherit its SecurityOrigin from its opener.  However, once it has
2751         decided on that SecurityOrigin, it should not change its mind.
2752         Prior to this patch, several events could induce the frame to change
2753         its SecurityOrigin, permitting an attacker to inject script into an
2754         arbitrary SecurityOrigin.
2755
2756         This patch makes several changes:
2757
2758         1) Documents refuse to change from one SecurityOrigin to another
2759            unless explicitly instructed to do so.
2760
2761         2) Navigating to a JavaScript URL that produces a value
2762            preserves the current SecurityOrigin explicitly instead of
2763            relying on the URL to preserve the origin (which fails for
2764            about:blank URLs and SecurityOrigins with document.domain set).
2765
2766            Ideally, we should not preserve the URL at all.  Instead, the
2767            frame's URL should be the JavaScript URL, as in Firefox, but this
2768            would require changes that are too risky for this patch.  I'll
2769            file this as a separate issue.
2770
2771         3) Various methods of navigating to JavaScript URLs were not
2772            properly handling JavaScript that returned a value (and should
2773            therefore replace the current document).  This patch unifies
2774            those code paths with the path that works.
2775
2776            There are still a handful of bugs relating to the handling of
2777            JavaScript URLs, but I'll file those as separate issues.
2778
2779         Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
2780                http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
2781                http/tests/security/aboutBlank/xss-DENIED-set-opener.html
2782
2783         * dom/Document.cpp:
2784         (WebCore::Document::initSecurityOrigin):
2785         * dom/Document.h:
2786         (WebCore::Document::setSecurityOrigin):
2787         * loader/FrameLoader.cpp:
2788         (WebCore::FrameLoader::changeLocation):
2789         (WebCore::FrameLoader::urlSelected):
2790         (WebCore::FrameLoader::requestFrame):
2791         (WebCore::FrameLoader::submitForm):
2792         (WebCore::FrameLoader::executeIfJavaScriptURL):
2793         (WebCore::FrameLoader::begin):
2794         * loader/FrameLoader.h:
2795         * platform/SecurityOrigin.cpp:
2796         (WebCore::SecurityOrigin::setForURL):
2797         (WebCore::SecurityOrigin::createForFrame):
2798         * platform/SecurityOrigin.h:
2799
2800 2008-01-07  Adele Peterson  <adele@apple.com>
2801
2802         Forgot to check in these changes in my last checkin.
2803
2804         * rendering/RenderThemeSafari.cpp:
2805
2806 2008-01-07  Dan Bernstein  <mitz@apple.com>
2807
2808         Build fixes.
2809
2810         * WebCore.pro:
2811         * platform/graphics/qt/FontCacheQt.cpp:
2812         (WebCore::FontCache::getCachedFontData):
2813
2814 2008-01-07  Timothy Hatcher  <timothy@apple.com>
2815
2816         Reviewed by John Sullivan.
2817
2818         <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
2819
2820         * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
2821           normal height when not docked, and small when docked. Also added some cursor properties
2822           prevent showing the text cursor over areas that are not selectable.
2823         * page/inspector/Images: A few images added and old ones removed or renamed.
2824
2825 2008-01-07  Alp Toker  <alp@atoker.com>
2826
2827         Prospective GTK+ autotools/qmake VIDEO build fix for breakage
2828         introduced in r29257.
2829
2830         * GNUmakefile.am:
2831         * WebCore.pro:
2832
2833 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2834
2835         Reviewed by Oliver.
2836
2837         Build fix affecting all builds - again related to the unicode-range addition.
2838
2839         * css/CSSFontSelector.cpp:
2840         (WebCore::CSSFontSelector::addFontFaceRule):
2841         * css/SVGCSSFontFace.cpp:
2842         (WebCore::SVGCSSFontFace::SVGCSSFontFace):
2843         * css/SVGCSSFontFace.h:
2844         * rendering/RenderSVGText.cpp:
2845         * svg/SVGFont.cpp:
2846         (WebCore::svgFontAndFontFaceElementForFontData):
2847         (WebCore::floatWidthMissingGlyphCallback):
2848         (WebCore::drawTextMissingGlyphCallback):
2849         * svg/SVGFontFaceElement.cpp:
2850
2851 2008-01-07  Adele Peterson  <adele@apple.com>
2852
2853         Reviewed by Antti, Adam, and Mitz.
2854
2855         WebCore part of fix for 
2856         <rdar://problem/5619073> Updated look for <video> controls
2857         <rdar://problem/5619057> Add volume control to video controls
2858
2859         * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
2860         * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
2861         * WebCore.vcproj/WebCore.vcproj: ditto.
2862
2863         * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
2864         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
2865         * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
2866         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
2867         * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
2868         * css/html4.css: Added new styles for new controls.
2869
2870         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
2871         * html/HTMLMediaElement.h:
2872
2873         * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
2874
2875         * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
2876         * platform/mac/WebCoreSystemInterface.mm: ditto.
2877
2878         * rendering/MediaControlElements.cpp: Added.
2879         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia.  Made this relatively positioned, instead of absolute.
2880         (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia.  Removed call to updateFromElement, 
2881          since its too early to do this here, and causes crashes for the slider.
2882         (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
2883         (WebCore::MediaControlInputElement::update): ditto.
2884         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
2885         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
2886         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
2887         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
2888         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
2889         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
2890         (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
2891         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
2892         (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
2893         (WebCore::MediaControlTimelineElement::update): ditto. 
2894         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
2895         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
2896         * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
2897         (WebCore::MediaControlShadowRootElement::isShadowNode):
2898         (WebCore::MediaControlShadowRootElement::shadowParentNode):
2899         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
2900         (WebCore::RenderMediaControlShadowRoot::setParent):
2901
2902         * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
2903         (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
2904         (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
2905         (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
2906         (WebCore::RenderMedia::createMuteButton): Added.
2907         (WebCore::RenderMedia::createSeekBackButton): ditto.
2908         (WebCore::RenderMedia::createSeekForwardButton): ditto.
2909         (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
2910         (WebCore::RenderMedia::createFullscreenButton): Added.
2911         (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
2912         (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 
2913         (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
2914         * rendering/RenderMedia.h: Added new methods for creating new controls.
2915
2916         * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 
2917           but also can contain children (the controls' container) that may need to look for the containing block.
2918
2919         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
2920
2921         * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
2922         (WebCore::):
2923         (WebCore::RenderStyle::):
2924
2925         * rendering/RenderTheme.cpp:
2926         (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
2927         (WebCore::RenderTheme::paint): ditto.
2928         * rendering/RenderTheme.h: Added new methods for painting new appearances.
2929         (WebCore::RenderTheme::paintMediaBackground):
2930         (WebCore::RenderTheme::paintMediaFullscreenButton):
2931         (WebCore::RenderTheme::paintMediaPlayButton):
2932         (WebCore::RenderTheme::paintMediaMuteButton):
2933         (WebCore::RenderTheme::paintMediaSeekBackButton):
2934         (WebCore::RenderTheme::paintMediaSeekForwardButton):
2935         (WebCore::RenderTheme::paintMediaSliderThumb):
2936         * rendering/RenderThemeMac.h:
2937         * rendering/RenderThemeMac.mm:
2938         (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
2939         (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
2940         (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
2941         (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
2942         (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
2943         (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
2944         (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
2945         (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
2946         (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
2947         (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
2948         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
2949         (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
2950         * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
2951         (WebCore::RenderThemeSafari::paintSliderTrack):
2952         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2953         (WebCore::RenderThemeSafari::paintMediaBackground):
2954         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2955         (WebCore::RenderThemeSafari::paintMediaMuteButton):
2956         (WebCore::RenderThemeSafari::paintMediaPlayButton):
2957         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2958         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2959         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2960         * rendering/RenderThemeSafari.h:
2961
2962 2008-01-07  Timothy Hatcher  <timothy@apple.com>
2963
2964         Reviewed by Darin Adler.
2965
2966         Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
2967         when the replacment string is a different length.
2968
2969         * platform/text/StringImpl.cpp:
2970         (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
2971         the Vector size calculation, correcting the order of math operations.
2972
2973 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2974
2975         Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
2976
2977         * platform/graphics/mac/FontCacheMac.mm:
2978
2979 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2980
2981         Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
2982
2983         * css/CSSFontSelector.cpp:
2984         (WebCore::CSSFontSelector::getFontData):
2985
2986 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
2987
2988         Not reviewed. Next try to fix wx/mac leopard build.
2989
2990         * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
2991         * svg/SVGFontFaceElement.cpp:
2992         (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
2993         * webcore-base.bkl: Undo svg/ include.
2994
2995 2008-01-07  Dan Bernstein  <mitz@apple.com>
2996
2997         Reviewed by Dave Hyatt.
2998
2999         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
3000
3001         * GNUmakefile.am:
3002         * WebCore.pro:
3003         * WebCore.vcproj/WebCore.vcproj:
3004         * WebCore.xcodeproj/project.pbxproj:
3005         * WebCoreSources.bkl:
3006         * bindings/objc/DOM.mm:
3007         * bridge/mac/WebCoreAXObject.mm:
3008         * css/CSSComputedStyleDeclaration.cpp:
3009         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3010         * css/CSSFontFace.cpp:
3011         (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
3012         font face.
3013         (WebCore::CSSFontFace::getFontData):
3014         * css/CSSFontFace.h:
3015         (WebCore::CSSFontFace::CSSFontFace):
3016         (WebCore::CSSFontFace::setSegmentedFontFace):
3017         * css/CSSFontFaceSource.cpp:
3018         (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
3019         GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
3020         font table are not exposed in the glyph page tree. Only the segmented
3021         font is, and that is taken care of by the segmented font face.
3022         (WebCore::CSSFontFaceSource::getFontData):
3023         * css/CSSFontFaceSource.h:
3024         * css/CSSFontSelector.cpp:
3025         (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
3026         @font-face rules with the same family and traits into a single
3027         segmented font face, instead of just retaining the most recent one.
3028         (WebCore::CSSFontSelector::fontLoaded):
3029         (WebCore::CSSFontSelector::getFontData):
3030         * css/CSSFontSelector.h:
3031         * css/CSSGrammar.y:
3032         * css/CSSParser.cpp:
3033         (WebCore::CSSParser::parseValue):
3034         (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
3035         range value.
3036         * css/CSSParser.h:
3037         * css/CSSPrimitiveValue.h:
3038         (WebCore::CSSPrimitiveValue::):
3039         * css/CSSPropertyNames.in:
3040         * css/CSSSegmentedFontFace.cpp: Added.
3041         (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
3042         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
3043         (WebCore::CSSSegmentedFontFace::pruneTable):
3044         (WebCore::CSSSegmentedFontFace::isLoaded):
3045         (WebCore::CSSSegmentedFontFace::isValid):
3046         (WebCore::CSSSegmentedFontFace::fontLoaded):
3047         (WebCore::CSSSegmentedFontFace::overlayRange):
3048         (WebCore::CSSSegmentedFontFace::getFontData):
3049         * css/CSSSegmentedFontFace.h: Added.
3050         (WebCore::FontFaceRange::FontFaceRange):
3051         (WebCore::FontFaceRange::from):
3052         (WebCore::FontFaceRange::to):
3053         (WebCore::FontFaceRange::fontFace):
3054         (WebCore::CSSSegmentedFontFace::fontSelector):
3055         * css/CSSStyleSelector.cpp:
3056         (WebCore::CSSStyleSelector::applyProperty):
3057         * css/CSSUnicodeRangeValue.cpp: Added.
3058         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
3059         (WebCore::CSSUnicodeRangeValue::cssText):
3060         * css/CSSUnicodeRangeValue.h: Added.
3061         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3062         (WebCore::CSSUnicodeRangeValue::from):
3063         (WebCore::CSSUnicodeRangeValue::to):
3064         * css/SVGCSSFontFace.cpp:
3065         (WebCore::SVGCSSFontFace::getFontData):
3066         * css/SVGCSSFontFace.h:
3067         * editing/Editor.cpp:
3068         (WebCore::Editor::fontForSelection):
3069         * editing/Editor.h:
3070         * page/mac/FrameMac.mm:
3071         * page/mac/WebCoreFrameBridge.mm:
3072         (-[WebCoreFrameBridge fontForSelection:]):
3073         * platform/graphics/Font.cpp:
3074         (WebCore::WidthIterator::advance):
3075         (WebCore::Font::glyphDataForCharacter):
3076         (WebCore::Font::primaryFont): Changed to return the simple font data
3077         used for the space character.
3078         (WebCore::Font::fontDataAt):
3079         (WebCore::Font::fontDataForCharacters):
3080         (WebCore::Font::drawGlyphBuffer):
3081         * platform/graphics/Font.h:
3082         * platform/graphics/FontCache.cpp:
3083         (WebCore::FontCache::getCachedFontData):
3084         (WebCore::FontCache::getFontData):
3085         * platform/graphics/FontCache.h:
3086         * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
3087         * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
3088         * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
3089         FontData.cpp.
3090         (WebCore::FontData::~FontData):
3091         * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
3092         FontData.h.
3093         * platform/graphics/FontFallbackList.cpp:
3094         (WebCore::FontFallbackList::determinePitch):
3095         (WebCore::FontFallbackList::fontDataAt):
3096         (WebCore::FontFallbackList::fontDataForCharacters):
3097         * platform/graphics/FontFallbackList.h:
3098         (WebCore::FontFallbackList::primaryFont):
3099         * platform/graphics/FontSelector.h:
3100         * platform/graphics/GlyphBuffer.h:
3101         (WebCore::GlyphBuffer::fontDataAt):
3102         (WebCore::GlyphBuffer::swap):
3103         (WebCore::GlyphBuffer::add):
3104         * platform/graphics/GlyphPageTreeNode.cpp:
3105         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3106         (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
3107         pages for segmented font data.
3108         (WebCore::GlyphPageTreeNode::getChild):
3109         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
3110         * platform/graphics/GlyphPageTreeNode.h:
3111         (WebCore::GlyphPage::setGlyphDataForCharacter):
3112         (WebCore::GlyphPage::setGlyphDataForIndex):
3113         (WebCore::GlyphPageTreeNode::getRootChild):
3114         * platform/graphics/SegmentedFontData.cpp: Added.
3115         (WebCore::SegmentedFontData::~SegmentedFontData):
3116         (WebCore::SegmentedFontData::fontDataForCharacter):
3117         (WebCore::SegmentedFontData::containsCharacters):
3118         (WebCore::SegmentedFontData::isCustomFont):
3119         (WebCore::SegmentedFontData::isLoading):
3120         (WebCore::SegmentedFontData::isSegmented):
3121         * platform/graphics/SegmentedFontData.h: Added.
3122         (WebCore::FontDataRange::FontDataRange):
3123         (WebCore::FontDataRange::from):
3124         (WebCore::FontDataRange::to):
3125         (WebCore::FontDataRange::fontData):
3126         (WebCore::SegmentedFontData::appendRange):
3127         (WebCore::SegmentedFontData::numRanges):
3128         (WebCore::SegmentedFontData::rangeAt):
3129         * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
3130         (WebCore::SimpleFontData::SimpleFontData):
3131         (WebCore::SimpleFontData::~SimpleFontData):
3132         (WebCore::SimpleFontData::ascent):
3133         (WebCore::SimpleFontData::descent):
3134         (WebCore::SimpleFontData::widthForGlyph):
3135         (WebCore::SimpleFontData::fontDataForCharacter):
3136         (WebCore::SimpleFontData::isSegmented):
3137         * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
3138         (WebCore::SimpleFontData::isCustomFont):
3139         (WebCore::SimpleFontData::isLoading):
3140         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3141         (WebCore::GraphicsContext::setPlatformFont):
3142         * platform/graphics/gtk/FontCacheGtk.cpp:
3143         (WebCore::FontCache::getFontDataForCharacters):
3144         * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
3145         SimpleFontDataGtk.cpp.
3146         * platform/graphics/gtk/FontGtk.cpp:
3147         (WebCore::Font::drawGlyphs):
3148         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
3149         (WebCore::GlyphPage::fill):
3150         * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
3151         (WebCore::SimpleFontData::platformInit):
3152         (WebCore::SimpleFontData::platformDestroy):
3153         (WebCore::SimpleFontData::smallCapsFontData):
3154         (WebCore::SimpleFontData::containsCharacters):
3155         (WebCore::SimpleFontData::determinePitch):
3156         (WebCore::SimpleFontData::platformWidthForGlyph):
3157         (WebCore::SimpleFontData::setFont):
3158         * platform/graphics/mac/FontCacheMac.mm:
3159         (WebCore::FontCache::getFontDataForCharacters):
3160         * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
3161         * platform/graphics/mac/FontMac.mm:
3162         (WebCore::initializeATSUStyle):
3163         (WebCore::overrideLayoutOperation):
3164         (WebCore::ATSULayoutParameters::initialize):
3165         (WebCore::Font::drawGlyphs):
3166         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3167         (WebCore::GlyphPage::fill):
3168         * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
3169         (WebCore::initFontData):
3170         (WebCore::SimpleFontData::platformInit):
3171         (WebCore::SimpleFontData::platformDestroy):
3172         (WebCore::SimpleFontData::smallCapsFontData):
3173         (WebCore::SimpleFontData::containsCharacters):
3174         (WebCore::SimpleFontData::determinePitch):
3175         (WebCore::SimpleFontData::platformWidthForGlyph):
3176         (WebCore::SimpleFontData::checkShapesArabic):
3177         * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
3178         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
3179         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3180         * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
3181         * platform/graphics/win/FontCacheWin.cpp:
3182         (WebCore::FontCache::getFontDataForCharacters):
3183         * platform/graphics/win/FontDataWin.cpp: Renamed to
3184         SimpleFontDataWin.cpp.
3185         * platform/graphics/win/FontWin.cpp:
3186         (WebCore::Font::drawGlyphs):
3187         * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
3188         (WebCore::GlyphPage::fill):
3189         * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
3190         (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
3191         (WebCore::SimpleFontData::platformInit):
3192         (WebCore::SimpleFontData::platformDestroy):
3193         (WebCore::SimpleFontData::smallCapsFontData):
3194         (WebCore::SimpleFontData::containsCharacters):
3195         (WebCore::SimpleFontData::determinePitch):
3196         (WebCore::SimpleFontData::platformWidthForGlyph):
3197         (WebCore::SimpleFontData::scriptFontProperties):
3198         * platform/graphics/wx/FontCacheWx.cpp:
3199         (WebCore::FontCache::getFontDataForCharacters):
3200         * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
3201         * platform/graphics/wx/FontWx.cpp:
3202         (WebCore::Font::drawGlyphs):
3203         * platform/graphics/wx/GlyphMapWx.cpp:
3204         (WebCore::GlyphPage::fill):
3205         * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
3206         (WebCore::SimpleFontData::platformInit):
3207         (WebCore::SimpleFontData::platformDestroy):
3208         (WebCore::SimpleFontData::smallCapsFontData):
3209         (WebCore::SimpleFontData::containsCharacters):
3210         (WebCore::SimpleFontData::determinePitch):
3211         (WebCore::SimpleFontData::platformWidthForGlyph):
3212         * platform/mac/FileChooserMac.mm:
3213         * platform/mac/PopupMenuMac.mm:
3214         * platform/mac/WebCoreTextRenderer.mm:
3215         * platform/win/PopupMenuWin.cpp:
3216         * platform/win/UniscribeController.cpp:
3217         (WebCore::UniscribeController::advance):
3218         (WebCore::UniscribeController::itemizeShapeAndPlace):
3219         (WebCore::UniscribeController::shapeAndPlaceItem):
3220         (WebCore::UniscribeController::shape):
3221         * platform/win/UniscribeController.h:
3222         * svg/SVGFont.cpp:
3223         (WebCore::Font::drawGlyphsWithSVGFont):
3224         * svg/SVGFontElement.cpp:
3225         (WebCore::SVGFontElement::collectGlyphs):
3226         * svg/SVGFontFaceElement.cpp:
3227         (WebCore::SVGFontFaceElement::createFontData):
3228         * svg/SVGFontFaceElement.h:
3229         * svg/SVGGlyphElement.cpp:
3230
3231 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3232
3233         Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
3234
3235         * svg/svgtags.in:
3236
3237 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
3238
3239         Not reviewed. Proposed build fix for wx.
3240
3241         * webcore-base.bkl:
3242
3243 2008-01-07  Dan Bernstein  <mitz@apple.com>
3244
3245         64-bit build fix
3246
3247         * platform/graphics/mac/FontCustomPlatformData.cpp:
3248         (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
3249         cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
3250
3251 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
3252
3253         Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
3254         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)
3255
3256         Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
3257         measure & render glyphs contained in SVG Fonts, including ligature lookup support.
3258
3259         Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
3260
3261         Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
3262         Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
3263
3264         Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
3265         This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
3266         required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
3267
3268         Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
3269
3270         <glyph> elements now register themselves in the SVGFontElement's glyph cache.
3271         (insertedIntoDocument / removedFromDocument take care of this)
3272
3273         The cache is built once now, and is kept updated - it's not rebuild anymore
3274         on painting (!) - which was a crude hack for testing.
3275
3276         W3C testcase which include SVG Fonts:
3277         svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
3278         svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
3279         svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
3280         svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
3281         svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
3282         svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
3283         svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
3284         svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
3285         svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
3286         svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
3287         svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
3288         svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
3289         svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
3290         svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
3291         svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
3292         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)
3293         svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
3294         svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
3295         svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
3296         svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
3297         svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
3298         svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
3299         svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
3300
3301         Questionable testcases:
3302         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.)
3303         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.
3304
3305         Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
3306
3307         * css/CSSFontSelector.cpp:
3308         (WebCore::CSSFontSelector::addFontFaceRule):
3309         (WebCore::CSSFontSelector::getFontData):
3310         * platform/graphics/Font.cpp:
3311         (WebCore::Font::lineSpacing):
3312         (WebCore::Font::xHeight):
3313         (WebCore::Font::canUseGlyphCache):
3314         (WebCore::Font::drawGlyphBuffer):
3315         (WebCore::Font::drawText):
3316         (WebCore::Font::floatWidth):
3317         (WebCore::Font::selectionRectForText):
3318         * platform/graphics/Font.h:
3319         (WebCore::TextRun::TextRun):
3320         (WebCore::TextRun::activePaintServer):
3321         (WebCore::TextRun::setActivePaintServer):
3322         * platform/graphics/FontData.cpp:
3323         (WebCore::FontData::lineSpacing):
3324         (WebCore::FontData::lineGap):
3325         (WebCore::FontData::xHeight):
3326         * platform/graphics/FontData.h:
3327         * platform/graphics/win/FontWin.cpp:
3328         (WebCore::Font::drawGlyphs):
3329         * rendering/RenderSVGText.cpp:
3330         (WebCore::RenderSVGText::relativeBBox):
3331         * rendering/SVGInlineTextBox.cpp:
3332         (WebCore::SVGInlineTextBox::paintCharacters):
3333         * rendering/SVGInlineTextBox.h:
3334         * rendering/SVGRootInlineBox.cpp:
3335         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3336         * svg/SVGFont.cpp:
3337         (WebCore::):
3338         (WebCore::processArabicFormDetection):
3339         (WebCore::charactersWithArabicForm):
3340         (WebCore::isCompatibleArabicForm):
3341         (WebCore::isCompatibleGlyph):
3342         (WebCore::svgFontAndFontFaceElementForFontData):
3343         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
3344         (WebCore::SVGTextRunWalker::walk):
3345         (WebCore::floatWidthUsingSVGFontCallback):
3346         (WebCore::floatWidthMissingGlyphCallback):
3347         (WebCore::floatWidthOfSubStringUsingSVGFont):
3348         (WebCore::Font::floatWidthUsingSVGFont):
3349         (WebCore::drawTextUsingSVGFontCallback):
3350         (WebCore::drawTextMissingGlyphCallback):
3351         (WebCore::Font::drawTextUsingSVGFont):
3352         (WebCore::Font::selectionRectForTextUsingSVGFont):
3353         * svg/SVGFontElement.cpp:
3354         (WebCore::SVGFontElement::SVGFontElement):
3355         (WebCore::SVGFontElement::addGlyphToCache):
3356         (WebCore::SVGFontElement::removeGlyphFromCache):
3357         (WebCore::SVGFontElement::firstMissingGlyphElement):
3358         (WebCore::SVGFontElement::glyphIdentifiersForString):
3359         * svg/SVGFontElement.h:
3360         (WebCore::SVGFontElement::maximumHashKeyLength):
3361         * svg/SVGFontFaceElement.cpp:
3362         (WebCore::SVGFontFaceElement::createFontData):
3363         (WebCore::SVGFontFaceElement::rebuildFontFace):
3364         (WebCore::SVGFontFaceElement::associatedFontElement):
3365         * svg/SVGFontFaceElement.h:
3366         * svg/SVGGlyphElement.cpp:
3367         (WebCore::SVGGlyphElement::insertedIntoDocument):
3368         (WebCore::SVGGlyphElement::removedFromDocument):
3369         (WebCore::parseArabicForm):
3370         (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
3371         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
3372         * svg/SVGGlyphElement.h:
3373         (WebCore::SVGGlyphIdentifier::):
3374         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3375         (WebCore::SVGGlyphIdentifier::inheritedValue):
3376         (WebCore::SVGGlyphIdentifier::operator==):
3377         (WebCore::SVGGlyphElement::~SVGGlyphElement):
3378
3379 2008-01-07  David Hyatt  <hyatt@apple.com>
3380
3381         Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
3382
3383         Reviewed by Dan
3384
3385         * rendering/RenderBox.h:
3386         * rendering/RenderTableCell.cpp:
3387         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3388
3389 2008-01-07  Holger Freyther  <zecke@selfish.org>
3390
3391         Reviewed by Alp Toker.
3392
3393         * Fix indention
3394
3395         * platform/gtk/ContextMenuGtk.cpp:
3396         (WebCore::ContextMenu::~ContextMenu):
3397
3398 2008-01-07  Holger Freyther  <zecke@selfish.org>
3399
3400         Reviewed by Alp Toker.
3401
3402         * The ContextMenuController is going to live longer than the ContextMenu. It is
3403         going to live as long as the WebCore::Page is around where the ContextMenu, specially
3404         in the case of a SubMenu, is gone before we popup the menu.
3405
3406         * platform/gtk/ContextMenuGtk.cpp:
3407         (WebCore::menuItemActivated):
3408         (WebCore::ContextMenu::appendItem):
3409
3410 2008-01-07  Holger Freyther  <zecke@selfish.org>
3411
3412         Reviewed by Alp Toker.
3413
3414         * Fix SubMenu handling
3415         * Do not connect to the activated signal if we are a separator or submenu
3416         * Change our type from ActionType to SubMenuType when we have a submenu
3417         * Initialize the SubMenu
3418
3419         * platform/gtk/ContextMenuGtk.cpp:
3420         (WebCore::ContextMenu::appendItem):
3421         * platform/gtk/ContextMenuItemGtk.cpp:
3422         (WebCore::ContextMenuItem::ContextMenuItem):
3423         (WebCore::ContextMenuItem::createNativeMenuItem):
3424         (WebCore::ContextMenuItem::setSubMenu):
3425
3426 2008-01-07  Holger Freyther  <zecke@selfish.org>
3427
3428         Reviewed by Alp Toker.
3429
3430         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
3431         actions.
3432         * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
3433         * Update the ContextMenuController to accept CheckableActionTypes as well.
3434         * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
3435         was extracted from ContextMenu::checkOrEnableIfNeeded.
3436         * Update the Qt and Windows port.
3437
3438
3439         * page/ContextMenuController.cpp:
3440         * platform/ContextMenu.cpp:
3441         (WebCore::createAndAppendFontSubMenu):
3442         (WebCore::createAndAppendSpellingAndGrammarSubMenu):
3443         (WebCore::createAndAppendSpellingSubMenu):
3444         (WebCore::createAndAppendWritingDirectionSubMenu):
3445         * platform/ContextMenuItem.h:
3446         * platform/gtk/ContextMenuItemGtk.cpp:
3447         (WebCore::ContextMenuItem::ContextMenuItem):
3448         (WebCore::ContextMenuItem::createNativeMenuItem):
3449
3450 2008-01-07  Luca Bruno  <lethalman88@gmail.com>
3451
3452         Reviewed by Alp Toker.
3453
3454         http://bugs.webkit.org/show_bug.cgi?id=16745
3455         [GTK] Context menu doesn't feel or look native - no icons
3456
3457         Use GTK+ stock icons for menu items where possible.
3458
3459         * platform/gtk/ContextMenuItemGtk.cpp:
3460         (WebCore::gtkStockIDFromContextMenuAction):
3461         (WebCore::ContextMenuItem::createNativeMenuItem):
3462         (WebCore::ContextMenuItem::setAction):
3463
3464 2008-01-07  Dan Bernstein  <mitz@apple.com>
3465
3466         Reviewed by John Sullivan.
3467
3468         - make the ATSUI code path work with custom fonts rather than crash
3469
3470         * platform/graphics/mac/FontCustomPlatformData.cpp:
3471         (WebCore::FontCustomPlatformData::fontPlatformData):
3472         * platform/graphics/mac/FontMac.mm:
3473         (WebCore::initializeATSUStyle):
3474
3475 2008-01-07  Thiago Macieira  <thiago.macieira@trolltech.com>
3476
3477         Reviewed by Simon.
3478
3479         abort() now emits the signals, so disconnect them before you abort()
3480
3481         * platform/network/qt/QNetworkReplyHandler.cpp:
3482         (WebCore::QNetworkReplyHandler::abort):
3483
3484 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
3485
3486         Reviewed by Lars.
3487
3488         Use a faster and safer way of flattening the form data.
3489
3490         * platform/network/qt/QNetworkReplyHandler.cpp:
3491         (WebCore::QNetworkReplyHandler::start):
3492
3493 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
3494
3495         Reviewed by Lars.
3496
3497         Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
3498
3499         * WebCore.pro:
3500         * platform/network/ResourceHandleInternal.h:
3501         * platform/network/qt/QNetworkReplyHandler.cpp: Added.
3502         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3503         (WebCore::QNetworkReplyHandler::abort):
3504         (WebCore::QNetworkReplyHandler::finish):
3505         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3506         (WebCore::QNetworkReplyHandler::forwardData):
3507         (WebCore::QNetworkReplyHandler::start):
3508         * platform/network/qt/QNetworkReplyHandler.h: Added.
3509         (WebCore::QNetworkReplyHandler::reply):
3510         * platform/network/qt/ResourceHandleQt.cpp:
3511         (WebCore::ResourceHandle::start):
3512         (WebCore::ResourceHandle::cancel):
3513         (WebCore::ResourceHandle::loadResourceSynchronously):
3514         * platform/network/qt/ResourceRequest.h:
3515         (WebCore::ResourceRequest::ResourceRequest):
3516         * platform/network/qt/ResourceRequestQt.cpp: Added.
3517         (WebCore::ResourceRequest::toNetworkRequest):
3518         * platform/qt/MIMETypeRegistryQt.cpp:
3519         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3520         * platform/qt/PlugInInfoStoreQt.cpp:
3521         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
3522         (WebCore::PlugInInfoStore::pluginCount):
3523         (WebCore::PlugInInfoStore::pluginNameForMIMEType):
3524
3525 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3526
3527         Reviewed by Lars.
3528
3529         * Remove m_dirtyRegion as it is not used as we pass every dirty region
3530         directly to the ChromeClient
3531
3532         * platform/qt/ScrollViewQt.cpp:
3533         (WebCore::ScrollView::paint):
3534
3535 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
3536
3537         Reviewed by Oliver.
3538
3539         Small CG paint server cleanups - use more GraphicsContext method where possible.
3540
3541         * svg/graphics/cg/CgSupport.cpp:
3542         (WebCore::applyStrokeStyleToContext):
3543         (WebCore::strokeBoundingBox):
3544         * svg/graphics/cg/CgSupport.h:
3545         * svg/graphics/cg/RenderPathCg.cpp:
3546         (WebCore::RenderPath::strokeContains):
3547         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
3548         (WebCore::SVGPaintServerGradient::setup):
3549         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
3550         (WebCore::SVGPaintServerPattern::setup):
3551         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
3552         (WebCore::SVGPaintServerSolid::setup):
3553
3554 2008-01-06  Nikolas Zimmermann  <zimmermann@kde.org>
3555
3556         Reviewed by Dan.
3557
3558         Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
3559
3560         * platform/graphics/mac/FontMac.mm:
3561         (WebCore::ATSULayoutParameters::initialize):
3562
3563 2008-01-06  Andrew Wellington  <proton@wiretapped.net>
3564
3565         Reviewed by Darin.
3566         
3567         DOMRange doesn't correctly re-size when inserting items (Acid3)
3568         http://bugs.webkit.org/show_bug.cgi?id=16764
3569         
3570         Update the offset for the range when inserting items into the range.
3571
3572         Test: fast/dom/Range/range-modifycontents.html
3573
3574         * dom/Range.cpp:
3575         (WebCore::Range::insertNode):
3576
3577 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
3578
3579         Reviewed by Darin.
3580
3581         http://bugs.webkit.org/show_bug.cgi?id=16731
3582         Incorrect node type for whitespace when setting innerHTML in an XHTML document
3583
3584         Test: fast/dom/xhtml-fragment-whitespace.xhtml
3585
3586         * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
3587         Use balancedCharactersHandler for ignorable whitespace.
3588
3589 2008-01-06  Alexey Proskuryakov  <ap@webkit.org>
3590
3591         Reviewed by Darin.
3592
3593         http://bugs.webkit.org/show_bug.cgi?id=16701
3594         <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
3595         causes page load error