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