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