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