1 2008-01-17 Geoffrey Garen <ggaren@apple.com>
3 Reviewed by Darin Adler.
5 Fixed: lots of WebCore leaks reported when quitting Safari
7 If we're quitting with a GC still scheduled, do the GC before quitting.
8 That way, WebCore's leak counters won't count objects that were
11 * bindings/js/GCController.cpp:
12 (WebCore::GCController::~GCController):
13 (WebCore::GCController::garbageCollectNow):
14 * bindings/js/GCController.h:
16 2008-01-17 Alp Toker <alp@atoker.com>
18 Reviewed by Oliver Hunt.
20 gdk_screen_get_font_options() returns NULL if no default options are
21 set so we always have to NULL check to avoid crashes later on since
22 Cairo doesn't accept NULL font options.
24 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
25 (WebCore::FontPlatformData::FontPlatformData):
27 2008-01-17 Antti Koivisto <antti@apple.com>
31 Windows fix for <rdar://problem/5605682>
32 Disallow streaming protocols for media elements
33 and <rdar://problem/5668711>
34 Limit the container and codec types that the <video> tag supports
36 - Disable unsupported QuickTime tracks types.
37 - Disallow streaming protocols (for now).
39 * WebCore.vcproj/WebCore.vcproj:
40 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
41 (WebCore::MediaPlayerPrivate::updateStates):
42 * platform/graphics/win/QTMovieWin.cpp:
44 (QTMovieWin::disableUnsupportedTracks):
45 * platform/graphics/win/QTMovieWin.h:
47 2008-01-17 Oliver Hunt <oliver@apple.com>
49 Support smart copy and paste during drag and drop
53 In order for the drag and drop tests in Windows DRT to pass
54 we need to support smart cut and paste operations during
55 drag and drop on windows.
57 There is no layout test as drag and drop is still unsupported
58 on windows. Once supported smart drag/drop is tested by existing
61 * platform/win/ClipboardUtilitiesWin.cpp:
62 (WebCore::smartPasteFormat):
63 * platform/win/ClipboardUtilitiesWin.h:
64 * platform/win/ClipboardWin.cpp:
65 (WebCore::ClipboardWin::writeRange):
66 * platform/win/DragDataWin.cpp:
68 2008-01-17 Oliver Hunt <oliver@apple.com>
72 <rdar://problem/5692940> Crash when attempting to get text properties in
75 We use the element renderer to calculate the text element bounds,
76 however there was no check against the possibility of the text dimension
77 properties being requested on a element with no renderer (eg. unattached,
80 Test: svg/text/text-property-with-display-none.html
82 * svg/SVGTextContentElement.cpp:
83 (WebCore::rootInlineBoxForTextContentElement):
85 2008-01-17 Anders Carlsson <andersca@apple.com>
89 <rdar://problem/5636742>
90 CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78
92 When loading full-frame plug-ins, disable buffering data for the main resource loader. Otherwise, this can cause us
93 to crash when loading large files such as movies in the browser. We already do this for embedded plug-ins.
96 * loader/DocumentLoader.h:
97 (WebCore::DocumentLoader::mainResourceLoader):
100 * loader/PluginDocument.cpp:
101 (WebCore::PluginTokenizer::writeRawData):
102 Disable buffering for the main resource loader.
104 * loader/ResourceLoader.cpp:
105 (WebCore::ResourceLoader::setShouldBufferData):
106 * loader/ResourceLoader.h:
107 Have this free the buffer when disabling buffering.
109 2008-01-17 Adam Roben <aroben@apple.com>
111 More Qt/GTK+ build fixing.
113 * platform/gtk/ScrollViewGtk.cpp:
114 * platform/qt/ScrollViewQt.cpp:
116 2008-01-17 Alexey Proskuryakov <ap@webkit.org>
120 http://bugs.webkit.org/show_bug.cgi?id=16902
121 <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
122 fast/dom/Window/window-property-shadowing.html
124 Test: fast/dom/Window/window-property-shadowing_.html
126 * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.
128 2008-01-17 Adam Roben <aroben@apple.com>
132 * platform/gtk/ScrollViewGtk.cpp:
133 (WebCore::ScrollView::ScrollViewPrivate::isActive):
134 * platform/qt/ScrollViewQt.cpp:
135 (WebCore::ScrollView::ScrollViewPrivate::isActive):
137 2008-01-16 Adam Roben <aroben@apple.com>
139 Update scroll bars/form controls when FocusController::isActive changes
141 Part of <rdar://5006915> Inactive look for Aqua controls
147 * page/FocusController.cpp:
148 (WebCore::FocusController::setActive): Update control tints when the
149 active state changes.
150 * page/FrameView.cpp:
151 (WebCore::FrameView::updateControlTints): On Windows, we have to ask
152 ScrollView to paint so that the outermost scroll bars will paint. On
153 Mac, the outermost scroll bars are taken care of by NSScroller.
154 * platform/PopupMenu.h: Updated for ScrollBarClient changes.
155 * platform/ScrollBar.h: Added a new ScrollBarClient method.
156 * platform/win/PlatformScrollBarSafari.cpp:
157 (WebCore::PlatformScrollbar::paint): Invalidate when updating control
158 tints so that we can paint with the new tint later.
159 (WebCore::PlatformScrollbar::paintButton): Pass the active state down
161 (WebCore::PlatformScrollbar::paintTrack): Ditto.
162 (WebCore::PlatformScrollbar::paintThumb): Ditto.
163 * platform/win/ScrollViewWin.cpp:
164 (WebCore::ScrollView::ScrollViewPrivate::isActive): Added.
165 (WebCore::ScrollView::paint): Pass paint calls on down if we're
166 updating control tints so the scroll bars can invalidate.
167 * rendering/RenderLayer.cpp:
168 (WebCore::RenderLayer::isActive): Added.
169 * rendering/RenderLayer.h:
170 * rendering/RenderListBox.cpp:
171 (WebCore::RenderListBox::isActive): Added.
172 * rendering/RenderListBox.h:
173 * rendering/RenderTheme.cpp:
174 (WebCore::RenderTheme::isActive): Added.
175 * rendering/RenderTheme.h:
176 * rendering/RenderThemeSafari.cpp:
177 (WebCore::RenderThemeSafari::determineState): Pass the active state
180 2008-01-16 Adam Roben <aroben@apple.com>
182 Move focused/active state from Frame to SelectionController/FocusController
184 This is the first part of <rdar://5006915> Inactive look for Aqua
187 The following methods were moved/renamed:
188 - Frame::setIsActive -> FocusController::setActive
189 - Frame::isActive -> SelectionController::isActiveAndFocused
190 - Frame::setWindowHasFocus -> SelectionController::setFocused
192 Active state is now correctly a Page-level concept.
194 The Mac parts of this patch were written by Darin.
200 * WebCore.base.exp: Updated for method renames.
201 * css/CSSStyleSelector.cpp:
202 (WebCore::CSSStyleSelector::checkOneSelector): Ditto.
203 * editing/SelectionController.cpp:
204 (WebCore::SelectionController::SelectionController): Initialize new
206 (WebCore::SelectionController::focusedOrActiveStateChanged): New
207 private method. Most of this code came from Frame::setIsActive.
208 (WebCore::SelectionController::pageActivationChanged): Added.
209 (WebCore::SelectionController::setFocused): Added. Replaces
210 Frame::setWindowHasFocus.
211 (WebCore::SelectionController::isFocusedAndActive): Added. Replaces
213 * editing/SelectionController.h:
214 * page/FocusController.cpp:
215 (WebCore::FocusController::FocusController): Initialize new member.
216 (WebCore::FocusController::setFocusedFrame): Changed to just call
217 SelectionController::setFocused, since active state has doesn't change
218 when the focused frame changes.
219 (WebCore::FocusController::setActive): Added. Replaces
221 * page/FocusController.h:
222 (WebCore::FocusController::isActive): Added.
224 (WebCore::Frame::setDocument): Updated for method renames.
225 (WebCore::Frame::setFocusedNodeIfNeeded): Ditto.
226 (WebCore::Frame::updateSecureKeyboardEntryIfActive): Ditto.
227 (WebCore::FramePrivate::FramePrivate): Removed initialization of
230 * page/FramePrivate.h:
231 * page/mac/WebCoreFrameBridge.h: Removed -selectionColor.
232 * page/mac/WebCoreFrameBridge.mm: Ditto.
233 * rendering/RenderListBox.cpp:
234 (WebCore::RenderListBox::paintItemForeground): Updated for method
236 (WebCore::RenderListBox::paintItemBackground): Ditto.
237 * rendering/RenderObject.cpp:
238 (WebCore::RenderObject::selectionBackgroundColor): Ditto.
239 (WebCore::RenderObject::selectionForegroundColor): Ditto.
240 * rendering/RenderTextControl.cpp:
241 (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Ditto.
242 * rendering/RenderTheme.cpp:
243 (WebCore::RenderTheme::isFocused): Ditto.
245 2008-01-17 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
249 * Make the nice 'safari' feature work on our port. When viewing a single image, clicking
250 on the image will zoom it.
251 * It seems like our platform can only determine the size of the image once it is completely
252 loaded. Call m_doc->imageChanged on the last chunk of data as well.
254 * loader/ImageDocument.cpp:
255 (WebCore::ImageTokenizer::finish):
257 2008-01-17 Simon Hausmann <hausmann@webkit.org>
261 Set the library version of QtWebKit to the Qt version.
265 2008-01-17 Simon Hausmann <hausmann@webkit.org>
269 Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module.
271 * platform/network/qt/QNetworkReplyHandler.cpp:
272 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
274 2008-01-17 Simon Hausmann <hausmann@webkit.org>
276 Another Windows build fix, setCookies accidentially had a const
279 * platform/network/win/CookieJarWin.cpp:
281 2008-01-17 Simon Hausmann <hausmann@webkit.org>
283 MSVC Windows build fix. Forward declaring Document in CookieJar.h
284 seems not enough for MSVC.
286 * platform/network/win/CookieJarWin.cpp:
288 2008-01-17 Simon Hausmann <hausmann@webkit.org>
290 Reviewed by Maciej, Lars, Holger.
292 http://bugs.webkit.org/show_bug.cgi?id=16589
294 Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
297 * bindings/js/kjs_navigator.cpp:
298 (KJS::Navigator::getValueProperty):
300 (WebCore::Document::cookie):
301 * platform/CookieJar.h:
302 * platform/gtk/CookieJarGtk.cpp:
303 (WebCore::setCookies):
305 * platform/mac/CookieJar.mm:
306 * platform/network/win/CookieJarWin.cpp:
307 * platform/qt/CookieJarQt.cpp:
308 (WebCore::setCookies):
310 (WebCore::cookiesEnabled):
311 * platform/wx/TemporaryLinkStubs.cpp:
313 2008-01-17 Simon Hausmann <hausmann@webkit.org>
317 Windows build fix. (use localtime_r again instead of _s)
319 * loader/FTPDirectoryDocument.cpp:
320 (WebCore::processFileDateString):
322 2008-01-17 Frans Englich <fenglich@trolltech.com>
324 Reviewed by Simon Hausmann <hausmann@webkit.org>.
326 Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
328 * loader/FTPDirectoryDocument.cpp:
330 2008-01-17 Simon Hausmann <hausmann@webkit.org>
334 Don't link QtWebKit against libQtXml when building against Qt 4.4.
336 This is not necessary anymore since QXmlStream has been moved into QtCore.
340 2008-01-17 HÃ¥vard Wall <hwall@trolltech.com>
342 Reviewed by Simon Hausmann <hausmann@webkit.org>.
344 Fix compilation on arm
346 * platform/graphics/qt/GraphicsContextQt.cpp:
347 (WebCore::GraphicsContext::endTransparencyLayer):
349 2008-01-17 Simon Hausmann <shausman@trolltech.com>
353 Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
356 * platform/network/qt/ResourceHandleQt.cpp:
357 * platform/qt/MIMETypeRegistryQt.cpp:
358 * platform/qt/PlugInInfoStoreQt.cpp:
360 2008-01-17 Frans Englich <fenglich@trolltech.com>
362 Reviewed by Simon Hausmann <hausmann@webkit.org>.
364 Fixes compilation with MinGW.
365 Neither localtime_r nor localtime_s are available on MingW, so instead of
366 calling back to the thread-unsafe localtime use QDateTime instead.
368 * loader/FTPDirectoryDocument.cpp:
369 (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString):
370 (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth):
371 (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt):
372 * loader/FTPDirectoryParser.cpp:
373 (WebCore::parseOneFTPLine):
375 2008-01-17 Dan Bernstein <mitz@apple.com>
377 Reviewed by Dave Hyatt.
379 - fix determinePitch for segmented fonts
381 Covered by fast/css/font-face-implicit-local-font.html
383 * platform/graphics/FontFallbackList.cpp:
384 (WebCore::FontFallbackList::determinePitch): If the primary font is
385 segmented, treat as fixed pitch only if it has only one segment
386 and that segment is fixed-pitch.
388 2008-01-16 David Hyatt <hyatt@apple.com>
390 Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
392 Make sure vertical-align length values are offset from their parents rather than being absolute to the
397 Added fast/css/vertical-align-lengths.html
399 * rendering/RenderObject.cpp:
400 (WebCore::RenderObject::getVerticalPosition):
402 2008-01-16 Dan Bernstein <mitz@apple.com>
404 Reviewed by Dave Hyatt.
406 - fix for @font-face rules with unicode-range: always use a local font where not
409 Test: fast/css/font-face-implicit-local-font.html
411 * css/CSSFontSelector.cpp:
412 (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit
413 @font-face rule with the local font the matches the family and description before
414 any explicit @font-face rules that overlay specific ranges of the same font.
415 * css/CSSSegmentedFontFace.h:
416 (WebCore::CSSSegmentedFontFace::numRanges): Addded.
418 2008-01-16 Antti Koivisto <antti@apple.com>
422 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
423 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
425 2008-01-16 Antti Koivisto <antti@apple.com>
429 OS X fix for <rdar://problem/5605682>
430 Disallow streaming protocols for media elements
431 and <rdar://problem/5668711>
432 Limit the container and codec types that the <video> tag supports
434 - Disable unsupported QuickTime tracks types.
435 - Disallow streaming protocols (for now).
436 - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute
437 to limit QuickTime's access to external resources.
439 Windows patch coming up.
441 Tests: media/broken-video.html
442 media/unsupported-rtsp.html
443 media/unsupported-tracks.html
445 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
446 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
447 (WebCore::MediaPlayerPrivate::createQTMovie):
448 (WebCore::MediaPlayerPrivate::updateStates):
449 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
451 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
453 Reviewed by Alp Toker.
455 http://bugs.webkit.org/show_bug.cgi?id=16897
456 Add shared plugins directory to INCLUDE path
458 Add the plugins directory to INCLUDEPATH
463 2008-01-16 Geoffrey Garen <ggaren@apple.com>
465 Reviewed by Sam Weinig.
467 Added a debug counter for SQL transactions. This helped me debug an SQL
470 * bindings/js/JSCustomSQLTransactionCallback.cpp:
472 (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
473 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
474 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
475 * bindings/js/JSCustomSQLTransactionCallback.h:
477 * bindings/js/kjs_window.cpp: Removed a silly comment.
479 2008-01-16 David Hyatt <hyatt@apple.com>
481 Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
483 Reviewed by Eric Seidel
485 Added fast/table/dynamic-cellpadding.html
487 * html/HTMLTableElement.cpp:
488 (WebCore::HTMLTableElement::parseMappedAttribute):
489 * rendering/RenderTable.cpp:
490 (WebCore::RenderTable::setCellPadding):
491 * rendering/RenderTable.h:
493 2008-01-16 David Hyatt <hyatt@apple.com>
495 Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
497 This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
498 The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
499 to apply. In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
500 to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
503 This new patch rewrites the quirk to be complete. The original test case attached to the bug that tested a variety
504 of image/text combinations now fully matches WinIE.
508 Added fast/table/unbreakable-images-quirk.html
510 * rendering/RenderBlock.cpp:
511 (WebCore::RenderBlock::calcInlinePrefWidths):
512 * rendering/bidi.cpp:
513 (WebCore::RenderBlock::findNextLineBreak):
515 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
517 Reviewed by Jon Honeycutt
519 Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid
520 a circular dependency on PluginDatabaseWin
521 Remove the getFileVersion method, and just check the versions directly
522 in isPluginBlacklisted, as it was the only caller
524 http://bugs.webkit.org/show_bug.cgi?id=16884
526 * plugins/win/PluginDatabaseWin.cpp:
527 * plugins/win/PluginDatabaseWin.h:
528 * plugins/win/PluginPackageWin.cpp:
529 * plugins/win/PluginPackageWin.h:
531 2008-01-16 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
535 * Set the cursor on the containingWindow() instead of the
537 * This should be safe even with plugins as the cursor is set
540 * platform/qt/WidgetQt.cpp:
541 (WebCore::Widget::setCursor):
543 2008-01-16 Brad Hughes <bhughes@trolltech.com>
547 Improve the sqlite3 dependency when building WebKit inside Qt.
549 Build sqlite3 into QtWebKit if a system sqlite3 development package
554 2008-01-16 Lars Knoll <lars@trolltech.com>
556 Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
558 Implement GraphicsContext::clipOut and fix transparency layers.
560 Transparency layers where broken in two ways: It always used the
561 complete device rect as the size of the layer pixmap and the pixmaps
562 where not correctly initialized to transparent.
564 This fixes the worst drawing errors in the Inspector and makes drawing it
567 * platform/graphics/qt/GraphicsContextQt.cpp:
568 (WebCore::toQtLineJoin):
569 (WebCore::TransparencyLayer::TransparencyLayer):
570 (WebCore::GraphicsContextPlatformPrivate::p):
571 (WebCore::GraphicsContext::platformContext):
572 (WebCore::GraphicsContext::savePlatformState):
573 (WebCore::GraphicsContext::restorePlatformState):
574 (WebCore::GraphicsContext::drawRect):
575 (WebCore::GraphicsContext::drawLine):
576 (WebCore::GraphicsContext::drawEllipse):
577 (WebCore::GraphicsContext::strokeArc):
578 (WebCore::GraphicsContext::drawConvexPolygon):
579 (WebCore::GraphicsContext::fillRect):
580 (WebCore::GraphicsContext::fillRoundedRect):
581 (WebCore::GraphicsContext::clip):
582 (WebCore::GraphicsContext::drawFocusRing):
583 (WebCore::GraphicsContext::beginTransparencyLayer):
584 (WebCore::GraphicsContext::endTransparencyLayer):
585 (WebCore::GraphicsContext::clearRect):
586 (WebCore::GraphicsContext::strokeRect):
587 (WebCore::GraphicsContext::setLineCap):
588 (WebCore::GraphicsContext::setLineJoin):
589 (WebCore::GraphicsContext::setMiterLimit):
590 (WebCore::GraphicsContext::setAlpha):
591 (WebCore::GraphicsContext::setCompositeOperation):
592 (WebCore::GraphicsContext::clipOut):
593 (WebCore::GraphicsContext::translate):
594 (WebCore::GraphicsContext::origin):
595 (WebCore::GraphicsContext::rotate):
596 (WebCore::GraphicsContext::scale):
597 (WebCore::GraphicsContext::clipOutEllipseInRect):
598 (WebCore::GraphicsContext::addInnerRoundedRectClip):
599 (WebCore::GraphicsContext::setPlatformStrokeStyle):
600 (WebCore::GraphicsContext::setPlatformStrokeThickness):
601 (WebCore::GraphicsContext::setPlatformFillColor):
602 (WebCore::GraphicsContext::setUseAntialiasing):
604 2008-01-16 Lars Knoll <lars@trolltech.com>
606 Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
608 Trivially implement the themed search field by mapping it to a text field
610 Also add a bunch of notImplemented warnings for other places where we don't
611 have an implementatin in RenderTheme.
613 * platform/qt/RenderThemeQt.cpp:
614 (WebCore::RenderThemeQt::paintTextField):
615 (WebCore::RenderThemeQt::paintMenuListButton):
616 (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
617 (WebCore::RenderThemeQt::paintSliderTrack):
618 (WebCore::RenderThemeQt::paintSliderThumb):
619 (WebCore::RenderThemeQt::paintSearchField):
620 (WebCore::RenderThemeQt::adjustSearchFieldStyle):
621 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
622 (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
623 (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
624 (WebCore::RenderThemeQt::paintSearchFieldDecoration):
625 (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
626 (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
628 2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
632 * Follow the EventHandlerWin.cpp and always return true in the handlers.
633 * Match the windows implementation more closely as well.
634 * This is fixing "selection" bugs with the Web Inspector
636 * page/qt/EventHandlerQt.cpp:
637 (WebCore::EventHandler::focusDocumentView):
638 (WebCore::EventHandler::passMousePressEventToSubframe):
639 (WebCore::EventHandler::passMouseMoveEventToSubframe):
640 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
641 (WebCore::EventHandler::passMousePressEventToScrollbar):
643 2008-01-16 Simon Hausmann <hausmann@webkit.org>
645 Reviewed by Lars Knoll <lars@trolltech.com>.
647 Fix crashes in the new networking code.
649 When the ResourceLoader cancels the handle we have to make sure not to access
650 the resource handle afterwards again.
652 * platform/network/qt/QNetworkReplyHandler.cpp:
653 (WebCore::QNetworkReplyHandler::finish):
654 (WebCore::QNetworkReplyHandler::forwardData):
656 2008-01-16 Lars Knoll <lars@trolltech.com>
660 add conversion methods from and to QUrl to KURL.
662 Use them in the places I found at the moment. Fixes a bug
663 where form data was encoded twice.
664 Also fix QWebSettings to take a QUrl for the user style sheet
669 * platform/network/qt/QNetworkReplyHandler.cpp:
670 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
671 * platform/network/qt/ResourceRequestQt.cpp:
672 (WebCore::ResourceRequest::toNetworkRequest):
673 * platform/qt/KURLQt.cpp: Added.
674 (WebCore::KURL::KURL):
675 (WebCore::KURL::operator QUrl):
677 2008-01-15 Darin Adler <darin@apple.com>
679 Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
681 - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
683 Put navigation policy delegate calls back for redirects.
684 Just rolled out the change where I took them out.
686 * loader/MainResourceLoader.cpp:
687 (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
688 (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
689 (WebCore::MainResourceLoader::willSendRequest):
690 * loader/MainResourceLoader.h:
692 2008-01-15 Adele Peterson <adele@apple.com>
696 Remove unused variable for old media control background drawing code.
698 * rendering/RenderThemeMac.h:
699 * rendering/RenderThemeMac.mm:
700 (WebCore::RenderThemeMac::RenderThemeMac):
701 (WebCore::RenderThemeMac::~RenderThemeMac):
703 2008-01-15 Sam Weinig <sam@webkit.org>
705 Reviewed by Geoffrey Garen.
707 Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
709 - Update JS Function implementations to use a static function based method. This decreases
710 the binary size of an Intel only build by 1013.5K.
712 * WebCore.xcodeproj/project.pbxproj:
713 * bindings/js/JSDOMWindowCustom.cpp:
714 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
715 * bindings/js/JSEventTargetBase.cpp:
716 (WebCore::jsEventTargetAddEventListener):
717 (WebCore::jsEventTargetRemoveEventListener):
718 (WebCore::jsEventTargetDispatchEvent):
719 (WebCore::retrieveEventTargetAndCorrespondingNode):
720 * bindings/js/JSEventTargetBase.h:
721 * bindings/js/JSHTMLInputElementBase.cpp:
722 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
723 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
724 * bindings/js/JSHTMLInputElementBase.h:
725 * bindings/js/JSLocation.cpp:
726 (WebCore::JSLocation::getOwnPropertySlot):
727 (WebCore::jsLocationProtoFuncReplace):
728 (WebCore::jsLocationProtoFuncReload):
729 (WebCore::jsLocationProtoFuncAssign):
730 (WebCore::jsLocationProtoFuncToString):
731 * bindings/js/JSLocation.h:
732 * bindings/js/JSXMLHttpRequest.cpp:
733 (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
734 (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
735 (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
736 (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
737 (KJS::jsXMLHttpRequestPrototypeFunctionSend):
738 (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
739 (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
740 (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
741 (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
742 (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
743 * bindings/js/JSXMLHttpRequest.h:
744 * bindings/js/JSXSLTProcessor.cpp:
745 (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
746 (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
747 (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
748 (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
749 (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
750 (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
751 (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
752 (KJS::jsXSLTProcessorPrototypeFunctionReset):
753 * bindings/js/JSXSLTProcessor.h:
754 * bindings/js/kjs_events.cpp:
755 (WebCore::jsClipboardPrototypeFunctionClearData):
756 (WebCore::jsClipboardPrototypeFunctionGetData):
757 (WebCore::jsClipboardPrototypeFunctionSetData):
758 (WebCore::jsClipboardPrototypeFunctionSetDragImage):
759 * bindings/js/kjs_events.h:
760 * bindings/js/kjs_navigator.cpp:
761 (KJS::pluginsFunctionRefresh):
762 (KJS::navigatorProtoFuncJavaEnabled):
763 * bindings/js/kjs_navigator.h:
764 * bindings/js/kjs_window.cpp:
765 (KJS::Window::getOwnPropertySlot):
766 (KJS::windowProtoFuncAToB):
767 (KJS::windowProtoFuncBToA):
768 (KJS::windowProtoFuncOpen):
769 (KJS::windowProtoFuncSetTimeout):
770 (KJS::windowProtoFuncClearTimeout):
771 (KJS::windowProtoFuncSetInterval):
772 (KJS::windowProtoFuncAddEventListener):
773 (KJS::windowProtoFuncRemoveEventListener):
774 (KJS::windowProtoFuncShowModalDialog):
775 (KJS::windowProtoFuncNotImplemented):
776 * bindings/js/kjs_window.h:
777 * bindings/scripts/CodeGenerator.pm:
778 * bindings/scripts/CodeGeneratorJS.pm:
780 2008-01-15 Adele Peterson <adele@apple.com>
784 Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
786 * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
787 Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down.
789 2008-01-15 Alp Toker <alp@atoker.com>
791 Rubber-stamped by Anders.
793 Make the HTTP backend configurable in the GTK+ port. curl is currently
798 2008-01-15 Adele Peterson <adele@apple.com>
802 * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
804 2008-01-14 Samuel Weinig <sam@webkit.org>
808 Fix for <rdar://problem/5671040>
809 REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
811 On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
812 which does not completely make up reported regression, but I was not able to
813 reproduce those findings either.
815 * css/CSSStyleSelector.cpp:
816 (WebCore::CSSStyleSelector::matchRules):
817 (WebCore::CSSStyleSelector::checkOneSelector):
818 * dom/ClassNames.cpp:
819 (WebCore::ClassNames::parseClassAttribute):
821 (WebCore::ClassNames::contains):
822 (WebCore::ClassNames::operator[]):
824 2008-01-15 Adele Peterson <adele@apple.com>
826 Build fix. This time for real.
828 * rendering/RenderThemeSafari.cpp:
830 2008-01-15 Adele Peterson <adele@apple.com>
834 * rendering/RenderThemeSafari.cpp:
836 2008-01-15 Dan Bernstein <mitz@apple.com>
838 Reviewed by Darin Adler.
840 - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
842 * svg/SVGPreserveAspectRatio.cpp:
843 (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
844 from float to double in order to make the values passed to scale() and
845 translate() on Mac OS X and on Windows the same.
846 * svg/SVGPreserveAspectRatio.h:
848 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
852 <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
854 Test: fast/encoding/mailto-always-utf-8.html
856 * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
858 2008-01-15 Adele Peterson <adele@apple.com>
860 Reviewed by Adam and Antti.
862 WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
864 * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack.
865 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
866 * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider.
867 * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
869 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
870 Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
871 * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack.
872 * platform/mac/WebCoreSystemInterface.mm: ditto.
874 * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
875 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
876 * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
877 * rendering/RenderThemeMac.mm:
878 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
879 (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
880 * rendering/RenderThemeSafari.cpp: ditto.
881 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
882 (WebCore::RenderThemeSafari::paintMediaSliderTrack):
883 * rendering/RenderThemeSafari.h:
885 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
887 Reviewed by Mark Rowe.
889 Some logging channels weren't initialized from user defaults.
891 * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
892 Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
894 2008-01-14 Steve Falkenburg <sfalken@apple.com>
896 Use shared vsprops for most vcproj properties.
900 * WebCore.vcproj/QTMovieWin.vcproj:
901 * WebCore.vcproj/WebCore.vcproj:
902 * platform/graphics/win/QTMovieWin.cpp:
903 (QTMovieWin::initializeQuickTime): Fix compiler warning.
905 2008-01-14 Eric Seidel <eric@webkit.org>
909 Remove a couple more uses of DeprecatedString
911 No functional changes, thus no test case.
914 (WebCore::Document::write):
915 (WebCore::Document::writeln):
916 (WebCore::Document::recalcStyleSelector):
919 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
921 Reviewed by Alp Toker.
923 Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
924 http://bugs.webkit.org/show_bug.cgi?id=16874
927 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
928 (WebCore::SVGResourceFilter::createPlatformData):
929 (WebCore::SVGResourceFilter::prepareFilter):
930 (WebCore::SVGResourceFilter::applyFilter):
932 2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com>
934 Reviewed by hyatt & eseidel.
936 - fix http://bugs.webkit.org/show_bug.cgi?id=16844
937 RenderText::addLineBoxRects erroneously includes last char for boundingBox
939 This patch fixes an issue with addLineBoxRects not correctly calculating the
940 rects due to an off-by-one error in using box->end(). We were assuming that
941 end() gives the index past the last character, when in fact it gives the
942 index _of_ the last character.
944 Eric Seidel and I could not find a way to test this via DRT. This method is
945 only used by WebKit or Safari for displaying selection rects AFAICT.
947 * rendering/RenderText.cpp:
948 (WebCore::RenderText::addLineBoxRects):
950 2008-01-14 Darin Adler <darin@apple.com>
954 - fix crash seen in layout tests
956 * html/HTMLFrameSetElement.cpp:
957 (WebCore::HTMLFrameSetElement::attach):
958 Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
959 HTMLElement or a Document, not necessarily an HTMLElement.
961 2008-01-14 Darin Adler <darin@apple.com>
965 - fix mistakes Sam noticed in my re-speed-up patch
968 (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
970 * dom/Element.h: Moved virtualHasTagName out of header file.
973 (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
975 * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
978 * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
980 * platform/text/StringImpl.h: Removed StringBuffer class.
982 * loader/DocumentLoader.cpp: Added StringBuffer.h include.
983 * platform/text/String.cpp: Ditto.
984 * platform/text/StringImpl.cpp: Ditto.
985 * platform/text/TextCodecLatin1.cpp: Ditto.
986 * platform/text/TextCodecUTF16.cpp: Ditto.
987 * platform/text/TextCodecUserDefined.cpp: Ditto.
989 * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
990 * WebCore.xcodeproj/project.pbxproj: Ditto.
992 2008-01-14 Dave Hyatt <hyatt@apple.com>
994 Clean up all the misplaced graphics files after the recent file moves. Clean up the project to
995 accurately reflect the location of all the graphics files.
999 * WebCore.vcproj/WebCore.vcproj:
1000 * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
1001 * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
1002 * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
1003 * platform/win/GraphicsContextWin.cpp: Removed.
1004 * platform/win/UniscribeController.cpp: Removed.
1005 * platform/win/UniscribeController.h: Removed.
1007 2008-01-14 Geoffrey Garen <ggaren@apple.com>
1009 Reviewed by Sam Weinig.
1011 Some cleanup to my last patch.
1013 Removed one unused setter declaration and one unused setter definition.
1015 Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
1016 because "get" is all over the IDL files, and "read" is not.
1018 * bindings/scripts/CodeGeneratorJS.pm:
1020 (WebCore::DOMWindow::defaultstatus):
1021 * page/DOMWindow.idl:
1023 2008-01-14 Dan Bernstein <mitz@apple.com>
1025 Rubber-stamped by Alice Liu.
1027 - remove reference to nonexistent file
1029 * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
1031 2008-01-14 Darin Adler <darin@apple.com>
1035 - re-speed-up the page load test (my StringImpl change slowed it down)
1036 <rdar://problem/5677241> 1.5% PLT regression from r29098
1038 To reverse the slowdown I caused by changing StringImpl, I tightened it up,
1039 and also did a little optimization in the HTML tokenizer and in other clients
1042 * WebCore.base.exp: Removed export of a now-inline function.
1044 * css/CSSParser.cpp:
1045 (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
1046 to get property ID. This could be sped up even more by writing a fast path
1047 to use a local Vector<char> rather than allocating a string.
1048 (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
1049 allocating a string object to hold the number.
1050 (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
1051 DeprecatedString::toFloat.
1054 (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
1055 an Element*. It's still virtual if you have a Node*.
1056 (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
1060 (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
1061 can override it with an inline. This is the same technique we use for
1062 firstChild and lastChild.
1063 (WebCore::Node::virtualHasTagName): This is the private virtual that Element
1067 (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
1070 * html/HTMLTokenizer.cpp:
1071 (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
1072 which is more efficient in cases where we know the character is not a newline
1073 and hence we don't have to update the line number.
1074 (WebCore::HTMLTokenizer::parseComment): Ditto.
1075 (WebCore::HTMLTokenizer::parseServer): Ditto.
1076 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
1077 (WebCore::HTMLTokenizer::parseText): Ditto.
1078 (WebCore::HTMLTokenizer::parseEntity): Ditto.
1079 (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
1080 so there's one less branch taken for non-punctuation characters since this
1081 code path is *so* hot.
1082 (WebCore::HTMLTokenizer::write): More of the same.
1085 (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
1087 * loader/DocumentLoader.cpp:
1088 (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
1090 * loader/TextResourceDecoder.cpp:
1091 (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
1092 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1093 (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
1094 (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
1096 * platform/KURL.cpp:
1097 (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
1099 * platform/SharedBuffer.cpp:
1100 (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
1102 * platform/graphics/BitmapImage.cpp:
1103 (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
1105 * platform/network/FormData.cpp:
1106 (WebCore::FormData::appendData): Use Vector::grow instead of resize.
1107 (WebCore::FormData::flatten): Ditto.
1109 * platform/text/AtomicString.cpp:
1110 (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
1111 for use by AtomicString. Avoids setting fields twice, and also preserves reference
1112 count behavior (which I changed for the other constructors, since they're entirely
1113 private and used only inside the class).
1114 (WebCore::UCharBufferTranslator::translate): Ditto.
1116 * platform/text/Base64.cpp:
1117 (WebCore::base64Encode): Use Vector::grow instead of resize.
1118 (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
1120 * platform/text/PlatformString.h:
1121 (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
1122 made both versions inline.
1124 * platform/text/SegmentedString.h:
1125 (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
1126 where the character is known to be a newline.
1127 (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
1128 the character is known not to be a newline.
1130 * platform/text/String.cpp:
1131 (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
1132 (WebCore::String::insert): Ditto.
1133 (WebCore::String::truncate): Ditto.
1134 (WebCore::String::remove): Ditto.
1135 (WebCore::String::format): Use Vector::grow instead of resize.
1137 * platform/text/StringImpl.cpp:
1138 (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
1139 of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
1140 since they all behave this way now. The only exceptions are the constructors for
1141 AtomicString, which retain the old behavior.
1142 (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
1143 special WithOneRef constructor.
1144 (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
1145 (WebCore::StringImpl::lower): Ditto.
1146 (WebCore::StringImpl::upper): Ditto.
1147 (WebCore::StringImpl::secure): Ditto.
1148 (WebCore::StringImpl::foldCase): Ditto.
1149 (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
1150 instead of resize (since half of the function uses Vector<UChar>).
1151 (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
1152 (WebCore::StringImpl::replace): Ditto.
1153 (WebCore::StringImpl::ascii): Streamlined a bit.
1154 (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
1155 Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
1156 Coded the check for null characters in a slightly more efficient way. Since this
1157 is so hot, didn't call adopt at all, putting the code right in here, including
1158 the call to the StringImpl constructor and adoptRef (for the fast case).
1159 (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
1160 Removed the attempt to resize the buffer at the time we adopt based on measuring
1161 actual use and realizing that it's just a character here or there and not worth
1162 a call to fastRealloc. Changed to use adoptRef since the constructor now starts
1163 with a refCount of 1.
1164 (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
1165 starts with a refCount of 1.
1166 (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
1167 (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
1168 itself is now inline.
1170 * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
1171 putting characters into a buffer before creating an immutable string. Not good
1172 at resizing the way Vector<UChar> is, so only useful for things that rarely need
1173 to be resized. Added a new AdoptBuffer constructor and empty constructor, but
1174 made all constructors private so they can be inlined and only used inside the
1175 StringImpl class. Added two new constructors for AtomicString. Made copy()
1176 no longer inline. Changed the type of the [] operator to unsigned instead of
1177 int and added an assertion. Made the hash functions inline.
1179 * platform/text/TextCodecICU.cpp:
1180 (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
1182 * platform/text/TextCodecLatin1.cpp:
1183 (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
1184 (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
1186 * platform/text/TextCodecUTF16.cpp:
1187 (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
1189 * platform/text/TextCodecUserDefined.cpp:
1190 (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
1191 (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
1193 * platform/text/TextEncoding.cpp:
1194 (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
1196 * platform/text/TextStream.cpp:
1197 (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
1199 * platform/text/mac/TextCodecMac.cpp:
1200 (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
1202 * rendering/AutoTableLayout.cpp:
1203 (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
1205 * rendering/RenderFrameSet.h:
1206 (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
1207 size instead of calling resize on them after allocating empty.
1209 * rendering/RenderListMarker.cpp:
1210 (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
1212 * rendering/RenderStyle.cpp: Removed CursorList::operator==.
1213 * rendering/RenderStyle.h:
1214 (WebCore::CursorList::operator==): Implemented using the Vector ==.
1215 (WebCore::CursorList::operator!=): Ditto.
1217 * rendering/RenderTable.cpp:
1218 (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
1219 (WebCore::RenderTable::appendColumn): Ditto.
1221 * rendering/RenderTableSection.cpp:
1222 (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
1224 * rendering/bidi.cpp:
1225 (WebCore::addMidpoint): Use Vector::grow instead of resize.
1227 * xml/XPathNodeSet.h:
1228 (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
1230 2008-01-13 Steve Falkenburg <sfalken@apple.com>
1232 Share common files across projects.
1235 Debug: common.vsprops, debug.vsprops
1236 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
1237 Release: common.vsprops, release.vsprops
1239 Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
1240 debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
1242 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
1244 Reviewed by Adam Roben.
1246 * WebCore.vcproj/PRODUCTVERSION: Removed.
1247 * WebCore.vcproj/QTMovieWin.vcproj:
1248 * WebCore.vcproj/VERSION: Removed.
1249 * WebCore.vcproj/WebCore.vcproj:
1250 * WebCore.vcproj/auto-version.sh: Removed.
1251 * WebCore.vcproj/debug.vsprops: Removed.
1252 * WebCore.vcproj/debug_internal.vsprops: Removed.
1253 * WebCore.vcproj/release.vsprops: Removed.
1255 2008-01-13 Dan Bernstein <mitz@apple.com>
1257 Reviewed by Darin Adler.
1259 - fix http://bugs.webkit.org/show_bug.cgi?id=16865
1260 fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
1262 * rendering/RenderBox.cpp:
1263 (WebCore::RenderBox::destroy): Removed the call to
1264 RenderLayer::destroy() from here, because ~RenderLayer() calls
1265 RenderObject() methods.
1266 * rendering/RenderObject.cpp:
1267 (WebCore::RenderObject::destroy): Added the call to
1268 RenderLayer::destroy() here.
1270 2008-01-13 Eric Seidel <eric@webkit.org>
1274 Range.insertNode does not update endContainer endIndex correctly
1275 in the case where it had to split a text node.
1276 http://bugs.webkit.org/show_bug.cgi?id=16765
1278 Darin pointed out during review that we still don't handle the dynamic
1279 range case (where the dom tree changes not using range methods)
1280 Thus this code will get ripped out when we add that. The test cases
1281 are still valid and useful however, so I'm landing this as-is.
1283 Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
1284 fast/dom/Range/range-insertNode-splittext.html
1287 (WebCore::Range::insertNode): handle the splitText case correctly.
1289 2008-01-13 Darin Adler <darin@apple.com>
1293 - http://bugs.webkit.org/show_bug.cgi?id=16861
1294 get rid of unnecessary string copying
1297 (WebCore::Document::setDomain): Removed unneeded call to copy.
1298 (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
1299 unneeded length argument to substring, which stops at the end of the string
1300 if you don't specify a length.
1301 (WebCore::Document::createAttributeNS): Replaced code that was calling copy
1302 with more-efficient code using the substring function.
1303 * dom/StyledElement.cpp:
1304 (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
1305 * editing/InsertIntoTextNodeCommand.cpp:
1306 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
1307 unneeded copy and also initialized text instead of assigning to it.
1308 (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
1309 (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
1311 * editing/htmlediting.cpp:
1312 (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
1313 This one was particularly bad since we just turned around and copied it again!
1315 * editing/markup.cpp:
1316 (WebCore::stringValueForRange): Removed unneeded call to copy.
1318 * loader/icon/IconDatabase.cpp:
1319 (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
1320 get the path from the database object. This was the only reason the database
1321 had to keep its path around.
1323 * platform/sql/SQLiteDatabase.cpp:
1324 (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
1325 convert the string to a null-terminated one.
1326 (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
1327 * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
1328 functio member. Also tweaked formatting and comments a bit. Removed the unused
1329 escapeSQLString function.
1331 * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
1333 2008-01-13 Oliver Hunt <oliver@apple.com>
1335 Attempt to fix QT build
1337 * html/CanvasRenderingContext2D.cpp:
1338 (WebCore::CanvasRenderingContext2D::willDraw):
1340 2008-01-13 Oliver Hunt <oliver@apple.com>
1342 Reviewed by Mark Rowe.
1344 Avoid repainting the entire canvas element when possible.
1346 http://bugs.webkit.org/show_bug.cgi?id=16859
1348 We now only register the dirty regions of a canvas for repainting, rather
1349 than the entire element (though repaint coalescing may choose to combine
1350 these regions). This doesn't cause a measurable regression in the worst
1351 case (clearing the canvas repeatedly), but is a moderate-large win if only
1352 a minor update has occurred. If there is any CSS scaling applied to the
1353 canvas almost any update short of clearing the entire element is substantially
1356 * html/CanvasRenderingContext2D.cpp:
1357 (WebCore::CanvasRenderingContext2D::willDraw):
1358 * html/HTMLCanvasElement.cpp:
1359 (WebCore::HTMLCanvasElement::willDraw):
1361 2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
1363 Reviewed by Anders Carlsson.
1365 Move RuntimeObjectImp creations into Instance.
1366 Make the ctor protected, and Instance a friend class, so
1367 that all creation of RuntimeObjectImps goes through
1370 * bindings/js/kjs_dom.cpp:
1371 (WebCore::getRuntimeObject):
1373 2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
1375 Gtk debug build fix. Reviewed by Mark Rowe.
1377 Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
1379 * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
1380 * platform/Logging.cpp:
1381 * platform/Logging.h:
1382 * plugins/PluginDebug.h:
1384 2008-01-12 Adam Barth <hk9565@gmail.com>
1386 Reviewed by Maciej (and also tweaked a little bit).
1388 - more thorough fix for some crashing tests
1389 http://bugs.webkit.org/show_bug.cgi?id=16782
1391 * loader/FrameLoader.cpp:
1392 (WebCore::FrameLoader::urlSelected):
1393 (WebCore::FrameLoader::submitForm):
1394 (WebCore::FrameLoader::executeIfJavaScriptURL):
1395 * loader/FrameLoader.h:
1397 2008-01-12 Maciej Stachowiak <mjs@apple.com>
1401 - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
1403 * platform/SecurityOrigin.cpp:
1404 (WebCore::isDefaultPortForProtocol):
1405 (WebCore::SecurityOrigin::SecurityOrigin):
1407 2008-01-11 Geoffrey Garen <ggaren@apple.com>
1409 Reviewed by Oliver Hunt.
1411 Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
1412 variable access (16644)
1414 Removed the ReadOnly bit from some properties, to match Firefox. Also
1415 removed status-related setters, to allow using their names as variable
1418 * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
1419 are one-way across domain boundaries, to match Firefox.
1421 * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
1423 * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
1424 we don't know that JSObject is our base class.
1426 * page/DOMWindow.idl: Replaced lots of readonly declarations with
1427 [Replaceable] declarations.
1429 * page/DOMWindow.h: Removed interfaces for setting status text via the
1430 DOM. (They were getting in the way of, e.g., "var status"
1431 declarations.) By default, IE 7 and FF disable these interfaces in order
1432 to defend against phishing attacks that try to spoof domain names in the
1434 * page/DOMWindow.cpp:
1436 2008-01-11 Anyang Ren <anyang.ren@gmail.com>
1438 Reviewed by Darin Adler.
1440 http://bugs.webkit.org/show_bug.cgi?id=15960
1441 The view source mode should skip an empty attribute value only if
1442 the attribute name is not followed by an equal sign (=).
1444 Test: fast/frames/viewsource-empty-attribute-value.html
1446 * html/HTMLViewSourceDocument.cpp:
1447 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1449 2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
1451 Reviewed by Alp Toker.
1453 [Gtk] Uneven glyph spacing with subpixel antialiasing
1454 http://bugs.webkit.org/show_bug.cgi?id=16715
1456 Use cairo font options from the default GDK screen when creating a
1459 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1460 (WebCore::FontPlatformData::FontPlatformData):
1462 2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>
1466 Added a new forwarding header, because Activation.h has been separated
1469 * ForwardingHeaders/kjs/Activation.h: Added.
1471 2008-01-11 Luca Bruno <lethalman88@gmail.com>
1473 Reviewed by Alp Toker.
1475 http://bugs.webkit.org/show_bug.cgi?id=16729
1476 [cURL] Allow multiple files for upload
1478 * platform/network/ResourceHandleInternal.h:
1479 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1480 * platform/network/curl/ResourceHandleCurl.cpp:
1481 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1482 * platform/network/curl/ResourceHandleManager.cpp:
1483 (WebCore::readCallback): added
1484 (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
1485 (WebCore::ResourceHandleManager::startJob):
1486 (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
1487 * platform/network/curl/ResourceHandleManager.h:
1489 2008-01-11 Christian Dywan <christian@imendio.com>
1491 Reviewed by Alp Toker.
1493 [Gtk] Menu items need underscores
1494 http://bugs.webkit.org/show_bug.cgi?id=16817
1496 Add underscores to appropriate menu labels.
1497 Also adjust strings slightly.
1499 * platform/gtk/ContextMenuItemGtk.cpp:
1500 (WebCore::ContextMenuItem::createNativeMenuItem):
1501 * platform/gtk/LocalizedStringsGtk.cpp:
1502 (WebCore::searchableIndexIntroduction):
1503 (WebCore::fileButtonChooseFileLabel):
1504 (WebCore::fileButtonNoFileSelectedLabel):
1505 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1506 (WebCore::contextMenuItemTagDownloadLinkToDisk):
1507 (WebCore::contextMenuItemTagCopyLinkToClipboard):
1508 (WebCore::contextMenuItemTagOpenImageInNewWindow):
1509 (WebCore::contextMenuItemTagDownloadImageToDisk):
1510 (WebCore::contextMenuItemTagCopyImageToClipboard):
1511 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1512 (WebCore::contextMenuItemTagCopy):
1513 (WebCore::contextMenuItemTagGoBack):
1514 (WebCore::contextMenuItemTagGoForward):
1515 (WebCore::contextMenuItemTagStop):
1516 (WebCore::contextMenuItemTagReload):
1517 (WebCore::contextMenuItemTagCut):
1518 (WebCore::contextMenuItemTagPaste):
1519 (WebCore::contextMenuItemTagIgnoreSpelling):
1520 (WebCore::contextMenuItemTagLearnSpelling):
1521 (WebCore::contextMenuItemTagSearchWeb):
1522 (WebCore::contextMenuItemTagLookUpInDictionary):
1523 (WebCore::contextMenuItemTagOpenLink):
1524 (WebCore::contextMenuItemTagIgnoreGrammar):
1525 (WebCore::contextMenuItemTagSpellingMenu):
1526 (WebCore::contextMenuItemTagShowSpellingPanel):
1527 (WebCore::contextMenuItemTagCheckSpelling):
1528 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1529 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1530 (WebCore::contextMenuItemTagFontMenu):
1531 (WebCore::contextMenuItemTagBold):
1532 (WebCore::contextMenuItemTagItalic):
1533 (WebCore::contextMenuItemTagUnderline):
1534 (WebCore::contextMenuItemTagOutline):
1535 (WebCore::contextMenuItemTagWritingDirectionMenu):
1536 (WebCore::contextMenuItemTagDefaultDirection):
1537 (WebCore::contextMenuItemTagLeftToRight):
1538 (WebCore::contextMenuItemTagRightToLeft):
1539 (WebCore::contextMenuItemTagInspectElement):
1540 (WebCore::searchMenuClearRecentSearchesText):
1542 2008-01-11 Ada Chan <adachan@apple.com>
1544 <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
1545 Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since
1546 provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
1547 when a link to download a file has been clicked.
1549 Reviewed by John and Anders.
1551 * loader/FrameLoader.cpp:
1552 (WebCore::FrameLoader::provisionalLoadStarted):
1553 (WebCore::FrameLoader::commitProvisionalLoad):
1555 2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
1559 <rdar://problem/5683529> plugins/embed-inside-object.html is timing
1562 Revert to using FrameTree::find() so that frame aliases like "_self" and
1563 "_current" are interpreted properly
1565 * plugins/win/PluginViewWin.cpp:
1566 (WebCore::PluginViewWin::performRequest):
1567 (WebCore::PluginViewWin::load):
1569 2008-01-11 Alp Toker <alp@atoker.com>
1571 Reviewed by Dave Hyatt and Mark Rowe.
1573 http://bugs.webkit.org/show_bug.cgi?id=16089
1574 [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
1576 Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
1581 * loader/CachedFont.cpp:
1582 (WebCore::CachedFont::~CachedFont):
1583 (WebCore::CachedFont::ensureCustomFontData):
1584 (WebCore::CachedFont::platformDataFromCustomData):
1585 (WebCore::CachedFont::allReferencesRemoved):
1586 * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
1587 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1588 (WebCore::FontCustomPlatformData::fontPlatformData):
1589 (WebCore::releaseData):
1590 (WebCore::createFontCustomPlatformData):
1591 * platform/graphics/gtk/FontCustomPlatformData.h: Added.
1592 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1593 * platform/graphics/gtk/FontPlatformData.h:
1594 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1595 (WebCore::FontPlatformData::FontPlatformData):
1596 (WebCore::FontPlatformData::init):
1597 (WebCore::FontPlatformData::isFixedPitch):
1598 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1599 (WebCore::SimpleFontData::platformDestroy):
1601 2008-01-11 Adam Roben <aroben@apple.com>
1603 Remove FrameLoader::committedFirstRealDocumentLoad
1605 This method no longer has any callers.
1609 * loader/FrameLoader.h:
1611 2008-01-11 Antti Koivisto <antti@apple.com>
1613 Add a standalone version of the blog post video player as a manual test.
1615 * manual-tests/resources/touch-poster.png: Added.
1616 * manual-tests/video-player.html: Added.
1618 2008-01-10 Antti Koivisto <antti@apple.com>
1622 Fix <rdar://problem/5682767>
1623 Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
1625 Take care that GWorld is created and deletes when needed as size or visibility changes.
1627 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1628 (WebCore::MediaPlayerPrivate::load):
1629 * platform/graphics/win/QTMovieWin.cpp:
1630 (QTMovieWinPrivate::QTMovieWinPrivate):
1631 (QTMovieWinPrivate::updateGWorld):
1632 (QTMovieWinPrivate::setSize):
1633 (QTMovieWin::setVisible):
1634 (QTMovieWin::initializeQuickTime):
1636 2008-01-11 David Hyatt <hyatt@apple.com>
1638 Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using
1639 mapped attributes so that it does not get overridden by hspace all the time.
1643 Added fast/table/table-hspace-align-center.html
1646 * html/HTMLTableElement.cpp:
1647 (WebCore::HTMLTableElement::parseMappedAttribute):
1649 2008-01-11 Mark Rowe <mrowe@apple.com>
1653 * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
1655 2008-01-11 Mark Rowe <mrowe@apple.com>
1657 Qt build fix. Add link stubs for the new FileSystem.h functions introduced
1660 * platform/qt/TemporaryLinkStubs.cpp:
1661 (WebCore::openTemporaryFile):
1663 2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
1665 Reviewed by Anders Carlsson.
1667 Bug 16779: Make the PluginStream implementation be shared across platforms
1668 http://bugs.webkit.org/show_bug.cgi?id=16779
1670 Add the new shared PluginStream files to the GTK+ and Win32 builds.
1671 Add PluginStreamClient class for the streamDidFinishLoading method.
1672 Add open/close/write methods to FileSystem for temporary file handling.
1673 Add PluginDebug.h and npfunctions.h for shared PluginStream.
1674 Add shared PluginStream.
1675 Remove PluginStreamWin.
1676 Update PluginViewWin to use shared PluginStream and PluginStreamClass.
1680 * WebCore.vcproj/WebCore.vcproj:
1681 * platform/FileSystem.h:
1682 * platform/gtk/FileSystemGtk.cpp:
1683 * platform/win/FileSystemWin.cpp:
1684 * plugins/PluginDebug.h:
1685 * plugins/PluginStream.cpp:
1686 * plugins/PluginStream.h:
1687 * plugins/npfunctions.h:
1688 * plugins/win/PluginDebug: Moved to PluginDebug.h.
1689 * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
1690 * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
1691 * plugins/win/PluginViewWin.cpp:
1692 * plugins/win/PluginViewWin.h:
1693 * plugins/win/npfunctions.h: Moved to npfunctions.h
1695 2008-01-11 Geoffrey Garen <ggaren@apple.com>
1697 Try to fix Mac build: Edit the right .exp file.
1701 2008-01-11 Geoffrey Garen <ggaren@apple.com>
1703 Try to fix Qt build: don't use pthreads if they're not available.
1705 * bindings/js/GCController.cpp:
1707 2008-01-10 Geoffrey Garen <ggaren@apple.com>
1709 Reviewed by John Sullivan.
1711 Fixed some world leak reports:
1712 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
1713 Interpreter after running cvs-base suite
1715 * <rdar://problem/5669423> PLT complains about world leak if browser
1716 window is open when PLT starts
1718 These were both bugs in the reporting mechanism, so I took the
1719 opportunity to do some house cleaning there.
1721 Stupid class, I kill you:
1722 * bridge/JavaScriptStatistics.cpp: Removed.
1723 * bridge/JavaScriptStatistics.h: Removed.
1725 * bindings/js/GCController.h: Adopted the only useful features of
1726 JavaScriptStatistics, since they were GC-related.
1727 * bindings/js/GCController.cpp:
1729 2008-01-10 Eric Seidel <eric@webkit.org>
1733 No functional changes, only code cleanup.
1735 * css/MediaQueryEvaluator.cpp:
1736 (WebCore::compareValue): renamed from cmpvalue
1737 (WebCore::colorMediaFeatureEval):
1738 (WebCore::device_aspect_ratioMediaFeatureEval):
1739 (WebCore::device_pixel_ratioMediaFeatureEval):
1740 (WebCore::gridMediaFeatureEval):
1741 (WebCore::device_heightMediaFeatureEval):
1742 (WebCore::device_widthMediaFeatureEval):
1743 (WebCore::heightMediaFeatureEval):
1744 (WebCore::widthMediaFeatureEval):
1746 2008-01-10 Dan Bernstein <mitz@apple.com>
1748 Reviewed by Anders Carlsson.
1750 - fix a crash when calling alert() from a repeating timer
1752 On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
1753 alert() and other similar functions, which deletes the actual
1754 DOMWindowTimer objects and replaces them with new objects when resuming.
1756 * bindings/js/kjs_window.cpp:
1757 (KJS::Window::timerFired): Re-fetch the timer object from the map in
1758 case it has been deleted or replaced.
1760 2008-01-10 Maciej Stachowiak <mjs@apple.com>
1764 - remove SecurityOriginData and fold its functionality into SecurityOrigin
1769 * WebCore.vcproj/WebCore.vcproj:
1770 * WebCore.xcodeproj/project.pbxproj:
1771 * WebCoreSources.bkl:
1772 * bindings/js/JSDOMWindowCustom.cpp:
1773 (WebCore::JSDOMWindow::postMessage):
1775 (WebCore::Document::domain):
1777 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
1778 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
1780 * page/ChromeClient.h:
1781 * platform/SecurityOrigin.cpp:
1782 (WebCore::SecurityOrigin::copy):
1783 (WebCore::SecurityOrigin::createFromIdentifier):
1784 (WebCore::SecurityOrigin::stringIdentifier):
1785 * platform/SecurityOrigin.h:
1786 (WebCore::SecurityOrigin::host):
1787 (WebCore::SecurityOrigin::protocol):
1788 (WebCore::SecurityOrigin::port):
1789 (WebCore::SecurityOrigin::equal):
1790 * platform/SecurityOriginData.cpp: Removed.
1791 * platform/SecurityOriginData.h: Removed.
1792 * storage/Database.cpp:
1793 (WebCore::Database::openDatabase):
1794 (WebCore::Database::Database):
1795 (WebCore::Database::securityOriginCopy):
1796 * storage/Database.h:
1797 * storage/DatabaseTracker.cpp:
1798 (WebCore::SecurityOriginHash::hash):
1799 (WebCore::SecurityOriginHash::equal):
1800 (WebCore::SecurityOriginTraits::deletedValue):
1801 (WebCore::SecurityOriginTraits::emptyValue):
1802 (WebCore::DatabaseTracker::canEstablishDatabase):
1803 (WebCore::DatabaseTracker::hasEntryForOrigin):
1804 (WebCore::DatabaseTracker::hasEntryForDatabase):
1805 (WebCore::DatabaseTracker::establishEntryForOrigin):
1806 (WebCore::DatabaseTracker::fullPathForDatabase):
1807 (WebCore::DatabaseTracker::populateOrigins):
1808 (WebCore::DatabaseTracker::origins):
1809 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1810 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1811 (WebCore::DatabaseTracker::setDatabaseDetails):
1812 (WebCore::DatabaseTracker::usageForDatabase):
1813 (WebCore::DatabaseTracker::usageForOrigin):
1814 (WebCore::DatabaseTracker::quotaForOrigin):
1815 (WebCore::DatabaseTracker::setQuota):
1816 (WebCore::DatabaseTracker::addDatabase):
1817 (WebCore::DatabaseTracker::deleteAllDatabases):
1818 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
1819 (WebCore::DatabaseTracker::deleteDatabase):
1820 (WebCore::DatabaseTracker::deleteDatabaseFile):
1821 (WebCore::notificationQueue):
1822 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1823 (WebCore::DatabaseTracker::notifyDatabasesChanged):
1824 * storage/DatabaseTracker.h:
1825 * storage/DatabaseTrackerClient.h:
1826 * storage/SQLTransaction.cpp:
1827 (WebCore::SQLTransaction::openTransactionAndPreflight):
1828 (WebCore::SQLTransaction::runStatements):
1829 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1830 (WebCore::SQLTransaction::postflightAndCommit):
1831 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
1832 * svg/graphics/SVGImageEmptyClients.h:
1833 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
1834 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
1836 2008-01-10 Anders Carlsson <andersca@apple.com>
1840 Use the correct frame loader load method. Using the old method would not cause a
1841 new window to be open if the frame navigation was not allowed.
1843 * plugins/win/PluginViewWin.cpp:
1844 (WebCore::PluginViewWin::performRequest):
1846 2008-01-10 Alp Toker <alp@atoker.com>
1848 SVG font build fix for GTK+/autotools.
1852 2008-01-10 Adam Barth <hk9565@gmail.com>
1854 Reviewed by Sam Weinig and Anders Carlsson.
1856 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
1857 <rdar://problem/5657355>
1859 This patch makes two changes:
1861 1) Java calls FrameLoader::load in a slightly different way than
1862 JavaScript, which previously let a malicious web site bypass the
1863 shouldAllowNavigation check. This patch adds that check to that
1866 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
1867 findFrameForNavigation, which calls shouldAllowNavigation. This
1868 treats disallowed frame navigations as if the named frame did not
1869 exist, resulting in a popup window when appropriate.
1871 Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
1872 http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
1875 * bindings/js/kjs_window.cpp:
1876 (KJS::WindowProtoFuncOpen::callAsFunction):
1877 * loader/FrameLoader.cpp:
1878 (WebCore::FrameLoader::createWindow):
1879 (WebCore::FrameLoader::load):
1880 (WebCore::FrameLoader::post):
1881 (WebCore::FrameLoader::findFrameForNavigation):
1882 * loader/FrameLoader.h:
1884 2008-01-10 John Sullivan <sullivan@apple.com>
1886 Written by Hyatt, reviewed by me
1888 - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
1889 a <video> element that uses controls attribute
1891 * rendering/MediaControlElements.cpp:
1892 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1893 force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
1894 up this architecture, but this one-line fix will prevent the crash in the meantime
1896 2008-01-10 Ada Chan <adachan@apple.com>
1898 Fix fast/forms/input-radio-checked-tab.html
1899 Meta key is not the same as Alt key on windows.
1903 * platform/win/KeyEventWin.cpp:
1904 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1906 2008-01-10 Anders Carlsson <andersca@apple.com>
1910 Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
1912 * plugins/win/PluginViewWin.cpp:
1913 (WebCore::PluginViewWin::performRequest):
1914 Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
1916 (WebCore::PluginViewWin::requestTimerFired):
1917 Don't leak the plugin requests.
1919 (WebCore::PluginViewWin::load):
1921 2008-01-10 Anders Carlsson <andersca@apple.com>
1923 Reviewed by John Sullivan.
1925 <rdar://problem/5455889>
1926 REGRESSION: BumperCar crashes when attempting to load a long invalid URL
1928 Make sure to call FrameLoader::receivedMainResourceError before calling
1929 FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
1930 clearing out the provisional document loader so that we won't call the didFail
1931 ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
1932 didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
1934 * loader/MainResourceLoader.cpp:
1935 (WebCore::MainResourceLoader::receivedError):
1937 2008-01-10 Antti Koivisto <antti@apple.com>
1941 Fix <rdar://problem/5658048>
1942 After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
1944 - Move to paused state if the playback had ended and the controller is used to seek to earlier time
1945 - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
1947 * html/HTMLMediaElement.cpp:
1948 (WebCore::HTMLMediaElement::HTMLMediaElement):
1949 (WebCore::HTMLMediaElement::updateMediaPlayer):
1950 (WebCore::HTMLMediaElement::setPausedInternal):
1951 * html/HTMLMediaElement.h:
1952 * rendering/MediaControlElements.cpp:
1953 (WebCore::MediaControlTimelineElement::defaultEventHandler):
1955 2008-01-10 Alexey Proskuryakov <ap@webkit.org>
1957 Reviewed by Adam Roben.
1959 <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
1961 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
1962 requests, as CFNetwork doesn't perform extension to MIME type mapping then.
1964 2008-01-10 Adam Roben <aroben@apple.com>
1966 Fixes to allow multiple FrameViews on Windows
1970 * page/FrameView.cpp:
1971 (WebCore::FrameView::FrameView): Added a new constructor that takes an
1972 IntSize to specify the FrameView's initial size.
1973 (WebCore::FrameView::scheduleRelayout): Added an assertion that our
1974 Document is not in the page cache.
1976 * platform/gtk/WidgetGtk.cpp:
1977 (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
1978 * platform/qt/WidgetQt.cpp:
1979 (WebCore::Widget::~Widget): Ditto.
1980 * rendering/RenderWidget.cpp:
1981 (WebCore::RenderWidget::setWidget): Make sure to remove any existing
1982 Widget from the Widget hierarchy before deleting it. One instance
1983 where this is needed is when setWidget is called during FrameView
1984 creation on Windows.
1986 2008-01-10 Alp Toker <alp@atoker.com>
1988 Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
1990 * svg/SVGFontFaceElement.cpp:
1992 2008-01-10 Justin Garcia <justin.garcia@apple.com>
1994 Reviewed by Alice Liu.
1996 <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
1997 <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
1999 Make sure we have an updated layout before we perform any editing work.
2001 * editing/EditCommand.cpp:
2002 (WebCore::EditCommand::apply):
2003 (WebCore::EditCommand::unapply):
2004 (WebCore::EditCommand::reapply):
2006 2008-01-10 Luca Bruno <lethalman88@gmail.com>
2008 Reviewed by Alp Toker.
2010 Back out r29206 which was causing regressions in curl http job
2013 * platform/network/curl/ResourceHandleManager.cpp
2014 (ResourceHandleManager::cancel):
2016 2008-01-10 Kevin McCullough <kmccullough@apple.com>
2018 Reviewed by Darin, Sam, and Adam.
2020 - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
2021 - link in gmail message displays JavaScript alert falsely complaining
2022 about pop-up blocking
2023 - When trying to open a new window, we now see if the user gesture
2024 occurred in the global dynamic object instead of the frame since that is
2025 the only place an event can occur.
2027 * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
2030 (KJS::showModalDialog):
2031 (KJS::WindowProtoFuncOpen::callAsFunction):
2033 2008-01-10 David Hyatt <hyatt@apple.com>
2035 Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
2039 Added fast/css/visibility-hit-test.html test case.
2041 * rendering/RenderBox.cpp:
2042 (WebCore::RenderBox::nodeAtPoint):
2044 2008-01-10 Lars Knoll <lars@trolltech.com>
2048 rename QWebPageHistory to QWebHistory.
2052 2008-01-10 Lars Knoll <lars@trolltech.com>
2056 fix the drawing errors that where introduced due to refactoring.
2058 Correctly clip to the rectangle we want to draw in ScrollView::paint().
2060 * platform/qt/ScrollViewQt.cpp:
2061 (WebCore::ScrollView::paint):
2063 2008-01-10 Simon Hausmann <hausmann@webkit.org>
2067 Temporarily disable gzip decompression in qhttp due to a bug.
2069 * platform/network/qt/QNetworkReplyHandler.cpp:
2070 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2072 2008-01-10 Simon Hausmann <hausmann@webkit.org>
2076 http://bugs.webkit.org/show_bug.cgi?id=16588
2078 Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
2079 This allows implementing the synchronous loading correctly for the Qt port where the networking
2080 backend is bound to the page.
2082 * loader/FrameLoader.cpp:
2083 (WebCore::FrameLoader::loadResourceSynchronously):
2084 * platform/network/ResourceHandle.h:
2085 * platform/network/cf/ResourceHandleCFNet.cpp:
2086 * platform/network/curl/ResourceHandleCurl.cpp:
2087 * platform/network/mac/ResourceHandleMac.mm:
2088 * platform/network/qt/ResourceHandleQt.cpp:
2089 (WebCore::ResourceHandle::loadResourceSynchronously):
2091 2008-01-10 Kevin Ollivier <kevino@theolliviers.com>
2093 wx build fix for changes in r29328
2095 * WebCoreSources.bkl:
2097 2008-01-09 Maciej Stachowiak <mjs@apple.com>
2101 - refactor SecurityOrigin in preparation for merging with SecurityOriginData
2103 * platform/SecurityOrigin.cpp:
2104 (WebCore::SecurityOrigin::SecurityOrigin):
2105 (WebCore::SecurityOrigin::create):
2106 (WebCore::SecurityOrigin::createForFrame):
2107 * platform/SecurityOrigin.h:
2109 2008-01-09 Ada Chan <adachan@apple.com>
2111 Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
2115 Test: fast/forms/tabs-with-modifiers.html
2117 * page/EventHandler.cpp:
2118 (WebCore::EventHandler::defaultKeyboardEventHandler):
2119 (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.
2120 Clean up the code a bit.
2121 * page/EventHandler.h:
2122 * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was
2123 only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
2125 * page/FocusController.h:
2127 2008-01-09 Antti Koivisto <antti@apple.com>
2131 Fix http://bugs.webkit.org/show_bug.cgi?id=16376
2132 <rdar://problem/5665206>
2133 <video> element fails to play frames when navigating back to page (16376)
2135 Don't make MediaPlayer visible when it is actually in page cache.
2137 * rendering/RenderVideo.cpp:
2138 (WebCore::RenderVideo::updatePlayer):
2140 2008-01-09 Anders Carlsson <andersca@apple.com>
2144 <rdar://problem/5532361>
2145 CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
2147 Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
2150 (WebCore::Frame::pageDestroyed):
2152 2008-01-09 John Sullivan <sullivan@apple.com>
2154 Reviewed by Adam Roben and Anders Carlsson
2156 - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to
2157 missing-but-expected Reload item
2159 * platform/ContextMenu.cpp:
2160 (WebCore::ContextMenu::populate):
2161 use isLoadingInAPISense when deciding whether to include Stop or Reload in context
2162 menu, to match the WebKit API
2164 2008-01-09 Mark Rowe <mrowe@apple.com>
2166 Fix Windows debug build for opensource developers.
2168 * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
2170 2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org>
2172 Reworked by Eric, Reviewed by Hyatt.
2174 - fix http://bugs.webkit.org/show_bug.cgi?id=9454
2175 Add support for :lang inheritance and xml:lang support.
2177 Tests: fast/selectors/lang-inheritance.html
2178 fast/selectors/lang-inheritance2.html
2179 fast/selectors/lang-vs-xml-lang.html
2180 fast/selectors/lang-vs-xml-lang-xhtml.xhtml
2182 * css/CSSStyleSelector.cpp:
2183 (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
2184 different LANG-attribute.
2185 (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
2186 for all the elements parents and the content-language of the document.
2188 (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
2190 (WebCore::Document::contentLanguage):
2191 (WebCore::Document::setContentLanguage):
2193 2008-01-08 Timothy Hatcher <timothy@apple.com>
2197 Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
2198 http://bugs.webkit.org/show_bug.cgi?id=16678
2200 Add a NULL check for controller before calling JSObjectSetPrivate.
2202 * page/InspectorController.cpp:
2203 (WebCore::InspectorController::~InspectorController):
2205 2008-01-08 Xan Lopez <xan@gnome.org>
2207 Reviewed by Alp Toker.
2209 http://bugs.webkit.org/show_bug.cgi?id=15610
2210 [GTK] Text rendering using Pango
2212 Use Pango to render Complex path text.
2214 * platform/graphics/gtk/FontGtk.cpp:
2215 (WebCore::utf16_to_utf8):
2216 (WebCore::convertUniCharToUTF8):
2217 (WebCore::setPangoAttributes):
2218 (WebCore::Font::drawGlyphs):
2219 (WebCore::Font::drawComplexText):
2220 (WebCore::Font::floatWidthForComplexText):
2221 (WebCore::Font::offsetForPositionForComplexText):
2223 2008-01-08 Timothy Hatcher <timothy@apple.com>
2225 Reviewed by Darin Adler.
2227 <rdar://problem/5665860> With the web inspector displayed, a crash occurs
2228 at WebCore::Frame::document() when navigating back to previous page
2230 This fixes the crash, but the inspector was totally broken with back/forward.
2231 So this also fixes back/forward navigation so the right main resource shows
2232 up in the inspector.
2234 * page/InspectorController.cpp:
2235 (WebCore::addSourceToFrame): Add some null checks for the frame when
2236 getting the textEncoding. This was the crash.
2237 (WebCore::InspectorController::addScriptResource): Create a script object
2238 only if needed, and always add it by calling addResource.
2239 (WebCore::InspectorController::didCommitLoad): Check if the loader is
2240 loading from the page cache, and clear m_mainResource. If the load is
2241 normal, then call addAndUpdateScriptResource with the main resource.
2242 (WebCore::InspectorController::identifierForInitialRequest): If the load
2243 is from the page cache and the resource is the main resource call
2244 addAndUpdateScriptResource since didCommitLoad did not do it.
2246 2008-01-08 Alp Toker <alp@atoker.com>
2248 Back out VIDEO by default in the GTK+ qmake build. The build bot
2249 doesn't have the necessary libraries installed.
2253 2008-01-08 Alp Toker <alp@atoker.com>
2255 Win build fix for breakage introduced in r29328.
2257 * WebCore.vcproj/WebCore.vcproj:
2259 2008-01-08 Alp Toker <alp@atoker.com>
2261 Rubber-stamped by Mark Rowe.
2263 Enable VIDEO by default in the GTK+ qmake build.
2267 2008-01-08 Alp Toker <alp@atoker.com>
2269 GTK+ VIDEO build fix for breakage introduced in r29328.
2271 Issue noticed by Ori_B.
2276 2008-01-08 Antti Koivisto <antti@apple.com>
2280 HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is
2283 Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
2285 Test: media/constructors.html
2288 * WebCore.xcodeproj/project.pbxproj:
2289 * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
2290 (WebCore::JSAudioConstructor::JSAudioConstructor):
2291 (WebCore::JSAudioConstructor::implementsConstruct):
2292 (WebCore::JSAudioConstructor::construct):
2293 * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
2294 * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
2295 * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
2296 * bindings/js/kjs_window.cpp:
2297 (KJS::Window::getValueProperty):
2298 * html/HTMLAudioElement.idl:
2300 2008-01-08 Anders Carlsson <andersca@apple.com>
2304 Don't add the applet widget to the view, that's done later by RenderApplet.
2306 * loader/FrameLoader.cpp:
2307 (WebCore::FrameLoader::createJavaAppletWidget):
2309 2008-01-08 Antti Koivisto <antti@apple.com>
2313 Add security check for Audio constructor.
2315 * bindings/js/kjs_window.cpp:
2316 (KJS::Window::getValueProperty):
2318 2008-01-08 Timothy Hatcher <timothy@apple.com>
2320 Reviewed by Adam Roben.
2322 <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
2324 InspectorController::didLoadResourceFromMemoryCache was not being called for
2325 resources that loaded from the memory cache that the FrameLoader's client
2326 has already been notified about. This fix always calls the InspectorController
2327 when loading a memory cached resource. No test possible for the Web Inspector.
2329 * loader/DocLoader.cpp:
2330 (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
2331 FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
2332 * loader/FrameLoader.cpp:
2333 (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
2334 (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
2335 (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
2336 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
2337 Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
2338 didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
2339 didTellClientAboutLoad.
2340 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
2341 in FrameLoader::loadedResourceFromMemoryCache.
2342 * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
2343 Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to
2344 m_urlsClientKnowsAbout.
2345 * loader/SubresourceLoader.cpp:
2346 (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
2348 2008-01-08 Dan Bernstein <mitz@apple.com>
2350 Rubber-stamped by Sam Weinig.
2352 - prefix all member variables in CSSStyleSelector with m_
2354 * css/CSSStyleSelector.cpp:
2355 (WebCore::CSSStyleSelector::CSSStyleSelector):
2356 (WebCore::CSSStyleSelector::init):
2357 (WebCore::CSSStyleSelector::setEncodedURL):
2358 (WebCore::CSSStyleSelector::loadDefaultStyle):
2359 (WebCore::CSSStyleSelector::matchRules):
2360 (WebCore::CSSStyleSelector::matchRulesForList):
2361 (WebCore::CSSStyleSelector::initElementAndPseudoState):
2362 (WebCore::CSSStyleSelector::initForStyleResolve):
2363 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2364 (WebCore::CSSStyleSelector::locateSharedStyle):
2365 (WebCore::CSSStyleSelector::matchUARules):
2366 (WebCore::CSSStyleSelector::styleForElement):
2367 (WebCore::CSSStyleSelector::pseudoStyleForElement):
2368 (WebCore::CSSStyleSelector::updateFont):
2369 (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2370 (WebCore::CSSStyleSelector::checkSelector):
2371 (WebCore::CSSStyleSelector::checkOneSelector):
2372 (WebCore::CSSStyleSelector::applyProperty):
2373 (WebCore::CSSStyleSelector::mapBackgroundImage):
2374 (WebCore::CSSStyleSelector::mapBackgroundSize):
2375 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2376 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2377 (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
2378 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2379 * css/CSSStyleSelector.h:
2380 (WebCore::CSSStyleSelector::):
2381 (WebCore::CSSRuleData::CSSRuleData):
2382 (WebCore::CSSRuleDataList::CSSRuleDataList):
2383 (WebCore::CSSRuleDataList::append):
2384 * css/SVGCSSStyleSelector.cpp:
2385 (WebCore::CSSStyleSelector::applySVGProperty):
2386 * rendering/RenderStyle.cpp:
2387 (WebCore::RenderStyle::isStyleAvailable):
2389 2008-01-08 David D. Kilzer <ddkilzer@apple.com>
2391 Removed unnecessary files from Copy Bundle Resources build phase.
2395 * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
2396 DOMCoreException.idl
2401 SVGAnimateColorElement.idl
2402 SVGAnimateElement.idl
2403 SVGAnimateTransformElement.idl
2404 SVGAnimatedAngle.idl
2405 SVGAnimatedBoolean.idl
2406 SVGAnimatedEnumeration.idl
2407 SVGAnimatedInteger.idl
2408 SVGAnimatedLength.idl
2409 SVGAnimatedLengthList.idl
2410 SVGAnimatedNumber.idl
2411 SVGAnimatedNumberList.idl
2412 SVGAnimatedPathData.idl
2413 SVGAnimatedPoints.idl
2414 SVGAnimatedPreserveAspectRatio.idl
2416 SVGAnimatedString.idl
2417 SVGAnimatedTransformList.idl
2418 SVGAnimationElement.idl
2419 SVGCSSPropertyNames.in
2420 SVGCSSValueKeywords.in
2421 SVGCircleElement.idl
2422 SVGClipPathElement.idl
2424 SVGComponentTransferFunctionElement.idl
2425 SVGCursorElement.idl
2426 SVGDefinitionSrcElement.idl
2431 SVGElementInstance.idl
2432 SVGElementInstanceList.idl
2433 SVGEllipseElement.idl
2435 SVGExternalResourcesRequired.idl
2436 SVGFEBlendElement.idl
2437 SVGFEColorMatrixElement.idl
2438 SVGFEComponentTransferElement.idl
2439 SVGFECompositeElement.idl
2440 SVGFEDiffuseLightingElement.idl
2441 SVGFEDisplacementMapElement.idl
2442 SVGFEDistantLightElement.idl
2443 SVGFEFloodElement.idl
2444 SVGFEFuncAElement.idl
2445 SVGFEFuncBElement.idl
2446 SVGFEFuncGElement.idl
2447 SVGFEFuncRElement.idl
2448 SVGFEGaussianBlurElement.idl
2449 SVGFEImageElement.idl
2450 SVGFEMergeElement.idl
2451 SVGFEMergeNodeElement.idl
2452 SVGFEOffsetElement.idl
2453 SVGFEPointLightElement.idl
2454 SVGFESpecularLightingElement.idl
2455 SVGFESpotLightElement.idl
2456 SVGFETileElement.idl
2457 SVGFETurbulenceElement.idl
2458 SVGFilterElement.idl
2459 SVGFilterPrimitiveStandardAttributes.idl
2462 SVGFontFaceElement.idl
2463 SVGFontFaceFormatElement.idl
2464 SVGFontFaceNameElement.idl
2465 SVGFontFaceSrcElement.idl
2466 SVGFontFaceUriElement.idl
2467 SVGForeignObjectElement.idl
2470 SVGGradientElement.idl
2476 SVGLinearGradientElement.idl
2478 SVGMarkerElement.idl
2481 SVGMetadataElement.idl
2482 SVGMissingGlyphElement.idl
2488 SVGPathSegArcAbs.idl
2489 SVGPathSegArcRel.idl
2490 SVGPathSegClosePath.idl
2491 SVGPathSegCurvetoCubicAbs.idl
2492 SVGPathSegCurvetoCubicRel.idl
2493 SVGPathSegCurvetoCubicSmoothAbs.idl
2494 SVGPathSegCurvetoCubicSmoothRel.idl
2495 SVGPathSegCurvetoQuadraticAbs.idl
2496 SVGPathSegCurvetoQuadraticRel.idl
2497 SVGPathSegCurvetoQuadraticSmoothAbs.idl
2498 SVGPathSegCurvetoQuadraticSmoothRel.idl
2499 SVGPathSegLinetoAbs.idl
2500 SVGPathSegLinetoHorizontalAbs.idl
2501 SVGPathSegLinetoHorizontalRel.idl
2502 SVGPathSegLinetoRel.idl
2503 SVGPathSegLinetoVerticalAbs.idl
2504 SVGPathSegLinetoVerticalRel.idl
2506 SVGPathSegMovetoAbs.idl
2507 SVGPathSegMovetoRel.idl
2508 SVGPatternElement.idl
2511 SVGPolygonElement.idl
2512 SVGPolylineElement.idl
2513 SVGPreserveAspectRatio.idl
2514 SVGRadialGradientElement.idl
2517 SVGRenderingIntent.idl
2519 SVGScriptElement.idl
2525 SVGSwitchElement.idl
2526 SVGSymbolElement.idl
2530 SVGTextContentElement.idl
2532 SVGTextPathElement.idl
2533 SVGTextPositioningElement.idl
2536 SVGTransformList.idl
2537 SVGTransformable.idl
2545 XMLHttpRequestException.idl
2549 make-charset-table.pl
2554 2008-01-08 Luca Bruno <lethalman88@gmail.com>
2556 Reviewed by Alp Toker.
2558 Support copying the selected URL to the clipboard.
2560 * platform/gtk/PasteboardGtk.cpp:
2561 (WebCore::Pasteboard::writeURL): implemented
2563 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
2565 Renamed CharacterData::m_str to m_data
2567 Rubber-stamped by Adam again.
2569 No test cases added since there is no change in behavior.
2571 * dom/CDATASection.cpp:
2572 * dom/CharacterData.cpp:
2573 (WebCore::CharacterData::CharacterData):
2574 (WebCore::CharacterData::setData):
2575 (WebCore::CharacterData::substringData):
2576 (WebCore::CharacterData::appendData):
2577 (WebCore::CharacterData::insertData):
2578 (WebCore::CharacterData::deleteData):
2579 (WebCore::CharacterData::replaceData):
2580 (WebCore::CharacterData::nodeValue):
2581 (WebCore::CharacterData::containsOnlyWhitespace):
2582 (WebCore::CharacterData::dispatchModifiedEvent):
2583 (WebCore::CharacterData::checkCharDataOperation):
2584 (WebCore::CharacterData::dump):
2585 * dom/CharacterData.h:
2588 (WebCore::Text::splitText):
2589 (WebCore::Text::createRenderer):
2590 (WebCore::Text::recalcStyle):
2592 2008-01-08 Steve Falkenburg <sfalken@apple.com>
2594 Fix a couple of compiler warnings.
2598 * platform/win/ThreadingWin.cpp:
2599 * platform/win/UniscribeController.cpp: Remove unused function.
2600 (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
2602 2008-01-08 Adele Peterson <adele@apple.com>
2606 Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
2608 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2609 After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
2610 MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.
2611 This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
2612 I also added a missing call to setDefaultHandled for the mousemove event.
2614 2008-01-08 Adele Peterson <adele@apple.com>
2618 * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
2619 paint the media controls in RenderThemeSafari.
2621 2008-01-08 Oliver Hunt <oliver@apple.com>
2623 Reviewed by Adele and John.
2625 Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
2626 dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
2628 We hit this crash if the page reloads between DragController::dragUpdated
2629 and DragController::performDrag, meaning that m_document starts pointing to
2630 a now viewless document. This is picked up by an assertion in performDrag
2631 which I have now replaced with an assignment given that the assertion is
2632 invalid -- it is possible for m_document to be changed between dragUpdated
2635 * page/DragController.cpp:
2636 (WebCore::DragController::performDrag):
2638 2008-01-08 Alexey Proskuryakov <ap@webkit.org>
2642 <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
2643 WebCore::Node::setChanged + 96
2645 Test: fast/dom/cssTarget-crash.html
2647 * dom/Node.cpp: (WebCore::Node::removedFromDocument):
2648 Check to see if the node being removed is currently set as the Document's cssTarget.
2649 If it is, clear the cssTarget to prevent a hanging reference to it.
2651 2008-01-08 Adam Roben <aroben@apple.com>
2653 * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
2654 rebuild on Windows now that the media elements are enabled.
2656 2008-01-08 Adam Roben <aroben@apple.com>
2658 * svg/svgtags.in: Touch this again for the sake of the Windows bots.
2660 2008-01-08 Timothy Hatcher <timothy@apple.com>
2662 Reviewed by Adam Roben.
2664 Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
2665 Also added some #pragma marks to help find places in the file.
2667 * page/InspectorController.cpp:
2668 (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
2669 And return the result of JSObjectCallAsFunction.
2670 (WebCore::search): Use JSRetainPtr<JSStringRef>.
2671 (WebCore::databaseTableNames): Ditto.
2672 (WebCore::localizedStrings): Ditto.
2673 (WebCore::InspectorController::~InspectorController): Ditto.
2674 (WebCore::InspectorController::focusNode): Ditto.
2675 (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
2676 (WebCore::InspectorController::scriptObjectReady): Ditto.
2677 (WebCore::addHeaders): Ditto.
2678 (WebCore::InspectorController::addScriptResource): Ditto.
2679 (WebCore::InspectorController::removeScriptResource): Ditto.
2680 (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
2681 (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
2682 (WebCore::InspectorController::updateScriptResource): Ditto.
2683 (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
2684 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
2685 (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
2687 2008-01-08 Dan Bernstein <mitz@apple.com>
2689 Rubber-stamped by Sam Weinig.
2691 - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
2695 * WebCore.vcproj/WebCore.vcproj:
2696 * WebCore.xcodeproj/project.pbxproj:
2697 * WebCoreSources.bkl:
2698 * editing/Editor.cpp:
2699 * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
2700 * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
2701 * platform/graphics/FontDataBaseClass.cpp: Removed.
2702 * platform/graphics/FontDataBaseClass.h: Removed.
2703 * platform/graphics/SegmentedFontData.h:
2704 * platform/graphics/SimpleFontData.h:
2706 2008-01-08 Dan Bernstein <mitz@apple.com>
2708 Fix a Wx build error.
2710 * platform/graphics/wx/GlyphMapWx.cpp:
2711 (WebCore::GlyphPage::fill):
2713 2008-01-08 Dan Bernstein <mitz@apple.com>
2715 Fix a Qt build error.
2717 * platform/graphics/qt/SimpleFontDataQt.cpp:
2718 (WebCore::SimpleFontData::containsCharacters):
2719 (WebCore::SimpleFontData::fontDataForCharacter):
2720 (WebCore::SimpleFontData::isSegmented):
2722 2008-01-08 Adam Roben <aroben@apple.com>
2726 Touch config.h to force a rebuild (apparently changing preprocessor
2727 definitions in the .vcproj doesn't force a rebuild).
2731 2008-01-08 Dan Bernstein <mitz@apple.com>
2733 Fix a Wx build failure.
2737 2008-01-08 Dan Bernstein <mitz@apple.com>
2739 Fix a Qt build failure.
2743 2008-01-08 John Sullivan <sullivan@apple.com>
2745 Reviewed by Adam Roben
2747 - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field,
2748 Delete menu item is enabled but shouldn't be
2750 The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
2751 parameter to the enabled functions so that they can have parallel logic to the execute functions.
2753 * editing/EditorCommand.cpp:
2754 added EditorCommandSource parameter to isEnabled function prototype
2756 added unused EditorCommandSource parameter to these isEnabled functions:
2757 (WebCore::enabledAnySelection):
2758 (WebCore::enabledAnySelectionAndMark):
2759 (WebCore::enableCaretInEditableText):
2760 (WebCore::enabledCopy):
2761 (WebCore::enabledCut):
2763 (WebCore::enabledDelete):
2764 new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
2767 added unused EditorCommandSource parameter to these isEnabled functions:
2768 (WebCore::enabledInEditableText):
2769 (WebCore::enabledInRichlyEditableText):
2770 (WebCore::enabledPaste):
2771 (WebCore::enabledRangeInEditableText):
2772 (WebCore::enabledRangeInRichlyEditableText):
2773 (WebCore::enabledRedo):
2774 (WebCore::enabledUndo):
2776 (WebCore::CommandEntry::):
2777 wire up new enabledDelete function as delete function for Delete command
2779 (WebCore::Editor::Command::isEnabled):
2780 pass EditorCommandSource parameter to isEnabled function
2782 2008-01-08 Adam Roben <aroben@apple.com>
2784 Visual C++ Express build fix
2786 * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
2787 and advapi32.lib. VS implicitly links against these, VC++ Express
2790 2008-01-08 Dan Bernstein <mitz@apple.com>
2794 * platform/graphics/mac/FontCustomPlatformData.cpp:
2795 (WebCore::createFontCustomPlatformData):
2797 2008-01-08 Dan Bernstein <mitz@apple.com>
2799 Try to fix the Qt build.
2803 2008-01-08 Nikolas Zimmermann <zimmermann@kde.org>
2805 Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
2807 * page/inspector/WebKit.qrc:
2809 2008-01-08 Maciej Stachowiak <mjs@apple.com>
2813 - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
2815 * bindings/objc/PublicDOMInterfaces.h:
2816 * html/HTMLDocument.idl:
2818 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
2820 Renamed CharacterData::str to m_str to match coding style
2822 Rubber-stamped by Adam.
2824 No test cases added since there is no change in behavior.
2826 * dom/CDATASection.cpp:
2827 * dom/CharacterData.cpp:
2828 (WebCore::CharacterData::CharacterData):
2829 (WebCore::CharacterData::setData):
2830 (WebCore::CharacterData::substringData):
2831 (WebCore::CharacterData::appendData):
2832 (WebCore::CharacterData::insertData):
2833 (WebCore::CharacterData::deleteData):
2834 (WebCore::CharacterData::replaceData):
2835 (WebCore::CharacterData::nodeValue):
2836 (WebCore::CharacterData::containsOnlyWhitespace):
2837 (WebCore::CharacterData::dispatchModifiedEvent):
2838 (WebCore::CharacterData::checkCharDataOperation):
2839 (WebCore::CharacterData::dump):
2840 * dom/CharacterData.h:
2843 (WebCore::Text::splitText):
2844 (WebCore::Text::createRenderer):
2845 (WebCore::Text::recalcStyle):
2847 2008-01-08 Oliver Hunt <oliver@apple.com>
2849 Set the ENABLE_SVG_FONTS flag in Windows build, now builds,
2850 I'm not sure if it just caused the right files to regenerate,
2851 or if there's some configuration weirdness in the non-SVG-fonts
2854 * WebCore.vcproj/WebCore.vcproj:
2856 2008-01-07 Maciej Stachowiak <mjs@apple.com>
2860 - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
2862 Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
2865 (WebCore::Document::Document):
2867 (WebCore::Document::setHasOpenDatabases):
2868 (WebCore::Document::hasOpenDatabases):
2869 * loader/FrameLoader.cpp:
2870 (WebCore::FrameLoader::canCachePage):
2871 * storage/Database.cpp:
2872 (WebCore::Database::openDatabase):
2874 2008-01-07 Dan Bernstein <mitz@apple.com>
2876 Reviewed by Oliver Hunt.
2878 - fix leaks seen on the build bot
2880 * css/CSSFontSelector.cpp:
2881 (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
2882 CSSFontFaceSource for SVG font-face elements going into an
2883 SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
2884 face elements to a CSSFontFace because it will not work as expected.
2886 2008-01-07 Mark Rowe <mrowe@apple.com>
2890 * platform/graphics/mac/FontCustomPlatformData.cpp:
2891 (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
2892 It's not needed on Tiger, and breaks the build.
2894 2008-01-07 Antti Koivisto <antti@apple.com>
2898 Re-enable media support in Windows build.
2900 * WebCore.vcproj/QTMovieWin.vcproj:
2901 * WebCore.vcproj/WebCore.vcproj:
2902 * WebCore.vcproj/build-generated-files.sh:
2904 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2906 Add version resource to QTMovieWin.dll
2910 * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
2911 * WebCore.vcproj/QTMovieWin.rc: Added.
2912 * WebCore.vcproj/QTMovieWin.vcproj:
2913 * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
2914 * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
2916 2008-01-07 Dan Bernstein <mitz@apple.com>
2920 * platform/graphics/qt/FontCustomPlatformData.cpp:
2921 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
2922 Calls QFontDatabase::removeApplicationFont().
2923 * platform/graphics/qt/FontCustomPlatformData.h:
2924 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2925 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
2926 implementation because Qt does not use the WebCore glyph cache.
2928 2008-01-07 Dan Bernstein <mitz@apple.com>
2930 Reviewed by Oliver Hunt.
2932 - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
2933 Tiger and multiple SVG layout test failures on Leopard.
2935 * css/CSSSegmentedFontFace.cpp:
2936 (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
2937 empty SegmentedFontData.
2938 * platform/graphics/mac/FontCustomPlatformData.cpp:
2939 (WebCore::createFontCustomPlatformData): Avoid creating a font that
2940 contains no glyphs. On Leopard, ATS might create such a font given
2941 data in an unsupported format (such as SVG).
2943 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2947 * WebCore.vcproj/WebCore.sln:
2948 * WebCore.vcproj/WebCore.submit.sln:
2950 2008-01-07 Oliver Hunt <oliver@apple.com>
2954 Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
2956 Test: svg/custom/image-with-aspect-ratio-stretch.svg
2958 * rendering/RenderSVGImage.cpp:
2959 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2961 2008-01-07 Dan Bernstein <mitz@apple.com>
2965 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2966 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2968 2008-01-07 Adele Peterson <adele@apple.com>
2970 Add missing newline.
2972 * rendering/MediaControlElements.cpp:
2974 2008-01-07 Jon Honeycutt <jhoneycutt@apple.com>
2978 <rdar://problem/5673489> Safari does not render windowless plugins in an
2979 iframe when opacity < 1.0
2981 Plugins in transparency layers handle their own world transforms, so
2982 only apply the horizontal/vertical transform if we are not in a
2985 * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
2986 inTransparencyLayer() function
2987 * platform/win/GraphicsContextWin.cpp:
2988 (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
2989 (WebCore::GraphicsContext::inTransparencyLayer):
2990 (WebCore::GraphicsContext::releaseWindowsContext): Use
2991 inTransparencyLayer()
2992 * plugins/win/PluginViewWin.cpp:
2993 (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
2994 relative to the window. Pass m_isTransparent to
2995 get/releaseWindowsContext(). Only set the world transform if we are not
2996 in a transparency layer.
2998 2008-01-07 Adele Peterson <adele@apple.com>
3000 Build fix. Need to wrap these classes in #if ENABLE(VIDEO)
3002 * rendering/MediaControlElements.cpp:
3003 * rendering/MediaControlElements.h:
3005 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3009 Enable SVG_FONTS by default.
3011 * Configurations/WebCore.xcconfig:
3012 * WebCore.vcproj/build-generated-files.sh:
3014 2008-01-07 Dan Bernstein <mitz@apple.com>
3018 * platform/graphics/qt/SimpleFontDataQt.cpp:
3019 (WebCore::SimpleFontData::SimpleFontData):
3020 (WebCore::SimpleFontData::~SimpleFontData):
3022 2008-01-07 Adam Barth <hk9565@gmail.com>
3024 Reviewed by Sam Weinig
3026 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
3027 <rdar://problem/5657447>
3029 When a frame is created with the URL "about:blank" or "", it should
3030 inherit its SecurityOrigin from its opener. However, once it has
3031 decided on that SecurityOrigin, it should not change its mind.
3032 Prior to this patch, several events could induce the frame to change
3033 its SecurityOrigin, permitting an attacker to inject script into an
3034 arbitrary SecurityOrigin.
3036 This patch makes several changes:
3038 1) Documents refuse to change from one SecurityOrigin to another
3039 unless explicitly instructed to do so.
3041 2) Navigating to a JavaScript URL that produces a value
3042 preserves the current SecurityOrigin explicitly instead of
3043 relying on the URL to preserve the origin (which fails for
3044 about:blank URLs and SecurityOrigins with document.domain set).
3046 Ideally, we should not preserve the URL at all. Instead, the
3047 frame's URL should be the JavaScript URL, as in Firefox, but this
3048 would require changes that are too risky for this patch. I'll
3049 file this as a separate issue.
3051 3) Various methods of navigating to JavaScript URLs were not
3052 properly handling JavaScript that returned a value (and should
3053 therefore replace the current document). This patch unifies
3054 those code paths with the path that works.
3056 There are still a handful of bugs relating to the handling of
3057 JavaScript URLs, but I'll file those as separate issues.
3059 Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
3060 http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
3061 http/tests/security/aboutBlank/xss-DENIED-set-opener.html
3064 (WebCore::Document::initSecurityOrigin):
3066 (WebCore::Document::setSecurityOrigin):
3067 * loader/FrameLoader.cpp:
3068 (WebCore::FrameLoader::changeLocation):
3069 (WebCore::FrameLoader::urlSelected):
3070 (WebCore::FrameLoader::requestFrame):
3071 (WebCore::FrameLoader::submitForm):
3072 (WebCore::FrameLoader::executeIfJavaScriptURL):
3073 (WebCore::FrameLoader::begin):
3074 * loader/FrameLoader.h:
3075 * platform/SecurityOrigin.cpp:
3076 (WebCore::SecurityOrigin::setForURL):
3077 (WebCore::SecurityOrigin::createForFrame):
3078 * platform/SecurityOrigin.h:
3080 2008-01-07 Adele Peterson <adele@apple.com>
3082 Forgot to check in these changes in my last checkin.
3084 * rendering/RenderThemeSafari.cpp:
3086 2008-01-07 Dan Bernstein <mitz@apple.com>
3091 * platform/graphics/qt/FontCacheQt.cpp:
3092 (WebCore::FontCache::getCachedFontData):
3094 2008-01-07 Timothy Hatcher <timothy@apple.com>
3096 Reviewed by John Sullivan.
3098 <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
3100 * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
3101 normal height when not docked, and small when docked. Also added some cursor properties
3102 prevent showing the text cursor over areas that are not selectable.
3103 * page/inspector/Images: A few images added and old ones removed or renamed.
3105 2008-01-07 Alp Toker <alp@atoker.com>
3107 Prospective GTK+ autotools/qmake VIDEO build fix for breakage
3108 introduced in r29257.
3113 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3117 Build fix affecting all builds - again related to the unicode-range addition.
3119 * css/CSSFontSelector.cpp:
3120 (WebCore::CSSFontSelector::addFontFaceRule):
3121 * css/SVGCSSFontFace.cpp:
3122 (WebCore::SVGCSSFontFace::SVGCSSFontFace):
3123 * css/SVGCSSFontFace.h:
3124 * rendering/RenderSVGText.cpp:
3126 (WebCore::svgFontAndFontFaceElementForFontData):
3127 (WebCore::floatWidthMissingGlyphCallback):
3128 (WebCore::drawTextMissingGlyphCallback):
3129 * svg/SVGFontFaceElement.cpp:
3131 2008-01-07 Adele Peterson <adele@apple.com>
3133 Reviewed by Antti, Adam, and Mitz.
3135 WebCore part of fix for
3136 <rdar://problem/5619073> Updated look for <video> controls
3137 <rdar://problem/5619057> Add volume control to video controls
3139 * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
3140 * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
3141 * WebCore.vcproj/WebCore.vcproj: ditto.
3143 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
3144 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
3145 * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
3146 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
3147 * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
3148 * css/html4.css: Added new styles for new controls.
3150 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
3151 * html/HTMLMediaElement.h:
3153 * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
3155 * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
3156 * platform/mac/WebCoreSystemInterface.mm: ditto.
3158 * rendering/MediaControlElements.cpp: Added.
3159 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute.
3160 (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement,
3161 since its too early to do this here, and causes crashes for the slider.
3162 (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
3163 (WebCore::MediaControlInputElement::update): ditto.
3164 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
3165 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
3166 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
3167 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
3168 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
3169 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
3170 (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
3171 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
3172 (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
3173 (WebCore::MediaControlTimelineElement::update): ditto.
3174 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
3175 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
3176 * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
3177 (WebCore::MediaControlShadowRootElement::isShadowNode):
3178 (WebCore::MediaControlShadowRootElement::shadowParentNode):
3179 (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
3180 (WebCore::RenderMediaControlShadowRoot::setParent):
3182 * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
3183 (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
3184 (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
3185 (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
3186 (WebCore::RenderMedia::createMuteButton): Added.
3187 (WebCore::RenderMedia::createSeekBackButton): ditto.
3188 (WebCore::RenderMedia::createSeekForwardButton): ditto.
3189 (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
3190 (WebCore::RenderMedia::createFullscreenButton): Added.
3191 (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
3192 (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls.
3193 (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
3194 * rendering/RenderMedia.h: Added new methods for creating new controls.
3196 * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements,
3197 but also can contain children (the controls' container) that may need to look for the containing block.
3199 * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
3201 * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
3203 (WebCore::RenderStyle::):
3205 * rendering/RenderTheme.cpp:
3206 (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
3207 (WebCore::RenderTheme::paint): ditto.
3208 * rendering/RenderTheme.h: Added new methods for painting new appearances.
3209 (WebCore::RenderTheme::paintMediaBackground):
3210 (WebCore::RenderTheme::paintMediaFullscreenButton):
3211 (WebCore::RenderTheme::paintMediaPlayButton):
3212 (WebCore::RenderTheme::paintMediaMuteButton):
3213 (WebCore::RenderTheme::paintMediaSeekBackButton):
3214 (WebCore::RenderTheme::paintMediaSeekForwardButton):
3215 (WebCore::RenderTheme::paintMediaSliderThumb):
3216 * rendering/RenderThemeMac.h:
3217 * rendering/RenderThemeMac.mm:
3218 (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
3219 (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
3220 (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
3221 (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
3222 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
3223 (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
3224 (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
3225 (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
3226 (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
3227 (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
3228 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
3229 (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
3230 * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
3231 (WebCore::RenderThemeSafari::paintSliderTrack):
3232 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
3233 (WebCore::RenderThemeSafari::paintMediaBackground):
3234 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
3235 (WebCore::RenderThemeSafari::paintMediaMuteButton):
3236 (WebCore::RenderThemeSafari::paintMediaPlayButton):
3237 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
3238 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
3239 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
3240 * rendering/RenderThemeSafari.h:
3242 2008-01-07 Timothy Hatcher <timothy@apple.com>
3244 Reviewed by Darin Adler.
3246 Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
3247 when the replacment string is a different length.
3249 * platform/text/StringImpl.cpp:
3250 (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
3251 the Vector size calculation, correcting the order of math operations.
3253 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3255 Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
3257 * platform/graphics/mac/FontCacheMac.mm:
3259 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3261 Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
3263 * css/CSSFontSelector.cpp:
3264 (WebCore::CSSFontSelector::getFontData):
3266 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3268 Not reviewed. Next try to fix wx/mac leopard build.
3270 * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
3271 * svg/SVGFontFaceElement.cpp:
3272 (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
3273 * webcore-base.bkl: Undo svg/ include.
3275 2008-01-07 Dan Bernstein <mitz@apple.com>
3277 Reviewed by Dave Hyatt.
3279 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
3283 * WebCore.vcproj/WebCore.vcproj:
3284 * WebCore.xcodeproj/project.pbxproj:
3285 * WebCoreSources.bkl:
3286 * bindings/objc/DOM.mm:
3287 * bridge/mac/WebCoreAXObject.mm:
3288 * css/CSSComputedStyleDeclaration.cpp:
3289 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3290 * css/CSSFontFace.cpp:
3291 (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
3293 (WebCore::CSSFontFace::getFontData):
3294 * css/CSSFontFace.h:
3295 (WebCore::CSSFontFace::CSSFontFace):
3296 (WebCore::CSSFontFace::setSegmentedFontFace):
3297 * css/CSSFontFaceSource.cpp:
3298 (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
3299 GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
3300 font table are not exposed in the glyph page tree. Only the segmented
3301 font is, and that is taken care of by the segmented font face.
3302 (WebCore::CSSFontFaceSource::getFontData):
3303 * css/CSSFontFaceSource.h:
3304 * css/CSSFontSelector.cpp:
3305 (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
3306 @font-face rules with the same family and traits into a single
3307 segmented font face, instead of just retaining the most recent one.
3308 (WebCore::CSSFontSelector::fontLoaded):
3309 (WebCore::CSSFontSelector::getFontData):
3310 * css/CSSFontSelector.h:
3312 * css/CSSParser.cpp:
3313 (WebCore::CSSParser::parseValue):
3314 (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
3317 * css/CSSPrimitiveValue.h:
3318 (WebCore::CSSPrimitiveValue::):
3319 * css/CSSPropertyNames.in:
3320 * css/CSSSegmentedFontFace.cpp: Added.
3321 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
3322 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
3323 (WebCore::CSSSegmentedFontFace::pruneTable):
3324 (WebCore::CSSSegmentedFontFace::isLoaded):
3325 (WebCore::CSSSegmentedFontFace::isValid):
3326 (WebCore::CSSSegmentedFontFace::fontLoaded):
3327 (WebCore::CSSSegmentedFontFace::overlayRange):
3328 (WebCore::CSSSegmentedFontFace::getFontData):
3329 * css/CSSSegmentedFontFace.h: Added.
3330 (WebCore::FontFaceRange::FontFaceRange):
3331 (WebCore::FontFaceRange::from):
3332 (WebCore::FontFaceRange::to):
3333 (WebCore::FontFaceRange::fontFace):
3334 (WebCore::CSSSegmentedFontFace::fontSelector):
3335 * css/CSSStyleSelector.cpp:
3336 (WebCore::CSSStyleSelector::applyProperty):
3337 * css/CSSUnicodeRangeValue.cpp: Added.
3338 (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
3339 (WebCore::CSSUnicodeRangeValue::cssText):
3340 * css/CSSUnicodeRangeValue.h: Added.
3341 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3342 (WebCore::CSSUnicodeRangeValue::from):
3343 (WebCore::CSSUnicodeRangeValue::to):
3344 * css/SVGCSSFontFace.cpp:
3345 (WebCore::SVGCSSFontFace::getFontData):
3346 * css/SVGCSSFontFace.h:
3347 * editing/Editor.cpp:
3348 (WebCore::Editor::fontForSelection):
3350 * page/mac/FrameMac.mm:
3351 * page/mac/WebCoreFrameBridge.mm:
3352 (-[WebCoreFrameBridge fontForSelection:]):
3353 * platform/graphics/Font.cpp:
3354 (WebCore::WidthIterator::advance):
3355 (WebCore::Font::glyphDataForCharacter):
3356 (WebCore::Font::primaryFont): Changed to return the simple font data
3357 used for the space character.
3358 (WebCore::Font::fontDataAt):
3359 (WebCore::Font::fontDataForCharacters):
3360 (WebCore::Font::drawGlyphBuffer):
3361 * platform/graphics/Font.h:
3362 * platform/graphics/FontCache.cpp:
3363 (WebCore::FontCache::getCachedFontData):
3364 (WebCore::FontCache::getFontData):
3365 * platform/graphics/FontCache.h:
3366 * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
3367 * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
3368 * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
3370 (WebCore::FontData::~FontData):
3371 * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
3373 * platform/graphics/FontFallbackList.cpp:
3374 (WebCore::FontFallbackList::determinePitch):
3375 (WebCore::FontFallbackList::fontDataAt):
3376 (WebCore::FontFallbackList::fontDataForCharacters):
3377 * platform/graphics/FontFallbackList.h:
3378 (WebCore::FontFallbackList::primaryFont):
3379 * platform/graphics/FontSelector.h:
3380 * platform/graphics/GlyphBuffer.h:
3381 (WebCore::GlyphBuffer::fontDataAt):
3382 (WebCore::GlyphBuffer::swap):
3383 (WebCore::GlyphBuffer::add):
3384 * platform/graphics/GlyphPageTreeNode.cpp:
3385 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3386 (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
3387 pages for segmented font data.
3388 (WebCore::GlyphPageTreeNode::getChild):
3389 (WebCore::GlyphPageTreeNode::pruneCustomFontData):
3390 * platform/graphics/GlyphPageTreeNode.h:
3391 (WebCore::GlyphPage::setGlyphDataForCharacter):
3392 (WebCore::GlyphPage::setGlyphDataForIndex):
3393 (WebCore::GlyphPageTreeNode::getRootChild):
3394 * platform/graphics/SegmentedFontData.cpp: Added.
3395 (WebCore::SegmentedFontData::~SegmentedFontData):
3396 (WebCore::SegmentedFontData::fontDataForCharacter):
3397 (WebCore::SegmentedFontData::containsCharacters):
3398 (WebCore::SegmentedFontData::isCustomFont):
3399 (WebCore::SegmentedFontData::isLoading):
3400 (WebCore::SegmentedFontData::isSegmented):
3401 * platform/graphics/SegmentedFontData.h: Added.
3402 (WebCore::FontDataRange::FontDataRange):
3403 (WebCore::FontDataRange::from):
3404 (WebCore::FontDataRange::to):
3405 (WebCore::FontDataRange::fontData):
3406 (WebCore::SegmentedFontData::appendRange):
3407 (WebCore::SegmentedFontData::numRanges):
3408 (WebCore::SegmentedFontData::rangeAt):
3409 * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
3410 (WebCore::SimpleFontData::SimpleFontData):
3411 (WebCore::SimpleFontData::~SimpleFontData):
3412 (WebCore::SimpleFontData::ascent):
3413 (WebCore::SimpleFontData::descent):
3414 (WebCore::SimpleFontData::widthForGlyph):
3415 (WebCore::SimpleFontData::fontDataForCharacter):
3416 (WebCore::SimpleFontData::isSegmented):
3417 * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
3418 (WebCore::SimpleFontData::isCustomFont):
3419 (WebCore::SimpleFontData::isLoading):
3420 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3421 (WebCore::GraphicsContext::setPlatformFont):
3422 * platform/graphics/gtk/FontCacheGtk.cpp:
3423 (WebCore::FontCache::getFontDataForCharacters):
3424 * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
3425 SimpleFontDataGtk.cpp.
3426 * platform/graphics/gtk/FontGtk.cpp:
3427 (WebCore::Font::drawGlyphs):
3428 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
3429 (WebCore::GlyphPage::fill):
3430 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
3431 (WebCore::SimpleFontData::platformInit):
3432 (WebCore::SimpleFontData::platformDestroy):
3433 (WebCore::SimpleFontData::smallCapsFontData):
3434 (WebCore::SimpleFontData::containsCharacters):
3435 (WebCore::SimpleFontData::determinePitch):
3436 (WebCore::SimpleFontData::platformWidthForGlyph):
3437 (WebCore::SimpleFontData::setFont):
3438 * platform/graphics/mac/FontCacheMac.mm:
3439 (WebCore::FontCache::getFontDataForCharacters):
3440 * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
3441 * platform/graphics/mac/FontMac.mm:
3442 (WebCore::initializeATSUStyle):
3443 (WebCore::overrideLayoutOperation):
3444 (WebCore::ATSULayoutParameters::initialize):
3445 (WebCore::Font::drawGlyphs):
3446 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3447 (WebCore::GlyphPage::fill):
3448 * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
3449 (WebCore::initFontData):
3450 (WebCore::SimpleFontData::platformInit):
3451 (WebCore::SimpleFontData::platformDestroy):
3452 (WebCore::SimpleFontData::smallCapsFontData):
3453 (WebCore::SimpleFontData::containsCharacters):
3454 (WebCore::SimpleFontData::determinePitch):
3455 (WebCore::SimpleFontData::platformWidthForGlyph):
3456 (WebCore::SimpleFontData::checkShapesArabic):
3457 * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
3458 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
3459 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3460 * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
3461 * platform/graphics/win/FontCacheWin.cpp:
3462 (WebCore::FontCache::getFontDataForCharacters):
3463 * platform/graphics/win/FontDataWin.cpp: Renamed to
3464 SimpleFontDataWin.cpp.
3465 * platform/graphics/win/FontWin.cpp:
3466 (WebCore::Font::drawGlyphs):
3467 * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
3468 (WebCore::GlyphPage::fill):
3469 * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
3470 (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
3471 (WebCore::SimpleFontData::platformInit):
3472 (WebCore::SimpleFontData::platformDestroy):
3473 (WebCore::SimpleFontData::smallCapsFontData):
3474 (WebCore::SimpleFontData::containsCharacters):
3475 (WebCore::SimpleFontData::determinePitch):
3476 (WebCore::SimpleFontData::platformWidthForGlyph):
3477 (WebCore::SimpleFontData::scriptFontProperties):
3478 * platform/graphics/wx/FontCacheWx.cpp:
3479 (WebCore::FontCache::getFontDataForCharacters):
3480 * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
3481 * platform/graphics/wx/FontWx.cpp:
3482 (WebCore::Font::drawGlyphs):
3483 * platform/graphics/wx/GlyphMapWx.cpp:
3484 (WebCore::GlyphPage::fill):
3485 * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
3486 (WebCore::SimpleFontData::platformInit):
3487 (WebCore::SimpleFontData::platformDestroy):
3488 (WebCore::SimpleFontData::smallCapsFontData):
3489 (WebCore::SimpleFontData::containsCharacters):
3490 (WebCore::SimpleFontData::determinePitch):
3491 (WebCore::SimpleFontData::platformWidthForGlyph):
3492 * platform/mac/FileChooserMac.mm:
3493 * platform/mac/PopupMenuMac.mm:
3494 * platform/mac/WebCoreTextRenderer.mm:
3495 * platform/win/PopupMenuWin.cpp:
3496 * platform/win/UniscribeController.cpp:
3497 (WebCore::UniscribeController::advance):
3498 (WebCore::UniscribeController::itemizeShapeAndPlace):
3499 (WebCore::UniscribeController::shapeAndPlaceItem):
3500 (WebCore::UniscribeController::shape):
3501 * platform/win/UniscribeController.h:
3503 (WebCore::Font::drawGlyphsWithSVGFont):
3504 * svg/SVGFontElement.cpp:
3505 (WebCore::SVGFontElement::collectGlyphs):
3506 * svg/SVGFontFaceElement.cpp:
3507 (WebCore::SVGFontFaceElement::createFontData):
3508 * svg/SVGFontFaceElement.h:
3509 * svg/SVGGlyphElement.cpp:
3511 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3513 Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
3517 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3519 Not reviewed. Proposed build fix for wx.
3523 2008-01-07 Dan Bernstein <mitz@apple.com>
3527 * platform/graphics/mac/FontCustomPlatformData.cpp:
3528 (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
3529 cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
3531 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3533 Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
3534 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
3536 Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
3537 measure & render glyphs contained in SVG Fonts, including ligature lookup support.
3539 Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
3541 Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
3542 Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
3544 Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
3545 This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
3546 required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
3548 Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
3550 <glyph> elements now register themselves in the SVGFontElement's glyph cache.
3551 (insertedIntoDocument / removedFromDocument take care of this)
3553 The cache is built once now, and is kept updated - it's not rebuild anymore
3554 on painting (!) - which was a crude hack for testing.
3556 W3C testcase which include SVG Fonts:
3557 svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
3558 svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
3559 svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
3560 svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
3561 svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
3562 svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
3563 svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
3564 svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
3565 svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
3566 svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
3567 svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
3568 svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
3569 svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
3570 svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
3571 svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
3572 svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec)
3573 svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
3574 svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
3575 svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
3576 svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
3577 svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
3578 svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
3579 svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
3581 Questionable testcases:
3582 svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.)
3583 I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now.
3585 Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
3587 * css/CSSFontSelector.cpp:
3588 (WebCore::CSSFontSelector::addFontFaceRule):
3589 (WebCore::CSSFontSelector::getFontData):
3590 * platform/graphics/Font.cpp:
3591 (WebCore::Font::lineSpacing):
3592 (WebCore::Font::xHeight):
3593 (WebCore::Font::canUseGlyphCache):
3594 (WebCore::Font::drawGlyphBuffer):
3595 (WebCore::Font::drawText):
3596 (WebCore::Font::floatWidth):
3597 (WebCore::Font::selectionRectForText):
3598 * platform/graphics/Font.h:
3599 (WebCore::TextRun::TextRun):
3600 (WebCore::TextRun::activePaintServer):
3601 (WebCore::TextRun::setActivePaintServer):
3602 * platform/graphics/FontData.cpp:
3603 (WebCore::FontData::lineSpacing):
3604 (WebCore::FontData::lineGap):
3605 (WebCore::FontData::xHeight):
3606 * platform/graphics/FontData.h:
3607 * platform/graphics/win/FontWin.cpp:
3608 (WebCore::Font::drawGlyphs):
3609 * rendering/RenderSVGText.cpp:
3610 (WebCore::RenderSVGText::relativeBBox):
3611 * rendering/SVGInlineTextBox.cpp:
3612 (WebCore::SVGInlineTextBox::paintCharacters):
3613 * rendering/SVGInlineTextBox.h:
3614 * rendering/SVGRootInlineBox.cpp:
3615 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3618 (WebCore::processArabicFormDetection):
3619 (WebCore::charactersWithArabicForm):
3620 (WebCore::isCompatibleArabicForm):
3621 (WebCore::isCompatibleGlyph):
3622 (WebCore::svgFontAndFontFaceElementForFontData):
3623 (WebCore::SVGTextRunWalker::SVGTextRunWalker):
3624 (WebCore::SVGTextRunWalker::walk):
3625 (WebCore::floatWidthUsingSVGFontCallback):
3626 (WebCore::floatWidthMissingGlyphCallback):
3627 (WebCore::floatWidthOfSubStringUsingSVGFont):
3628 (WebCore::Font::floatWidthUsingSVGFont):
3629 (WebCore::drawTextUsingSVGFontCallback):
3630 (WebCore::drawTextMissingGlyphCallback):
3631 (WebCore::Font::drawTextUsingSVGFont):
3632 (WebCore::Font::selectionRectForTextUsingSVGFont):
3633 * svg/SVGFontElement.cpp:
3634 (WebCore::SVGFontElement::SVGFontElement):
3635 (WebCore::SVGFontElement::addGlyphToCache):
3636 (WebCore::SVGFontElement::removeGlyphFromCache):
3637 (WebCore::SVGFontElement::firstMissingGlyphElement):
3638 (WebCore::SVGFontElement::glyphIdentifiersForString):
3639 * svg/SVGFontElement.h:
3640 (WebCore::SVGFontElement::maximumHashKeyLength):
3641 * svg/SVGFontFaceElement.cpp:
3642 (WebCore::SVGFontFaceElement::createFontData):
3643 (WebCore::SVGFontFaceElement::rebuildFontFace):
3644 (WebCore::SVGFontFaceElement::associatedFontElement):
3645 * svg/SVGFontFaceElement.h:
3646 * svg/SVGGlyphElement.cpp:
3647 (WebCore::SVGGlyphElement::insertedIntoDocument):
3648 (WebCore::SVGGlyphElement::removedFromDocument):
3649 (WebCore::parseArabicForm):
3650 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
3651 (WebCore::SVGGlyphElement::buildGlyphIdentifier):
3652 * svg/SVGGlyphElement.h:
3653 (WebCore::SVGGlyphIdentifier::):
3654 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3655 (WebCore::SVGGlyphIdentifier::inheritedValue):
3656 (WebCore::SVGGlyphIdentifier::operator==):
3657 (WebCore::SVGGlyphElement::~SVGGlyphElement):
3659 2008-01-07 David Hyatt <hyatt@apple.com>
3661 Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
3665 * rendering/RenderBox.h:
3666 * rendering/RenderTableCell.cpp:
3667 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3669 2008-01-07 Holger Freyther <zecke@selfish.org>
3671 Reviewed by Alp Toker.
3675 * platform/gtk/ContextMenuGtk.cpp:
3676 (WebCore::ContextMenu::~ContextMenu):
3678 2008-01-07 Holger Freyther <zecke@selfish.org>
3680 Reviewed by Alp Toker.
3682 * The ContextMenuController is going to live longer than the ContextMenu. It is
3683 going to live as long as the WebCore::Page is around where the ContextMenu, specially
3684 in the case of a SubMenu, is gone before we popup the menu.
3686 * platform/gtk/ContextMenuGtk.cpp:
3687 (WebCore::menuItemActivated):
3688 (WebCore::ContextMenu::appendItem):
3690 2008-01-07 Holger Freyther <zecke@selfish.org>
3692 Reviewed by Alp Toker.
3694 * Fix SubMenu handling
3695 * Do not connect to the activated signal if we are a separator or submenu
3696 * Change our type from ActionType to SubMenuType when we have a submenu
3697 * Initialize the SubMenu
3699 * platform/gtk/ContextMenuGtk.cpp:
3700 (WebCore::ContextMenu::appendItem):
3701 * platform/gtk/ContextMenuItemGtk.cpp:
3702 (WebCore::ContextMenuItem::ContextMenuItem):
3703 (WebCore::ContextMenuItem::createNativeMenuItem):
3704 (WebCore::ContextMenuItem::setSubMenu):
3706 2008-01-07 Holger Freyther <zecke@selfish.org>
3708 Reviewed by Alp Toker.
3710 * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
3712 * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
3713 * Update the ContextMenuController to accept CheckableActionTypes as well.
3714 * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
3715 was extracted from ContextMenu::checkOrEnableIfNeeded.
3716 * Update the Qt and Windows port.
3719 * page/ContextMenuController.cpp:
3720 * platform/ContextMenu.cpp:
3721 (WebCore::createAndAppendFontSubMenu):
3722 (WebCore::createAndAppendSpellingAndGrammarSubMenu):
3723 (WebCore::createAndAppendSpellingSubMenu):
3724 (WebCore::createAndAppendWritingDirectionSubMenu):
3725 * platform/ContextMenuItem.h:
3726 * platform/gtk/ContextMenuItemGtk.cpp:
3727 (WebCore::ContextMenuItem::ContextMenuItem):
3728 (WebCore::ContextMenuItem::createNativeMenuItem):
3730 2008-01-07 Luca Bruno <lethalman88@gmail.com>
3732 Reviewed by Alp Toker.
3734 http://bugs.webkit.org/show_bug.cgi?id=16745
3735 [GTK] Context menu doesn't feel or look native - no icons
3737 Use GTK+ stock icons for menu items where possible.
3739 * platform/gtk/ContextMenuItemGtk.cpp:
3740 (WebCore::gtkStockIDFromContextMenuAction):
3741 (WebCore::ContextMenuItem::createNativeMenuItem):
3742 (WebCore::ContextMenuItem::setAction):
3744 2008-01-07 Dan Bernstein <mitz@apple.com>
3746 Reviewed by John Sullivan.
3748 - make the ATSUI code path work with custom fonts rather than crash
3750 * platform/graphics/mac/FontCustomPlatformData.cpp:
3751 (WebCore::FontCustomPlatformData::fontPlatformData):
3752 * platform/graphics/mac/FontMac.mm:
3753 (WebCore::initializeATSUStyle):
3755 2008-01-07 Thiago Macieira <thiago.macieira@trolltech.com>
3759 abort() now emits the signals, so disconnect them before you abort()
3761 * platform/network/qt/QNetworkReplyHandler.cpp:
3762 (WebCore::QNetworkReplyHandler::abort):
3764 2008-01-07 Simon Hausmann <hausmann@webkit.org>
3768 Use a faster and safer way of flattening the form data.
3770 * platform/network/qt/QNetworkReplyHandler.cpp:
3771 (WebCore::QNetworkReplyHandler::start):
3773 2008-01-07 Simon Hausmann <hausmann@webkit.org>
3777 Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
3780 * platform/network/ResourceHandleInternal.h:
3781 * platform/network/qt/QNetworkReplyHandler.cpp: Added.
3782 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3783 (WebCore::QNetworkReplyHandler::abort):
3784 (WebCore::QNetworkReplyHandler::finish):
3785 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3786 (WebCore::QNetworkReplyHandler::forwardData):
3787 (WebCore::QNetworkReplyHandler::start):
3788 * platform/network/qt/QNetworkReplyHandler.h: Added.
3789 (WebCore::QNetworkReplyHandler::reply):
3790 * platform/network/qt/ResourceHandleQt.cpp:
3791 (WebCore::ResourceHandle::start):
3792 (WebCore::ResourceHandle::cancel):
3793 (WebCore::ResourceHandle::loadResourceSynchronously):
3794 * platform/network/qt/ResourceRequest.h:
3795 (WebCore::ResourceRequest::ResourceRequest):
3796 * platform/network/qt/ResourceRequestQt.cpp: Added.
3797 (WebCore::ResourceRequest::toNetworkRequest):
3798 * platform/qt/MIMETypeRegistryQt.cpp:
3799 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3800 * platform/qt/PlugInInfoStoreQt.cpp:
3801 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
3802 (WebCore::PlugInInfoStore::pluginCount):
3803 (WebCore::PlugInInfoStore::pluginNameForMIMEType):
3805 2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3809 * Remove m_dirtyRegion as it is not used as we pass every dirty region
3810 directly to the ChromeClient
3812 * platform/qt/ScrollViewQt.cpp:
3813 (WebCore::ScrollView::paint):
3815 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3819 Small CG paint server cleanups - use more GraphicsContext method where possible.
3821 * svg/graphics/cg/CgSupport.cpp:
3822 (WebCore::applyStrokeStyleToContext):
3823 (WebCore::strokeBoundingBox):
3824 * svg/graphics/cg/CgSupport.h:
3825 * svg/graphics/cg/RenderPathCg.cpp:
3826 (WebCore::RenderPath::strokeContains):
3827 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
3828 (WebCore::SVGPaintServerGradient::setup):
3829 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
3830 (WebCore::SVGPaintServerPattern::setup):
3831 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
3832 (WebCore::SVGPaintServerSolid::setup):
3834 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3838 Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
3840 * platform/graphics/mac/FontMac.mm:
3841 (WebCore::ATSULayoutParameters::initialize):
3843 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3847 DOMRange doesn't correctly re-size when inserting items (Acid3)
3848 http://bugs.webkit.org/show_bug.cgi?id=16764
3850 Update the offset for the range when inserting items into the range.
3852 Test: fast/dom/Range/range-modifycontents.html
3855 (WebCore::Range::insertNode):
3857 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3861 http://bugs.webkit.org/show_bug.cgi?id=16731
3862 Incorrect node type for whitespace when setting innerHTML in an XHTML document
3864 Test: fast/dom/xhtml-fragment-whitespace.xhtml
3866 * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
3867 Use balancedCharactersHandler for ignorable whitespace.
3869 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3873 http://bugs.webkit.org/show_bug.cgi?id=16701
3874 <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
3875 causes page load error
3877 Test: http/tests/misc/location-with-space.php
3879 * platform/network/cf/ResourceRequestCFNet.cpp:
3880 (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
3882 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3886 DOMRange.cloneContents does not work (Acid3 bug)
3887 http://bugs.webkit.org/show_bug.cgi?id=16748
3889 When cloning an empty range, return an empty DocmentFragment instead of
3892 Test: fast/dom/Range/range-clone-empty.html
3895 (WebCore::Range::processContents):
3897 2008-01-06 Luca Bruno <lethalman88@gmail.com>
3899 Reviewed by Alp Toker.
3901 Remove curl handles immediately if the timer is not running.
3903 * platform/network/curl/ResourceHandleManager.cpp:
3904 (WebCore::ResourceHandleManager::cancel):
3906 2008-01-06 Alp Toker <alp@atoker.com>
3910 Cairo canvas refcounting fix. Reference the surface in the constructor
3911 to match its destruction in the destructor.
3913 Fixes a crash triggered by leaving this page:
3914 http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
3916 * html/CanvasPattern.cpp:
3917 (WebCore::CanvasPattern::CanvasPattern):
3919 2008-01-06 Eric Seidel <eric@webkit.org>
3923 Make attr selectors case-insensitive for certain HTML attributes
3924 http://bugs.webkit.org/show_bug.cgi?id=15470
3926 Test: fast/css/html-attr-case-sensitivity.html
3928 * css/CSSStyleSelector.cpp:
3929 (WebCore::addLocalNameToSet):
3930 (WebCore::createHtmlCaseInsensitiveAttributesSet):
3931 (WebCore::htmlAttributeHasCaseInsensitiveValue):
3932 (WebCore::CSSStyleSelector::checkOneSelector):
3934 2008-01-06 Eric Seidel <eric@webkit.org>
3938 Fix :checked matching type='text' and add test case
3939 http://bugs.webkit.org/show_bug.cgi?id=16750
3941 Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
3943 * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
3945 2008-01-05 Sam Weinig <sam@webkit.org>
3947 Reviewed by Eric Seidel.
3949 Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
3950 ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
3952 - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
3954 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
3956 * dom/TreeWalker.cpp:
3957 (WebCore::TreeWalker::parentNode):
3958 (WebCore::TreeWalker::firstChild):
3959 (WebCore::TreeWalker::lastChild):
3960 (WebCore::TreeWalker::previousSibling):
3961 (WebCore::TreeWalker::nextSibling):
3962 (WebCore::TreeWalker::previousNode):
3963 (WebCore::TreeWalker::nextNode):
3965 2008-01-04 Oliver Hunt <oliver@apple.com>
3967 Reviewed by Beth Dakin.
3969 Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
3970 and other image repaint bugs.
3972 We now cache the full local bounds for the <image> element, as otherwise certain
3973 combinations of attribute changes could result in incorrect dirty rects.
3974 Additionally we no longer use any of the integer bounds fields on RenderObject for
3975 determining repaint bounds (this was the principle cause of bug #16015).
3977 I also removed the outline painting code as it was both wrong, and not correctly
3978 repainted. I feel safe doing this as no other browser or viewer supports outline
3979 properties on svg elements.
3981 I was unable to make a testcase for this unfortunately, despite seemingly deterministic
3984 * rendering/RenderSVGImage.cpp:
3985 (WebCore::RenderSVGImage::layout):
3986 (WebCore::RenderSVGImage::paint):
3987 (WebCore::RenderSVGImage::nodeAtPoint):
3988 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3989 * rendering/RenderSVGImage.h:
3991 2008-01-04 Beth Dakin <bdakin@apple.com>
3995 Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with
3996 type="hidden" matches :enabled/:disabled (Acid3 bug)
3998 Prevent :enabled and :disabled from applying to input type="hidden"
4000 * css/CSSStyleSelector.cpp:
4001 (WebCore::CSSStyleSelector::checkOneSelector): Rather than
4002 allowing :enabled and :disabled to apply to all controls, only
4003 allow it to apply to non-"hidden" controls
4005 (WebCore::Element::isInputTypeHidden):
4006 * html/HTMLInputElement.h:
4007 (WebCore::HTMLInputElement::isInputTypeHidden):
4009 2008-01-04 Sam Weinig <sam@webkit.org>
4011 Reviewed by Oliver Hunt.
4013 - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
4014 getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
4015 if the type of the CSSPrimitiveValue is not the same as the type requested.
4016 - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
4018 Test: fast/css/CSSPrimitiveValue-exceptions.html
4020 * css/CSSPrimitiveValue.cpp:
4021 (WebCore::CSSPrimitiveValue::getDoubleValue):
4022 (WebCore::CSSPrimitiveValue::getStringValue):
4023 (WebCore::CSSPrimitiveValue::getCounterValue):
4024 (WebCore::CSSPrimitiveValue::getRectValue):
4025 (WebCore::CSSPrimitiveValue::getRGBColorValue):
4026 (WebCore::CSSPrimitiveValue::getPairValue):
4027 * css/CSSPrimitiveValue.h:
4028 (WebCore::CSSPrimitiveValue::getFloatValue):
4029 (WebCore::CSSPrimitiveValue::getIntValue):
4030 (WebCore::CSSPrimitiveValue::getCounterValue):
4031 (WebCore::CSSPrimitiveValue::getRectValue):
4032 (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
4033 * css/CSSPrimitiveValue.idl:
4035 2008-01-04 Antti Koivisto <antti@apple.com>
4039 Windows part of <rdar://problem/5647034>
4040 Media tests crash if an old version of QuickTime is installed
4042 Check QuickTime version on Windows too.
4044 * platform/graphics/MediaPlayer.cpp:
4045 (WebCore::MediaPlayer::isAvailable):
4046 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
4047 (WebCore::MediaPlayerPrivate::isAvailable):
4048 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
4049 (WebCore::MediaPlayerPrivate::isAvailable):
4050 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
4051 * platform/graphics/win/QTMovieWin.cpp:
4052 (QTMovieWin::initializeQuickTime):
4054 2008-01-04 Darin Adler <darin@apple.com>
4056 Reviewed by Maciej and Alice.
4058 - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
4060 Test: fast/images/border.html
4062 * html/HTMLImageElement.cpp:
4063 (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
4064 where the border value is not a number to use the value "0" for the border width instead
4065 of not setting the border width and style at all. This matches other browsers, and makes
4068 2008-01-04 Antti Koivisto <antti@apple.com>
4070 Try to fix 64-bit build
4072 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
4073 (WebCore::MediaPlayerPrivate::isAvailable):
4075 2008-01-04 Stephanie <slewis@apple.com>
4079 WARNING: NO TEST CASES ADDED OR CHANGED
4081 Fix another stringImpl leak.
4083 * platform/text/StringImpl.cpp: remove an extra allocation
4084 (WebCore::StringImpl::StringImpl):
4086 2008-01-04 Alice Liu <alice.liu@apple.com>
4090 * platform/graphics/win/FontCacheWin.cpp:
4091 fix loop condition that was causing crash
4093 2008-01-04 Timothy Hatcher <timothy@apple.com>
4095 Reviewed by Adam Roben.
4097 <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
4099 * page/inspector/inspector.css: Remove styles related to the toggle button
4100 and make the area always visible.
4101 * page/inspector/inspector.html: Remove the toggle button.
4102 * page/inspector/inspector.js: Remove code to toggle the status area.
4104 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
4106 Reviewed by Adam Roben.
4108 Temporarily restore BackwardDelete for Windows nightlies to work correctly.
4110 * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
4112 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
4116 <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
4118 Enable the fix on Windows.
4120 * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
4121 Always set a custom sort function, even if it doesn't implement proper collation on the platform.
4123 * xml/XSLTUnicodeSort.cpp:
4124 (WebCore::xsltUnicodeSortFunction):
4125 * xml/XSLTUnicodeSort.h:
4126 If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
4128 2008-01-04 Antti Koivisto <antti@apple.com>
4132 * bindings/js/JSHTMLElementWrapperFactory.cpp:
4134 2008-01-04 Antti Koivisto <antti@apple.com>
4138 Partial fix for <rdar://problem/5647034>
4139 Media tests crash if an old version of QuickTime is installed
4141 Disable media support if QuickTime is not current enough (>=7.3).
4143 Windows patch coming soon.
4145 * bindings/js/JSHTMLElementWrapperFactory.cpp:
4146 (WebCore::createJSHTMLWrapper):
4147 * bindings/js/kjs_window.cpp:
4148 (KJS::Window::getValueProperty):
4149 * html/HTMLElementFactory.cpp:
4150 (WebCore::audioConstructor):
4151 (WebCore::videoConstructor):
4152 (WebCore::sourceConstructor):
4153 * platform/graphics/MediaPlayer.cpp:
4154 (WebCore::MediaPlayer::isAvailable):
4155 * platform/graphics/MediaPlayer.h:
4156 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
4157 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
4158 (WebCore::MediaPlayerPrivate::isAvailable):
4160 2008-01-04 Timothy Hatcher <timothy@apple.com>
4162 Reviewed by Darin Adler.
4164 <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
4166 Check if the property is a getter before asking for the value.
4167 If the property is a getter, we no longer show the value.
4169 * page/inspector/PropertiesSidebarPane.js:
4170 * page/inspector/inspector.css:
4172 2008-01-04 Dan Bernstein <mitz@apple.com>
4174 Reviewed by Darin Adler.
4176 - fix synthetic bold and italic on Windows
4178 Covered by an existing test.
4180 * platform/graphics/win/FontPlatformDataWin.cpp:
4181 (WebCore::FontPlatformData::FontPlatformData):
4183 2008-01-04 Alp Toker <alp@atoker.com>
4185 GTK+ autotools build fix. Terminate empty rules.
4189 2008-01-04 Lars Knoll <lars@trolltech.com>
4193 Remove most dependencies of Widget/ScrollView onto native QWidgets.
4195 This also brings the code closer in line with the Windows code. Seems
4196 to work nicely on first try :)
4198 * page/qt/FrameQt.cpp:
4199 (WebCore::Frame::createScriptInstanceForWidget):
4200 * platform/Widget.h:
4201 * platform/qt/PlatformScreenQt.cpp:
4202 (WebCore::screenDepth):
4203 (WebCore::screenDepthPerComponent):
4204 (WebCore::screenIsMonochrome):
4205 (WebCore::screenRect):
4206 * platform/qt/PlatformScrollBarQt.cpp:
4207 (WebCore::PlatformScrollbar::thumbPosition):
4208 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
4209 * platform/qt/ScrollViewQt.cpp:
4210 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4211 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4212 (WebCore::ScrollView::updateContents):
4213 (WebCore::ScrollView::update):
4214 (WebCore::ScrollView::scrollRectIntoViewRecursively):
4215 (WebCore::ScrollView::updateScrollbars):
4216 (WebCore::ScrollView::addChild):
4217 (WebCore::ScrollView::removeChild):
4218 (WebCore::ScrollView::paint):
4219 * platform/qt/WidgetQt.cpp:
4220 (WebCore::WidgetPrivate::WidgetPrivate):
4221 (WebCore::WidgetPrivate::~WidgetPrivate):
4222 (WebCore::Widget::frameGeometry):
4223 (WebCore::Widget::setFrameGeometry):
4224 (WebCore::Widget::setCursor):
4225 (WebCore::Widget::show):
4226 (WebCore::Widget::hide):
4227 (WebCore::Widget::nativeWidget):
4228 (WebCore::Widget::setNativeWidget):
4229 (WebCore::Widget::suppressInvalidation):
4230 (WebCore::Widget::setSuppressInvalidation):
4231 (WebCore::Widget::invalidateRect):
4232 (WebCore::Widget::topLevel):
4233 (WebCore::Widget::containingWindow):
4235 2008-01-04 Lars Knoll <lars@trolltech.com>
4239 make QWebPage a QObject and get things to compile.
4241 Nothing works currently though.
4243 * platform/qt/ScrollViewQt.cpp:
4244 (WebCore::ScrollView::updateContents):
4245 (WebCore::ScrollView::update):
4246 * platform/qt/WidgetQt.cpp:
4247 (WebCore::Widget::qwidget):
4248 (WebCore::Widget::invalidateRect):
4250 2008-01-04 Alp Toker <alp@atoker.com>
4252 Reviewed by Mark Rowe.
4254 http://bugs.webkit.org/show_bug.cgi?id=16667
4255 make -j is failing with the autotools based system