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