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