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