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