1 2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3 * Rubber stamped by Simon
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
9 * platform/graphics/qt/ImageDecoderQt.cpp:
10 (WebCore::ImageDecoderQt::setData):
12 2008-01-23 Lars Knoll <lars@trolltech.com>
14 Reviewed by Holger Freyther <holger.freyther@trolltech.com>.
16 Fix rendering of the Scrollbar as well as mouse handling for some styles.
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.
22 Also set m_opt.rect.topLeft to (0/0) in the mouse handlers. Fixes some issues with
26 * platform/qt/PlatformScrollBarQt.cpp:
27 (WebCore::PlatformScrollbar::paint):
28 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
29 (WebCore::PlatformScrollbar::handleMousePressEvent):
31 2008-01-23 Michael Brasser <michael.brasser@trolltech.com>
35 Rendering fixes for Qtopia.
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.
40 * platform/graphics/qt/GraphicsContextQt.cpp:
41 (WebCore::GraphicsContext::drawFocusRing):
42 * platform/qt/RenderThemeQt.cpp:
43 (WebCore::RenderThemeQt::paintButton):
44 (WebCore::RenderThemeQt::applyTheme):
46 2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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
53 * Try to optimize the ::readData implementation to fill the buffer as best as possible
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:
67 2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
73 * platform/network/qt/QNetworkReplyHandler.cpp:
74 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
76 2008-01-23 Michael Brasser <michael.brasser@trolltech.com>
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.
82 * platform/qt/QWebPopup.cpp:
83 (WebCore::QWebPopup::QWebPopup):
85 2008-01-23 Simon Hausmann <hausmann@webkit.org>
89 Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download().
91 Added two signals to QWebPage to handle downloading of links and handling of
95 * platform/network/qt/QNetworkReplyHandler.cpp:
96 (WebCore::QNetworkReplyHandler::release):
97 * platform/network/qt/QNetworkReplyHandler.h:
99 2008-01-22 Dan Bernstein <mitz@apple.com>
101 Reviewed by Adele Peterson.
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
106 The regression test for this is fast/css/css2-system-color.html which
107 is currently disabled.
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.
116 2008-01-22 Darin Adler <darin@apple.com>
118 Reviewed by Oliver Hunt.
120 - turn full repainting back on for <canvas> until we get incremental
121 repaint working properly
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.
126 * html/HTMLCanvasElement.cpp:
127 (WebCore::HTMLCanvasElement::willDraw): Just call repaint.
129 2008-01-22 Alp Toker <alp@atoker.com>
131 GTK+/qmake build fix.
135 2008-01-22 Adam Roben <aroben@apple.com>
137 Add HTMLFrameOwnerElement::scrollingMode
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.
146 * html/HTMLFrameElementBase.h: Declare scrollingMode as virtual.
147 * html/HTMLFrameOwnerElement.h:
148 (WebCore::HTMLFrameOwnerElement::scrollingMode): Added.
150 2008-01-22 David Hyatt <hyatt@apple.com>
152 Fix for <rdar://problem/5698481> REGRESSION: Web Inspector source view gutter double divider and no padding
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.
159 * css/view-source.css:
161 2008-01-22 Nikolas Zimmermann <zimmermann@kde.org>
165 Allow to use SVGPaintServerSolid without RenderObject/RenderStyle. Used later to draw SVG Fonts in HTML.
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):
177 2008-01-22 Nikolas Zimmermann <zimmermann@kde.org>
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).
184 * platform/graphics/SimpleFontData.cpp:
185 (WebCore::SimpleFontData::SimpleFontData):
187 2008-01-22 Alp Toker <alp@atoker.com>
191 Fix Cairo SVG fonts following changes in r29700.
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.
197 * platform/graphics/GraphicsContext.cpp:
198 * platform/graphics/cairo/GraphicsContextCairo.cpp:
199 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
200 (WebCore::FontPlatformData::FontPlatformData):
202 2008-01-22 Dan Bernstein <mitz@apple.com>
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
209 Test: svg/custom/font-platformDestroy-crash.svg
211 * platform/graphics/SimpleFontData.cpp:
212 (WebCore::SimpleFontData::~SimpleFontData): Changed to call
213 platformDestroy() only if platformInit() was called from the
216 2008-01-22 Lars Knoll <lars@trolltech.com>
220 cleanup the CookieJarQt implementation and implement cookiesEnabled.
222 * platform/qt/CookieJarQt.cpp:
223 (WebCore::cookieJar):
224 (WebCore::setCookies):
226 (WebCore::cookiesEnabled):
228 2008-01-22 Lars Knoll <lars@trolltech.com>
232 Ported the font implementation to use the new QFont features of Qt 4.4.
235 * platform/graphics/Font.h:
236 (WebCore::Font::setWordSpacing):
237 (WebCore::Font::setLetterSpacing):
238 (WebCore::Font::font):
240 * platform/graphics/qt/FontQt.cpp:
241 (WebCore::Font::Font):
242 (WebCore::Font::setWordSpacing):
243 (WebCore::Font::setLetterSpacing):
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):
258 2008-01-21 Eric Seidel <eric@webkit.org>
260 Reviewed by Nikolas & Oliver.
262 Tested by svg/custom/svg-features.html
264 * dom/DOMImplementation.cpp:
265 (WebCore::isSVG10Feature): use ENABLE(SVG_*) conditionals
266 (WebCore::isSVG11Feature): use ENABLE(SVG_*) conditionals
268 2008-01-21 Geoffrey Garen <ggaren@apple.com>
270 Reviewed by Maciej Stachowiak.
272 Adapted WebCore to the fix for http://bugs.webkit.org/show_bug.cgi?id=16909
273 REGRESSION: Amazon.com crash (ActivationImp)
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.)
279 * bindings/objc/WebScriptObject.mm:
280 (+[WebScriptObject throwException:]): Use the ExecState stack, instead
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.
287 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
289 Not reviewed. Try to fix Qt build, after the rmdir() fixes.c
291 * platform/graphics/qt/SimpleFontDataQt.cpp:
292 (WebCore::SimpleFontData::SimpleFontData):
294 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
296 Not reviewed. Another Wx build fix.
298 * platform/graphics/wx/FontWx.cpp:
299 (WebCore::Font::drawGlyphs):
301 2008-01-21 Darin Adler <darin@apple.com>
303 - try to fix Qt build
305 * platform/qt/FileSystemQt.cpp:
306 (WebCore::deleteEmptyDirectory): QDir::root().rmdir() instead of QDir::rmdir().
308 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
310 Not reviewed. Yet another win/gtk build fix.
312 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
313 (WebCore::FontPlatformData::FontPlatformData):
314 * platform/graphics/win/FontWin.cpp:
315 (WebCore::Font::drawGlyphs):
317 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
319 Not reviewed. Another build fix for Gtk/Linux & Wx/Mac.
321 * platform/graphics/SimpleFontData.cpp:
322 (WebCore::SimpleFontData::SimpleFontData):
324 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
326 Not reviewed. Build fix for Qt/Gtk & Wx.
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:
333 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
335 Not reviewed. Build fix for ports that don't build SVG: wx.
337 * css/CSSFontFaceSource.h: Wrap include in ENABLE(SVG_FONTS) blocks.
338 * css/CSSFontFaceSrcValue.h: Ditto.
340 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
342 Not reviewed. Build fix for Qt/Gtk.
344 * platform/graphics/SimpleFontData.h:
345 (WebCore::SimpleFontData::svgFontData):
346 (WebCore::SimpleFontData::isSVGFont):
348 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
350 Reviewed by Eric. Older parts reviewed by Dan.
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)
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.
358 Proper handling of missing glyphs, using <missing-glyph> element. If that is not specified in a font, fallback to non-SVG font rendering.
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):
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:
458 2008-01-21 Darin Adler <darin@apple.com>
460 Reviewed by John Sullivan.
462 - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
464 - remove the default database quota setting
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
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
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.
478 * WebCore.base.exp: Updated.
480 * bindings/js/GCController.cpp: Added an #if to get rid of an unused function warning.
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.
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.
491 * page/Settings.cpp: Removed the default quota setting.
492 * page/Settings.h: Ditto.
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.
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
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
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
537 (WebCore::DatabaseTracker::populateOrigins): Added code to open the tracker
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
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
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.
580 * storage/SQLTransaction.cpp:
581 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Changed to call the
582 new exceededDatabaseQuota function instead of the old one.
584 * svg/graphics/SVGImageEmptyClients.h: Updated for the change to ChromeClient.
586 2008-01-21 David Hyatt <hyatt@apple.com>
588 Fix for http://bugs.webkit.org/show_bug.cgi?id=16935
590 Fix a bug in layers where the positioned ancestor was being computed incorrectly (the root should not
591 automatically be included).
595 Added fast/layers/positioned-inside-root-with-margins.html
597 * rendering/RenderLayer.cpp:
598 (WebCore::RenderLayer::stackingContext):
599 (WebCore::RenderLayer::enclosingPositionedAncestor):
601 2008-01-21 Simon Hausmann <hausmann@webkit.org>
605 Fix KURL to QUrl conversion.
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.
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.
615 * platform/qt/KURLQt.cpp:
617 (WebCore::KURL::operator QUrl):
619 2008-01-21 Simon Hausmann <hausmann@webkit.org>
623 Fix focus chain handling and cycling through focusable objects (links) using tab/backtab.
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
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
638 * platform/graphics/qt/GraphicsContextQt.cpp:
639 (WebCore::GraphicsContext::drawFocusRing):
641 2008-01-21 Simon Hausmann <hausmann@webkit.org>
645 Fix access key support and fast/forms/legend-access-key.html
647 SVN revision 26664 changed the default access key for the non-mac build to Alt
648 while this test relies on Ctrl.
650 * page/EventHandler.cpp:
652 2008-01-21 Simon Hausmann <hausmann@webkit.org>
656 Fix error reporting when parsing X(HT)ML fragments.
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.
663 This fixes fast/innerHTML/innerHTML-changing-document-properties.xhtml
666 * dom/XMLTokenizer.cpp:
667 (WebCore::createXHTMLParserErrorHeader):
669 2008-01-21 Holger Freyther <holger.freyther@trolltech.com>
673 Fix some issues with redirections.
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
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
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.
686 * platform/network/qt/QNetworkReplyHandler.cpp:
687 (WebCore::QNetworkReplyHandler::finish):
688 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
690 2008-01-21 Holger Freyther <holger.freyther@trolltech.com>
694 Fixed WebCore::cookies() to return all cookies, not only the first one.
696 Fixes login into mail.yahoo.com.
699 * platform/qt/CookieJarQt.cpp:
702 2008-01-20 Oliver Hunt <oliver@apple.com>
706 Fix http://bugs.webkit.org/show_bug.cgi?id=16816 , rdar://problem/5682985
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.
712 * page/DragController.cpp:
713 (WebCore::DragController::performDrag):
715 2008-01-20 Dan Bernstein <mitz@apple.com>
717 Reviewed by Darin Adler.
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
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
727 2008-01-20 Collin Jackson <webkit@collinjackson.com>
729 Reviewed by Sam Weinig.
731 Fix for http://bugs.webkit.org/show_bug.cgi?id=16775
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.
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
743 * bindings/js/JSDOMWindowCustom.cpp:
744 (WebCore::JSDOMWindow::postMessage):
746 2008-01-20 Antti Koivisto <antti@apple.com>
750 Fix <rdar://problem/5695451>
751 Middle part of the media timeline missing on Windows if load failed
753 Add some null checking to avoid getting garbage results from the functions.
755 * platform/graphics/MediaPlayer.cpp:
756 * platform/graphics/win/QTMovieWin.cpp:
757 (QTMovieWin::duration):
758 (QTMovieWin::currentTime):
759 (QTMovieWin::setCurrentTime):
760 (QTMovieWin::maxTimeLoaded):
762 2008-01-19 Alp Toker <alp@atoker.com>
764 Reviewed by Mark Rowe.
766 http://bugs.webkit.org/show_bug.cgi?id=16944
767 Use of GST_PLUGIN_DEFINE_STATIC results in a module-level constructor
769 http://bugzilla.gnome.org/show_bug.cgi?id=510547
770 Epiphany/Webkit fails to start due to initializing threads twice
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.
776 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
778 2008-01-19 Alp Toker <alp@atoker.com>
780 Reviewed by Mark Rowe.
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.
786 * platform/network/curl/ResourceHandleManager.cpp:
787 (WebCore::ResourceHandleManager::startJob):
789 2008-01-19 Jan Michael Alonzo <jmalonzo@unpluggable.com>
791 Reviewed by Alp Toker.
793 Add svg foreign object and svg experimental to the GTK+/autotools
798 2008-01-19 Dan Bernstein <mitz@apple.com>
800 Reviewed by Maciej Stachowiak.
802 - fix <rdar://problem/5645813> CrashTracer: [USER] 6 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::destroy + 116
804 Test: editing/selection/inconsistent-in-removeChildNode.html
806 * editing/SelectionController.cpp:
807 (WebCore::SelectionController::nodeWillBeRemoved): If the selection
808 base or extent are not visible any more, adjust the selection.
810 2008-01-19 Oliver Hunt <oliver@apple.com>
812 Reviewed by Eric Seidel.
814 Build fix for --svg-foreign-object path
816 * svg/SVGForeignObjectElement.idl:
818 2008-01-18 Stephanie <slewis@apple.com>
822 Workaround for <rdar://problem/5695848>. Set mime_type for local files based on file extension.
824 * platform/network/cf/ResourceResponseCFNet.cpp:
825 (WebCore::ResourceResponse::doUpdateResourceResponse):
827 2008-01-18 Ada Chan <adachan@apple.com>
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.
833 Reviewed by Hyatt and Darin.
835 * page/EventHandler.cpp:
836 (WebCore::EventHandler::hitTestResultAtPoint):
837 * rendering/HitTestResult.cpp:
838 (WebCore::HitTestResult::operator=):
840 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
842 Reviewed by Darin, landed by Beth.
844 - fixed http://bugs.webkit.org/show_bug.cgi?id=15765
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).
853 * html/HTMLTokenizer.cpp:
854 (WebCore::HTMLTokenizer::timerFired):
856 2008-01-18 David Hyatt <hyatt@apple.com>
858 Don't apply the border/margin/padding check to root line boxes, since their renderers
861 * rendering/InlineFlowBox.cpp:
862 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
863 (WebCore::InlineFlowBox::placeBoxesVertically):
865 2008-01-18 Geoffrey Garen <ggaren@apple.com>
867 Not reviewed: rolling out a previous patch.
869 Fixed <rdar://problem/5695439> Crash during GCController destructor on
872 Used svn merge to roll out r29603 because it introduced some crashes
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.
878 * bindings/js/GCController.cpp:
879 (WebCore::GCController::garbageCollectNow):
880 * bindings/js/GCController.h:
882 2008-01-18 David Hyatt <hyatt@apple.com>
884 Fix for http://bugs.webkit.org/show_bug.cgi?id=15665
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.
893 Added fast/inline/inline-padding-disables-text-quirk.html
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):
905 2008-01-18 David Hyatt <hyatt@apple.com>
907 Fix for http://bugs.webkit.org/show_bug.cgi?id=14975
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.
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
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.
924 Added fast/css/padding-no-renderer.html
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:
971 2008-01-18 Dan Bernstein <mitz@apple.com>
973 Reviewed by Dave Hyatt.
975 - fix <rdar://problem/5615307> Repro crash in WebKit!WebCore::RenderContainer::destroyLeftoverChildren
977 Test: fast/table/insert-row-before-form.html
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.
988 2008-01-18 Geoffrey Garen <ggaren@apple.com>
990 Reviewed by Brady Eidson.
992 Fixed <rdar://problem/5622424> World Leak dialog when closing a page
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.
1001 * storage/SQLStatement.cpp:
1002 (WebCore::SQLStatement::performCallback): Release our callback objects
1003 after performing our callback.
1005 * storage/SQLTransaction.cpp:
1006 (WebCore::SQLTransaction::postflightAndCommit): Release our callback
1007 objects after the transaction has terminated.
1008 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): ditto.
1010 2008-01-18 Adele Peterson <adele@apple.com>
1014 Fix for <rdar://problem/5679490> media controls fade in and out too jerkily and too slowly
1016 * rendering/RenderMedia.cpp: Shorten the duration for the fade in/out animation.
1018 2008-01-18 Beth Dakin <bdakin@apple.com>
1022 Disables SVG foreign object for <rdar://problem/5686989> turn off
1023 SVG foreignobject because it does not repaint/dirty correctly
1025 * DerivedSources.make:
1026 * WebCore.SVG.ForeignObject.exp: Added.
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):
1042 2008-01-18 Mark Rowe <mrowe@apple.com>
1044 Rubber-stamped by Adam Roben.
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.
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):
1061 2008-01-18 Antti Koivisto <antti@apple.com>
1065 Fix unreachable code warning in RenderVideo on Windows.
1067 Make switch cases explicit.
1069 * rendering/RenderImage.cpp:
1070 (WebCore::RenderImage::isWidthSpecified):
1071 (WebCore::RenderImage::isHeightSpecified):
1072 * rendering/RenderVideo.cpp:
1073 (WebCore::RenderVideo::isWidthSpecified):
1074 (WebCore::RenderVideo::isHeightSpecified):
1076 2008-01-18 Timothy Hatcher <timothy@apple.com>
1078 Reviewed by Adam Roben.
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
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.
1090 2008-01-18 Alexey Proskuryakov <ap@webkit.org>
1094 Database origin tracking is broken.
1096 * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::populateOrigins):
1097 Move reading from statement back into the loop (broken in r29386).
1099 2008-01-18 Marius Storm-Olsen <marius@trolltech.com>
1101 Reviewed by Simon Hausmann <hausmann@webkit.org>.
1103 Add use of precompiled header, when building inside Qt.
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.
1110 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1114 Fix fast/forms/button-state-restore.html
1116 Similar to the fix for fast/forms/form-post-urlencoded.html transform POST
1117 requests to data urls into GET.
1120 * platform/network/qt/QNetworkReplyHandler.cpp:
1121 (WebCore::QNetworkReplyHandler::start):
1123 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1127 Fix LayoutTests/fast/cookies/local-file-can-set-cookies.html
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.
1134 * platform/qt/CookieJarQt.cpp:
1137 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1141 Fix svg/custom/path-getTotalLength.svg
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
1152 * platform/graphics/qt/PathQt.cpp:
1153 (WebCore::Path::apply):
1155 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1159 Fix LayoutTests/fast/dom/document-attribute-js-null.html
1161 Don't crash when trying to get/set cookies without a frameloader.
1164 * platform/qt/CookieJarQt.cpp:
1165 (WebCore::setCookies):
1168 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1172 Fix fast/dom/xmlhttprequest-get.xhtml
1174 For local file requests remove the content length and the last-modified
1175 headers in the response.
1178 * platform/network/qt/QNetworkReplyHandler.cpp:
1179 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1181 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1185 Fix fast/forms/form-post-urlencoded.html.
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.
1192 * platform/network/qt/QNetworkReplyHandler.cpp:
1193 (WebCore::QNetworkReplyHandler::start):
1195 2008-01-18 Simon Hausmann <hausmann@webkit.org>
1199 Make QNetworkReplyHandler::abort() more robust against multiple invocations.
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.
1204 * platform/network/qt/QNetworkReplyHandler.cpp:
1205 (WebCore::QNetworkReplyHandler::abort):
1207 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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
1216 WARNING: NO TEST CASES ADDED OR CHANGED
1218 * platform/network/qt/QNetworkReplyHandler.cpp:
1219 (WebCore::QNetworkReplyHandler::start):
1221 2008-01-18 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
1223 Reviewed by Simon Hausmann <hausmann@webkit.org>.
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.
1227 * xml/XPathFunctions.cpp:
1228 (WebCore::XPath::FunCount::evaluate):
1230 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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)
1239 * platform/qt/PlatformScrollBar.h:
1240 * platform/qt/PlatformScrollBarQt.cpp:
1241 (WebCore::PlatformScrollbar::invalidate):
1243 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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.
1251 * platform/qt/PlatformScrollBarQt.cpp:
1252 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1253 (WebCore::PlatformScrollbar::handleMousePressEvent):
1255 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1259 * Make the qDebug more usable. Do not have an additional newline and print
1260 the untranslated coordinates as well.
1262 * platform/qt/PlatformScrollBarQt.cpp:
1263 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1264 (WebCore::PlatformScrollbar::handleMousePressEvent):
1266 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1270 * Dead code, remove it
1272 * platform/qt/PlatformScrollBarQt.cpp:
1274 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1278 * Coding-Style fixes.
1280 * platform/qt/PlatformScrollBarQt.cpp:
1281 (WebCore::PlatformScrollbar::PlatformScrollbar):
1283 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1289 * platform/graphics/qt/ImageDecoderQt.cpp:
1290 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
1292 2008-01-17 Geoffrey Garen <ggaren@apple.com>
1294 Reviewed by Darin Adler.
1296 Fixed: lots of WebCore leaks reported when quitting Safari
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
1302 * bindings/js/GCController.cpp:
1303 (WebCore::GCController::~GCController):
1304 (WebCore::GCController::garbageCollectNow):
1305 * bindings/js/GCController.h:
1307 2008-01-17 Alp Toker <alp@atoker.com>
1309 Reviewed by Oliver Hunt.
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.
1315 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1316 (WebCore::FontPlatformData::FontPlatformData):
1318 2008-01-17 Antti Koivisto <antti@apple.com>
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
1327 - Disable unsupported QuickTime tracks types.
1328 - Disallow streaming protocols (for now).
1330 * WebCore.vcproj/WebCore.vcproj:
1331 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1332 (WebCore::MediaPlayerPrivate::updateStates):
1333 * platform/graphics/win/QTMovieWin.cpp:
1335 (QTMovieWin::disableUnsupportedTracks):
1336 * platform/graphics/win/QTMovieWin.h:
1338 2008-01-17 Oliver Hunt <oliver@apple.com>
1340 Support smart copy and paste during drag and drop
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.
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
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:
1359 2008-01-17 Oliver Hunt <oliver@apple.com>
1363 <rdar://problem/5692940> Crash when attempting to get text properties in
1364 SVG with no renderer
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,
1371 Test: svg/text/text-property-with-display-none.html
1373 * svg/SVGTextContentElement.cpp:
1374 (WebCore::rootInlineBoxForTextContentElement):
1376 2008-01-17 Anders Carlsson <andersca@apple.com>
1380 <rdar://problem/5636742>
1381 CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78
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.
1387 * loader/DocumentLoader.h:
1388 (WebCore::DocumentLoader::mainResourceLoader):
1389 New accessor method.
1391 * loader/PluginDocument.cpp:
1392 (WebCore::PluginTokenizer::writeRawData):
1393 Disable buffering for the main resource loader.
1395 * loader/ResourceLoader.cpp:
1396 (WebCore::ResourceLoader::setShouldBufferData):
1397 * loader/ResourceLoader.h:
1398 Have this free the buffer when disabling buffering.
1400 2008-01-17 Adam Roben <aroben@apple.com>
1402 More Qt/GTK+ build fixing.
1404 * platform/gtk/ScrollViewGtk.cpp:
1405 * platform/qt/ScrollViewQt.cpp:
1407 2008-01-17 Alexey Proskuryakov <ap@webkit.org>
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
1415 Test: fast/dom/Window/window-property-shadowing_.html
1417 * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.
1419 2008-01-17 Adam Roben <aroben@apple.com>
1423 * platform/gtk/ScrollViewGtk.cpp:
1424 (WebCore::ScrollView::ScrollViewPrivate::isActive):
1425 * platform/qt/ScrollViewQt.cpp:
1426 (WebCore::ScrollView::ScrollViewPrivate::isActive):
1428 2008-01-16 Adam Roben <aroben@apple.com>
1430 Update scroll bars/form controls when FocusController::isActive changes
1432 Part of <rdar://5006915> Inactive look for Aqua controls
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
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.
1471 2008-01-16 Adam Roben <aroben@apple.com>
1473 Move focused/active state from Frame to SelectionController/FocusController
1475 This is the first part of <rdar://5006915> Inactive look for Aqua
1478 The following methods were moved/renamed:
1479 - Frame::setIsActive -> FocusController::setActive
1480 - Frame::isActive -> SelectionController::isActiveAndFocused
1481 - Frame::setWindowHasFocus -> SelectionController::setFocused
1483 Active state is now correctly a Page-level concept.
1485 The Mac parts of this patch were written by Darin.
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
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
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
1512 * page/FocusController.h:
1513 (WebCore::FocusController::isActive): Added.
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
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
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.
1536 2008-01-17 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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.
1545 * loader/ImageDocument.cpp:
1546 (WebCore::ImageTokenizer::finish):
1548 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1552 Set the library version of QtWebKit to the Qt version.
1556 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1560 Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module.
1562 * platform/network/qt/QNetworkReplyHandler.cpp:
1563 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1565 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1567 Another Windows build fix, setCookies accidentially had a const
1570 * platform/network/win/CookieJarWin.cpp:
1572 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1574 MSVC Windows build fix. Forward declaring Document in CookieJar.h
1575 seems not enough for MSVC.
1577 * platform/network/win/CookieJarWin.cpp:
1579 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1581 Reviewed by Maciej, Lars, Holger.
1583 http://bugs.webkit.org/show_bug.cgi?id=16589
1585 Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
1588 * bindings/js/kjs_navigator.cpp:
1589 (KJS::Navigator::getValueProperty):
1591 (WebCore::Document::cookie):
1592 * platform/CookieJar.h:
1593 * platform/gtk/CookieJarGtk.cpp:
1594 (WebCore::setCookies):
1596 * platform/mac/CookieJar.mm:
1597 * platform/network/win/CookieJarWin.cpp:
1598 * platform/qt/CookieJarQt.cpp:
1599 (WebCore::setCookies):
1601 (WebCore::cookiesEnabled):
1602 * platform/wx/TemporaryLinkStubs.cpp:
1604 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1608 Windows build fix. (use localtime_r again instead of _s)
1610 * loader/FTPDirectoryDocument.cpp:
1611 (WebCore::processFileDateString):
1613 2008-01-17 Frans Englich <fenglich@trolltech.com>
1615 Reviewed by Simon Hausmann <hausmann@webkit.org>.
1617 Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
1619 * loader/FTPDirectoryDocument.cpp:
1621 2008-01-17 Simon Hausmann <hausmann@webkit.org>
1625 Don't link QtWebKit against libQtXml when building against Qt 4.4.
1627 This is not necessary anymore since QXmlStream has been moved into QtCore.
1631 2008-01-17 HÃ¥vard Wall <hwall@trolltech.com>
1633 Reviewed by Simon Hausmann <hausmann@webkit.org>.
1635 Fix compilation on arm
1637 * platform/graphics/qt/GraphicsContextQt.cpp:
1638 (WebCore::GraphicsContext::endTransparencyLayer):
1640 2008-01-17 Simon Hausmann <shausman@trolltech.com>
1644 Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
1647 * platform/network/qt/ResourceHandleQt.cpp:
1648 * platform/qt/MIMETypeRegistryQt.cpp:
1649 * platform/qt/PlugInInfoStoreQt.cpp:
1651 2008-01-17 Frans Englich <fenglich@trolltech.com>
1653 Reviewed by Simon Hausmann <hausmann@webkit.org>.
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.
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):
1666 2008-01-17 Dan Bernstein <mitz@apple.com>
1668 Reviewed by Dave Hyatt.
1670 - fix determinePitch for segmented fonts
1672 Covered by fast/css/font-face-implicit-local-font.html
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.
1679 2008-01-16 David Hyatt <hyatt@apple.com>
1681 Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
1683 Make sure vertical-align length values are offset from their parents rather than being absolute to the
1688 Added fast/css/vertical-align-lengths.html
1690 * rendering/RenderObject.cpp:
1691 (WebCore::RenderObject::getVerticalPosition):
1693 2008-01-16 Dan Bernstein <mitz@apple.com>
1695 Reviewed by Dave Hyatt.
1697 - fix for @font-face rules with unicode-range: always use a local font where not
1698 explicitly overlaid.
1700 Test: fast/css/font-face-implicit-local-font.html
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.
1709 2008-01-16 Antti Koivisto <antti@apple.com>
1713 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1714 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1716 2008-01-16 Antti Koivisto <antti@apple.com>
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
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.
1730 Windows patch coming up.
1732 Tests: media/broken-video.html
1733 media/unsupported-rtsp.html
1734 media/unsupported-tracks.html
1736 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1737 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1738 (WebCore::MediaPlayerPrivate::createQTMovie):
1739 (WebCore::MediaPlayerPrivate::updateStates):
1740 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1742 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
1744 Reviewed by Alp Toker.
1746 http://bugs.webkit.org/show_bug.cgi?id=16897
1747 Add shared plugins directory to INCLUDE path
1749 Add the plugins directory to INCLUDEPATH
1754 2008-01-16 Geoffrey Garen <ggaren@apple.com>
1756 Reviewed by Sam Weinig.
1758 Added a debug counter for SQL transactions. This helped me debug an SQL
1761 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1763 (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
1764 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
1765 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
1766 * bindings/js/JSCustomSQLTransactionCallback.h:
1768 * bindings/js/kjs_window.cpp: Removed a silly comment.
1770 2008-01-16 David Hyatt <hyatt@apple.com>
1772 Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
1774 Reviewed by Eric Seidel
1776 Added fast/table/dynamic-cellpadding.html
1778 * html/HTMLTableElement.cpp:
1779 (WebCore::HTMLTableElement::parseMappedAttribute):
1780 * rendering/RenderTable.cpp:
1781 (WebCore::RenderTable::setCellPadding):
1782 * rendering/RenderTable.h:
1784 2008-01-16 David Hyatt <hyatt@apple.com>
1786 Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
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
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.
1799 Added fast/table/unbreakable-images-quirk.html
1801 * rendering/RenderBlock.cpp:
1802 (WebCore::RenderBlock::calcInlinePrefWidths):
1803 * rendering/bidi.cpp:
1804 (WebCore::RenderBlock::findNextLineBreak):
1806 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
1808 Reviewed by Jon Honeycutt
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
1815 http://bugs.webkit.org/show_bug.cgi?id=16884
1817 * plugins/win/PluginDatabaseWin.cpp:
1818 * plugins/win/PluginDatabaseWin.h:
1819 * plugins/win/PluginPackageWin.cpp:
1820 * plugins/win/PluginPackageWin.h:
1822 2008-01-16 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1826 * Set the cursor on the containingWindow() instead of the
1828 * This should be safe even with plugins as the cursor is set
1829 on the mouse events.
1831 * platform/qt/WidgetQt.cpp:
1832 (WebCore::Widget::setCursor):
1834 2008-01-16 Brad Hughes <bhughes@trolltech.com>
1838 Improve the sqlite3 dependency when building WebKit inside Qt.
1840 Build sqlite3 into QtWebKit if a system sqlite3 development package
1845 2008-01-16 Lars Knoll <lars@trolltech.com>
1847 Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
1849 Implement GraphicsContext::clipOut and fix transparency layers.
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.
1855 This fixes the worst drawing errors in the Inspector and makes drawing it
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):
1895 2008-01-16 Lars Knoll <lars@trolltech.com>
1897 Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
1899 Trivially implement the themed search field by mapping it to a text field
1901 Also add a bunch of notImplemented warnings for other places where we don't
1902 have an implementatin in RenderTheme.
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):
1919 2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
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
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):
1934 2008-01-16 Simon Hausmann <hausmann@webkit.org>
1936 Reviewed by Lars Knoll <lars@trolltech.com>.
1938 Fix crashes in the new networking code.
1940 When the ResourceLoader cancels the handle we have to make sure not to access
1941 the resource handle afterwards again.
1943 * platform/network/qt/QNetworkReplyHandler.cpp:
1944 (WebCore::QNetworkReplyHandler::finish):
1945 (WebCore::QNetworkReplyHandler::forwardData):
1947 2008-01-16 Lars Knoll <lars@trolltech.com>
1951 add conversion methods from and to QUrl to KURL.
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
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):
1968 2008-01-15 Darin Adler <darin@apple.com>
1970 Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
1972 - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
1974 Put navigation policy delegate calls back for redirects.
1975 Just rolled out the change where I took them out.
1977 * loader/MainResourceLoader.cpp:
1978 (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
1979 (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
1980 (WebCore::MainResourceLoader::willSendRequest):
1981 * loader/MainResourceLoader.h:
1983 2008-01-15 Adele Peterson <adele@apple.com>
1987 Remove unused variable for old media control background drawing code.
1989 * rendering/RenderThemeMac.h:
1990 * rendering/RenderThemeMac.mm:
1991 (WebCore::RenderThemeMac::RenderThemeMac):
1992 (WebCore::RenderThemeMac::~RenderThemeMac):
1994 2008-01-15 Sam Weinig <sam@webkit.org>
1996 Reviewed by Geoffrey Garen.
1998 Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
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.
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:
2071 2008-01-15 Adele Peterson <adele@apple.com>
2075 Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
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.
2080 2008-01-15 Alp Toker <alp@atoker.com>
2082 Rubber-stamped by Anders.
2084 Make the HTTP backend configurable in the GTK+ port. curl is currently
2089 2008-01-15 Adele Peterson <adele@apple.com>
2093 * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
2095 2008-01-14 Samuel Weinig <sam@webkit.org>
2099 Fix for <rdar://problem/5671040>
2100 REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
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.
2106 * css/CSSStyleSelector.cpp:
2107 (WebCore::CSSStyleSelector::matchRules):
2108 (WebCore::CSSStyleSelector::checkOneSelector):
2109 * dom/ClassNames.cpp:
2110 (WebCore::ClassNames::parseClassAttribute):
2112 (WebCore::ClassNames::contains):
2113 (WebCore::ClassNames::operator[]):
2115 2008-01-15 Adele Peterson <adele@apple.com>
2117 Build fix. This time for real.
2119 * rendering/RenderThemeSafari.cpp:
2121 2008-01-15 Adele Peterson <adele@apple.com>
2125 * rendering/RenderThemeSafari.cpp:
2127 2008-01-15 Dan Bernstein <mitz@apple.com>
2129 Reviewed by Darin Adler.
2131 - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
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:
2139 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
2143 <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
2145 Test: fast/encoding/mailto-always-utf-8.html
2147 * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
2149 2008-01-15 Adele Peterson <adele@apple.com>
2151 Reviewed by Adam and Antti.
2153 WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
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.
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.
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:
2176 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
2178 Reviewed by Mark Rowe.
2180 Some logging channels weren't initialized from user defaults.
2182 * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
2183 Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
2185 2008-01-14 Steve Falkenburg <sfalken@apple.com>
2187 Use shared vsprops for most vcproj properties.
2191 * WebCore.vcproj/QTMovieWin.vcproj:
2192 * WebCore.vcproj/WebCore.vcproj:
2193 * platform/graphics/win/QTMovieWin.cpp:
2194 (QTMovieWin::initializeQuickTime): Fix compiler warning.
2196 2008-01-14 Eric Seidel <eric@webkit.org>
2200 Remove a couple more uses of DeprecatedString
2202 No functional changes, thus no test case.
2205 (WebCore::Document::write):
2206 (WebCore::Document::writeln):
2207 (WebCore::Document::recalcStyleSelector):
2210 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
2212 Reviewed by Alp Toker.
2214 Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
2215 http://bugs.webkit.org/show_bug.cgi?id=16874
2218 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
2219 (WebCore::SVGResourceFilter::createPlatformData):
2220 (WebCore::SVGResourceFilter::prepareFilter):
2221 (WebCore::SVGResourceFilter::applyFilter):
2223 2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com>
2225 Reviewed by hyatt & eseidel.
2227 - fix http://bugs.webkit.org/show_bug.cgi?id=16844
2228 RenderText::addLineBoxRects erroneously includes last char for boundingBox
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.
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.
2238 * rendering/RenderText.cpp:
2239 (WebCore::RenderText::addLineBoxRects):
2241 2008-01-14 Darin Adler <darin@apple.com>
2245 - fix crash seen in layout tests
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.
2252 2008-01-14 Darin Adler <darin@apple.com>
2256 - fix mistakes Sam noticed in my re-speed-up patch
2259 (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
2261 * dom/Element.h: Moved virtualHasTagName out of header file.
2264 (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
2266 * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
2269 * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
2271 * platform/text/StringImpl.h: Removed StringBuffer class.
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.
2280 * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
2281 * WebCore.xcodeproj/project.pbxproj: Ditto.
2283 2008-01-14 Dave Hyatt <hyatt@apple.com>
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.
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.
2298 2008-01-14 Geoffrey Garen <ggaren@apple.com>
2300 Reviewed by Sam Weinig.
2302 Some cleanup to my last patch.
2304 Removed one unused setter declaration and one unused setter definition.
2306 Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
2307 because "get" is all over the IDL files, and "read" is not.
2309 * bindings/scripts/CodeGeneratorJS.pm:
2311 (WebCore::DOMWindow::defaultstatus):
2312 * page/DOMWindow.idl:
2314 2008-01-14 Dan Bernstein <mitz@apple.com>
2316 Rubber-stamped by Alice Liu.
2318 - remove reference to nonexistent file
2320 * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
2322 2008-01-14 Darin Adler <darin@apple.com>
2326 - re-speed-up the page load test (my StringImpl change slowed it down)
2327 <rdar://problem/5677241> 1.5% PLT regression from r29098
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
2333 * WebCore.base.exp: Removed export of a now-inline function.
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.
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*
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
2358 (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
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.
2376 (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
2378 * loader/DocumentLoader.cpp:
2379 (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
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.
2387 * platform/KURL.cpp:
2388 (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
2390 * platform/SharedBuffer.cpp:
2391 (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
2393 * platform/graphics/BitmapImage.cpp:
2394 (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
2396 * platform/network/FormData.cpp:
2397 (WebCore::FormData::appendData): Use Vector::grow instead of resize.
2398 (WebCore::FormData::flatten): Ditto.
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.
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.
2411 * platform/text/PlatformString.h:
2412 (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
2413 made both versions inline.
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.
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.
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.
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.
2470 * platform/text/TextCodecICU.cpp:
2471 (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
2473 * platform/text/TextCodecLatin1.cpp:
2474 (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
2475 (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
2477 * platform/text/TextCodecUTF16.cpp:
2478 (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
2480 * platform/text/TextCodecUserDefined.cpp:
2481 (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
2482 (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
2484 * platform/text/TextEncoding.cpp:
2485 (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
2487 * platform/text/TextStream.cpp:
2488 (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
2490 * platform/text/mac/TextCodecMac.cpp:
2491 (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
2493 * rendering/AutoTableLayout.cpp:
2494 (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
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.
2500 * rendering/RenderListMarker.cpp:
2501 (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
2503 * rendering/RenderStyle.cpp: Removed CursorList::operator==.
2504 * rendering/RenderStyle.h:
2505 (WebCore::CursorList::operator==): Implemented using the Vector ==.
2506 (WebCore::CursorList::operator!=): Ditto.
2508 * rendering/RenderTable.cpp:
2509 (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
2510 (WebCore::RenderTable::appendColumn): Ditto.
2512 * rendering/RenderTableSection.cpp:
2513 (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
2515 * rendering/bidi.cpp:
2516 (WebCore::addMidpoint): Use Vector::grow instead of resize.
2518 * xml/XPathNodeSet.h:
2519 (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
2521 2008-01-13 Steve Falkenburg <sfalken@apple.com>
2523 Share common files across projects.
2526 Debug: common.vsprops, debug.vsprops
2527 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
2528 Release: common.vsprops, release.vsprops
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.
2533 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
2535 Reviewed by Adam Roben.
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.
2546 2008-01-13 Dan Bernstein <mitz@apple.com>
2548 Reviewed by Darin Adler.
2550 - fix http://bugs.webkit.org/show_bug.cgi?id=16865
2551 fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
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.
2561 2008-01-13 Eric Seidel <eric@webkit.org>
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
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.
2574 Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
2575 fast/dom/Range/range-insertNode-splittext.html
2578 (WebCore::Range::insertNode): handle the splitText case correctly.
2580 2008-01-13 Darin Adler <darin@apple.com>
2584 - http://bugs.webkit.org/show_bug.cgi?id=16861
2585 get rid of unnecessary string copying
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.
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!
2606 * editing/markup.cpp:
2607 (WebCore::stringValueForRange): Removed unneeded call to copy.
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.
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.
2622 * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
2624 2008-01-13 Oliver Hunt <oliver@apple.com>
2626 Attempt to fix QT build
2628 * html/CanvasRenderingContext2D.cpp:
2629 (WebCore::CanvasRenderingContext2D::willDraw):
2631 2008-01-13 Oliver Hunt <oliver@apple.com>
2633 Reviewed by Mark Rowe.
2635 Avoid repainting the entire canvas element when possible.
2637 http://bugs.webkit.org/show_bug.cgi?id=16859
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
2647 * html/CanvasRenderingContext2D.cpp:
2648 (WebCore::CanvasRenderingContext2D::willDraw):
2649 * html/HTMLCanvasElement.cpp:
2650 (WebCore::HTMLCanvasElement::willDraw):
2652 2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
2654 Reviewed by Anders Carlsson.
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
2661 * bindings/js/kjs_dom.cpp:
2662 (WebCore::getRuntimeObject):
2664 2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
2666 Gtk debug build fix. Reviewed by Mark Rowe.
2668 Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
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:
2675 2008-01-12 Adam Barth <hk9565@gmail.com>
2677 Reviewed by Maciej (and also tweaked a little bit).
2679 - more thorough fix for some crashing tests
2680 http://bugs.webkit.org/show_bug.cgi?id=16782
2682 * loader/FrameLoader.cpp:
2683 (WebCore::FrameLoader::urlSelected):
2684 (WebCore::FrameLoader::submitForm):
2685 (WebCore::FrameLoader::executeIfJavaScriptURL):
2686 * loader/FrameLoader.h:
2688 2008-01-12 Maciej Stachowiak <mjs@apple.com>
2692 - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
2694 * platform/SecurityOrigin.cpp:
2695 (WebCore::isDefaultPortForProtocol):
2696 (WebCore::SecurityOrigin::SecurityOrigin):
2698 2008-01-11 Geoffrey Garen <ggaren@apple.com>
2700 Reviewed by Oliver Hunt.
2702 Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
2703 variable access (16644)
2705 Removed the ReadOnly bit from some properties, to match Firefox. Also
2706 removed status-related setters, to allow using their names as variable
2709 * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
2710 are one-way across domain boundaries, to match Firefox.
2712 * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
2714 * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
2715 we don't know that JSObject is our base class.
2717 * page/DOMWindow.idl: Replaced lots of readonly declarations with
2718 [Replaceable] declarations.
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
2725 * page/DOMWindow.cpp:
2727 2008-01-11 Anyang Ren <anyang.ren@gmail.com>
2729 Reviewed by Darin Adler.
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 (=).
2735 Test: fast/frames/viewsource-empty-attribute-value.html
2737 * html/HTMLViewSourceDocument.cpp:
2738 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2740 2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
2742 Reviewed by Alp Toker.
2744 [Gtk] Uneven glyph spacing with subpixel antialiasing
2745 http://bugs.webkit.org/show_bug.cgi?id=16715
2747 Use cairo font options from the default GDK screen when creating a
2750 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2751 (WebCore::FontPlatformData::FontPlatformData):
2753 2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>
2757 Added a new forwarding header, because Activation.h has been separated
2760 * ForwardingHeaders/kjs/Activation.h: Added.
2762 2008-01-11 Luca Bruno <lethalman88@gmail.com>
2764 Reviewed by Alp Toker.
2766 http://bugs.webkit.org/show_bug.cgi?id=16729
2767 [cURL] Allow multiple files for upload
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:
2780 2008-01-11 Christian Dywan <christian@imendio.com>
2782 Reviewed by Alp Toker.
2784 [Gtk] Menu items need underscores
2785 http://bugs.webkit.org/show_bug.cgi?id=16817
2787 Add underscores to appropriate menu labels.
2788 Also adjust strings slightly.
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):
2833 2008-01-11 Ada Chan <adachan@apple.com>
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.
2840 Reviewed by John and Anders.
2842 * loader/FrameLoader.cpp:
2843 (WebCore::FrameLoader::provisionalLoadStarted):
2844 (WebCore::FrameLoader::commitProvisionalLoad):
2846 2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
2850 <rdar://problem/5683529> plugins/embed-inside-object.html is timing
2853 Revert to using FrameTree::find() so that frame aliases like "_self" and
2854 "_current" are interpreted properly
2856 * plugins/win/PluginViewWin.cpp:
2857 (WebCore::PluginViewWin::performRequest):
2858 (WebCore::PluginViewWin::load):
2860 2008-01-11 Alp Toker <alp@atoker.com>
2862 Reviewed by Dave Hyatt and Mark Rowe.
2864 http://bugs.webkit.org/show_bug.cgi?id=16089
2865 [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
2867 Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
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):
2892 2008-01-11 Adam Roben <aroben@apple.com>
2894 Remove FrameLoader::committedFirstRealDocumentLoad
2896 This method no longer has any callers.
2900 * loader/FrameLoader.h:
2902 2008-01-11 Antti Koivisto <antti@apple.com>
2904 Add a standalone version of the blog post video player as a manual test.
2906 * manual-tests/resources/touch-poster.png: Added.
2907 * manual-tests/video-player.html: Added.
2909 2008-01-10 Antti Koivisto <antti@apple.com>
2913 Fix <rdar://problem/5682767>
2914 Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
2916 Take care that GWorld is created and deletes when needed as size or visibility changes.
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):
2927 2008-01-11 David Hyatt <hyatt@apple.com>
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.
2934 Added fast/table/table-hspace-align-center.html
2937 * html/HTMLTableElement.cpp:
2938 (WebCore::HTMLTableElement::parseMappedAttribute):
2940 2008-01-11 Mark Rowe <mrowe@apple.com>
2944 * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
2946 2008-01-11 Mark Rowe <mrowe@apple.com>
2948 Qt build fix. Add link stubs for the new FileSystem.h functions introduced
2951 * platform/qt/TemporaryLinkStubs.cpp:
2952 (WebCore::openTemporaryFile):
2954 2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
2956 Reviewed by Anders Carlsson.
2958 Bug 16779: Make the PluginStream implementation be shared across platforms
2959 http://bugs.webkit.org/show_bug.cgi?id=16779
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.
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
2986 2008-01-11 Geoffrey Garen <ggaren@apple.com>
2988 Try to fix Mac build: Edit the right .exp file.
2992 2008-01-11 Geoffrey Garen <ggaren@apple.com>
2994 Try to fix Qt build: don't use pthreads if they're not available.
2996 * bindings/js/GCController.cpp:
2998 2008-01-10 Geoffrey Garen <ggaren@apple.com>
3000 Reviewed by John Sullivan.
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
3006 * <rdar://problem/5669423> PLT complains about world leak if browser
3007 window is open when PLT starts
3009 These were both bugs in the reporting mechanism, so I took the
3010 opportunity to do some house cleaning there.
3012 Stupid class, I kill you:
3013 * bridge/JavaScriptStatistics.cpp: Removed.
3014 * bridge/JavaScriptStatistics.h: Removed.
3016 * bindings/js/GCController.h: Adopted the only useful features of
3017 JavaScriptStatistics, since they were GC-related.
3018 * bindings/js/GCController.cpp:
3020 2008-01-10 Eric Seidel <eric@webkit.org>
3024 No functional changes, only code cleanup.
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):
3037 2008-01-10 Dan Bernstein <mitz@apple.com>
3039 Reviewed by Anders Carlsson.
3041 - fix a crash when calling alert() from a repeating timer
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.
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.
3051 2008-01-10 Maciej Stachowiak <mjs@apple.com>
3055 - remove SecurityOriginData and fold its functionality into SecurityOrigin
3060 * WebCore.vcproj/WebCore.vcproj:
3061 * WebCore.xcodeproj/project.pbxproj:
3062 * WebCoreSources.bkl:
3063 * bindings/js/JSDOMWindowCustom.cpp:
3064 (WebCore::JSDOMWindow::postMessage):
3066 (WebCore::Document::domain):
3068 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
3069 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
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):
3127 2008-01-10 Anders Carlsson <andersca@apple.com>
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.
3134 * plugins/win/PluginViewWin.cpp:
3135 (WebCore::PluginViewWin::performRequest):
3137 2008-01-10 Alp Toker <alp@atoker.com>
3139 SVG font build fix for GTK+/autotools.
3143 2008-01-10 Adam Barth <hk9565@gmail.com>
3145 Reviewed by Sam Weinig and Anders Carlsson.
3147 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
3148 <rdar://problem/5657355>
3150 This patch makes two changes:
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
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.
3162 Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
3163 http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
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:
3175 2008-01-10 John Sullivan <sullivan@apple.com>
3177 Written by Hyatt, reviewed by me
3179 - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
3180 a <video> element that uses controls attribute
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
3187 2008-01-10 Ada Chan <adachan@apple.com>
3189 Fix fast/forms/input-radio-checked-tab.html
3190 Meta key is not the same as Alt key on windows.
3194 * platform/win/KeyEventWin.cpp:
3195 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3197 2008-01-10 Anders Carlsson <andersca@apple.com>
3201 Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
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.
3207 (WebCore::PluginViewWin::requestTimerFired):
3208 Don't leak the plugin requests.
3210 (WebCore::PluginViewWin::load):
3212 2008-01-10 Anders Carlsson <andersca@apple.com>
3214 Reviewed by John Sullivan.
3216 <rdar://problem/5455889>
3217 REGRESSION: BumperCar crashes when attempting to load a long invalid URL
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.
3225 * loader/MainResourceLoader.cpp:
3226 (WebCore::MainResourceLoader::receivedError):
3228 2008-01-10 Antti Koivisto <antti@apple.com>
3232 Fix <rdar://problem/5658048>
3233 After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
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
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):
3246 2008-01-10 Alexey Proskuryakov <ap@webkit.org>
3248 Reviewed by Adam Roben.
3250 <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
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.
3255 2008-01-10 Adam Roben <aroben@apple.com>
3257 Fixes to allow multiple FrameViews on Windows
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.
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.
3277 2008-01-10 Alp Toker <alp@atoker.com>
3279 Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
3281 * svg/SVGFontFaceElement.cpp:
3283 2008-01-10 Justin Garcia <justin.garcia@apple.com>
3285 Reviewed by Alice Liu.
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
3290 Make sure we have an updated layout before we perform any editing work.
3292 * editing/EditCommand.cpp:
3293 (WebCore::EditCommand::apply):
3294 (WebCore::EditCommand::unapply):
3295 (WebCore::EditCommand::reapply):
3297 2008-01-10 Luca Bruno <lethalman88@gmail.com>
3299 Reviewed by Alp Toker.
3301 Back out r29206 which was causing regressions in curl http job
3304 * platform/network/curl/ResourceHandleManager.cpp
3305 (ResourceHandleManager::cancel):
3307 2008-01-10 Kevin McCullough <kmccullough@apple.com>
3309 Reviewed by Darin, Sam, and Adam.
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.
3318 * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
3321 (KJS::showModalDialog):
3322 (KJS::WindowProtoFuncOpen::callAsFunction):
3324 2008-01-10 David Hyatt <hyatt@apple.com>
3326 Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
3330 Added fast/css/visibility-hit-test.html test case.
3332 * rendering/RenderBox.cpp:
3333 (WebCore::RenderBox::nodeAtPoint):
3335 2008-01-10 Lars Knoll <lars@trolltech.com>
3339 rename QWebPageHistory to QWebHistory.
3343 2008-01-10 Lars Knoll <lars@trolltech.com>
3347 fix the drawing errors that where introduced due to refactoring.
3349 Correctly clip to the rectangle we want to draw in ScrollView::paint().
3351 * platform/qt/ScrollViewQt.cpp:
3352 (WebCore::ScrollView::paint):
3354 2008-01-10 Simon Hausmann <hausmann@webkit.org>
3358 Temporarily disable gzip decompression in qhttp due to a bug.
3360 * platform/network/qt/QNetworkReplyHandler.cpp:
3361 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3363 2008-01-10 Simon Hausmann <hausmann@webkit.org>
3367 http://bugs.webkit.org/show_bug.cgi?id=16588
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.
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):
3382 2008-01-10 Kevin Ollivier <kevino@theolliviers.com>
3384 wx build fix for changes in r29328
3386 * WebCoreSources.bkl:
3388 2008-01-09 Maciej Stachowiak <mjs@apple.com>
3392 - refactor SecurityOrigin in preparation for merging with SecurityOriginData
3394 * platform/SecurityOrigin.cpp:
3395 (WebCore::SecurityOrigin::SecurityOrigin):
3396 (WebCore::SecurityOrigin::create):
3397 (WebCore::SecurityOrigin::createForFrame):
3398 * platform/SecurityOrigin.h:
3400 2008-01-09 Ada Chan <adachan@apple.com>
3402 Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
3406 Test: fast/forms/tabs-with-modifiers.html
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
3416 * page/FocusController.h:
3418 2008-01-09 Antti Koivisto <antti@apple.com>
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)
3426 Don't make MediaPlayer visible when it is actually in page cache.
3428 * rendering/RenderVideo.cpp:
3429 (WebCore::RenderVideo::updatePlayer):
3431 2008-01-09 Anders Carlsson <andersca@apple.com>
3435 <rdar://problem/5532361>
3436 CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
3438 Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
3441 (WebCore::Frame::pageDestroyed):
3443 2008-01-09 John Sullivan <sullivan@apple.com>
3445 Reviewed by Adam Roben and Anders Carlsson
3447 - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to
3448 missing-but-expected Reload item
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
3455 2008-01-09 Mark Rowe <mrowe@apple.com>
3457 Fix Windows debug build for opensource developers.
3459 * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
3461 2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org>
3463 Reworked by Eric, Reviewed by Hyatt.
3465 - fix http://bugs.webkit.org/show_bug.cgi?id=9454
3466 Add support for :lang inheritance and xml:lang support.
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
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.
3479 (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
3481 (WebCore::Document::contentLanguage):
3482 (WebCore::Document::setContentLanguage):
3484 2008-01-08 Timothy Hatcher <timothy@apple.com>
3488 Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
3489 http://bugs.webkit.org/show_bug.cgi?id=16678
3491 Add a NULL check for controller before calling JSObjectSetPrivate.
3493 * page/InspectorController.cpp:
3494 (WebCore::InspectorController::~InspectorController):
3496 2008-01-08 Xan Lopez <xan@gnome.org>
3498 Reviewed by Alp Toker.
3500 http://bugs.webkit.org/show_bug.cgi?id=15610
3501 [GTK] Text rendering using Pango
3503 Use Pango to render Complex path text.
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):
3514 2008-01-08 Timothy Hatcher <timothy@apple.com>
3516 Reviewed by Darin Adler.
3518 <rdar://problem/5665860> With the web inspector displayed, a crash occurs
3519 at WebCore::Frame::document() when navigating back to previous page
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.
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.
3537 2008-01-08 Alp Toker <alp@atoker.com>
3539 Back out VIDEO by default in the GTK+ qmake build. The build bot
3540 doesn't have the necessary libraries installed.
3544 2008-01-08 Alp Toker <alp@atoker.com>
3546 Win build fix for breakage introduced in r29328.
3548 * WebCore.vcproj/WebCore.vcproj:
3550 2008-01-08 Alp Toker <alp@atoker.com>
3552 Rubber-stamped by Mark Rowe.
3554 Enable VIDEO by default in the GTK+ qmake build.
3558 2008-01-08 Alp Toker <alp@atoker.com>
3560 GTK+ VIDEO build fix for breakage introduced in r29328.
3562 Issue noticed by Ori_B.
3567 2008-01-08 Antti Koivisto <antti@apple.com>
3571 HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is
3574 Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
3576 Test: media/constructors.html
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:
3590 2008-01-08 Anders Carlsson <andersca@apple.com>
3594 Don't add the applet widget to the view, that's done later by RenderApplet.
3596 * loader/FrameLoader.cpp:
3597 (WebCore::FrameLoader::createJavaAppletWidget):
3599 2008-01-08 Antti Koivisto <antti@apple.com>
3603 Add security check for Audio constructor.
3605 * bindings/js/kjs_window.cpp:
3606 (KJS::Window::getValueProperty):
3608 2008-01-08 Timothy Hatcher <timothy@apple.com>
3610 Reviewed by Adam Roben.
3612 <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
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.
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.
3638 2008-01-08 Dan Bernstein <mitz@apple.com>
3640 Rubber-stamped by Sam Weinig.
3642 - prefix all member variables in CSSStyleSelector with m_
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):
3679 2008-01-08 David D. Kilzer <ddkilzer@apple.com>
3681 Removed unnecessary files from Copy Bundle Resources build phase.
3685 * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
3686 DOMCoreException.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
3706 SVGAnimatedString.idl
3707 SVGAnimatedTransformList.idl
3708 SVGAnimationElement.idl
3709 SVGCSSPropertyNames.in
3710 SVGCSSValueKeywords.in
3711 SVGCircleElement.idl
3712 SVGClipPathElement.idl
3714 SVGComponentTransferFunctionElement.idl
3715 SVGCursorElement.idl
3716 SVGDefinitionSrcElement.idl
3721 SVGElementInstance.idl
3722 SVGElementInstanceList.idl
3723 SVGEllipseElement.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
3752 SVGFontFaceElement.idl
3753 SVGFontFaceFormatElement.idl
3754 SVGFontFaceNameElement.idl
3755 SVGFontFaceSrcElement.idl
3756 SVGFontFaceUriElement.idl
3757 SVGForeignObjectElement.idl
3760 SVGGradientElement.idl
3766 SVGLinearGradientElement.idl
3768 SVGMarkerElement.idl
3771 SVGMetadataElement.idl
3772 SVGMissingGlyphElement.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
3796 SVGPathSegMovetoAbs.idl
3797 SVGPathSegMovetoRel.idl
3798 SVGPatternElement.idl
3801 SVGPolygonElement.idl
3802 SVGPolylineElement.idl
3803 SVGPreserveAspectRatio.idl
3804 SVGRadialGradientElement.idl
3807 SVGRenderingIntent.idl
3809 SVGScriptElement.idl
3815 SVGSwitchElement.idl
3816 SVGSymbolElement.idl
3820 SVGTextContentElement.idl
3822 SVGTextPathElement.idl
3823 SVGTextPositioningElement.idl
3826 SVGTransformList.idl
3827 SVGTransformable.idl
3835 XMLHttpRequestException.idl
3839 make-charset-table.pl
3844 2008-01-08 Luca Bruno <lethalman88@gmail.com>
3846 Reviewed by Alp Toker.
3848 Support copying the selected URL to the clipboard.
3850 * platform/gtk/PasteboardGtk.cpp:
3851 (WebCore::Pasteboard::writeURL): implemented
3853 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
3855 Renamed CharacterData::m_str to m_data
3857 Rubber-stamped by Adam again.
3859 No test cases added since there is no change in behavior.
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:
3878 (WebCore::Text::splitText):
3879 (WebCore::Text::createRenderer):
3880 (WebCore::Text::recalcStyle):
3882 2008-01-08 Steve Falkenburg <sfalken@apple.com>
3884 Fix a couple of compiler warnings.
3888 * platform/win/ThreadingWin.cpp:
3889 * platform/win/UniscribeController.cpp: Remove unused function.
3890 (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
3892 2008-01-08 Adele Peterson <adele@apple.com>
3896 Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
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.
3904 2008-01-08 Adele Peterson <adele@apple.com>
3908 * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
3909 paint the media controls in RenderThemeSafari.
3911 2008-01-08 Oliver Hunt <oliver@apple.com>
3913 Reviewed by Adele and John.
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 )
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
3925 * page/DragController.cpp:
3926 (WebCore::DragController::performDrag):
3928 2008-01-08 Alexey Proskuryakov <ap@webkit.org>
3932 <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
3933 WebCore::Node::setChanged + 96
3935 Test: fast/dom/cssTarget-crash.html
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.
3941 2008-01-08 Adam Roben <aroben@apple.com>
3943 * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
3944 rebuild on Windows now that the media elements are enabled.
3946 2008-01-08 Adam Roben <aroben@apple.com>
3948 * svg/svgtags.in: Touch this again for the sake of the Windows bots.
3950 2008-01-08 Timothy Hatcher <timothy@apple.com>
3952 Reviewed by Adam Roben.
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.
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.
3977 2008-01-08 Dan Bernstein <mitz@apple.com>
3979 Rubber-stamped by Sam Weinig.
3981 - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
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:
3996 2008-01-08 Dan Bernstein <mitz@apple.com>
3998 Fix a Wx build error.
4000 * platform/graphics/wx/GlyphMapWx.cpp:
4001 (WebCore::GlyphPage::fill):
4003 2008-01-08 Dan Bernstein <mitz@apple.com>
4005 Fix a Qt build error.
4007 * platform/graphics/qt/SimpleFontDataQt.cpp:
4008 (WebCore::SimpleFontData::containsCharacters):
4009 (WebCore::SimpleFontData::fontDataForCharacter):
4010 (WebCore::SimpleFontData::isSegmented):
4012 2008-01-08 Adam Roben <aroben@apple.com>
4016 Touch config.h to force a rebuild (apparently changing preprocessor
4017 definitions in the .vcproj doesn't force a rebuild).
4021 2008-01-08 Dan Bernstein <mitz@apple.com>
4023 Fix a Wx build failure.
4027 2008-01-08 Dan Bernstein <mitz@apple.com>
4029 Fix a Qt build failure.
4033 2008-01-08 John Sullivan <sullivan@apple.com>
4035 Reviewed by Adam Roben
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
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.
4043 * editing/EditorCommand.cpp:
4044 added EditorCommandSource parameter to isEnabled function prototype
4046 added unused EditorCommandSource parameter to these isEnabled functions:
4047 (WebCore::enabledAnySelection):
4048 (WebCore::enabledAnySelectionAndMark):
4049 (WebCore::enableCaretInEditableText):
4050 (WebCore::enabledCopy):
4051 (WebCore::enabledCut):
4053 (WebCore::enabledDelete):
4054 new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
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):
4066 (WebCore::CommandEntry::):
4067 wire up new enabledDelete function as delete function for Delete command
4069 (WebCore::Editor::Command::isEnabled):
4070 pass EditorCommandSource parameter to isEnabled function
4072 2008-01-08 Adam Roben <aroben@apple.com>
4074 Visual C++ Express build fix
4076 * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
4077 and advapi32.lib. VS implicitly links against these, VC++ Express
4080 2008-01-08 Dan Bernstein <mitz@apple.com>
4084 * platform/graphics/mac/FontCustomPlatformData.cpp:
4085 (WebCore::createFontCustomPlatformData):
4087 2008-01-08 Dan Bernstein <mitz@apple.com>
4089 Try to fix the Qt build.
4093 2008-01-08 Nikolas Zimmermann <zimmermann@kde.org>
4095 Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
4097 * page/inspector/WebKit.qrc:
4099 2008-01-08 Maciej Stachowiak <mjs@apple.com>
4103 - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
4105 * bindings/objc/PublicDOMInterfaces.h:
4106 * html/HTMLDocument.idl:
4108 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
4110 Renamed CharacterData::str to m_str to match coding style
4112 Rubber-stamped by Adam.
4114 No test cases added since there is no change in behavior.
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:
4133 (WebCore::Text::splitText):
4134 (WebCore::Text::createRenderer):
4135 (WebCore::Text::recalcStyle):
4137 2008-01-08 Oliver Hunt <oliver@apple.com>
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
4144 * WebCore.vcproj/WebCore.vcproj:
4146 2008-01-07 Maciej Stachowiak <mjs@apple.com>
4150 - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
4152 Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
4155 (WebCore::Document::Document):
4157 (WebCore::Document::setHasOpenDatabases):
4158 (WebCore::Document::hasOpenDatabases):
4159 * loader/FrameLoader.cpp:
4160 (WebCore::FrameLoader::canCachePage):
4161 * storage/Database.cpp:
4162 (WebCore::Database::openDatabase):
4164 2008-01-07 Dan Bernstein <mitz@apple.com>
4166 Reviewed by Oliver Hunt.
4168 - fix leaks seen on the build bot
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.
4176 2008-01-07 Mark Rowe <mrowe@apple.com>
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.
4184 2008-01-07 Antti Koivisto <antti@apple.com>
4188 Re-enable media support in Windows build.
4190 * WebCore.vcproj/QTMovieWin.vcproj:
4191 * WebCore.vcproj/WebCore.vcproj:
4192 * WebCore.vcproj/build-generated-files.sh:
4194 2008-01-07 Steve Falkenburg <sfalken@apple.com>
4196 Add version resource to QTMovieWin.dll
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.
4206 2008-01-07 Dan Bernstein <mitz@apple.com>
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.
4218 2008-01-07 Dan Bernstein <mitz@apple.com>
4220 Reviewed by Oliver Hunt.
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.
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).
4233 2008-01-07 Steve Falkenburg <sfalken@apple.com>
4237 * WebCore.vcproj/WebCore.sln:
4238 * WebCore.vcproj/WebCore.submit.sln:
4240 2008-01-07 Oliver Hunt <oliver@apple.com>
4244 Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
4246 Test: svg/custom/image-with-aspect-ratio-stretch.svg
4248 * rendering/RenderSVGImage.cpp:
4249 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
4251 2008-01-07 Dan Bernstein <mitz@apple.com>
4255 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
4256 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
4258 2008-01-07 Adele Peterson <adele@apple.com>
4260 Add missing newline.