1 2008-01-17 Simon Hausmann <hausmann@webkit.org>
3 Reviewed by Maciej, Lars, Holger.
5 http://bugs.webkit.org/show_bug.cgi?id=16589
7 Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
10 * bindings/js/kjs_navigator.cpp:
11 (KJS::Navigator::getValueProperty):
13 (WebCore::Document::cookie):
14 * platform/CookieJar.h:
15 * platform/gtk/CookieJarGtk.cpp:
16 (WebCore::setCookies):
18 * platform/mac/CookieJar.mm:
19 * platform/network/win/CookieJarWin.cpp:
20 * platform/qt/CookieJarQt.cpp:
21 (WebCore::setCookies):
23 (WebCore::cookiesEnabled):
24 * platform/wx/TemporaryLinkStubs.cpp:
26 2008-01-17 Simon Hausmann <hausmann@webkit.org>
30 Windows build fix. (use localtime_r again instead of _s)
32 * loader/FTPDirectoryDocument.cpp:
33 (WebCore::processFileDateString):
35 2008-01-17 Frans Englich <fenglich@trolltech.com>
37 Reviewed by Simon Hausmann <hausmann@webkit.org>.
39 Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
41 * loader/FTPDirectoryDocument.cpp:
43 2008-01-17 Simon Hausmann <hausmann@webkit.org>
47 Don't link QtWebKit against libQtXml when building against Qt 4.4.
49 This is not necessary anymore since QXmlStream has been moved into QtCore.
53 2008-01-17 HÃ¥vard Wall <hwall@trolltech.com>
55 Reviewed by Simon Hausmann <hausmann@webkit.org>.
57 Fix compilation on arm
59 * platform/graphics/qt/GraphicsContextQt.cpp:
60 (WebCore::GraphicsContext::endTransparencyLayer):
62 2008-01-17 Simon Hausmann <shausman@trolltech.com>
66 Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
69 * platform/network/qt/ResourceHandleQt.cpp:
70 * platform/qt/MIMETypeRegistryQt.cpp:
71 * platform/qt/PlugInInfoStoreQt.cpp:
73 2008-01-17 Frans Englich <fenglich@trolltech.com>
75 Reviewed by Simon Hausmann <hausmann@webkit.org>.
77 Fixes compilation with MinGW.
78 Neither localtime_r nor localtime_s are available on MingW, so instead of
79 calling back to the thread-unsafe localtime use QDateTime instead.
81 * loader/FTPDirectoryDocument.cpp:
82 (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString):
83 (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth):
84 (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt):
85 * loader/FTPDirectoryParser.cpp:
86 (WebCore::parseOneFTPLine):
88 2008-01-17 Dan Bernstein <mitz@apple.com>
90 Reviewed by Dave Hyatt.
92 - fix determinePitch for segmented fonts
94 Covered by and existing test.
96 * platform/graphics/FontFallbackList.cpp:
97 (WebCore::FontFallbackList::determinePitch): If the primary font is
98 segmented, treat as fixed pitch only if it has only one segment
99 and that segment is fixed-pitch.
101 2008-01-16 David Hyatt <hyatt@apple.com>
103 Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
105 Make sure vertical-align length values are offset from their parents rather than being absolute to the
110 Added fast/css/vertical-align-lengths.html
112 * rendering/RenderObject.cpp:
113 (WebCore::RenderObject::getVerticalPosition):
115 2008-01-16 Dan Bernstein <mitz@apple.com>
117 Reviewed by Dave Hyatt.
119 - fix for @font-face rules with unicode-range: always use a local font where not
122 Test: fast/css/font-face-implicit-local-font.html
124 * css/CSSFontSelector.cpp:
125 (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit
126 @font-face rule with the local font the matches the family and description before
127 any explicit @font-face rules that overlay specific ranges of the same font.
128 * css/CSSSegmentedFontFace.h:
129 (WebCore::CSSSegmentedFontFace::numRanges): Addded.
131 2008-01-16 Antti Koivisto <antti@apple.com>
135 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
136 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
138 2008-01-16 Antti Koivisto <antti@apple.com>
142 OS X fix for <rdar://problem/5605682>
143 Disallow streaming protocols for media elements
144 and <rdar://problem/5668711>
145 Limit the container and codec types that the <video> tag supports
147 - Disable unsupported QuickTime tracks types.
148 - Disallow streaming protocols (for now).
149 - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute
150 to limit QuickTime's access to external resources.
152 Windows patch coming up.
154 Tests: media/broken-video.html
155 media/unsupported-rtsp.html
156 media/unsupported-tracks.html
158 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
159 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
160 (WebCore::MediaPlayerPrivate::createQTMovie):
161 (WebCore::MediaPlayerPrivate::updateStates):
162 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
164 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
166 Reviewed by Alp Toker.
168 http://bugs.webkit.org/show_bug.cgi?id=16897
169 Add shared plugins directory to INCLUDE path
171 Add the plugins directory to INCLUDEPATH
176 2008-01-16 Geoffrey Garen <ggaren@apple.com>
178 Reviewed by Sam Weinig.
180 Added a debug counter for SQL transactions. This helped me debug an SQL
183 * bindings/js/JSCustomSQLTransactionCallback.cpp:
185 (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
186 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
187 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
188 * bindings/js/JSCustomSQLTransactionCallback.h:
190 * bindings/js/kjs_window.cpp: Removed a silly comment.
192 2008-01-16 David Hyatt <hyatt@apple.com>
194 Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
196 Reviewed by Eric Seidel
198 Added fast/table/dynamic-cellpadding.html
200 * html/HTMLTableElement.cpp:
201 (WebCore::HTMLTableElement::parseMappedAttribute):
202 * rendering/RenderTable.cpp:
203 (WebCore::RenderTable::setCellPadding):
204 * rendering/RenderTable.h:
206 2008-01-16 David Hyatt <hyatt@apple.com>
208 Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
210 This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
211 The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
212 to apply. In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
213 to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
216 This new patch rewrites the quirk to be complete. The original test case attached to the bug that tested a variety
217 of image/text combinations now fully matches WinIE.
221 Added fast/table/unbreakable-images-quirk.html
223 * rendering/RenderBlock.cpp:
224 (WebCore::RenderBlock::calcInlinePrefWidths):
225 * rendering/bidi.cpp:
226 (WebCore::RenderBlock::findNextLineBreak):
228 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
230 Reviewed by Jon Honeycutt
232 Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid
233 a circular dependency on PluginDatabaseWin
234 Remove the getFileVersion method, and just check the versions directly
235 in isPluginBlacklisted, as it was the only caller
237 http://bugs.webkit.org/show_bug.cgi?id=16884
239 * plugins/win/PluginDatabaseWin.cpp:
240 * plugins/win/PluginDatabaseWin.h:
241 * plugins/win/PluginPackageWin.cpp:
242 * plugins/win/PluginPackageWin.h:
244 2008-01-16 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
248 * Set the cursor on the containingWindow() instead of the
250 * This should be safe even with plugins as the cursor is set
253 * platform/qt/WidgetQt.cpp:
254 (WebCore::Widget::setCursor):
256 2008-01-16 Brad Hughes <bhughes@trolltech.com>
260 Improve the sqlite3 dependency when building WebKit inside Qt.
262 Build sqlite3 into QtWebKit if a system sqlite3 development package
267 2008-01-16 Lars Knoll <lars@trolltech.com>
269 Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
271 Implement GraphicsContext::clipOut and fix transparency layers.
273 Transparency layers where broken in two ways: It always used the
274 complete device rect as the size of the layer pixmap and the pixmaps
275 where not correctly initialized to transparent.
277 This fixes the worst drawing errors in the Inspector and makes drawing it
280 * platform/graphics/qt/GraphicsContextQt.cpp:
281 (WebCore::toQtLineJoin):
282 (WebCore::TransparencyLayer::TransparencyLayer):
283 (WebCore::GraphicsContextPlatformPrivate::p):
284 (WebCore::GraphicsContext::platformContext):
285 (WebCore::GraphicsContext::savePlatformState):
286 (WebCore::GraphicsContext::restorePlatformState):
287 (WebCore::GraphicsContext::drawRect):
288 (WebCore::GraphicsContext::drawLine):
289 (WebCore::GraphicsContext::drawEllipse):
290 (WebCore::GraphicsContext::strokeArc):
291 (WebCore::GraphicsContext::drawConvexPolygon):
292 (WebCore::GraphicsContext::fillRect):
293 (WebCore::GraphicsContext::fillRoundedRect):
294 (WebCore::GraphicsContext::clip):
295 (WebCore::GraphicsContext::drawFocusRing):
296 (WebCore::GraphicsContext::beginTransparencyLayer):
297 (WebCore::GraphicsContext::endTransparencyLayer):
298 (WebCore::GraphicsContext::clearRect):
299 (WebCore::GraphicsContext::strokeRect):
300 (WebCore::GraphicsContext::setLineCap):
301 (WebCore::GraphicsContext::setLineJoin):
302 (WebCore::GraphicsContext::setMiterLimit):
303 (WebCore::GraphicsContext::setAlpha):
304 (WebCore::GraphicsContext::setCompositeOperation):
305 (WebCore::GraphicsContext::clipOut):
306 (WebCore::GraphicsContext::translate):
307 (WebCore::GraphicsContext::origin):
308 (WebCore::GraphicsContext::rotate):
309 (WebCore::GraphicsContext::scale):
310 (WebCore::GraphicsContext::clipOutEllipseInRect):
311 (WebCore::GraphicsContext::addInnerRoundedRectClip):
312 (WebCore::GraphicsContext::setPlatformStrokeStyle):
313 (WebCore::GraphicsContext::setPlatformStrokeThickness):
314 (WebCore::GraphicsContext::setPlatformFillColor):
315 (WebCore::GraphicsContext::setUseAntialiasing):
317 2008-01-16 Lars Knoll <lars@trolltech.com>
319 Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
321 Trivially implement the themed search field by mapping it to a text field
323 Also add a bunch of notImplemented warnings for other places where we don't
324 have an implementatin in RenderTheme.
326 * platform/qt/RenderThemeQt.cpp:
327 (WebCore::RenderThemeQt::paintTextField):
328 (WebCore::RenderThemeQt::paintMenuListButton):
329 (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
330 (WebCore::RenderThemeQt::paintSliderTrack):
331 (WebCore::RenderThemeQt::paintSliderThumb):
332 (WebCore::RenderThemeQt::paintSearchField):
333 (WebCore::RenderThemeQt::adjustSearchFieldStyle):
334 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
335 (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
336 (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
337 (WebCore::RenderThemeQt::paintSearchFieldDecoration):
338 (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
339 (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
341 2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
345 * Follow the EventHandlerWin.cpp and always return true in the handlers.
346 * Match the windows implementation more closely as well.
347 * This is fixing "selection" bugs with the Web Inspector
349 * page/qt/EventHandlerQt.cpp:
350 (WebCore::EventHandler::focusDocumentView):
351 (WebCore::EventHandler::passMousePressEventToSubframe):
352 (WebCore::EventHandler::passMouseMoveEventToSubframe):
353 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
354 (WebCore::EventHandler::passMousePressEventToScrollbar):
356 2008-01-16 Simon Hausmann <hausmann@webkit.org>
358 Reviewed by Lars Knoll <lars@trolltech.com>.
360 Fix crashes in the new networking code.
362 When the ResourceLoader cancels the handle we have to make sure not to access
363 the resource handle afterwards again.
365 * platform/network/qt/QNetworkReplyHandler.cpp:
366 (WebCore::QNetworkReplyHandler::finish):
367 (WebCore::QNetworkReplyHandler::forwardData):
369 2008-01-16 Lars Knoll <lars@trolltech.com>
373 add conversion methods from and to QUrl to KURL.
375 Use them in the places I found at the moment. Fixes a bug
376 where form data was encoded twice.
377 Also fix QWebSettings to take a QUrl for the user style sheet
382 * platform/network/qt/QNetworkReplyHandler.cpp:
383 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
384 * platform/network/qt/ResourceRequestQt.cpp:
385 (WebCore::ResourceRequest::toNetworkRequest):
386 * platform/qt/KURLQt.cpp: Added.
387 (WebCore::KURL::KURL):
388 (WebCore::KURL::operator QUrl):
390 2008-01-15 Darin Adler <darin@apple.com>
392 Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
394 - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
396 Put navigation policy delegate calls back for redirects.
397 Just rolled out the change where I took them out.
399 * loader/MainResourceLoader.cpp:
400 (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
401 (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
402 (WebCore::MainResourceLoader::willSendRequest):
403 * loader/MainResourceLoader.h:
405 2008-01-15 Adele Peterson <adele@apple.com>
409 Remove unused variable for old media control background drawing code.
411 * rendering/RenderThemeMac.h:
412 * rendering/RenderThemeMac.mm:
413 (WebCore::RenderThemeMac::RenderThemeMac):
414 (WebCore::RenderThemeMac::~RenderThemeMac):
416 2008-01-15 Sam Weinig <sam@webkit.org>
418 Reviewed by Geoffrey Garen.
420 Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
422 - Update JS Function implementations to use a static function based method. This decreases
423 the binary size of an Intel only build by 1013.5K.
425 * WebCore.xcodeproj/project.pbxproj:
426 * bindings/js/JSDOMWindowCustom.cpp:
427 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
428 * bindings/js/JSEventTargetBase.cpp:
429 (WebCore::jsEventTargetAddEventListener):
430 (WebCore::jsEventTargetRemoveEventListener):
431 (WebCore::jsEventTargetDispatchEvent):
432 (WebCore::retrieveEventTargetAndCorrespondingNode):
433 * bindings/js/JSEventTargetBase.h:
434 * bindings/js/JSHTMLInputElementBase.cpp:
435 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
436 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
437 * bindings/js/JSHTMLInputElementBase.h:
438 * bindings/js/JSLocation.cpp:
439 (WebCore::JSLocation::getOwnPropertySlot):
440 (WebCore::jsLocationProtoFuncReplace):
441 (WebCore::jsLocationProtoFuncReload):
442 (WebCore::jsLocationProtoFuncAssign):
443 (WebCore::jsLocationProtoFuncToString):
444 * bindings/js/JSLocation.h:
445 * bindings/js/JSXMLHttpRequest.cpp:
446 (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
447 (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
448 (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
449 (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
450 (KJS::jsXMLHttpRequestPrototypeFunctionSend):
451 (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
452 (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
453 (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
454 (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
455 (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
456 * bindings/js/JSXMLHttpRequest.h:
457 * bindings/js/JSXSLTProcessor.cpp:
458 (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
459 (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
460 (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
461 (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
462 (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
463 (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
464 (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
465 (KJS::jsXSLTProcessorPrototypeFunctionReset):
466 * bindings/js/JSXSLTProcessor.h:
467 * bindings/js/kjs_events.cpp:
468 (WebCore::jsClipboardPrototypeFunctionClearData):
469 (WebCore::jsClipboardPrototypeFunctionGetData):
470 (WebCore::jsClipboardPrototypeFunctionSetData):
471 (WebCore::jsClipboardPrototypeFunctionSetDragImage):
472 * bindings/js/kjs_events.h:
473 * bindings/js/kjs_navigator.cpp:
474 (KJS::pluginsFunctionRefresh):
475 (KJS::navigatorProtoFuncJavaEnabled):
476 * bindings/js/kjs_navigator.h:
477 * bindings/js/kjs_window.cpp:
478 (KJS::Window::getOwnPropertySlot):
479 (KJS::windowProtoFuncAToB):
480 (KJS::windowProtoFuncBToA):
481 (KJS::windowProtoFuncOpen):
482 (KJS::windowProtoFuncSetTimeout):
483 (KJS::windowProtoFuncClearTimeout):
484 (KJS::windowProtoFuncSetInterval):
485 (KJS::windowProtoFuncAddEventListener):
486 (KJS::windowProtoFuncRemoveEventListener):
487 (KJS::windowProtoFuncShowModalDialog):
488 (KJS::windowProtoFuncNotImplemented):
489 * bindings/js/kjs_window.h:
490 * bindings/scripts/CodeGenerator.pm:
491 * bindings/scripts/CodeGeneratorJS.pm:
493 2008-01-15 Adele Peterson <adele@apple.com>
497 Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
499 * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
500 Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down.
502 2008-01-15 Alp Toker <alp@atoker.com>
504 Rubber-stamped by Anders.
506 Make the HTTP backend configurable in the GTK+ port. curl is currently
511 2008-01-15 Adele Peterson <adele@apple.com>
515 * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
517 2008-01-14 Samuel Weinig <sam@webkit.org>
521 Fix for <rdar://problem/5671040>
522 REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
524 On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
525 which does not completely make up reported regression, but I was not able to
526 reproduce those findings either.
528 * css/CSSStyleSelector.cpp:
529 (WebCore::CSSStyleSelector::matchRules):
530 (WebCore::CSSStyleSelector::checkOneSelector):
531 * dom/ClassNames.cpp:
532 (WebCore::ClassNames::parseClassAttribute):
534 (WebCore::ClassNames::contains):
535 (WebCore::ClassNames::operator[]):
537 2008-01-15 Adele Peterson <adele@apple.com>
539 Build fix. This time for real.
541 * rendering/RenderThemeSafari.cpp:
543 2008-01-15 Adele Peterson <adele@apple.com>
547 * rendering/RenderThemeSafari.cpp:
549 2008-01-15 Dan Bernstein <mitz@apple.com>
551 Reviewed by Darin Adler.
553 - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
555 * svg/SVGPreserveAspectRatio.cpp:
556 (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
557 from float to double in order to make the values passed to scale() and
558 translate() on Mac OS X and on Windows the same.
559 * svg/SVGPreserveAspectRatio.h:
561 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
565 <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
567 Test: fast/encoding/mailto-always-utf-8.html
569 * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
571 2008-01-15 Adele Peterson <adele@apple.com>
573 Reviewed by Adam and Antti.
575 WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
577 * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack.
578 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
579 * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider.
580 * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
582 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
583 Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
584 * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack.
585 * platform/mac/WebCoreSystemInterface.mm: ditto.
587 * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
588 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
589 * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
590 * rendering/RenderThemeMac.mm:
591 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
592 (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
593 * rendering/RenderThemeSafari.cpp: ditto.
594 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
595 (WebCore::RenderThemeSafari::paintMediaSliderTrack):
596 * rendering/RenderThemeSafari.h:
598 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
600 Reviewed by Mark Rowe.
602 Some logging channels weren't initialized from user defaults.
604 * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
605 Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
607 2008-01-14 Steve Falkenburg <sfalken@apple.com>
609 Use shared vsprops for most vcproj properties.
613 * WebCore.vcproj/QTMovieWin.vcproj:
614 * WebCore.vcproj/WebCore.vcproj:
615 * platform/graphics/win/QTMovieWin.cpp:
616 (QTMovieWin::initializeQuickTime): Fix compiler warning.
618 2008-01-14 Eric Seidel <eric@webkit.org>
622 Remove a couple more uses of DeprecatedString
624 No functional changes, thus no test case.
627 (WebCore::Document::write):
628 (WebCore::Document::writeln):
629 (WebCore::Document::recalcStyleSelector):
632 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
634 Reviewed by Alp Toker.
636 Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
637 http://bugs.webkit.org/show_bug.cgi?id=16874
640 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
641 (WebCore::SVGResourceFilter::createPlatformData):
642 (WebCore::SVGResourceFilter::prepareFilter):
643 (WebCore::SVGResourceFilter::applyFilter):
645 2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com>
647 Reviewed by hyatt & eseidel.
649 - fix http://bugs.webkit.org/show_bug.cgi?id=16844
650 RenderText::addLineBoxRects erroneously includes last char for boundingBox
652 This patch fixes an issue with addLineBoxRects not correctly calculating the
653 rects due to an off-by-one error in using box->end(). We were assuming that
654 end() gives the index past the last character, when in fact it gives the
655 index _of_ the last character.
657 Eric Seidel and I could not find a way to test this via DRT. This method is
658 only used by WebKit or Safari for displaying selection rects AFAICT.
660 * rendering/RenderText.cpp:
661 (WebCore::RenderText::addLineBoxRects):
663 2008-01-14 Darin Adler <darin@apple.com>
667 - fix crash seen in layout tests
669 * html/HTMLFrameSetElement.cpp:
670 (WebCore::HTMLFrameSetElement::attach):
671 Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
672 HTMLElement or a Document, not necessarily an HTMLElement.
674 2008-01-14 Darin Adler <darin@apple.com>
678 - fix mistakes Sam noticed in my re-speed-up patch
681 (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
683 * dom/Element.h: Moved virtualHasTagName out of header file.
686 (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
688 * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
691 * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
693 * platform/text/StringImpl.h: Removed StringBuffer class.
695 * loader/DocumentLoader.cpp: Added StringBuffer.h include.
696 * platform/text/String.cpp: Ditto.
697 * platform/text/StringImpl.cpp: Ditto.
698 * platform/text/TextCodecLatin1.cpp: Ditto.
699 * platform/text/TextCodecUTF16.cpp: Ditto.
700 * platform/text/TextCodecUserDefined.cpp: Ditto.
702 * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
703 * WebCore.xcodeproj/project.pbxproj: Ditto.
705 2008-01-14 Dave Hyatt <hyatt@apple.com>
707 Clean up all the misplaced graphics files after the recent file moves. Clean up the project to
708 accurately reflect the location of all the graphics files.
712 * WebCore.vcproj/WebCore.vcproj:
713 * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
714 * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
715 * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
716 * platform/win/GraphicsContextWin.cpp: Removed.
717 * platform/win/UniscribeController.cpp: Removed.
718 * platform/win/UniscribeController.h: Removed.
720 2008-01-14 Geoffrey Garen <ggaren@apple.com>
722 Reviewed by Sam Weinig.
724 Some cleanup to my last patch.
726 Removed one unused setter declaration and one unused setter definition.
728 Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
729 because "get" is all over the IDL files, and "read" is not.
731 * bindings/scripts/CodeGeneratorJS.pm:
733 (WebCore::DOMWindow::defaultstatus):
734 * page/DOMWindow.idl:
736 2008-01-14 Dan Bernstein <mitz@apple.com>
738 Rubber-stamped by Alice Liu.
740 - remove reference to nonexistent file
742 * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
744 2008-01-14 Darin Adler <darin@apple.com>
748 - re-speed-up the page load test (my StringImpl change slowed it down)
749 <rdar://problem/5677241> 1.5% PLT regression from r29098
751 To reverse the slowdown I caused by changing StringImpl, I tightened it up,
752 and also did a little optimization in the HTML tokenizer and in other clients
755 * WebCore.base.exp: Removed export of a now-inline function.
758 (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
759 to get property ID. This could be sped up even more by writing a fast path
760 to use a local Vector<char> rather than allocating a string.
761 (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
762 allocating a string object to hold the number.
763 (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
764 DeprecatedString::toFloat.
767 (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
768 an Element*. It's still virtual if you have a Node*.
769 (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
773 (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
774 can override it with an inline. This is the same technique we use for
775 firstChild and lastChild.
776 (WebCore::Node::virtualHasTagName): This is the private virtual that Element
780 (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
783 * html/HTMLTokenizer.cpp:
784 (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
785 which is more efficient in cases where we know the character is not a newline
786 and hence we don't have to update the line number.
787 (WebCore::HTMLTokenizer::parseComment): Ditto.
788 (WebCore::HTMLTokenizer::parseServer): Ditto.
789 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
790 (WebCore::HTMLTokenizer::parseText): Ditto.
791 (WebCore::HTMLTokenizer::parseEntity): Ditto.
792 (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
793 so there's one less branch taken for non-punctuation characters since this
794 code path is *so* hot.
795 (WebCore::HTMLTokenizer::write): More of the same.
798 (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
800 * loader/DocumentLoader.cpp:
801 (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
803 * loader/TextResourceDecoder.cpp:
804 (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
805 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
806 (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
807 (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
810 (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
812 * platform/SharedBuffer.cpp:
813 (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
815 * platform/graphics/BitmapImage.cpp:
816 (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
818 * platform/network/FormData.cpp:
819 (WebCore::FormData::appendData): Use Vector::grow instead of resize.
820 (WebCore::FormData::flatten): Ditto.
822 * platform/text/AtomicString.cpp:
823 (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
824 for use by AtomicString. Avoids setting fields twice, and also preserves reference
825 count behavior (which I changed for the other constructors, since they're entirely
826 private and used only inside the class).
827 (WebCore::UCharBufferTranslator::translate): Ditto.
829 * platform/text/Base64.cpp:
830 (WebCore::base64Encode): Use Vector::grow instead of resize.
831 (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
833 * platform/text/PlatformString.h:
834 (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
835 made both versions inline.
837 * platform/text/SegmentedString.h:
838 (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
839 where the character is known to be a newline.
840 (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
841 the character is known not to be a newline.
843 * platform/text/String.cpp:
844 (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
845 (WebCore::String::insert): Ditto.
846 (WebCore::String::truncate): Ditto.
847 (WebCore::String::remove): Ditto.
848 (WebCore::String::format): Use Vector::grow instead of resize.
850 * platform/text/StringImpl.cpp:
851 (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
852 of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
853 since they all behave this way now. The only exceptions are the constructors for
854 AtomicString, which retain the old behavior.
855 (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
856 special WithOneRef constructor.
857 (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
858 (WebCore::StringImpl::lower): Ditto.
859 (WebCore::StringImpl::upper): Ditto.
860 (WebCore::StringImpl::secure): Ditto.
861 (WebCore::StringImpl::foldCase): Ditto.
862 (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
863 instead of resize (since half of the function uses Vector<UChar>).
864 (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
865 (WebCore::StringImpl::replace): Ditto.
866 (WebCore::StringImpl::ascii): Streamlined a bit.
867 (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
868 Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
869 Coded the check for null characters in a slightly more efficient way. Since this
870 is so hot, didn't call adopt at all, putting the code right in here, including
871 the call to the StringImpl constructor and adoptRef (for the fast case).
872 (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
873 Removed the attempt to resize the buffer at the time we adopt based on measuring
874 actual use and realizing that it's just a character here or there and not worth
875 a call to fastRealloc. Changed to use adoptRef since the constructor now starts
876 with a refCount of 1.
877 (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
878 starts with a refCount of 1.
879 (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
880 (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
881 itself is now inline.
883 * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
884 putting characters into a buffer before creating an immutable string. Not good
885 at resizing the way Vector<UChar> is, so only useful for things that rarely need
886 to be resized. Added a new AdoptBuffer constructor and empty constructor, but
887 made all constructors private so they can be inlined and only used inside the
888 StringImpl class. Added two new constructors for AtomicString. Made copy()
889 no longer inline. Changed the type of the [] operator to unsigned instead of
890 int and added an assertion. Made the hash functions inline.
892 * platform/text/TextCodecICU.cpp:
893 (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
895 * platform/text/TextCodecLatin1.cpp:
896 (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
897 (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
899 * platform/text/TextCodecUTF16.cpp:
900 (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
902 * platform/text/TextCodecUserDefined.cpp:
903 (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
904 (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
906 * platform/text/TextEncoding.cpp:
907 (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
909 * platform/text/TextStream.cpp:
910 (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
912 * platform/text/mac/TextCodecMac.cpp:
913 (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
915 * rendering/AutoTableLayout.cpp:
916 (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
918 * rendering/RenderFrameSet.h:
919 (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
920 size instead of calling resize on them after allocating empty.
922 * rendering/RenderListMarker.cpp:
923 (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
925 * rendering/RenderStyle.cpp: Removed CursorList::operator==.
926 * rendering/RenderStyle.h:
927 (WebCore::CursorList::operator==): Implemented using the Vector ==.
928 (WebCore::CursorList::operator!=): Ditto.
930 * rendering/RenderTable.cpp:
931 (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
932 (WebCore::RenderTable::appendColumn): Ditto.
934 * rendering/RenderTableSection.cpp:
935 (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
937 * rendering/bidi.cpp:
938 (WebCore::addMidpoint): Use Vector::grow instead of resize.
940 * xml/XPathNodeSet.h:
941 (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
943 2008-01-13 Steve Falkenburg <sfalken@apple.com>
945 Share common files across projects.
948 Debug: common.vsprops, debug.vsprops
949 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
950 Release: common.vsprops, release.vsprops
952 Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
953 debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
955 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
957 Reviewed by Adam Roben.
959 * WebCore.vcproj/PRODUCTVERSION: Removed.
960 * WebCore.vcproj/QTMovieWin.vcproj:
961 * WebCore.vcproj/VERSION: Removed.
962 * WebCore.vcproj/WebCore.vcproj:
963 * WebCore.vcproj/auto-version.sh: Removed.
964 * WebCore.vcproj/debug.vsprops: Removed.
965 * WebCore.vcproj/debug_internal.vsprops: Removed.
966 * WebCore.vcproj/release.vsprops: Removed.
968 2008-01-13 Dan Bernstein <mitz@apple.com>
970 Reviewed by Darin Adler.
972 - fix http://bugs.webkit.org/show_bug.cgi?id=16865
973 fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
975 * rendering/RenderBox.cpp:
976 (WebCore::RenderBox::destroy): Removed the call to
977 RenderLayer::destroy() from here, because ~RenderLayer() calls
978 RenderObject() methods.
979 * rendering/RenderObject.cpp:
980 (WebCore::RenderObject::destroy): Added the call to
981 RenderLayer::destroy() here.
983 2008-01-13 Eric Seidel <eric@webkit.org>
987 Range.insertNode does not update endContainer endIndex correctly
988 in the case where it had to split a text node.
989 http://bugs.webkit.org/show_bug.cgi?id=16765
991 Darin pointed out during review that we still don't handle the dynamic
992 range case (where the dom tree changes not using range methods)
993 Thus this code will get ripped out when we add that. The test cases
994 are still valid and useful however, so I'm landing this as-is.
996 Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
997 fast/dom/Range/range-insertNode-splittext.html
1000 (WebCore::Range::insertNode): handle the splitText case correctly.
1002 2008-01-13 Darin Adler <darin@apple.com>
1006 - http://bugs.webkit.org/show_bug.cgi?id=16861
1007 get rid of unnecessary string copying
1010 (WebCore::Document::setDomain): Removed unneeded call to copy.
1011 (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
1012 unneeded length argument to substring, which stops at the end of the string
1013 if you don't specify a length.
1014 (WebCore::Document::createAttributeNS): Replaced code that was calling copy
1015 with more-efficient code using the substring function.
1016 * dom/StyledElement.cpp:
1017 (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
1018 * editing/InsertIntoTextNodeCommand.cpp:
1019 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
1020 unneeded copy and also initialized text instead of assigning to it.
1021 (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
1022 (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
1024 * editing/htmlediting.cpp:
1025 (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
1026 This one was particularly bad since we just turned around and copied it again!
1028 * editing/markup.cpp:
1029 (WebCore::stringValueForRange): Removed unneeded call to copy.
1031 * loader/icon/IconDatabase.cpp:
1032 (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
1033 get the path from the database object. This was the only reason the database
1034 had to keep its path around.
1036 * platform/sql/SQLiteDatabase.cpp:
1037 (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
1038 convert the string to a null-terminated one.
1039 (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
1040 * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
1041 functio member. Also tweaked formatting and comments a bit. Removed the unused
1042 escapeSQLString function.
1044 * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
1046 2008-01-13 Oliver Hunt <oliver@apple.com>
1048 Attempt to fix QT build
1050 * html/CanvasRenderingContext2D.cpp:
1051 (WebCore::CanvasRenderingContext2D::willDraw):
1053 2008-01-13 Oliver Hunt <oliver@apple.com>
1055 Reviewed by Mark Rowe.
1057 Avoid repainting the entire canvas element when possible.
1059 http://bugs.webkit.org/show_bug.cgi?id=16859
1061 We now only register the dirty regions of a canvas for repainting, rather
1062 than the entire element (though repaint coalescing may choose to combine
1063 these regions). This doesn't cause a measurable regression in the worst
1064 case (clearing the canvas repeatedly), but is a moderate-large win if only
1065 a minor update has occurred. If there is any CSS scaling applied to the
1066 canvas almost any update short of clearing the entire element is substantially
1069 * html/CanvasRenderingContext2D.cpp:
1070 (WebCore::CanvasRenderingContext2D::willDraw):
1071 * html/HTMLCanvasElement.cpp:
1072 (WebCore::HTMLCanvasElement::willDraw):
1074 2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
1076 Reviewed by Anders Carlsson.
1078 Move RuntimeObjectImp creations into Instance.
1079 Make the ctor protected, and Instance a friend class, so
1080 that all creation of RuntimeObjectImps goes through
1083 * bindings/js/kjs_dom.cpp:
1084 (WebCore::getRuntimeObject):
1086 2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
1088 Gtk debug build fix. Reviewed by Mark Rowe.
1090 Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
1092 * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
1093 * platform/Logging.cpp:
1094 * platform/Logging.h:
1095 * plugins/PluginDebug.h:
1097 2008-01-12 Adam Barth <hk9565@gmail.com>
1099 Reviewed by Maciej (and also tweaked a little bit).
1101 - more thorough fix for some crashing tests
1102 http://bugs.webkit.org/show_bug.cgi?id=16782
1104 * loader/FrameLoader.cpp:
1105 (WebCore::FrameLoader::urlSelected):
1106 (WebCore::FrameLoader::submitForm):
1107 (WebCore::FrameLoader::executeIfJavaScriptURL):
1108 * loader/FrameLoader.h:
1110 2008-01-12 Maciej Stachowiak <mjs@apple.com>
1114 - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
1116 * platform/SecurityOrigin.cpp:
1117 (WebCore::isDefaultPortForProtocol):
1118 (WebCore::SecurityOrigin::SecurityOrigin):
1120 2008-01-11 Geoffrey Garen <ggaren@apple.com>
1122 Reviewed by Oliver Hunt.
1124 Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
1125 variable access (16644)
1127 Removed the ReadOnly bit from some properties, to match Firefox. Also
1128 removed status-related setters, to allow using their names as variable
1131 * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
1132 are one-way across domain boundaries, to match Firefox.
1134 * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
1136 * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
1137 we don't know that JSObject is our base class.
1139 * page/DOMWindow.idl: Replaced lots of readonly declarations with
1140 [Replaceable] declarations.
1142 * page/DOMWindow.h: Removed interfaces for setting status text via the
1143 DOM. (They were getting in the way of, e.g., "var status"
1144 declarations.) By default, IE 7 and FF disable these interfaces in order
1145 to defend against phishing attacks that try to spoof domain names in the
1147 * page/DOMWindow.cpp:
1149 2008-01-11 Anyang Ren <anyang.ren@gmail.com>
1151 Reviewed by Darin Adler.
1153 http://bugs.webkit.org/show_bug.cgi?id=15960
1154 The view source mode should skip an empty attribute value only if
1155 the attribute name is not followed by an equal sign (=).
1157 Test: fast/frames/viewsource-empty-attribute-value.html
1159 * html/HTMLViewSourceDocument.cpp:
1160 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1162 2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
1164 Reviewed by Alp Toker.
1166 [Gtk] Uneven glyph spacing with subpixel antialiasing
1167 http://bugs.webkit.org/show_bug.cgi?id=16715
1169 Use cairo font options from the default GDK screen when creating a
1172 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1173 (WebCore::FontPlatformData::FontPlatformData):
1175 2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>
1179 Added a new forwarding header, because Activation.h has been separated
1182 * ForwardingHeaders/kjs/Activation.h: Added.
1184 2008-01-11 Luca Bruno <lethalman88@gmail.com>
1186 Reviewed by Alp Toker.
1188 http://bugs.webkit.org/show_bug.cgi?id=16729
1189 [cURL] Allow multiple files for upload
1191 * platform/network/ResourceHandleInternal.h:
1192 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1193 * platform/network/curl/ResourceHandleCurl.cpp:
1194 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1195 * platform/network/curl/ResourceHandleManager.cpp:
1196 (WebCore::readCallback): added
1197 (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
1198 (WebCore::ResourceHandleManager::startJob):
1199 (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
1200 * platform/network/curl/ResourceHandleManager.h:
1202 2008-01-11 Christian Dywan <christian@imendio.com>
1204 Reviewed by Alp Toker.
1206 [Gtk] Menu items need underscores
1207 http://bugs.webkit.org/show_bug.cgi?id=16817
1209 Add underscores to appropriate menu labels.
1210 Also adjust strings slightly.
1212 * platform/gtk/ContextMenuItemGtk.cpp:
1213 (WebCore::ContextMenuItem::createNativeMenuItem):
1214 * platform/gtk/LocalizedStringsGtk.cpp:
1215 (WebCore::searchableIndexIntroduction):
1216 (WebCore::fileButtonChooseFileLabel):
1217 (WebCore::fileButtonNoFileSelectedLabel):
1218 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1219 (WebCore::contextMenuItemTagDownloadLinkToDisk):
1220 (WebCore::contextMenuItemTagCopyLinkToClipboard):
1221 (WebCore::contextMenuItemTagOpenImageInNewWindow):
1222 (WebCore::contextMenuItemTagDownloadImageToDisk):
1223 (WebCore::contextMenuItemTagCopyImageToClipboard):
1224 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1225 (WebCore::contextMenuItemTagCopy):
1226 (WebCore::contextMenuItemTagGoBack):
1227 (WebCore::contextMenuItemTagGoForward):
1228 (WebCore::contextMenuItemTagStop):
1229 (WebCore::contextMenuItemTagReload):
1230 (WebCore::contextMenuItemTagCut):
1231 (WebCore::contextMenuItemTagPaste):
1232 (WebCore::contextMenuItemTagIgnoreSpelling):
1233 (WebCore::contextMenuItemTagLearnSpelling):
1234 (WebCore::contextMenuItemTagSearchWeb):
1235 (WebCore::contextMenuItemTagLookUpInDictionary):
1236 (WebCore::contextMenuItemTagOpenLink):
1237 (WebCore::contextMenuItemTagIgnoreGrammar):
1238 (WebCore::contextMenuItemTagSpellingMenu):
1239 (WebCore::contextMenuItemTagShowSpellingPanel):
1240 (WebCore::contextMenuItemTagCheckSpelling):
1241 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1242 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1243 (WebCore::contextMenuItemTagFontMenu):
1244 (WebCore::contextMenuItemTagBold):
1245 (WebCore::contextMenuItemTagItalic):
1246 (WebCore::contextMenuItemTagUnderline):
1247 (WebCore::contextMenuItemTagOutline):
1248 (WebCore::contextMenuItemTagWritingDirectionMenu):
1249 (WebCore::contextMenuItemTagDefaultDirection):
1250 (WebCore::contextMenuItemTagLeftToRight):
1251 (WebCore::contextMenuItemTagRightToLeft):
1252 (WebCore::contextMenuItemTagInspectElement):
1253 (WebCore::searchMenuClearRecentSearchesText):
1255 2008-01-11 Ada Chan <adachan@apple.com>
1257 <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
1258 Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since
1259 provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
1260 when a link to download a file has been clicked.
1262 Reviewed by John and Anders.
1264 * loader/FrameLoader.cpp:
1265 (WebCore::FrameLoader::provisionalLoadStarted):
1266 (WebCore::FrameLoader::commitProvisionalLoad):
1268 2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
1272 <rdar://problem/5683529> plugins/embed-inside-object.html is timing
1275 Revert to using FrameTree::find() so that frame aliases like "_self" and
1276 "_current" are interpreted properly
1278 * plugins/win/PluginViewWin.cpp:
1279 (WebCore::PluginViewWin::performRequest):
1280 (WebCore::PluginViewWin::load):
1282 2008-01-11 Alp Toker <alp@atoker.com>
1284 Reviewed by Dave Hyatt and Mark Rowe.
1286 http://bugs.webkit.org/show_bug.cgi?id=16089
1287 [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
1289 Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
1294 * loader/CachedFont.cpp:
1295 (WebCore::CachedFont::~CachedFont):
1296 (WebCore::CachedFont::ensureCustomFontData):
1297 (WebCore::CachedFont::platformDataFromCustomData):
1298 (WebCore::CachedFont::allReferencesRemoved):
1299 * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
1300 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1301 (WebCore::FontCustomPlatformData::fontPlatformData):
1302 (WebCore::releaseData):
1303 (WebCore::createFontCustomPlatformData):
1304 * platform/graphics/gtk/FontCustomPlatformData.h: Added.
1305 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1306 * platform/graphics/gtk/FontPlatformData.h:
1307 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1308 (WebCore::FontPlatformData::FontPlatformData):
1309 (WebCore::FontPlatformData::init):
1310 (WebCore::FontPlatformData::isFixedPitch):
1311 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1312 (WebCore::SimpleFontData::platformDestroy):
1314 2008-01-11 Adam Roben <aroben@apple.com>
1316 Remove FrameLoader::committedFirstRealDocumentLoad
1318 This method no longer has any callers.
1322 * loader/FrameLoader.h:
1324 2008-01-11 Antti Koivisto <antti@apple.com>
1326 Add a standalone version of the blog post video player as a manual test.
1328 * manual-tests/resources/touch-poster.png: Added.
1329 * manual-tests/video-player.html: Added.
1331 2008-01-10 Antti Koivisto <antti@apple.com>
1335 Fix <rdar://problem/5682767>
1336 Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
1338 Take care that GWorld is created and deletes when needed as size or visibility changes.
1340 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1341 (WebCore::MediaPlayerPrivate::load):
1342 * platform/graphics/win/QTMovieWin.cpp:
1343 (QTMovieWinPrivate::QTMovieWinPrivate):
1344 (QTMovieWinPrivate::updateGWorld):
1345 (QTMovieWinPrivate::setSize):
1346 (QTMovieWin::setVisible):
1347 (QTMovieWin::initializeQuickTime):
1349 2008-01-11 David Hyatt <hyatt@apple.com>
1351 Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using
1352 mapped attributes so that it does not get overridden by hspace all the time.
1356 Added fast/table/table-hspace-align-center.html
1359 * html/HTMLTableElement.cpp:
1360 (WebCore::HTMLTableElement::parseMappedAttribute):
1362 2008-01-11 Mark Rowe <mrowe@apple.com>
1366 * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
1368 2008-01-11 Mark Rowe <mrowe@apple.com>
1370 Qt build fix. Add link stubs for the new FileSystem.h functions introduced
1373 * platform/qt/TemporaryLinkStubs.cpp:
1374 (WebCore::openTemporaryFile):
1376 2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
1378 Reviewed by Anders Carlsson.
1380 Bug 16779: Make the PluginStream implementation be shared across platforms
1381 http://bugs.webkit.org/show_bug.cgi?id=16779
1383 Add the new shared PluginStream files to the GTK+ and Win32 builds.
1384 Add PluginStreamClient class for the streamDidFinishLoading method.
1385 Add open/close/write methods to FileSystem for temporary file handling.
1386 Add PluginDebug.h and npfunctions.h for shared PluginStream.
1387 Add shared PluginStream.
1388 Remove PluginStreamWin.
1389 Update PluginViewWin to use shared PluginStream and PluginStreamClass.
1393 * WebCore.vcproj/WebCore.vcproj:
1394 * platform/FileSystem.h:
1395 * platform/gtk/FileSystemGtk.cpp:
1396 * platform/win/FileSystemWin.cpp:
1397 * plugins/PluginDebug.h:
1398 * plugins/PluginStream.cpp:
1399 * plugins/PluginStream.h:
1400 * plugins/npfunctions.h:
1401 * plugins/win/PluginDebug: Moved to PluginDebug.h.
1402 * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
1403 * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
1404 * plugins/win/PluginViewWin.cpp:
1405 * plugins/win/PluginViewWin.h:
1406 * plugins/win/npfunctions.h: Moved to npfunctions.h
1408 2008-01-11 Geoffrey Garen <ggaren@apple.com>
1410 Try to fix Mac build: Edit the right .exp file.
1414 2008-01-11 Geoffrey Garen <ggaren@apple.com>
1416 Try to fix Qt build: don't use pthreads if they're not available.
1418 * bindings/js/GCController.cpp:
1420 2008-01-10 Geoffrey Garen <ggaren@apple.com>
1422 Reviewed by John Sullivan.
1424 Fixed some world leak reports:
1425 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
1426 Interpreter after running cvs-base suite
1428 * <rdar://problem/5669423> PLT complains about world leak if browser
1429 window is open when PLT starts
1431 These were both bugs in the reporting mechanism, so I took the
1432 opportunity to do some house cleaning there.
1434 Stupid class, I kill you:
1435 * bridge/JavaScriptStatistics.cpp: Removed.
1436 * bridge/JavaScriptStatistics.h: Removed.
1438 * bindings/js/GCController.h: Adopted the only useful features of
1439 JavaScriptStatistics, since they were GC-related.
1440 * bindings/js/GCController.cpp:
1442 2008-01-10 Eric Seidel <eric@webkit.org>
1446 No functional changes, only code cleanup.
1448 * css/MediaQueryEvaluator.cpp:
1449 (WebCore::compareValue): renamed from cmpvalue
1450 (WebCore::colorMediaFeatureEval):
1451 (WebCore::device_aspect_ratioMediaFeatureEval):
1452 (WebCore::device_pixel_ratioMediaFeatureEval):
1453 (WebCore::gridMediaFeatureEval):
1454 (WebCore::device_heightMediaFeatureEval):
1455 (WebCore::device_widthMediaFeatureEval):
1456 (WebCore::heightMediaFeatureEval):
1457 (WebCore::widthMediaFeatureEval):
1459 2008-01-10 Dan Bernstein <mitz@apple.com>
1461 Reviewed by Anders Carlsson.
1463 - fix a crash when calling alert() from a repeating timer
1465 On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
1466 alert() and other similar functions, which deletes the actual
1467 DOMWindowTimer objects and replaces them with new objects when resuming.
1469 * bindings/js/kjs_window.cpp:
1470 (KJS::Window::timerFired): Re-fetch the timer object from the map in
1471 case it has been deleted or replaced.
1473 2008-01-10 Maciej Stachowiak <mjs@apple.com>
1477 - remove SecurityOriginData and fold its functionality into SecurityOrigin
1482 * WebCore.vcproj/WebCore.vcproj:
1483 * WebCore.xcodeproj/project.pbxproj:
1484 * WebCoreSources.bkl:
1485 * bindings/js/JSDOMWindowCustom.cpp:
1486 (WebCore::JSDOMWindow::postMessage):
1488 (WebCore::Document::domain):
1490 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
1491 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
1493 * page/ChromeClient.h:
1494 * platform/SecurityOrigin.cpp:
1495 (WebCore::SecurityOrigin::copy):
1496 (WebCore::SecurityOrigin::createFromIdentifier):
1497 (WebCore::SecurityOrigin::stringIdentifier):
1498 * platform/SecurityOrigin.h:
1499 (WebCore::SecurityOrigin::host):
1500 (WebCore::SecurityOrigin::protocol):
1501 (WebCore::SecurityOrigin::port):
1502 (WebCore::SecurityOrigin::equal):
1503 * platform/SecurityOriginData.cpp: Removed.
1504 * platform/SecurityOriginData.h: Removed.
1505 * storage/Database.cpp:
1506 (WebCore::Database::openDatabase):
1507 (WebCore::Database::Database):
1508 (WebCore::Database::securityOriginCopy):
1509 * storage/Database.h:
1510 * storage/DatabaseTracker.cpp:
1511 (WebCore::SecurityOriginHash::hash):
1512 (WebCore::SecurityOriginHash::equal):
1513 (WebCore::SecurityOriginTraits::deletedValue):
1514 (WebCore::SecurityOriginTraits::emptyValue):
1515 (WebCore::DatabaseTracker::canEstablishDatabase):
1516 (WebCore::DatabaseTracker::hasEntryForOrigin):
1517 (WebCore::DatabaseTracker::hasEntryForDatabase):
1518 (WebCore::DatabaseTracker::establishEntryForOrigin):
1519 (WebCore::DatabaseTracker::fullPathForDatabase):
1520 (WebCore::DatabaseTracker::populateOrigins):
1521 (WebCore::DatabaseTracker::origins):
1522 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1523 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1524 (WebCore::DatabaseTracker::setDatabaseDetails):
1525 (WebCore::DatabaseTracker::usageForDatabase):
1526 (WebCore::DatabaseTracker::usageForOrigin):
1527 (WebCore::DatabaseTracker::quotaForOrigin):
1528 (WebCore::DatabaseTracker::setQuota):
1529 (WebCore::DatabaseTracker::addDatabase):
1530 (WebCore::DatabaseTracker::deleteAllDatabases):
1531 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
1532 (WebCore::DatabaseTracker::deleteDatabase):
1533 (WebCore::DatabaseTracker::deleteDatabaseFile):
1534 (WebCore::notificationQueue):
1535 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1536 (WebCore::DatabaseTracker::notifyDatabasesChanged):
1537 * storage/DatabaseTracker.h:
1538 * storage/DatabaseTrackerClient.h:
1539 * storage/SQLTransaction.cpp:
1540 (WebCore::SQLTransaction::openTransactionAndPreflight):
1541 (WebCore::SQLTransaction::runStatements):
1542 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1543 (WebCore::SQLTransaction::postflightAndCommit):
1544 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
1545 * svg/graphics/SVGImageEmptyClients.h:
1546 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
1547 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
1549 2008-01-10 Anders Carlsson <andersca@apple.com>
1553 Use the correct frame loader load method. Using the old method would not cause a
1554 new window to be open if the frame navigation was not allowed.
1556 * plugins/win/PluginViewWin.cpp:
1557 (WebCore::PluginViewWin::performRequest):
1559 2008-01-10 Alp Toker <alp@atoker.com>
1561 SVG font build fix for GTK+/autotools.
1565 2008-01-10 Adam Barth <hk9565@gmail.com>
1567 Reviewed by Sam Weinig and Anders Carlsson.
1569 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
1570 <rdar://problem/5657355>
1572 This patch makes two changes:
1574 1) Java calls FrameLoader::load in a slightly different way than
1575 JavaScript, which previously let a malicious web site bypass the
1576 shouldAllowNavigation check. This patch adds that check to that
1579 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
1580 findFrameForNavigation, which calls shouldAllowNavigation. This
1581 treats disallowed frame navigations as if the named frame did not
1582 exist, resulting in a popup window when appropriate.
1584 Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
1585 http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
1588 * bindings/js/kjs_window.cpp:
1589 (KJS::WindowProtoFuncOpen::callAsFunction):
1590 * loader/FrameLoader.cpp:
1591 (WebCore::FrameLoader::createWindow):
1592 (WebCore::FrameLoader::load):
1593 (WebCore::FrameLoader::post):
1594 (WebCore::FrameLoader::findFrameForNavigation):
1595 * loader/FrameLoader.h:
1597 2008-01-10 John Sullivan <sullivan@apple.com>
1599 Written by Hyatt, reviewed by me
1601 - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
1602 a <video> element that uses controls attribute
1604 * rendering/MediaControlElements.cpp:
1605 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1606 force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
1607 up this architecture, but this one-line fix will prevent the crash in the meantime
1609 2008-01-10 Ada Chan <adachan@apple.com>
1611 Fix fast/forms/input-radio-checked-tab.html
1612 Meta key is not the same as Alt key on windows.
1616 * platform/win/KeyEventWin.cpp:
1617 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1619 2008-01-10 Anders Carlsson <andersca@apple.com>
1623 Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
1625 * plugins/win/PluginViewWin.cpp:
1626 (WebCore::PluginViewWin::performRequest):
1627 Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
1629 (WebCore::PluginViewWin::requestTimerFired):
1630 Don't leak the plugin requests.
1632 (WebCore::PluginViewWin::load):
1634 2008-01-10 Anders Carlsson <andersca@apple.com>
1636 Reviewed by John Sullivan.
1638 <rdar://problem/5455889>
1639 REGRESSION: BumperCar crashes when attempting to load a long invalid URL
1641 Make sure to call FrameLoader::receivedMainResourceError before calling
1642 FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
1643 clearing out the provisional document loader so that we won't call the didFail
1644 ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
1645 didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
1647 * loader/MainResourceLoader.cpp:
1648 (WebCore::MainResourceLoader::receivedError):
1650 2008-01-10 Antti Koivisto <antti@apple.com>
1654 Fix <rdar://problem/5658048>
1655 After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
1657 - Move to paused state if the playback had ended and the controller is used to seek to earlier time
1658 - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
1660 * html/HTMLMediaElement.cpp:
1661 (WebCore::HTMLMediaElement::HTMLMediaElement):
1662 (WebCore::HTMLMediaElement::updateMediaPlayer):
1663 (WebCore::HTMLMediaElement::setPausedInternal):
1664 * html/HTMLMediaElement.h:
1665 * rendering/MediaControlElements.cpp:
1666 (WebCore::MediaControlTimelineElement::defaultEventHandler):
1668 2008-01-10 Alexey Proskuryakov <ap@webkit.org>
1670 Reviewed by Adam Roben.
1672 <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
1674 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
1675 requests, as CFNetwork doesn't perform extension to MIME type mapping then.
1677 2008-01-10 Adam Roben <aroben@apple.com>
1679 Fixes to allow multiple FrameViews on Windows
1683 * page/FrameView.cpp:
1684 (WebCore::FrameView::FrameView): Added a new constructor that takes an
1685 IntSize to specify the FrameView's initial size.
1686 (WebCore::FrameView::scheduleRelayout): Added an assertion that our
1687 Document is not in the page cache.
1689 * platform/gtk/WidgetGtk.cpp:
1690 (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
1691 * platform/qt/WidgetQt.cpp:
1692 (WebCore::Widget::~Widget): Ditto.
1693 * rendering/RenderWidget.cpp:
1694 (WebCore::RenderWidget::setWidget): Make sure to remove any existing
1695 Widget from the Widget hierarchy before deleting it. One instance
1696 where this is needed is when setWidget is called during FrameView
1697 creation on Windows.
1699 2008-01-10 Alp Toker <alp@atoker.com>
1701 Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
1703 * svg/SVGFontFaceElement.cpp:
1705 2008-01-10 Justin Garcia <justin.garcia@apple.com>
1707 Reviewed by Alice Liu.
1709 <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
1710 <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
1712 Make sure we have an updated layout before we perform any editing work.
1714 * editing/EditCommand.cpp:
1715 (WebCore::EditCommand::apply):
1716 (WebCore::EditCommand::unapply):
1717 (WebCore::EditCommand::reapply):
1719 2008-01-10 Luca Bruno <lethalman88@gmail.com>
1721 Reviewed by Alp Toker.
1723 Back out r29206 which was causing regressions in curl http job
1726 * platform/network/curl/ResourceHandleManager.cpp
1727 (ResourceHandleManager::cancel):
1729 2008-01-10 Kevin McCullough <kmccullough@apple.com>
1731 Reviewed by Darin, Sam, and Adam.
1733 - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
1734 - link in gmail message displays JavaScript alert falsely complaining
1735 about pop-up blocking
1736 - When trying to open a new window, we now see if the user gesture
1737 occurred in the global dynamic object instead of the frame since that is
1738 the only place an event can occur.
1740 * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
1743 (KJS::showModalDialog):
1744 (KJS::WindowProtoFuncOpen::callAsFunction):
1746 2008-01-10 David Hyatt <hyatt@apple.com>
1748 Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
1752 Added fast/css/visibility-hit-test.html test case.
1754 * rendering/RenderBox.cpp:
1755 (WebCore::RenderBox::nodeAtPoint):
1757 2008-01-10 Lars Knoll <lars@trolltech.com>
1761 rename QWebPageHistory to QWebHistory.
1765 2008-01-10 Lars Knoll <lars@trolltech.com>
1769 fix the drawing errors that where introduced due to refactoring.
1771 Correctly clip to the rectangle we want to draw in ScrollView::paint().
1773 * platform/qt/ScrollViewQt.cpp:
1774 (WebCore::ScrollView::paint):
1776 2008-01-10 Simon Hausmann <hausmann@webkit.org>
1780 Temporarily disable gzip decompression in qhttp due to a bug.
1782 * platform/network/qt/QNetworkReplyHandler.cpp:
1783 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1785 2008-01-10 Simon Hausmann <hausmann@webkit.org>
1789 http://bugs.webkit.org/show_bug.cgi?id=16588
1791 Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
1792 This allows implementing the synchronous loading correctly for the Qt port where the networking
1793 backend is bound to the page.
1795 * loader/FrameLoader.cpp:
1796 (WebCore::FrameLoader::loadResourceSynchronously):
1797 * platform/network/ResourceHandle.h:
1798 * platform/network/cf/ResourceHandleCFNet.cpp:
1799 * platform/network/curl/ResourceHandleCurl.cpp:
1800 * platform/network/mac/ResourceHandleMac.mm:
1801 * platform/network/qt/ResourceHandleQt.cpp:
1802 (WebCore::ResourceHandle::loadResourceSynchronously):
1804 2008-01-10 Kevin Ollivier <kevino@theolliviers.com>
1806 wx build fix for changes in r29328
1808 * WebCoreSources.bkl:
1810 2008-01-09 Maciej Stachowiak <mjs@apple.com>
1814 - refactor SecurityOrigin in preparation for merging with SecurityOriginData
1816 * platform/SecurityOrigin.cpp:
1817 (WebCore::SecurityOrigin::SecurityOrigin):
1818 (WebCore::SecurityOrigin::create):
1819 (WebCore::SecurityOrigin::createForFrame):
1820 * platform/SecurityOrigin.h:
1822 2008-01-09 Ada Chan <adachan@apple.com>
1824 Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
1828 Test: fast/forms/tabs-with-modifiers.html
1830 * page/EventHandler.cpp:
1831 (WebCore::EventHandler::defaultKeyboardEventHandler):
1832 (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.
1833 Clean up the code a bit.
1834 * page/EventHandler.h:
1835 * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was
1836 only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
1838 * page/FocusController.h:
1840 2008-01-09 Antti Koivisto <antti@apple.com>
1844 Fix http://bugs.webkit.org/show_bug.cgi?id=16376
1845 <rdar://problem/5665206>
1846 <video> element fails to play frames when navigating back to page (16376)
1848 Don't make MediaPlayer visible when it is actually in page cache.
1850 * rendering/RenderVideo.cpp:
1851 (WebCore::RenderVideo::updatePlayer):
1853 2008-01-09 Anders Carlsson <andersca@apple.com>
1857 <rdar://problem/5532361>
1858 CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
1860 Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
1863 (WebCore::Frame::pageDestroyed):
1865 2008-01-09 John Sullivan <sullivan@apple.com>
1867 Reviewed by Adam Roben and Anders Carlsson
1869 - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to
1870 missing-but-expected Reload item
1872 * platform/ContextMenu.cpp:
1873 (WebCore::ContextMenu::populate):
1874 use isLoadingInAPISense when deciding whether to include Stop or Reload in context
1875 menu, to match the WebKit API
1877 2008-01-09 Mark Rowe <mrowe@apple.com>
1879 Fix Windows debug build for opensource developers.
1881 * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
1883 2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org>
1885 Reworked by Eric, Reviewed by Hyatt.
1887 - fix http://bugs.webkit.org/show_bug.cgi?id=9454
1888 Add support for :lang inheritance and xml:lang support.
1890 Tests: fast/selectors/lang-inheritance.html
1891 fast/selectors/lang-inheritance2.html
1892 fast/selectors/lang-vs-xml-lang.html
1893 fast/selectors/lang-vs-xml-lang-xhtml.xhtml
1895 * css/CSSStyleSelector.cpp:
1896 (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
1897 different LANG-attribute.
1898 (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
1899 for all the elements parents and the content-language of the document.
1901 (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
1903 (WebCore::Document::contentLanguage):
1904 (WebCore::Document::setContentLanguage):
1906 2008-01-08 Timothy Hatcher <timothy@apple.com>
1910 Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
1911 http://bugs.webkit.org/show_bug.cgi?id=16678
1913 Add a NULL check for controller before calling JSObjectSetPrivate.
1915 * page/InspectorController.cpp:
1916 (WebCore::InspectorController::~InspectorController):
1918 2008-01-08 Xan Lopez <xan@gnome.org>
1920 Reviewed by Alp Toker.
1922 http://bugs.webkit.org/show_bug.cgi?id=15610
1923 [GTK] Text rendering using Pango
1925 Use Pango to render Complex path text.
1927 * platform/graphics/gtk/FontGtk.cpp:
1928 (WebCore::utf16_to_utf8):
1929 (WebCore::convertUniCharToUTF8):
1930 (WebCore::setPangoAttributes):
1931 (WebCore::Font::drawGlyphs):
1932 (WebCore::Font::drawComplexText):
1933 (WebCore::Font::floatWidthForComplexText):
1934 (WebCore::Font::offsetForPositionForComplexText):
1936 2008-01-08 Timothy Hatcher <timothy@apple.com>
1938 Reviewed by Darin Adler.
1940 <rdar://problem/5665860> With the web inspector displayed, a crash occurs
1941 at WebCore::Frame::document() when navigating back to previous page
1943 This fixes the crash, but the inspector was totally broken with back/forward.
1944 So this also fixes back/forward navigation so the right main resource shows
1945 up in the inspector.
1947 * page/InspectorController.cpp:
1948 (WebCore::addSourceToFrame): Add some null checks for the frame when
1949 getting the textEncoding. This was the crash.
1950 (WebCore::InspectorController::addScriptResource): Create a script object
1951 only if needed, and always add it by calling addResource.
1952 (WebCore::InspectorController::didCommitLoad): Check if the loader is
1953 loading from the page cache, and clear m_mainResource. If the load is
1954 normal, then call addAndUpdateScriptResource with the main resource.
1955 (WebCore::InspectorController::identifierForInitialRequest): If the load
1956 is from the page cache and the resource is the main resource call
1957 addAndUpdateScriptResource since didCommitLoad did not do it.
1959 2008-01-08 Alp Toker <alp@atoker.com>
1961 Back out VIDEO by default in the GTK+ qmake build. The build bot
1962 doesn't have the necessary libraries installed.
1966 2008-01-08 Alp Toker <alp@atoker.com>
1968 Win build fix for breakage introduced in r29328.
1970 * WebCore.vcproj/WebCore.vcproj:
1972 2008-01-08 Alp Toker <alp@atoker.com>
1974 Rubber-stamped by Mark Rowe.
1976 Enable VIDEO by default in the GTK+ qmake build.
1980 2008-01-08 Alp Toker <alp@atoker.com>
1982 GTK+ VIDEO build fix for breakage introduced in r29328.
1984 Issue noticed by Ori_B.
1989 2008-01-08 Antti Koivisto <antti@apple.com>
1993 HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is
1996 Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
1998 Test: media/constructors.html
2001 * WebCore.xcodeproj/project.pbxproj:
2002 * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
2003 (WebCore::JSAudioConstructor::JSAudioConstructor):
2004 (WebCore::JSAudioConstructor::implementsConstruct):
2005 (WebCore::JSAudioConstructor::construct):
2006 * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
2007 * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
2008 * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
2009 * bindings/js/kjs_window.cpp:
2010 (KJS::Window::getValueProperty):
2011 * html/HTMLAudioElement.idl:
2013 2008-01-08 Anders Carlsson <andersca@apple.com>
2017 Don't add the applet widget to the view, that's done later by RenderApplet.
2019 * loader/FrameLoader.cpp:
2020 (WebCore::FrameLoader::createJavaAppletWidget):
2022 2008-01-08 Antti Koivisto <antti@apple.com>
2026 Add security check for Audio constructor.
2028 * bindings/js/kjs_window.cpp:
2029 (KJS::Window::getValueProperty):
2031 2008-01-08 Timothy Hatcher <timothy@apple.com>
2033 Reviewed by Adam Roben.
2035 <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
2037 InspectorController::didLoadResourceFromMemoryCache was not being called for
2038 resources that loaded from the memory cache that the FrameLoader's client
2039 has already been notified about. This fix always calls the InspectorController
2040 when loading a memory cached resource. No test possible for the Web Inspector.
2042 * loader/DocLoader.cpp:
2043 (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
2044 FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
2045 * loader/FrameLoader.cpp:
2046 (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
2047 (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
2048 (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
2049 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
2050 Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
2051 didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
2052 didTellClientAboutLoad.
2053 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
2054 in FrameLoader::loadedResourceFromMemoryCache.
2055 * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
2056 Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to
2057 m_urlsClientKnowsAbout.
2058 * loader/SubresourceLoader.cpp:
2059 (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
2061 2008-01-08 Dan Bernstein <mitz@apple.com>
2063 Rubber-stamped by Sam Weinig.
2065 - prefix all member variables in CSSStyleSelector with m_
2067 * css/CSSStyleSelector.cpp:
2068 (WebCore::CSSStyleSelector::CSSStyleSelector):
2069 (WebCore::CSSStyleSelector::init):
2070 (WebCore::CSSStyleSelector::setEncodedURL):
2071 (WebCore::CSSStyleSelector::loadDefaultStyle):
2072 (WebCore::CSSStyleSelector::matchRules):
2073 (WebCore::CSSStyleSelector::matchRulesForList):
2074 (WebCore::CSSStyleSelector::initElementAndPseudoState):
2075 (WebCore::CSSStyleSelector::initForStyleResolve):
2076 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2077 (WebCore::CSSStyleSelector::locateSharedStyle):
2078 (WebCore::CSSStyleSelector::matchUARules):
2079 (WebCore::CSSStyleSelector::styleForElement):
2080 (WebCore::CSSStyleSelector::pseudoStyleForElement):
2081 (WebCore::CSSStyleSelector::updateFont):
2082 (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2083 (WebCore::CSSStyleSelector::checkSelector):
2084 (WebCore::CSSStyleSelector::checkOneSelector):
2085 (WebCore::CSSStyleSelector::applyProperty):
2086 (WebCore::CSSStyleSelector::mapBackgroundImage):
2087 (WebCore::CSSStyleSelector::mapBackgroundSize):
2088 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2089 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2090 (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
2091 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2092 * css/CSSStyleSelector.h:
2093 (WebCore::CSSStyleSelector::):
2094 (WebCore::CSSRuleData::CSSRuleData):
2095 (WebCore::CSSRuleDataList::CSSRuleDataList):
2096 (WebCore::CSSRuleDataList::append):
2097 * css/SVGCSSStyleSelector.cpp:
2098 (WebCore::CSSStyleSelector::applySVGProperty):
2099 * rendering/RenderStyle.cpp:
2100 (WebCore::RenderStyle::isStyleAvailable):
2102 2008-01-08 David D. Kilzer <ddkilzer@apple.com>
2104 Removed unnecessary files from Copy Bundle Resources build phase.
2108 * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
2109 DOMCoreException.idl
2114 SVGAnimateColorElement.idl
2115 SVGAnimateElement.idl
2116 SVGAnimateTransformElement.idl
2117 SVGAnimatedAngle.idl
2118 SVGAnimatedBoolean.idl
2119 SVGAnimatedEnumeration.idl
2120 SVGAnimatedInteger.idl
2121 SVGAnimatedLength.idl
2122 SVGAnimatedLengthList.idl
2123 SVGAnimatedNumber.idl
2124 SVGAnimatedNumberList.idl
2125 SVGAnimatedPathData.idl
2126 SVGAnimatedPoints.idl
2127 SVGAnimatedPreserveAspectRatio.idl
2129 SVGAnimatedString.idl
2130 SVGAnimatedTransformList.idl
2131 SVGAnimationElement.idl
2132 SVGCSSPropertyNames.in
2133 SVGCSSValueKeywords.in
2134 SVGCircleElement.idl
2135 SVGClipPathElement.idl
2137 SVGComponentTransferFunctionElement.idl
2138 SVGCursorElement.idl
2139 SVGDefinitionSrcElement.idl
2144 SVGElementInstance.idl
2145 SVGElementInstanceList.idl
2146 SVGEllipseElement.idl
2148 SVGExternalResourcesRequired.idl
2149 SVGFEBlendElement.idl
2150 SVGFEColorMatrixElement.idl
2151 SVGFEComponentTransferElement.idl
2152 SVGFECompositeElement.idl
2153 SVGFEDiffuseLightingElement.idl
2154 SVGFEDisplacementMapElement.idl
2155 SVGFEDistantLightElement.idl
2156 SVGFEFloodElement.idl
2157 SVGFEFuncAElement.idl
2158 SVGFEFuncBElement.idl
2159 SVGFEFuncGElement.idl
2160 SVGFEFuncRElement.idl
2161 SVGFEGaussianBlurElement.idl
2162 SVGFEImageElement.idl
2163 SVGFEMergeElement.idl
2164 SVGFEMergeNodeElement.idl
2165 SVGFEOffsetElement.idl
2166 SVGFEPointLightElement.idl
2167 SVGFESpecularLightingElement.idl
2168 SVGFESpotLightElement.idl
2169 SVGFETileElement.idl
2170 SVGFETurbulenceElement.idl
2171 SVGFilterElement.idl
2172 SVGFilterPrimitiveStandardAttributes.idl
2175 SVGFontFaceElement.idl
2176 SVGFontFaceFormatElement.idl
2177 SVGFontFaceNameElement.idl
2178 SVGFontFaceSrcElement.idl
2179 SVGFontFaceUriElement.idl
2180 SVGForeignObjectElement.idl
2183 SVGGradientElement.idl
2189 SVGLinearGradientElement.idl
2191 SVGMarkerElement.idl
2194 SVGMetadataElement.idl
2195 SVGMissingGlyphElement.idl
2201 SVGPathSegArcAbs.idl
2202 SVGPathSegArcRel.idl
2203 SVGPathSegClosePath.idl
2204 SVGPathSegCurvetoCubicAbs.idl
2205 SVGPathSegCurvetoCubicRel.idl
2206 SVGPathSegCurvetoCubicSmoothAbs.idl
2207 SVGPathSegCurvetoCubicSmoothRel.idl
2208 SVGPathSegCurvetoQuadraticAbs.idl
2209 SVGPathSegCurvetoQuadraticRel.idl
2210 SVGPathSegCurvetoQuadraticSmoothAbs.idl
2211 SVGPathSegCurvetoQuadraticSmoothRel.idl
2212 SVGPathSegLinetoAbs.idl
2213 SVGPathSegLinetoHorizontalAbs.idl
2214 SVGPathSegLinetoHorizontalRel.idl
2215 SVGPathSegLinetoRel.idl
2216 SVGPathSegLinetoVerticalAbs.idl
2217 SVGPathSegLinetoVerticalRel.idl
2219 SVGPathSegMovetoAbs.idl
2220 SVGPathSegMovetoRel.idl
2221 SVGPatternElement.idl
2224 SVGPolygonElement.idl
2225 SVGPolylineElement.idl
2226 SVGPreserveAspectRatio.idl
2227 SVGRadialGradientElement.idl
2230 SVGRenderingIntent.idl
2232 SVGScriptElement.idl
2238 SVGSwitchElement.idl
2239 SVGSymbolElement.idl
2243 SVGTextContentElement.idl
2245 SVGTextPathElement.idl
2246 SVGTextPositioningElement.idl
2249 SVGTransformList.idl
2250 SVGTransformable.idl
2258 XMLHttpRequestException.idl
2262 make-charset-table.pl
2267 2008-01-08 Luca Bruno <lethalman88@gmail.com>
2269 Reviewed by Alp Toker.
2271 Support copying the selected URL to the clipboard.
2273 * platform/gtk/PasteboardGtk.cpp:
2274 (WebCore::Pasteboard::writeURL): implemented
2276 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
2278 Renamed CharacterData::m_str to m_data
2280 Rubber-stamped by Adam again.
2282 No test cases added since there is no change in behavior.
2284 * dom/CDATASection.cpp:
2285 * dom/CharacterData.cpp:
2286 (WebCore::CharacterData::CharacterData):
2287 (WebCore::CharacterData::setData):
2288 (WebCore::CharacterData::substringData):
2289 (WebCore::CharacterData::appendData):
2290 (WebCore::CharacterData::insertData):
2291 (WebCore::CharacterData::deleteData):
2292 (WebCore::CharacterData::replaceData):
2293 (WebCore::CharacterData::nodeValue):
2294 (WebCore::CharacterData::containsOnlyWhitespace):
2295 (WebCore::CharacterData::dispatchModifiedEvent):
2296 (WebCore::CharacterData::checkCharDataOperation):
2297 (WebCore::CharacterData::dump):
2298 * dom/CharacterData.h:
2301 (WebCore::Text::splitText):
2302 (WebCore::Text::createRenderer):
2303 (WebCore::Text::recalcStyle):
2305 2008-01-08 Steve Falkenburg <sfalken@apple.com>
2307 Fix a couple of compiler warnings.
2311 * platform/win/ThreadingWin.cpp:
2312 * platform/win/UniscribeController.cpp: Remove unused function.
2313 (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
2315 2008-01-08 Adele Peterson <adele@apple.com>
2319 Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
2321 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2322 After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
2323 MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.
2324 This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
2325 I also added a missing call to setDefaultHandled for the mousemove event.
2327 2008-01-08 Adele Peterson <adele@apple.com>
2331 * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
2332 paint the media controls in RenderThemeSafari.
2334 2008-01-08 Oliver Hunt <oliver@apple.com>
2336 Reviewed by Adele and John.
2338 Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
2339 dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
2341 We hit this crash if the page reloads between DragController::dragUpdated
2342 and DragController::performDrag, meaning that m_document starts pointing to
2343 a now viewless document. This is picked up by an assertion in performDrag
2344 which I have now replaced with an assignment given that the assertion is
2345 invalid -- it is possible for m_document to be changed between dragUpdated
2348 * page/DragController.cpp:
2349 (WebCore::DragController::performDrag):
2351 2008-01-08 Alexey Proskuryakov <ap@webkit.org>
2355 <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
2356 WebCore::Node::setChanged + 96
2358 Test: fast/dom/cssTarget-crash.html
2360 * dom/Node.cpp: (WebCore::Node::removedFromDocument):
2361 Check to see if the node being removed is currently set as the Document's cssTarget.
2362 If it is, clear the cssTarget to prevent a hanging reference to it.
2364 2008-01-08 Adam Roben <aroben@apple.com>
2366 * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
2367 rebuild on Windows now that the media elements are enabled.
2369 2008-01-08 Adam Roben <aroben@apple.com>
2371 * svg/svgtags.in: Touch this again for the sake of the Windows bots.
2373 2008-01-08 Timothy Hatcher <timothy@apple.com>
2375 Reviewed by Adam Roben.
2377 Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
2378 Also added some #pragma marks to help find places in the file.
2380 * page/InspectorController.cpp:
2381 (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
2382 And return the result of JSObjectCallAsFunction.
2383 (WebCore::search): Use JSRetainPtr<JSStringRef>.
2384 (WebCore::databaseTableNames): Ditto.
2385 (WebCore::localizedStrings): Ditto.
2386 (WebCore::InspectorController::~InspectorController): Ditto.
2387 (WebCore::InspectorController::focusNode): Ditto.
2388 (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
2389 (WebCore::InspectorController::scriptObjectReady): Ditto.
2390 (WebCore::addHeaders): Ditto.
2391 (WebCore::InspectorController::addScriptResource): Ditto.
2392 (WebCore::InspectorController::removeScriptResource): Ditto.
2393 (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
2394 (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
2395 (WebCore::InspectorController::updateScriptResource): Ditto.
2396 (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
2397 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
2398 (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
2400 2008-01-08 Dan Bernstein <mitz@apple.com>
2402 Rubber-stamped by Sam Weinig.
2404 - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
2408 * WebCore.vcproj/WebCore.vcproj:
2409 * WebCore.xcodeproj/project.pbxproj:
2410 * WebCoreSources.bkl:
2411 * editing/Editor.cpp:
2412 * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
2413 * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
2414 * platform/graphics/FontDataBaseClass.cpp: Removed.
2415 * platform/graphics/FontDataBaseClass.h: Removed.
2416 * platform/graphics/SegmentedFontData.h:
2417 * platform/graphics/SimpleFontData.h:
2419 2008-01-08 Dan Bernstein <mitz@apple.com>
2421 Fix a Wx build error.
2423 * platform/graphics/wx/GlyphMapWx.cpp:
2424 (WebCore::GlyphPage::fill):
2426 2008-01-08 Dan Bernstein <mitz@apple.com>
2428 Fix a Qt build error.
2430 * platform/graphics/qt/SimpleFontDataQt.cpp:
2431 (WebCore::SimpleFontData::containsCharacters):
2432 (WebCore::SimpleFontData::fontDataForCharacter):
2433 (WebCore::SimpleFontData::isSegmented):
2435 2008-01-08 Adam Roben <aroben@apple.com>
2439 Touch config.h to force a rebuild (apparently changing preprocessor
2440 definitions in the .vcproj doesn't force a rebuild).
2444 2008-01-08 Dan Bernstein <mitz@apple.com>
2446 Fix a Wx build failure.
2450 2008-01-08 Dan Bernstein <mitz@apple.com>
2452 Fix a Qt build failure.
2456 2008-01-08 John Sullivan <sullivan@apple.com>
2458 Reviewed by Adam Roben
2460 - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field,
2461 Delete menu item is enabled but shouldn't be
2463 The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
2464 parameter to the enabled functions so that they can have parallel logic to the execute functions.
2466 * editing/EditorCommand.cpp:
2467 added EditorCommandSource parameter to isEnabled function prototype
2469 added unused EditorCommandSource parameter to these isEnabled functions:
2470 (WebCore::enabledAnySelection):
2471 (WebCore::enabledAnySelectionAndMark):
2472 (WebCore::enableCaretInEditableText):
2473 (WebCore::enabledCopy):
2474 (WebCore::enabledCut):
2476 (WebCore::enabledDelete):
2477 new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
2480 added unused EditorCommandSource parameter to these isEnabled functions:
2481 (WebCore::enabledInEditableText):
2482 (WebCore::enabledInRichlyEditableText):
2483 (WebCore::enabledPaste):
2484 (WebCore::enabledRangeInEditableText):
2485 (WebCore::enabledRangeInRichlyEditableText):
2486 (WebCore::enabledRedo):
2487 (WebCore::enabledUndo):
2489 (WebCore::CommandEntry::):
2490 wire up new enabledDelete function as delete function for Delete command
2492 (WebCore::Editor::Command::isEnabled):
2493 pass EditorCommandSource parameter to isEnabled function
2495 2008-01-08 Adam Roben <aroben@apple.com>
2497 Visual C++ Express build fix
2499 * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
2500 and advapi32.lib. VS implicitly links against these, VC++ Express
2503 2008-01-08 Dan Bernstein <mitz@apple.com>
2507 * platform/graphics/mac/FontCustomPlatformData.cpp:
2508 (WebCore::createFontCustomPlatformData):
2510 2008-01-08 Dan Bernstein <mitz@apple.com>
2512 Try to fix the Qt build.
2516 2008-01-08 Nikolas Zimmermann <zimmermann@kde.org>
2518 Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
2520 * page/inspector/WebKit.qrc:
2522 2008-01-08 Maciej Stachowiak <mjs@apple.com>
2526 - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
2528 * bindings/objc/PublicDOMInterfaces.h:
2529 * html/HTMLDocument.idl:
2531 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
2533 Renamed CharacterData::str to m_str to match coding style
2535 Rubber-stamped by Adam.
2537 No test cases added since there is no change in behavior.
2539 * dom/CDATASection.cpp:
2540 * dom/CharacterData.cpp:
2541 (WebCore::CharacterData::CharacterData):
2542 (WebCore::CharacterData::setData):
2543 (WebCore::CharacterData::substringData):
2544 (WebCore::CharacterData::appendData):
2545 (WebCore::CharacterData::insertData):
2546 (WebCore::CharacterData::deleteData):
2547 (WebCore::CharacterData::replaceData):
2548 (WebCore::CharacterData::nodeValue):
2549 (WebCore::CharacterData::containsOnlyWhitespace):
2550 (WebCore::CharacterData::dispatchModifiedEvent):
2551 (WebCore::CharacterData::checkCharDataOperation):
2552 (WebCore::CharacterData::dump):
2553 * dom/CharacterData.h:
2556 (WebCore::Text::splitText):
2557 (WebCore::Text::createRenderer):
2558 (WebCore::Text::recalcStyle):
2560 2008-01-08 Oliver Hunt <oliver@apple.com>
2562 Set the ENABLE_SVG_FONTS flag in Windows build, now builds,
2563 I'm not sure if it just caused the right files to regenerate,
2564 or if there's some configuration weirdness in the non-SVG-fonts
2567 * WebCore.vcproj/WebCore.vcproj:
2569 2008-01-07 Maciej Stachowiak <mjs@apple.com>
2573 - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
2575 Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
2578 (WebCore::Document::Document):
2580 (WebCore::Document::setHasOpenDatabases):
2581 (WebCore::Document::hasOpenDatabases):
2582 * loader/FrameLoader.cpp:
2583 (WebCore::FrameLoader::canCachePage):
2584 * storage/Database.cpp:
2585 (WebCore::Database::openDatabase):
2587 2008-01-07 Dan Bernstein <mitz@apple.com>
2589 Reviewed by Oliver Hunt.
2591 - fix leaks seen on the build bot
2593 * css/CSSFontSelector.cpp:
2594 (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
2595 CSSFontFaceSource for SVG font-face elements going into an
2596 SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
2597 face elements to a CSSFontFace because it will not work as expected.
2599 2008-01-07 Mark Rowe <mrowe@apple.com>
2603 * platform/graphics/mac/FontCustomPlatformData.cpp:
2604 (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
2605 It's not needed on Tiger, and breaks the build.
2607 2008-01-07 Antti Koivisto <antti@apple.com>
2611 Re-enable media support in Windows build.
2613 * WebCore.vcproj/QTMovieWin.vcproj:
2614 * WebCore.vcproj/WebCore.vcproj:
2615 * WebCore.vcproj/build-generated-files.sh:
2617 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2619 Add version resource to QTMovieWin.dll
2623 * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
2624 * WebCore.vcproj/QTMovieWin.rc: Added.
2625 * WebCore.vcproj/QTMovieWin.vcproj:
2626 * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
2627 * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
2629 2008-01-07 Dan Bernstein <mitz@apple.com>
2633 * platform/graphics/qt/FontCustomPlatformData.cpp:
2634 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
2635 Calls QFontDatabase::removeApplicationFont().
2636 * platform/graphics/qt/FontCustomPlatformData.h:
2637 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2638 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
2639 implementation because Qt does not use the WebCore glyph cache.
2641 2008-01-07 Dan Bernstein <mitz@apple.com>
2643 Reviewed by Oliver Hunt.
2645 - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
2646 Tiger and multiple SVG layout test failures on Leopard.
2648 * css/CSSSegmentedFontFace.cpp:
2649 (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
2650 empty SegmentedFontData.
2651 * platform/graphics/mac/FontCustomPlatformData.cpp:
2652 (WebCore::createFontCustomPlatformData): Avoid creating a font that
2653 contains no glyphs. On Leopard, ATS might create such a font given
2654 data in an unsupported format (such as SVG).
2656 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2660 * WebCore.vcproj/WebCore.sln:
2661 * WebCore.vcproj/WebCore.submit.sln:
2663 2008-01-07 Oliver Hunt <oliver@apple.com>
2667 Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
2669 Test: svg/custom/image-with-aspect-ratio-stretch.svg
2671 * rendering/RenderSVGImage.cpp:
2672 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2674 2008-01-07 Dan Bernstein <mitz@apple.com>
2678 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2679 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2681 2008-01-07 Adele Peterson <adele@apple.com>
2683 Add missing newline.
2685 * rendering/MediaControlElements.cpp:
2687 2008-01-07 Jon Honeycutt <jhoneycutt@apple.com>
2691 <rdar://problem/5673489> Safari does not render windowless plugins in an
2692 iframe when opacity < 1.0
2694 Plugins in transparency layers handle their own world transforms, so
2695 only apply the horizontal/vertical transform if we are not in a
2698 * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
2699 inTransparencyLayer() function
2700 * platform/win/GraphicsContextWin.cpp:
2701 (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
2702 (WebCore::GraphicsContext::inTransparencyLayer):
2703 (WebCore::GraphicsContext::releaseWindowsContext): Use
2704 inTransparencyLayer()
2705 * plugins/win/PluginViewWin.cpp:
2706 (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
2707 relative to the window. Pass m_isTransparent to
2708 get/releaseWindowsContext(). Only set the world transform if we are not
2709 in a transparency layer.
2711 2008-01-07 Adele Peterson <adele@apple.com>
2713 Build fix. Need to wrap these classes in #if ENABLE(VIDEO)
2715 * rendering/MediaControlElements.cpp:
2716 * rendering/MediaControlElements.h:
2718 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2722 Enable SVG_FONTS by default.
2724 * Configurations/WebCore.xcconfig:
2725 * WebCore.vcproj/build-generated-files.sh:
2727 2008-01-07 Dan Bernstein <mitz@apple.com>
2731 * platform/graphics/qt/SimpleFontDataQt.cpp:
2732 (WebCore::SimpleFontData::SimpleFontData):
2733 (WebCore::SimpleFontData::~SimpleFontData):
2735 2008-01-07 Adam Barth <hk9565@gmail.com>
2737 Reviewed by Sam Weinig
2739 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
2740 <rdar://problem/5657447>
2742 When a frame is created with the URL "about:blank" or "", it should
2743 inherit its SecurityOrigin from its opener. However, once it has
2744 decided on that SecurityOrigin, it should not change its mind.
2745 Prior to this patch, several events could induce the frame to change
2746 its SecurityOrigin, permitting an attacker to inject script into an
2747 arbitrary SecurityOrigin.
2749 This patch makes several changes:
2751 1) Documents refuse to change from one SecurityOrigin to another
2752 unless explicitly instructed to do so.
2754 2) Navigating to a JavaScript URL that produces a value
2755 preserves the current SecurityOrigin explicitly instead of
2756 relying on the URL to preserve the origin (which fails for
2757 about:blank URLs and SecurityOrigins with document.domain set).
2759 Ideally, we should not preserve the URL at all. Instead, the
2760 frame's URL should be the JavaScript URL, as in Firefox, but this
2761 would require changes that are too risky for this patch. I'll
2762 file this as a separate issue.
2764 3) Various methods of navigating to JavaScript URLs were not
2765 properly handling JavaScript that returned a value (and should
2766 therefore replace the current document). This patch unifies
2767 those code paths with the path that works.
2769 There are still a handful of bugs relating to the handling of
2770 JavaScript URLs, but I'll file those as separate issues.
2772 Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
2773 http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
2774 http/tests/security/aboutBlank/xss-DENIED-set-opener.html
2777 (WebCore::Document::initSecurityOrigin):
2779 (WebCore::Document::setSecurityOrigin):
2780 * loader/FrameLoader.cpp:
2781 (WebCore::FrameLoader::changeLocation):
2782 (WebCore::FrameLoader::urlSelected):
2783 (WebCore::FrameLoader::requestFrame):
2784 (WebCore::FrameLoader::submitForm):
2785 (WebCore::FrameLoader::executeIfJavaScriptURL):
2786 (WebCore::FrameLoader::begin):
2787 * loader/FrameLoader.h:
2788 * platform/SecurityOrigin.cpp:
2789 (WebCore::SecurityOrigin::setForURL):
2790 (WebCore::SecurityOrigin::createForFrame):
2791 * platform/SecurityOrigin.h:
2793 2008-01-07 Adele Peterson <adele@apple.com>
2795 Forgot to check in these changes in my last checkin.
2797 * rendering/RenderThemeSafari.cpp:
2799 2008-01-07 Dan Bernstein <mitz@apple.com>
2804 * platform/graphics/qt/FontCacheQt.cpp:
2805 (WebCore::FontCache::getCachedFontData):
2807 2008-01-07 Timothy Hatcher <timothy@apple.com>
2809 Reviewed by John Sullivan.
2811 <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
2813 * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
2814 normal height when not docked, and small when docked. Also added some cursor properties
2815 prevent showing the text cursor over areas that are not selectable.
2816 * page/inspector/Images: A few images added and old ones removed or renamed.
2818 2008-01-07 Alp Toker <alp@atoker.com>
2820 Prospective GTK+ autotools/qmake VIDEO build fix for breakage
2821 introduced in r29257.
2826 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2830 Build fix affecting all builds - again related to the unicode-range addition.
2832 * css/CSSFontSelector.cpp:
2833 (WebCore::CSSFontSelector::addFontFaceRule):
2834 * css/SVGCSSFontFace.cpp:
2835 (WebCore::SVGCSSFontFace::SVGCSSFontFace):
2836 * css/SVGCSSFontFace.h:
2837 * rendering/RenderSVGText.cpp:
2839 (WebCore::svgFontAndFontFaceElementForFontData):
2840 (WebCore::floatWidthMissingGlyphCallback):
2841 (WebCore::drawTextMissingGlyphCallback):
2842 * svg/SVGFontFaceElement.cpp:
2844 2008-01-07 Adele Peterson <adele@apple.com>
2846 Reviewed by Antti, Adam, and Mitz.
2848 WebCore part of fix for
2849 <rdar://problem/5619073> Updated look for <video> controls
2850 <rdar://problem/5619057> Add volume control to video controls
2852 * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
2853 * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
2854 * WebCore.vcproj/WebCore.vcproj: ditto.
2856 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
2857 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
2858 * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
2859 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
2860 * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
2861 * css/html4.css: Added new styles for new controls.
2863 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
2864 * html/HTMLMediaElement.h:
2866 * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
2868 * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
2869 * platform/mac/WebCoreSystemInterface.mm: ditto.
2871 * rendering/MediaControlElements.cpp: Added.
2872 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute.
2873 (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement,
2874 since its too early to do this here, and causes crashes for the slider.
2875 (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
2876 (WebCore::MediaControlInputElement::update): ditto.
2877 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
2878 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
2879 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
2880 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
2881 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
2882 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
2883 (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
2884 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
2885 (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
2886 (WebCore::MediaControlTimelineElement::update): ditto.
2887 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
2888 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
2889 * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
2890 (WebCore::MediaControlShadowRootElement::isShadowNode):
2891 (WebCore::MediaControlShadowRootElement::shadowParentNode):
2892 (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
2893 (WebCore::RenderMediaControlShadowRoot::setParent):
2895 * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
2896 (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
2897 (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
2898 (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
2899 (WebCore::RenderMedia::createMuteButton): Added.
2900 (WebCore::RenderMedia::createSeekBackButton): ditto.
2901 (WebCore::RenderMedia::createSeekForwardButton): ditto.
2902 (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
2903 (WebCore::RenderMedia::createFullscreenButton): Added.
2904 (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
2905 (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls.
2906 (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
2907 * rendering/RenderMedia.h: Added new methods for creating new controls.
2909 * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements,
2910 but also can contain children (the controls' container) that may need to look for the containing block.
2912 * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
2914 * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
2916 (WebCore::RenderStyle::):
2918 * rendering/RenderTheme.cpp:
2919 (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
2920 (WebCore::RenderTheme::paint): ditto.
2921 * rendering/RenderTheme.h: Added new methods for painting new appearances.
2922 (WebCore::RenderTheme::paintMediaBackground):
2923 (WebCore::RenderTheme::paintMediaFullscreenButton):
2924 (WebCore::RenderTheme::paintMediaPlayButton):
2925 (WebCore::RenderTheme::paintMediaMuteButton):
2926 (WebCore::RenderTheme::paintMediaSeekBackButton):
2927 (WebCore::RenderTheme::paintMediaSeekForwardButton):
2928 (WebCore::RenderTheme::paintMediaSliderThumb):
2929 * rendering/RenderThemeMac.h:
2930 * rendering/RenderThemeMac.mm:
2931 (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
2932 (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
2933 (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
2934 (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
2935 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
2936 (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
2937 (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
2938 (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
2939 (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
2940 (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
2941 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
2942 (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
2943 * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
2944 (WebCore::RenderThemeSafari::paintSliderTrack):
2945 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2946 (WebCore::RenderThemeSafari::paintMediaBackground):
2947 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2948 (WebCore::RenderThemeSafari::paintMediaMuteButton):
2949 (WebCore::RenderThemeSafari::paintMediaPlayButton):
2950 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2951 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2952 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2953 * rendering/RenderThemeSafari.h:
2955 2008-01-07 Timothy Hatcher <timothy@apple.com>
2957 Reviewed by Darin Adler.
2959 Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
2960 when the replacment string is a different length.
2962 * platform/text/StringImpl.cpp:
2963 (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
2964 the Vector size calculation, correcting the order of math operations.
2966 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2968 Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
2970 * platform/graphics/mac/FontCacheMac.mm:
2972 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2974 Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
2976 * css/CSSFontSelector.cpp:
2977 (WebCore::CSSFontSelector::getFontData):
2979 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2981 Not reviewed. Next try to fix wx/mac leopard build.
2983 * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
2984 * svg/SVGFontFaceElement.cpp:
2985 (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
2986 * webcore-base.bkl: Undo svg/ include.
2988 2008-01-07 Dan Bernstein <mitz@apple.com>
2990 Reviewed by Dave Hyatt.
2992 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
2996 * WebCore.vcproj/WebCore.vcproj:
2997 * WebCore.xcodeproj/project.pbxproj:
2998 * WebCoreSources.bkl:
2999 * bindings/objc/DOM.mm:
3000 * bridge/mac/WebCoreAXObject.mm:
3001 * css/CSSComputedStyleDeclaration.cpp:
3002 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3003 * css/CSSFontFace.cpp:
3004 (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
3006 (WebCore::CSSFontFace::getFontData):
3007 * css/CSSFontFace.h:
3008 (WebCore::CSSFontFace::CSSFontFace):
3009 (WebCore::CSSFontFace::setSegmentedFontFace):
3010 * css/CSSFontFaceSource.cpp:
3011 (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
3012 GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
3013 font table are not exposed in the glyph page tree. Only the segmented
3014 font is, and that is taken care of by the segmented font face.
3015 (WebCore::CSSFontFaceSource::getFontData):
3016 * css/CSSFontFaceSource.h:
3017 * css/CSSFontSelector.cpp:
3018 (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
3019 @font-face rules with the same family and traits into a single
3020 segmented font face, instead of just retaining the most recent one.
3021 (WebCore::CSSFontSelector::fontLoaded):
3022 (WebCore::CSSFontSelector::getFontData):
3023 * css/CSSFontSelector.h:
3025 * css/CSSParser.cpp:
3026 (WebCore::CSSParser::parseValue):
3027 (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
3030 * css/CSSPrimitiveValue.h:
3031 (WebCore::CSSPrimitiveValue::):
3032 * css/CSSPropertyNames.in:
3033 * css/CSSSegmentedFontFace.cpp: Added.
3034 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
3035 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
3036 (WebCore::CSSSegmentedFontFace::pruneTable):
3037 (WebCore::CSSSegmentedFontFace::isLoaded):
3038 (WebCore::CSSSegmentedFontFace::isValid):
3039 (WebCore::CSSSegmentedFontFace::fontLoaded):
3040 (WebCore::CSSSegmentedFontFace::overlayRange):
3041 (WebCore::CSSSegmentedFontFace::getFontData):
3042 * css/CSSSegmentedFontFace.h: Added.
3043 (WebCore::FontFaceRange::FontFaceRange):
3044 (WebCore::FontFaceRange::from):
3045 (WebCore::FontFaceRange::to):
3046 (WebCore::FontFaceRange::fontFace):
3047 (WebCore::CSSSegmentedFontFace::fontSelector):
3048 * css/CSSStyleSelector.cpp:
3049 (WebCore::CSSStyleSelector::applyProperty):
3050 * css/CSSUnicodeRangeValue.cpp: Added.
3051 (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
3052 (WebCore::CSSUnicodeRangeValue::cssText):
3053 * css/CSSUnicodeRangeValue.h: Added.
3054 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3055 (WebCore::CSSUnicodeRangeValue::from):
3056 (WebCore::CSSUnicodeRangeValue::to):
3057 * css/SVGCSSFontFace.cpp:
3058 (WebCore::SVGCSSFontFace::getFontData):
3059 * css/SVGCSSFontFace.h:
3060 * editing/Editor.cpp:
3061 (WebCore::Editor::fontForSelection):
3063 * page/mac/FrameMac.mm:
3064 * page/mac/WebCoreFrameBridge.mm:
3065 (-[WebCoreFrameBridge fontForSelection:]):
3066 * platform/graphics/Font.cpp:
3067 (WebCore::WidthIterator::advance):
3068 (WebCore::Font::glyphDataForCharacter):
3069 (WebCore::Font::primaryFont): Changed to return the simple font data
3070 used for the space character.
3071 (WebCore::Font::fontDataAt):
3072 (WebCore::Font::fontDataForCharacters):
3073 (WebCore::Font::drawGlyphBuffer):
3074 * platform/graphics/Font.h:
3075 * platform/graphics/FontCache.cpp:
3076 (WebCore::FontCache::getCachedFontData):
3077 (WebCore::FontCache::getFontData):
3078 * platform/graphics/FontCache.h:
3079 * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
3080 * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
3081 * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
3083 (WebCore::FontData::~FontData):
3084 * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
3086 * platform/graphics/FontFallbackList.cpp:
3087 (WebCore::FontFallbackList::determinePitch):
3088 (WebCore::FontFallbackList::fontDataAt):
3089 (WebCore::FontFallbackList::fontDataForCharacters):
3090 * platform/graphics/FontFallbackList.h:
3091 (WebCore::FontFallbackList::primaryFont):
3092 * platform/graphics/FontSelector.h:
3093 * platform/graphics/GlyphBuffer.h:
3094 (WebCore::GlyphBuffer::fontDataAt):
3095 (WebCore::GlyphBuffer::swap):
3096 (WebCore::GlyphBuffer::add):
3097 * platform/graphics/GlyphPageTreeNode.cpp:
3098 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3099 (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
3100 pages for segmented font data.
3101 (WebCore::GlyphPageTreeNode::getChild):
3102 (WebCore::GlyphPageTreeNode::pruneCustomFontData):
3103 * platform/graphics/GlyphPageTreeNode.h:
3104 (WebCore::GlyphPage::setGlyphDataForCharacter):
3105 (WebCore::GlyphPage::setGlyphDataForIndex):
3106 (WebCore::GlyphPageTreeNode::getRootChild):
3107 * platform/graphics/SegmentedFontData.cpp: Added.
3108 (WebCore::SegmentedFontData::~SegmentedFontData):
3109 (WebCore::SegmentedFontData::fontDataForCharacter):
3110 (WebCore::SegmentedFontData::containsCharacters):
3111 (WebCore::SegmentedFontData::isCustomFont):
3112 (WebCore::SegmentedFontData::isLoading):
3113 (WebCore::SegmentedFontData::isSegmented):
3114 * platform/graphics/SegmentedFontData.h: Added.
3115 (WebCore::FontDataRange::FontDataRange):
3116 (WebCore::FontDataRange::from):
3117 (WebCore::FontDataRange::to):
3118 (WebCore::FontDataRange::fontData):
3119 (WebCore::SegmentedFontData::appendRange):
3120 (WebCore::SegmentedFontData::numRanges):
3121 (WebCore::SegmentedFontData::rangeAt):
3122 * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
3123 (WebCore::SimpleFontData::SimpleFontData):
3124 (WebCore::SimpleFontData::~SimpleFontData):
3125 (WebCore::SimpleFontData::ascent):
3126 (WebCore::SimpleFontData::descent):
3127 (WebCore::SimpleFontData::widthForGlyph):
3128 (WebCore::SimpleFontData::fontDataForCharacter):
3129 (WebCore::SimpleFontData::isSegmented):
3130 * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
3131 (WebCore::SimpleFontData::isCustomFont):
3132 (WebCore::SimpleFontData::isLoading):
3133 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3134 (WebCore::GraphicsContext::setPlatformFont):
3135 * platform/graphics/gtk/FontCacheGtk.cpp:
3136 (WebCore::FontCache::getFontDataForCharacters):
3137 * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
3138 SimpleFontDataGtk.cpp.
3139 * platform/graphics/gtk/FontGtk.cpp:
3140 (WebCore::Font::drawGlyphs):
3141 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
3142 (WebCore::GlyphPage::fill):
3143 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
3144 (WebCore::SimpleFontData::platformInit):
3145 (WebCore::SimpleFontData::platformDestroy):
3146 (WebCore::SimpleFontData::smallCapsFontData):
3147 (WebCore::SimpleFontData::containsCharacters):
3148 (WebCore::SimpleFontData::determinePitch):
3149 (WebCore::SimpleFontData::platformWidthForGlyph):
3150 (WebCore::SimpleFontData::setFont):
3151 * platform/graphics/mac/FontCacheMac.mm:
3152 (WebCore::FontCache::getFontDataForCharacters):
3153 * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
3154 * platform/graphics/mac/FontMac.mm:
3155 (WebCore::initializeATSUStyle):
3156 (WebCore::overrideLayoutOperation):
3157 (WebCore::ATSULayoutParameters::initialize):
3158 (WebCore::Font::drawGlyphs):
3159 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3160 (WebCore::GlyphPage::fill):
3161 * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
3162 (WebCore::initFontData):
3163 (WebCore::SimpleFontData::platformInit):
3164 (WebCore::SimpleFontData::platformDestroy):
3165 (WebCore::SimpleFontData::smallCapsFontData):
3166 (WebCore::SimpleFontData::containsCharacters):
3167 (WebCore::SimpleFontData::determinePitch):
3168 (WebCore::SimpleFontData::platformWidthForGlyph):
3169 (WebCore::SimpleFontData::checkShapesArabic):
3170 * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
3171 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
3172 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
3173 * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
3174 * platform/graphics/win/FontCacheWin.cpp:
3175 (WebCore::FontCache::getFontDataForCharacters):
3176 * platform/graphics/win/FontDataWin.cpp: Renamed to
3177 SimpleFontDataWin.cpp.
3178 * platform/graphics/win/FontWin.cpp:
3179 (WebCore::Font::drawGlyphs):
3180 * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
3181 (WebCore::GlyphPage::fill):
3182 * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
3183 (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
3184 (WebCore::SimpleFontData::platformInit):
3185 (WebCore::SimpleFontData::platformDestroy):
3186 (WebCore::SimpleFontData::smallCapsFontData):
3187 (WebCore::SimpleFontData::containsCharacters):
3188 (WebCore::SimpleFontData::determinePitch):
3189 (WebCore::SimpleFontData::platformWidthForGlyph):
3190 (WebCore::SimpleFontData::scriptFontProperties):
3191 * platform/graphics/wx/FontCacheWx.cpp:
3192 (WebCore::FontCache::getFontDataForCharacters):
3193 * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
3194 * platform/graphics/wx/FontWx.cpp:
3195 (WebCore::Font::drawGlyphs):
3196 * platform/graphics/wx/GlyphMapWx.cpp:
3197 (WebCore::GlyphPage::fill):
3198 * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
3199 (WebCore::SimpleFontData::platformInit):
3200 (WebCore::SimpleFontData::platformDestroy):
3201 (WebCore::SimpleFontData::smallCapsFontData):
3202 (WebCore::SimpleFontData::containsCharacters):
3203 (WebCore::SimpleFontData::determinePitch):
3204 (WebCore::SimpleFontData::platformWidthForGlyph):
3205 * platform/mac/FileChooserMac.mm:
3206 * platform/mac/PopupMenuMac.mm:
3207 * platform/mac/WebCoreTextRenderer.mm:
3208 * platform/win/PopupMenuWin.cpp:
3209 * platform/win/UniscribeController.cpp:
3210 (WebCore::UniscribeController::advance):
3211 (WebCore::UniscribeController::itemizeShapeAndPlace):
3212 (WebCore::UniscribeController::shapeAndPlaceItem):
3213 (WebCore::UniscribeController::shape):
3214 * platform/win/UniscribeController.h:
3216 (WebCore::Font::drawGlyphsWithSVGFont):
3217 * svg/SVGFontElement.cpp:
3218 (WebCore::SVGFontElement::collectGlyphs):
3219 * svg/SVGFontFaceElement.cpp:
3220 (WebCore::SVGFontFaceElement::createFontData):
3221 * svg/SVGFontFaceElement.h:
3222 * svg/SVGGlyphElement.cpp:
3224 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3226 Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
3230 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
3232 Not reviewed. Proposed build fix for wx.
3236 2008-01-07 Dan Bernstein <mitz@apple.com>
3240 * platform/graphics/mac/FontCustomPlatformData.cpp:
3241 (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
3242 cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
3244 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3246 Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
3247 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)
3249 Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
3250 measure & render glyphs contained in SVG Fonts, including ligature lookup support.
3252 Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
3254 Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
3255 Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
3257 Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
3258 This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
3259 required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
3261 Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
3263 <glyph> elements now register themselves in the SVGFontElement's glyph cache.
3264 (insertedIntoDocument / removedFromDocument take care of this)
3266 The cache is built once now, and is kept updated - it's not rebuild anymore
3267 on painting (!) - which was a crude hack for testing.
3269 W3C testcase which include SVG Fonts:
3270 svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
3271 svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
3272 svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
3273 svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
3274 svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
3275 svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
3276 svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
3277 svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
3278 svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
3279 svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
3280 svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
3281 svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
3282 svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
3283 svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
3284 svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
3285 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)
3286 svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
3287 svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
3288 svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
3289 svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
3290 svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
3291 svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
3292 svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
3294 Questionable testcases:
3295 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.)
3296 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.
3298 Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
3300 * css/CSSFontSelector.cpp:
3301 (WebCore::CSSFontSelector::addFontFaceRule):
3302 (WebCore::CSSFontSelector::getFontData):
3303 * platform/graphics/Font.cpp:
3304 (WebCore::Font::lineSpacing):
3305 (WebCore::Font::xHeight):
3306 (WebCore::Font::canUseGlyphCache):
3307 (WebCore::Font::drawGlyphBuffer):
3308 (WebCore::Font::drawText):
3309 (WebCore::Font::floatWidth):
3310 (WebCore::Font::selectionRectForText):
3311 * platform/graphics/Font.h:
3312 (WebCore::TextRun::TextRun):
3313 (WebCore::TextRun::activePaintServer):
3314 (WebCore::TextRun::setActivePaintServer):
3315 * platform/graphics/FontData.cpp:
3316 (WebCore::FontData::lineSpacing):
3317 (WebCore::FontData::lineGap):
3318 (WebCore::FontData::xHeight):
3319 * platform/graphics/FontData.h:
3320 * platform/graphics/win/FontWin.cpp:
3321 (WebCore::Font::drawGlyphs):
3322 * rendering/RenderSVGText.cpp:
3323 (WebCore::RenderSVGText::relativeBBox):
3324 * rendering/SVGInlineTextBox.cpp:
3325 (WebCore::SVGInlineTextBox::paintCharacters):
3326 * rendering/SVGInlineTextBox.h:
3327 * rendering/SVGRootInlineBox.cpp:
3328 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3331 (WebCore::processArabicFormDetection):
3332 (WebCore::charactersWithArabicForm):
3333 (WebCore::isCompatibleArabicForm):
3334 (WebCore::isCompatibleGlyph):
3335 (WebCore::svgFontAndFontFaceElementForFontData):
3336 (WebCore::SVGTextRunWalker::SVGTextRunWalker):
3337 (WebCore::SVGTextRunWalker::walk):
3338 (WebCore::floatWidthUsingSVGFontCallback):
3339 (WebCore::floatWidthMissingGlyphCallback):
3340 (WebCore::floatWidthOfSubStringUsingSVGFont):
3341 (WebCore::Font::floatWidthUsingSVGFont):
3342 (WebCore::drawTextUsingSVGFontCallback):
3343 (WebCore::drawTextMissingGlyphCallback):
3344 (WebCore::Font::drawTextUsingSVGFont):
3345 (WebCore::Font::selectionRectForTextUsingSVGFont):
3346 * svg/SVGFontElement.cpp:
3347 (WebCore::SVGFontElement::SVGFontElement):
3348 (WebCore::SVGFontElement::addGlyphToCache):
3349 (WebCore::SVGFontElement::removeGlyphFromCache):
3350 (WebCore::SVGFontElement::firstMissingGlyphElement):
3351 (WebCore::SVGFontElement::glyphIdentifiersForString):
3352 * svg/SVGFontElement.h:
3353 (WebCore::SVGFontElement::maximumHashKeyLength):
3354 * svg/SVGFontFaceElement.cpp:
3355 (WebCore::SVGFontFaceElement::createFontData):
3356 (WebCore::SVGFontFaceElement::rebuildFontFace):
3357 (WebCore::SVGFontFaceElement::associatedFontElement):
3358 * svg/SVGFontFaceElement.h:
3359 * svg/SVGGlyphElement.cpp:
3360 (WebCore::SVGGlyphElement::insertedIntoDocument):
3361 (WebCore::SVGGlyphElement::removedFromDocument):
3362 (WebCore::parseArabicForm):
3363 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
3364 (WebCore::SVGGlyphElement::buildGlyphIdentifier):
3365 * svg/SVGGlyphElement.h:
3366 (WebCore::SVGGlyphIdentifier::):
3367 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3368 (WebCore::SVGGlyphIdentifier::inheritedValue):
3369 (WebCore::SVGGlyphIdentifier::operator==):
3370 (WebCore::SVGGlyphElement::~SVGGlyphElement):
3372 2008-01-07 David Hyatt <hyatt@apple.com>
3374 Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
3378 * rendering/RenderBox.h:
3379 * rendering/RenderTableCell.cpp:
3380 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3382 2008-01-07 Holger Freyther <zecke@selfish.org>
3384 Reviewed by Alp Toker.
3388 * platform/gtk/ContextMenuGtk.cpp:
3389 (WebCore::ContextMenu::~ContextMenu):
3391 2008-01-07 Holger Freyther <zecke@selfish.org>
3393 Reviewed by Alp Toker.
3395 * The ContextMenuController is going to live longer than the ContextMenu. It is
3396 going to live as long as the WebCore::Page is around where the ContextMenu, specially
3397 in the case of a SubMenu, is gone before we popup the menu.
3399 * platform/gtk/ContextMenuGtk.cpp:
3400 (WebCore::menuItemActivated):
3401 (WebCore::ContextMenu::appendItem):
3403 2008-01-07 Holger Freyther <zecke@selfish.org>
3405 Reviewed by Alp Toker.
3407 * Fix SubMenu handling
3408 * Do not connect to the activated signal if we are a separator or submenu
3409 * Change our type from ActionType to SubMenuType when we have a submenu
3410 * Initialize the SubMenu
3412 * platform/gtk/ContextMenuGtk.cpp:
3413 (WebCore::ContextMenu::appendItem):
3414 * platform/gtk/ContextMenuItemGtk.cpp:
3415 (WebCore::ContextMenuItem::ContextMenuItem):
3416 (WebCore::ContextMenuItem::createNativeMenuItem):
3417 (WebCore::ContextMenuItem::setSubMenu):
3419 2008-01-07 Holger Freyther <zecke@selfish.org>
3421 Reviewed by Alp Toker.
3423 * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
3425 * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
3426 * Update the ContextMenuController to accept CheckableActionTypes as well.
3427 * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
3428 was extracted from ContextMenu::checkOrEnableIfNeeded.
3429 * Update the Qt and Windows port.
3432 * page/ContextMenuController.cpp:
3433 * platform/ContextMenu.cpp:
3434 (WebCore::createAndAppendFontSubMenu):
3435 (WebCore::createAndAppendSpellingAndGrammarSubMenu):
3436 (WebCore::createAndAppendSpellingSubMenu):
3437 (WebCore::createAndAppendWritingDirectionSubMenu):
3438 * platform/ContextMenuItem.h:
3439 * platform/gtk/ContextMenuItemGtk.cpp:
3440 (WebCore::ContextMenuItem::ContextMenuItem):
3441 (WebCore::ContextMenuItem::createNativeMenuItem):
3443 2008-01-07 Luca Bruno <lethalman88@gmail.com>
3445 Reviewed by Alp Toker.
3447 http://bugs.webkit.org/show_bug.cgi?id=16745
3448 [GTK] Context menu doesn't feel or look native - no icons
3450 Use GTK+ stock icons for menu items where possible.
3452 * platform/gtk/ContextMenuItemGtk.cpp:
3453 (WebCore::gtkStockIDFromContextMenuAction):
3454 (WebCore::ContextMenuItem::createNativeMenuItem):
3455 (WebCore::ContextMenuItem::setAction):
3457 2008-01-07 Dan Bernstein <mitz@apple.com>
3459 Reviewed by John Sullivan.
3461 - make the ATSUI code path work with custom fonts rather than crash
3463 * platform/graphics/mac/FontCustomPlatformData.cpp:
3464 (WebCore::FontCustomPlatformData::fontPlatformData):
3465 * platform/graphics/mac/FontMac.mm:
3466 (WebCore::initializeATSUStyle):
3468 2008-01-07 Thiago Macieira <thiago.macieira@trolltech.com>
3472 abort() now emits the signals, so disconnect them before you abort()
3474 * platform/network/qt/QNetworkReplyHandler.cpp:
3475 (WebCore::QNetworkReplyHandler::abort):
3477 2008-01-07 Simon Hausmann <hausmann@webkit.org>
3481 Use a faster and safer way of flattening the form data.
3483 * platform/network/qt/QNetworkReplyHandler.cpp:
3484 (WebCore::QNetworkReplyHandler::start):
3486 2008-01-07 Simon Hausmann <hausmann@webkit.org>
3490 Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
3493 * platform/network/ResourceHandleInternal.h:
3494 * platform/network/qt/QNetworkReplyHandler.cpp: Added.
3495 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3496 (WebCore::QNetworkReplyHandler::abort):
3497 (WebCore::QNetworkReplyHandler::finish):
3498 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3499 (WebCore::QNetworkReplyHandler::forwardData):
3500 (WebCore::QNetworkReplyHandler::start):
3501 * platform/network/qt/QNetworkReplyHandler.h: Added.
3502 (WebCore::QNetworkReplyHandler::reply):
3503 * platform/network/qt/ResourceHandleQt.cpp:
3504 (WebCore::ResourceHandle::start):
3505 (WebCore::ResourceHandle::cancel):
3506 (WebCore::ResourceHandle::loadResourceSynchronously):
3507 * platform/network/qt/ResourceRequest.h:
3508 (WebCore::ResourceRequest::ResourceRequest):
3509 * platform/network/qt/ResourceRequestQt.cpp: Added.
3510 (WebCore::ResourceRequest::toNetworkRequest):
3511 * platform/qt/MIMETypeRegistryQt.cpp:
3512 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3513 * platform/qt/PlugInInfoStoreQt.cpp:
3514 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
3515 (WebCore::PlugInInfoStore::pluginCount):
3516 (WebCore::PlugInInfoStore::pluginNameForMIMEType):
3518 2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3522 * Remove m_dirtyRegion as it is not used as we pass every dirty region
3523 directly to the ChromeClient
3525 * platform/qt/ScrollViewQt.cpp:
3526 (WebCore::ScrollView::paint):
3528 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3532 Small CG paint server cleanups - use more GraphicsContext method where possible.
3534 * svg/graphics/cg/CgSupport.cpp:
3535 (WebCore::applyStrokeStyleToContext):
3536 (WebCore::strokeBoundingBox):
3537 * svg/graphics/cg/CgSupport.h:
3538 * svg/graphics/cg/RenderPathCg.cpp:
3539 (WebCore::RenderPath::strokeContains):
3540 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
3541 (WebCore::SVGPaintServerGradient::setup):
3542 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
3543 (WebCore::SVGPaintServerPattern::setup):
3544 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
3545 (WebCore::SVGPaintServerSolid::setup):
3547 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
3551 Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
3553 * platform/graphics/mac/FontMac.mm:
3554 (WebCore::ATSULayoutParameters::initialize):
3556 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3560 DOMRange doesn't correctly re-size when inserting items (Acid3)
3561 http://bugs.webkit.org/show_bug.cgi?id=16764
3563 Update the offset for the range when inserting items into the range.
3565 Test: fast/dom/Range/range-modifycontents.html
3568 (WebCore::Range::insertNode):
3570 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3574 http://bugs.webkit.org/show_bug.cgi?id=16731
3575 Incorrect node type for whitespace when setting innerHTML in an XHTML document
3577 Test: fast/dom/xhtml-fragment-whitespace.xhtml
3579 * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
3580 Use balancedCharactersHandler for ignorable whitespace.
3582 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3586 http://bugs.webkit.org/show_bug.cgi?id=16701
3587 <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
3588 causes page load error
3590 Test: http/tests/misc/location-with-space.php
3592 * platform/network/cf/ResourceRequestCFNet.cpp:
3593 (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
3595 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3599 DOMRange.cloneContents does not work (Acid3 bug)
3600 http://bugs.webkit.org/show_bug.cgi?id=16748
3602 When cloning an empty range, return an empty DocmentFragment instead of
3605 Test: fast/dom/Range/range-clone-empty.html
3608 (WebCore::Range::processContents):
3610 2008-01-06 Luca Bruno <lethalman88@gmail.com>
3612 Reviewed by Alp Toker.
3614 Remove curl handles immediately if the timer is not running.
3616 * platform/network/curl/ResourceHandleManager.cpp:
3617 (WebCore::ResourceHandleManager::cancel):
3619 2008-01-06 Alp Toker <alp@atoker.com>
3623 Cairo canvas refcounting fix. Reference the surface in the constructor
3624 to match its destruction in the destructor.
3626 Fixes a crash triggered by leaving this page:
3627 http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
3629 * html/CanvasPattern.cpp:
3630 (WebCore::CanvasPattern::CanvasPattern):
3632 2008-01-06 Eric Seidel <eric@webkit.org>
3636 Make attr selectors case-insensitive for certain HTML attributes
3637 http://bugs.webkit.org/show_bug.cgi?id=15470
3639 Test: fast/css/html-attr-case-sensitivity.html
3641 * css/CSSStyleSelector.cpp:
3642 (WebCore::addLocalNameToSet):
3643 (WebCore::createHtmlCaseInsensitiveAttributesSet):
3644 (WebCore::htmlAttributeHasCaseInsensitiveValue):
3645 (WebCore::CSSStyleSelector::checkOneSelector):
3647 2008-01-06 Eric Seidel <eric@webkit.org>
3651 Fix :checked matching type='text' and add test case
3652 http://bugs.webkit.org/show_bug.cgi?id=16750
3654 Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
3656 * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
3658 2008-01-05 Sam Weinig <sam@webkit.org>
3660 Reviewed by Eric Seidel.
3662 Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
3663 ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
3665 - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
3667 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
3669 * dom/TreeWalker.cpp:
3670 (WebCore::TreeWalker::parentNode):
3671 (WebCore::TreeWalker::firstChild):
3672 (WebCore::TreeWalker::lastChild):
3673 (WebCore::TreeWalker::previousSibling):
3674 (WebCore::TreeWalker::nextSibling):
3675 (WebCore::TreeWalker::previousNode):
3676 (WebCore::TreeWalker::nextNode):
3678 2008-01-04 Oliver Hunt <oliver@apple.com>
3680 Reviewed by Beth Dakin.
3682 Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
3683 and other image repaint bugs.
3685 We now cache the full local bounds for the <image> element, as otherwise certain
3686 combinations of attribute changes could result in incorrect dirty rects.
3687 Additionally we no longer use any of the integer bounds fields on RenderObject for
3688 determining repaint bounds (this was the principle cause of bug #16015).
3690 I also removed the outline painting code as it was both wrong, and not correctly
3691 repainted. I feel safe doing this as no other browser or viewer supports outline
3692 properties on svg elements.
3694 I was unable to make a testcase for this unfortunately, despite seemingly deterministic
3697 * rendering/RenderSVGImage.cpp:
3698 (WebCore::RenderSVGImage::layout):
3699 (WebCore::RenderSVGImage::paint):
3700 (WebCore::RenderSVGImage::nodeAtPoint):
3701 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3702 * rendering/RenderSVGImage.h:
3704 2008-01-04 Beth Dakin <bdakin@apple.com>
3708 Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with
3709 type="hidden" matches :enabled/:disabled (Acid3 bug)
3711 Prevent :enabled and :disabled from applying to input type="hidden"
3713 * css/CSSStyleSelector.cpp:
3714 (WebCore::CSSStyleSelector::checkOneSelector): Rather than
3715 allowing :enabled and :disabled to apply to all controls, only
3716 allow it to apply to non-"hidden" controls
3718 (WebCore::Element::isInputTypeHidden):
3719 * html/HTMLInputElement.h:
3720 (WebCore::HTMLInputElement::isInputTypeHidden):
3722 2008-01-04 Sam Weinig <sam@webkit.org>
3724 Reviewed by Oliver Hunt.
3726 - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
3727 getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
3728 if the type of the CSSPrimitiveValue is not the same as the type requested.
3729 - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
3731 Test: fast/css/CSSPrimitiveValue-exceptions.html
3733 * css/CSSPrimitiveValue.cpp:
3734 (WebCore::CSSPrimitiveValue::getDoubleValue):
3735 (WebCore::CSSPrimitiveValue::getStringValue):
3736 (WebCore::CSSPrimitiveValue::getCounterValue):
3737 (WebCore::CSSPrimitiveValue::getRectValue):
3738 (WebCore::CSSPrimitiveValue::getRGBColorValue):
3739 (WebCore::CSSPrimitiveValue::getPairValue):
3740 * css/CSSPrimitiveValue.h:
3741 (WebCore::CSSPrimitiveValue::getFloatValue):
3742 (WebCore::CSSPrimitiveValue::getIntValue):
3743 (WebCore::CSSPrimitiveValue::getCounterValue):
3744 (WebCore::CSSPrimitiveValue::getRectValue):
3745 (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
3746 * css/CSSPrimitiveValue.idl:
3748 2008-01-04 Antti Koivisto <antti@apple.com>
3752 Windows part of <rdar://problem/5647034>
3753 Media tests crash if an old version of QuickTime is installed
3755 Check QuickTime version on Windows too.
3757 * platform/graphics/MediaPlayer.cpp:
3758 (WebCore::MediaPlayer::isAvailable):
3759 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3760 (WebCore::MediaPlayerPrivate::isAvailable):
3761 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3762 (WebCore::MediaPlayerPrivate::isAvailable):
3763 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3764 * platform/graphics/win/QTMovieWin.cpp:
3765 (QTMovieWin::initializeQuickTime):
3767 2008-01-04 Darin Adler <darin@apple.com>
3769 Reviewed by Maciej and Alice.
3771 - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
3773 Test: fast/images/border.html
3775 * html/HTMLImageElement.cpp:
3776 (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
3777 where the border value is not a number to use the value "0" for the border width instead
3778 of not setting the border width and style at all. This matches other browsers, and makes
3781 2008-01-04 Antti Koivisto <antti@apple.com>
3783 Try to fix 64-bit build
3785 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3786 (WebCore::MediaPlayerPrivate::isAvailable):
3788 2008-01-04 Stephanie <slewis@apple.com>
3792 WARNING: NO TEST CASES ADDED OR CHANGED
3794 Fix another stringImpl leak.
3796 * platform/text/StringImpl.cpp: remove an extra allocation
3797 (WebCore::StringImpl::StringImpl):
3799 2008-01-04 Alice Liu <alice.liu@apple.com>
3803 * platform/graphics/win/FontCacheWin.cpp:
3804 fix loop condition that was causing crash
3806 2008-01-04 Timothy Hatcher <timothy@apple.com>
3808 Reviewed by Adam Roben.
3810 <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
3812 * page/inspector/inspector.css: Remove styles related to the toggle button
3813 and make the area always visible.
3814 * page/inspector/inspector.html: Remove the toggle button.
3815 * page/inspector/inspector.js: Remove code to toggle the status area.
3817 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
3819 Reviewed by Adam Roben.
3821 Temporarily restore BackwardDelete for Windows nightlies to work correctly.
3823 * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
3825 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
3829 <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
3831 Enable the fix on Windows.
3833 * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
3834 Always set a custom sort function, even if it doesn't implement proper collation on the platform.
3836 * xml/XSLTUnicodeSort.cpp:
3837 (WebCore::xsltUnicodeSortFunction):
3838 * xml/XSLTUnicodeSort.h:
3839 If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
3841 2008-01-04 Antti Koivisto <antti@apple.com>
3845 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3847 2008-01-04 Antti Koivisto <antti@apple.com>
3851 Partial fix for <rdar://problem/5647034>
3852 Media tests crash if an old version of QuickTime is installed
3854 Disable media support if QuickTime is not current enough (>=7.3).
3856 Windows patch coming soon.
3858 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3859 (WebCore::createJSHTMLWrapper):
3860 * bindings/js/kjs_window.cpp:
3861 (KJS::Window::getValueProperty):
3862 * html/HTMLElementFactory.cpp:
3863 (WebCore::audioConstructor):
3864 (WebCore::videoConstructor):
3865 (WebCore::sourceConstructor):
3866 * platform/graphics/MediaPlayer.cpp:
3867 (WebCore::MediaPlayer::isAvailable):
3868 * platform/graphics/MediaPlayer.h:
3869 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3870 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3871 (WebCore::MediaPlayerPrivate::isAvailable):
3873 2008-01-04 Timothy Hatcher <timothy@apple.com>
3875 Reviewed by Darin Adler.
3877 <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
3879 Check if the property is a getter before asking for the value.
3880 If the property is a getter, we no longer show the value.
3882 * page/inspector/PropertiesSidebarPane.js:
3883 * page/inspector/inspector.css:
3885 2008-01-04 Dan Bernstein <mitz@apple.com>
3887 Reviewed by Darin Adler.
3889 - fix synthetic bold and italic on Windows
3891 Covered by an existing test.
3893 * platform/graphics/win/FontPlatformDataWin.cpp:
3894 (WebCore::FontPlatformData::FontPlatformData):
3896 2008-01-04 Alp Toker <alp@atoker.com>
3898 GTK+ autotools build fix. Terminate empty rules.
3902 2008-01-04 Lars Knoll <lars@trolltech.com>
3906 Remove most dependencies of Widget/ScrollView onto native QWidgets.
3908 This also brings the code closer in line with the Windows code. Seems
3909 to work nicely on first try :)
3911 * page/qt/FrameQt.cpp:
3912 (WebCore::Frame::createScriptInstanceForWidget):
3913 * platform/Widget.h:
3914 * platform/qt/PlatformScreenQt.cpp:
3915 (WebCore::screenDepth):
3916 (WebCore::screenDepthPerComponent):
3917 (WebCore::screenIsMonochrome):
3918 (WebCore::screenRect):
3919 * platform/qt/PlatformScrollBarQt.cpp:
3920 (WebCore::PlatformScrollbar::thumbPosition):
3921 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3922 * platform/qt/ScrollViewQt.cpp:
3923 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3924 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3925 (WebCore::ScrollView::updateContents):
3926 (WebCore::ScrollView::update):
3927 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3928 (WebCore::ScrollView::updateScrollbars):
3929 (WebCore::ScrollView::addChild):
3930 (WebCore::ScrollView::removeChild):
3931 (WebCore::ScrollView::paint):
3932 * platform/qt/WidgetQt.cpp:
3933 (WebCore::WidgetPrivate::WidgetPrivate):
3934 (WebCore::WidgetPrivate::~WidgetPrivate):
3935 (WebCore::Widget::frameGeometry):
3936 (WebCore::Widget::setFrameGeometry):
3937 (WebCore::Widget::setCursor):
3938 (WebCore::Widget::show):
3939 (WebCore::Widget::hide):
3940 (WebCore::Widget::nativeWidget):
3941 (WebCore::Widget::setNativeWidget):
3942 (WebCore::Widget::suppressInvalidation):
3943 (WebCore::Widget::setSuppressInvalidation):
3944 (WebCore::Widget::invalidateRect):
3945 (WebCore::Widget::topLevel):
3946 (WebCore::Widget::containingWindow):
3948 2008-01-04 Lars Knoll <lars@trolltech.com>
3952 make QWebPage a QObject and get things to compile.
3954 Nothing works currently though.
3956 * platform/qt/ScrollViewQt.cpp:
3957 (WebCore::ScrollView::updateContents):
3958 (WebCore::ScrollView::update):
3959 * platform/qt/WidgetQt.cpp:
3960 (WebCore::Widget::qwidget):
3961 (WebCore::Widget::invalidateRect):
3963 2008-01-04 Alp Toker <alp@atoker.com>
3965 Reviewed by Mark Rowe.
3967 http://bugs.webkit.org/show_bug.cgi?id=16667
3968 make -j is failing with the autotools based system
3970 Support parallel code generation. Nearly every use of explicit
3971 multiple targets was a potential concurrency bug, though in practice
3972 the bison rules were the first to be noticed because they took longer
3973 to complete and broke the build immediately.
3977 2008-01-04 Alp Toker <alp@atoker.com>
3979 Reviewed by Mark Rowe.
3981 Re-use a single static dummy surface rather than creating and
3982 destroying a surface for each CairoPath.
3984 * platform/graphics/cairo/CairoPath.h:
3985 (WebCore::CairoPath::CairoPath):
3987 2008-01-04 Mark Rowe <mrowe@apple.com>
3991 * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
3993 2008-01-03 Mark Rowe <mrowe@apple.com>
3995 Reviewed by Maciej Stachowiak.
3997 Use platform-provided atomic operations in place of inline assembly to
3998 increase portability.
4000 * platform/Threading.h:
4001 (WebCore::atomicIncrement):
4002 (WebCore::atomicDecrement):
4004 2008-01-03 Oliver Hunt <oliver@apple.com>
4008 Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
4010 We need to cache the absolute bounds of the <image>,
4011 as there's no reliable way to recompute the old bounding
4012 box one we have started layout.
4014 * rendering/RenderSVGImage.cpp:
4015 (WebCore::RenderSVGImage::layout):
4016 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
4017 * rendering/RenderSVGImage.h:
4019 2008-01-03 Alp Toker <alp@atoker.com>
4021 Reviewed by Mark Rowe.
4023 Support building in Scratchbox, which has a version of make that fails
4024 on wildcard syntax. Use a vpath to match IDL files instead.
4028 2008-01-03 Jon Honeycutt <jhoneycutt@apple.com>
4032 <rdar://problem/5504775> PDF page will not load first time after Adobe
4033 Reader install, unless browser is relaunched
4035 Refresh and re-search the plugin database if the MIME type is not
4038 * plugins/win/PluginDatabaseWin.cpp:
4039 (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
4040 * plugins/win/PluginDatabaseWin.h:
4042 2008-01-03 Dan Bernstein <mitz@apple.com>
4044 Reviewed by Darin Adler.
4046 - fix http://bugs.webkit.org/show_bug.cgi?id=16548
4047 <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
4049 * platform/graphics/win/FontCacheWin.cpp:
4050 (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
4051 a valid LOGFONT for a given family.
4052 (WebCore::getLinkedFonts): Added. Returns a vector of font families
4053 linked to the given font family by the Windows registry key
4054 HKLM\Software\...\FontLink\SystemLink. The registry values typically
4055 differ based on the installed language version of Windows.
4056 (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
4057 font mapping, which is Windows code page based, except for characters in
4058 the range U+2000..U+200F. Instead, this function gets the font Uniscribe
4059 would use for the character. However, that font might not actually
4060 contain the character, in which case GDI font linking would substitute a
4061 different font. Therefore, this function walks the linked font list
4062 until it finds a font that actually contains the character.
4064 2008-01-03 Darin Adler <darin@apple.com>
4068 - fix http://bugs.webkit.org/show_bug.cgi?id=16723
4069 tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
4071 Test: fast/table/border-changes.html
4073 * html/HTMLTableElement.h:
4074 * html/HTMLTableElement.cpp:
4075 (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
4076 parsing attributes, rather than doing this only for the rules attribute.
4077 (WebCore::HTMLTableElement::cellBorders): Added.
4078 (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
4079 rule about what type of borders to use.
4081 2008-01-02 Sam Weinig <sam@webkit.org>
4085 Pass the prototype of WebCore JS objects up the constructor chain
4086 rather than explicitly setting using setPrototype. This removes many
4087 redundant settings of the prototype on construction. To avoid a CG
4088 hazard, the prototype must be constructed before calling the
4089 constructor of the JS object.
4091 - JS objects that inherit from DOMObject, which all bindings objects
4092 (except Window) do, now can't implicitly have a jsNull prototype, but
4093 must explicitly pass it up the construction chain.
4095 * bindings/js/JSCSSRuleCustom.cpp:
4097 * bindings/js/JSCSSValueCustom.cpp:
4099 * bindings/js/JSDocumentCustom.cpp:
4101 * bindings/js/JSEventCustom.cpp:
4103 * bindings/js/JSEventTargetNode.cpp:
4104 (WebCore::JSEventTargetNode::JSEventTargetNode):
4105 * bindings/js/JSEventTargetNode.h:
4106 * bindings/js/JSHTMLAllCollection.h:
4107 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
4108 * bindings/js/JSHTMLAudioElementConstructor.cpp:
4109 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
4110 * bindings/js/JSHTMLCollectionCustom.cpp:
4111 (WebCore::getNamedItems):
4113 * bindings/js/JSHTMLElementWrapperFactory.cpp:
4114 (WebCore::createJSHTMLWrapper):
4115 * bindings/js/JSHTMLFormElementCustom.cpp:
4116 (WebCore::JSHTMLFormElement::nameGetter):
4117 * bindings/js/JSHTMLInputElementBase.cpp:
4118 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
4119 * bindings/js/JSHTMLInputElementBase.h:
4120 * bindings/js/JSHTMLOptionElementConstructor.cpp:
4121 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
4122 * bindings/js/JSLocation.cpp:
4123 (WebCore::JSLocation::JSLocation):
4124 * bindings/js/JSLocation.h:
4125 * bindings/js/JSNamedNodesCollection.cpp:
4126 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
4127 * bindings/js/JSNamedNodesCollection.h:
4128 * bindings/js/JSNodeCustom.cpp:
4130 * bindings/js/JSSVGElementWrapperFactory.cpp:
4131 (WebCore::createJSSVGWrapper):
4132 * bindings/js/JSSVGPathSegCustom.cpp:
4134 * bindings/js/JSStyleSheetCustom.cpp:
4136 * bindings/js/JSXMLHttpRequest.cpp:
4137 (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
4138 (KJS::JSXMLHttpRequestConstructorImp::construct):
4139 (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
4140 * bindings/js/JSXMLHttpRequest.h:
4141 * bindings/js/JSXSLTProcessor.cpp:
4142 (KJS::JSXSLTProcessor::JSXSLTProcessor):
4143 (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
4144 (KJS::XSLTProcessorConstructorImp::implementsConstruct):
4145 (KJS::XSLTProcessorConstructorImp::construct):
4146 * bindings/js/JSXSLTProcessor.h:
4147 * bindings/js/kjs_binding.h:
4148 (KJS::DOMObject::DOMObject):
4149 (KJS::cacheDOMObject):
4150 (KJS::cacheSVGDOMObject):
4151 * bindings/js/kjs_css.cpp:
4152 (WebCore::JSRGBColor::JSRGBColor):
4153 (WebCore::getJSRGBColor):
4154 * bindings/js/kjs_css.h:
4155 * bindings/js/kjs_events.cpp:
4156 (WebCore::JSClipboard::JSClipboard):
4158 * bindings/js/kjs_events.h:
4159 * bindings/js/kjs_html.cpp:
4160 (WebCore::ImageConstructorImp::ImageConstructorImp):
4161 * bindings/js/kjs_navigator.cpp:
4162 (KJS::Navigator::Navigator):
4163 (KJS::PluginBase::PluginBase):
4164 * bindings/js/kjs_navigator.h:
4165 * bindings/js/kjs_window.cpp:
4166 (KJS::Window::Window):
4167 (KJS::Window::location):
4168 (KJS::Window::getValueProperty):
4169 * bindings/js/kjs_window.h:
4170 * bindings/scripts/CodeGeneratorJS.pm:
4172 2008-01-03 Holger Hans Peter Freyther <zecke@selfish.org>
4176 -This is from http://bugs.webkit.org/show_bug.cgi?id=16115
4178 Change the Gtk ContextMenuItem code to generate the GtkMenuItem
4179 or GtkCheckMenuItem on the fly. Currently we will create a
4180 GtkCheckMenuItem if the ContextMenuItem has been checked. What needs
4181 to be done is to change WebCore to tell the platform code if an item
4182 is checkable or not.
4184 * platform/ContextMenuItem.h:
4185 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
4186 * platform/gtk/ContextMenuGtk.cpp:
4187 (WebCore::ContextMenu::appendItem):
4188 * platform/gtk/ContextMenuItemGtk.cpp:
4189 (WebCore::ContextMenuItem::ContextMenuItem):
4190 (WebCore::ContextMenuItem::~ContextMenuItem):
4191 (WebCore::ContextMenuItem::createNativeMenuItem):
4192 (WebCore::ContextMenuItem::releasePlatformDescription):
4193 (WebCore::ContextMenuItem::type):
4194 (WebCore::ContextMenuItem::setType):
4195 (WebCore::ContextMenuItem::action):
4196 (WebCore::ContextMenuItem::setAction):
4197 (WebCore::ContextMenuItem::platformSubMenu):
4198 (WebCore::ContextMenuItem::setSubMenu):
4199 (WebCore::ContextMenuItem::setChecked):
4201 2008-01-03 Dan Bernstein <mitz@apple.com>
4203 Rubber-stamped by Adam Roben.
4205 - update the project hierarchy to match the on-disk organization of
4206 the platform directory.
4208 * WebCore.vcproj/WebCore.vcproj:
4210 2008-01-03 Adam Roben <aroben@apple.com>
4212 Fix a buffer overrun and a leak introduced in r29098
4216 * platform/text/StringImpl.cpp:
4217 (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make
4218 it be big enough to hold the string contents plus the null terminator.
4220 2008-01-03 Simon Hausmann <hausmann@webkit.org>
4224 Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
4228 2008-01-03 Alp Toker <alp@atoker.com>
4230 Suggested by Mark Rowe.
4232 Fix indentation and remove trailing whitespace.
4234 * platform/network/curl/ResourceHandleManager.cpp:
4236 2008-01-03 Luca Bruno <lethalman88@gmail.com>
4238 Reviewed by Alp Toker.
4240 Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring
4241 that the two POST methods don't conflict.
4243 * platform/network/curl/ResourceHandleManager.cpp:
4244 (WebCore::ResourceHandleManager::setupPOST):
4246 2008-01-02 Darin Adler <darin@apple.com>
4248 - touched some files to try to get the Windows buildbot building again
4250 2008-01-02 Dan Bernstein <mitz@apple.com>
4252 Reviewed by Sam Weinig.
4254 - fix small caps rendering
4256 Covered by an existing test.