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