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