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