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