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