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