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