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