2009-06-24 Mark Rowe Merge r44877. 2009-06-19 Geoffrey Garen Reviewed by Maciej Stachowiak. An additional fix for Bug 26532: Native functions do not correctly unlink from optimised callsites when they're collected | Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame accessors, so the type of object you get to wrap a function is the same, regardless of whether the access to the function is cross-frame. This is faster and more idiomatic than what we had before. It also would have avoided Bug 26532 because it would have prevented a conflicting PrototypeFunction from being allocated to wrap postMessage, where a NativeFunctionWrapper had been allocated previously. * bindings/js/JSDOMBinding.cpp: (WebCore::objectToStringFunctionGetter): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::nonCachingStaticFunctionGetter): * bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter): * bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): 2009-06-24 Mark Rowe Merge r44941. 2009-06-22 Alexey Proskuryakov Reviewed by John Sullivan. REGRESSION (S4Beta -> Final): After the password is input, Japanese can't be input. WebKit uses a per-frame input context for most editable fields, and application's global context for password fields, manually controlling secure input state and the list of available input methods. We were setting TSMDocument property to disable non-Roman input methods after focus changed to a password field, but before selection was updated. This resulted in the property being applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input context cached by +[NSApplication updateWindows], we change context based on selection, not on focus. * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one context that we use for password fields - the global one - there is no need to get the active one. 2009-06-24 Mark Rowe Merge r44940. 2009-06-22 David Levin Reviewed by David Hyatt and Eric Seidel. REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction. https://bugs.webkit.org/show_bug.cgi?id=26326 Test: scrollbars/scrollbar-crash-on-refresh.html * dom/Document.cpp: (WebCore::Document::detach): Gives the FrameView a change to do any necessary cleanup on Document::detach() which is where the renderArena gets detroyed. * page/FrameView.cpp: (WebCore::FrameView::detachCustomScrollbars): Gets rid of any custom scrollbars (if the docment supplied them). * page/FrameView.h: * platform/Scrollbar.h: (WebCore::Scrollbar::isCustomScrollbar): * rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): Removed the check for document()->frame(). If frame() is 0 in this code, then the call to animation() is also incorrect (since it does document()->frame()->animation()). * rendering/RenderScrollbar.h: (WebCore::RenderScrollbar::isCustomScrollbar): 2009-06-24 Mark Rowe Merge r44908. 2009-06-19 Alice Liu Fix https://bugs.webkit.org/show_bug.cgi?id=26568 Repro crash animating GIF if previously used in a closed window's back/forward list Also filed as Reviewed by Maciej Stachowiak. Can't test this bug with an automated layout test since it requires b/f caching * manual-tests/animated-gif-bfcache-crash.html: Added. * manual-tests/resources/containsAnimatedGif.html: Added. Adding checks for hostWindow() since there is no guarantee that the Page is alive * platform/ScrollView.cpp: (WebCore::ScrollView::scrollRectIntoViewRecursively): (WebCore::ScrollView::contentsToScreen): (WebCore::ScrollView::screenToContents): (WebCore::ScrollView::wheelEvent): 2009-06-24 Mark Rowe Merge r44906. 2009-06-20 Sam Weinig Reviewed by Adam Barth. Fix for https://bugs.webkit.org/show_bug.cgi?id=26554 Shadowing of top and parent * page/DOMWindow.idl: 2009-06-23 Mark Rowe Merge r44799. 2009-06-18 Chris Evans Reviewed by Adam Barth. Fix 8-digit long hex entities. Fixes bug 26454 https://bugs.webkit.org/show_bug.cgi?id=26454 Test: fast/parser/eightdigithexentity.html * html/HTMLTokenizer.cpp: fix off-by-ones. 2009-06-23 Mark Rowe Merge r44749. 2009-06-16 Antti Koivisto Reviewed by Brady Eidson. CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53 When revalidating a resource, calling addClient() on one client might cause another to get removed. - made CachedResource::addClient() non-virtual and added virtual didAddClient() - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first - check if the client is still in the set before invoking didAddClient() for it No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that reference each other via @imports and reloading. * WebCore.base.exp: * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::didAddClient): * loader/CachedCSSStyleSheet.h: * loader/CachedFont.cpp: (WebCore::CachedFont::didAddClient): * loader/CachedFont.h: * loader/CachedImage.cpp: (WebCore::CachedImage::didAddClient): * loader/CachedImage.h: * loader/CachedResource.cpp: (WebCore::CachedResource::addClient): (WebCore::CachedResource::addClientToSet): (WebCore::CachedResource::switchClientsToRevalidatedResource): * loader/CachedResource.h: * loader/CachedScript.cpp: (WebCore::CachedScript::didAddClient): * loader/CachedScript.h: * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::didAddClient): * loader/CachedXSLStyleSheet.h: 2009-06-23 Mark Rowe Merge r44519. 2009-06-08 Brady Eidson Reviewed by Antti Koivisto Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes. Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html Loader::Host objects were manually managed via new/delete. There's a variety of circumstances where a Host might've been deleted while it was still in the middle of a resource load delegate callback. Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear. At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't fully implemented. * loader/loader.cpp: (WebCore::Loader::Loader): (WebCore::Loader::load): (WebCore::Loader::servePendingRequests): (WebCore::Loader::resumePendingRequests): (WebCore::Loader::cancelRequests): (WebCore::Loader::Host::didFinishLoading): (WebCore::Loader::Host::didFail): (WebCore::Loader::Host::didReceiveResponse): (WebCore::Loader::Host::didReceiveData): * loader/loader.h: (WebCore::Loader::Host::create): 2009-06-23 Mark Rowe Merge r44266. 2009-05-29 Chris Fleizach Reviewed by Beth Dakin. Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored https://bugs.webkit.org/show_bug.cgi?id=26024 AX notifications are posted after a one shot timer so that notifications are not performed mid-layout. Consolidated postNotification and postNotificationToElement into one method. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::AXObjectCache): (WebCore::AXObjectCache::notificationPostTimerFired): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::selectedChildrenChanged): * accessibility/AXObjectCache.h: (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postPlatformNotification): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): * accessibility/chromium/AXObjectCacheChromium.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/win/AXObjectCacheWin.cpp: (WebCore::AXObjectCache::postPlatformNotification): * dom/Document.cpp: (WebCore::Document::implicitClose): * editing/Editor.cpp: (WebCore::Editor::respondToChangedContents): * editing/mac/SelectionControllerMac.mm: (WebCore::SelectionController::notifyAccessibilityForSelectionChange): * page/FrameView.cpp: (WebCore::FrameView::layout): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setInnerTextValue): 2009-06-23 Mark Rowe Merge r44124. 2009-05-25 Adam Barth Reviewed by Maciej Stachowiak. https://bugs.webkit.org/show_bug.cgi?id=26004 The origin for postMessage should follow lexical scope, not dynamic scope. Yes, this is a super-obscure corner case. Test: http/tests/security/postMessage/origin-follows-lexical-scope.html * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): 2009-06-10 Mark Rowe Merge r44591. 2009-06-10 Dan Bernstein Reviewed by Anders Carlsson. - fix REGRESSION (r42665): When I drag to pan a Google map in iPhoto Places, it drags a map tile instead Calling stopLoadRequest() from notifyFinished() removed the ScriptElementData from the CachedScript's client set, which could make it eligible for purging. The fix is to call removeClient() only after executing the script, which protects it from being purged while it is in the document's queue of scripts to execute soon. * dom/ScriptElement.cpp: (WebCore::ScriptElementData::execute): Call removeClient() here. (WebCore::ScriptElementData::notifyFinished): Instead of calling stopLoadRequest(), which calls removeClient(), just reset m_cachedScript. 2009-05-28 Mark Rowe Merge r44218. 2009-05-27 Dan Bernstein Reviewed by Sam Weinig. - fix placeholder text is unstylable and initially not visible Test: fast/forms/isindex-placeholder.html * css/html4.css: Added a default style for placeholder text. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call the new protected function updatePlaceholderVisibility(). * html/HTMLInputElement.h: (WebCore::HTMLInputElement::updatePlaceholderVisibility): Added this protected function to allow HTMLIsIndexElement::parseMappedAttribute() to invoke InputElement::updatePlaceholderVisibility(). * html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::parseMappedAttribute): Call updatePlaceholderVisibility() when parsing the placeholder attribute. * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::createInnerTextStyle): If there is no placeholder pseudo-element style, use the normal style. 2009-05-28 Mark Rowe Merge r44241. 2009-05-28 Adam Roben Don't try to use the new combobox parts on Vista in Classic mode Fixes: REGRESSION (r42289+r42350): Windows Classic theme: drop down lists in Preferences get a line/square REGRESSION (r42289): Windows Classic: drop down lists are black with a circle on many sites Reviewed by Steve Falkenburg. * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintMenuList): Only use the new combobox parts when we have a theme (i.e., when we're not in Classic mode). When we don't have a theme, fall back to the pre-r42289 code. 2009-05-28 Dan Bernstein Reviewed by Beth Dakin. - Windows build fix after r44178 * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::initGDIFont): 2009-05-27 Mark Rowe Merge r44189. 2009-05-27 John Sullivan fixed repro crash in WebCore::DragController::dragExited dropping bookmarks (at least) over Top Sites (at least) Reviewed by Kevin Decker * page/DragController.cpp: (WebCore::DragController::dragExited): nil check m_documentUnderMouse and take the "local file" case if it's nil 2009-05-27 Mark Rowe Merge r44181. 2009-05-26 Sam Weinig Reviewed by Brady Eidson. Fix for iWeb 'Announce' button does nothing after publishing to MobileMe Add ability to force content sniffing for all urls (including file: urls) * WebCore.base.exp: * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::shouldContentSniffURL): (WebCore::ResourceHandle::forceContentSniffing): * platform/network/ResourceHandle.h: 2009-05-27 Mark Rowe Merge r44170. 2009-05-26 Anders Carlsson Reviewed by Dan Bernstein. REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com Don't use the WKCGContextIsSafeToClip function; it wasn't working correctly. Instead, just disable the improved selection drawing on Tiger. * WebCore.Tiger.exp: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): (WebCore::GraphicsContext::clipPath): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::strokeRect): * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::fillSelectionGaps): 2009-05-26 Beth Dakin Rubber-stamped by Dan Bernstein and Darin Adler. Fix for Revert back to Safari 3 text control metrics calculations We're rolling this change out of the branch because we think it needs more bake time. * css/html4.css: * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::lineGap): * platform/graphics/mac/SimpleFontDataMac.mm: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::calcPrefWidths): * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::preferredContentWidth): 2009-05-25 Mark Rowe Merge r44136. 2009-05-25 Anders Carlsson Reviewed by Sam Weinig. - WebCore side of . Add a new m_allowPopupsFromPlugin flag. * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): * bindings/js/ScriptController.h: (WebCore::ScriptController::setAllowPopupsFromPlugin): (WebCore::ScriptController::allowPopupsFromPlugin): 2009-05-25 Mark Rowe Merge r44075. 2009-05-22 Darin Adler Reviewed by Dan Bernstein. Incorrect handling of % as CSS value. Test: fast/css/percent-character-as-value.html * css/CSSGrammar.y: Make a stray % character reliably cause CSS parsing to succeed, but the CSS value to be ignored because of incorrect type. A type of 0 has this effect. 2009-05-25 Mark Rowe Merge r44066. 2009-05-22 Jon Honeycutt REGRESSION: Hang when leaving page with VLC plug-in Reviewed by Steve Falkenburg. * plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::determineQuirks): Look for the VLC plug-in's new name. 2009-05-21 Mark Rowe Merge r44031. 2009-05-21 Stephanie Lewis Reviewed by Mark Rowe. Update image caching options. Disable extra ImageIO cache because we already handle caching decoded image data. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::imageSourceOptions): 2009-05-21 Mark Rowe Merge r44011. 2009-05-21 Dan Bernstein Reviewed by John Sullivan. - speculative fix for crash at FontCache::purgeInactiveFontData + 199 * platform/graphics/FontCache.cpp: (WebCore::FontCache::purgeInactiveFontData): Deleting a SimpleFontData can cause releaseFontData() to be called, which modifies gInactiveFontData. Therefore, avoid deleting SimpleFontData instances while iterating over gInactiveFontData and delete them afterwards. 2009-05-21 Mark Rowe Merge r44010. 2009-05-21 Geoffrey Garen Reviewed by Sam Weinig. Test for | https://bugs.webkit.org/show_bug.cgi?id=25907 Incorrect URL returned to the DOM while the user drags a file * page/DragController.cpp: (WebCore::DragController::dragExited): (WebCore::DragController::tryDHTMLDrag): Don't base our decision on KURL, since that only looks at the text of the document's URL. Do base our decision on the securityOrigin(), which knows more about the document's actual origin. 2009-05-21 Mark Rowe Merge r43993. 2009-05-21 Sam Weinig Reviewed by Brady Eidson and Mark Rowe. Fix for REGRESSION: Office 2008: Preview with browser is not shown, and Finder window is in the front of Safari If the NSURLRequest is annotated with a "ForceHTMLMIMEType" property, force the MIME type to be text/html. * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 2009-05-21 Mark Rowe Merge r43880. 2009-05-19 Antti Koivisto I can't figure out how to make this not timing dependent, making it manual test instead. * manual-tests/preload-scanner-entities.html: Added. 2009-05-21 Mark Rowe Merge r43964. 2009-05-21 Dan Bernstein Reviewed by Anders Carlsson. - WebCore part of REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com A bug in old versions of Core Graphics causes memory corruption to occur when clipping under certain conditions. Make the clipping functions fail silently under those conditions. Test: fast/block/float/selection-gap-clip-out-tiger-crash.html * WebCore.Tiger.exp: Added wkCGContextIsSafeToClip * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::safeCGContextClip): Added a wrapper around CGContextClip that, on Tiger, bails out if wkCGContextIsSafeToClip() returns false. (WebCore::safeCGContextEOClip): Ditto for CGContextEOClip. (WebCore::safeCGContextClipToRect): Ditto for CGContextClipToRect. (WebCore::GraphicsContext::fillPath): Changed to call the safe variants of CGContextClip, CGContextEOClip and CGContextClipToRect. (WebCore::GraphicsContext::strokePath): Ditto. (WebCore::GraphicsContext::fillRect): Ditto. (WebCore::GraphicsContext::clip): Ditto. (WebCore::GraphicsContext::clipOut): Ditto. (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto. (WebCore::GraphicsContext::clipPath): Ditto. (WebCore::GraphicsContext::addInnerRoundedRectClip): Ditto. (WebCore::GraphicsContext::strokeRect): Ditto. * platform/mac/WebCoreSystemInterface.h: Added wkCGContextIsSafeToClip. * platform/mac/WebCoreSystemInterface.mm: Added wkCGContextIsSafeToClip. 2009-05-21 Mark Rowe Merge r43951. 2009-05-20 Stephanie Lewis Update the order files. Generate new order files. * WebCore.order: 2009-05-21 Mark Rowe Merge r43942. 2009-05-20 Sam Weinig Reviewed by Oliver Hunt. Fix for Office 2008: Entourage: Crash when you switch to "My Day" view The host function callback callObjCFallbackObject was not annotated with JSC_HOST_CALL which meant that when it was called by the JIT, which expects the JSC_HOST_CALL calling convention, the arguments are not in the expected places. * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): Added missing JSC_HOST_CALL annotation on callObjCFallbackObject. 2009-05-21 Mark Rowe Merge r43949. 2009-05-20 Mark Rowe Reviewed by Gavin Barraclough. Fix some assertion failures in plug-in tests on the Windows debug build bot. * plugins/PluginStream.cpp: (WebCore::PluginStream::startStream): Switch to using protocolIsJavaScript. * plugins/PluginView.cpp: (WebCore::scriptStringIfJavaScriptURL): Ditto. 2009-05-21 Mark Rowe Merge r43929. 2009-05-20 Brady Eidson Reviewed by Darin Adler. Fix and https://bugs.webkit.org/show_bug.cgi?id=25300 KURL parsing changes back in r30243 and r30815 made javascript urls that use the form "javascript://" be detected as invalid hierarchical URLs. When a KURL is marked as invalid, you can no longer ask it a question such as "is your protocol javascript?" Therefore FrameLoader wouldn't recognize them as javascript URLs and instead try to navigated to them. URL parsing rules aside, such URLs are in use in the wild (Microsoft's Virtual Earth being a high profile example) and actually represent valid javascript. Whenever checking for javascript urls, the new protocolIsJavaScript() should be used as it functions on a String which doesn't have to pass KURLs parsing rules. Test: fast/loader/javascript-url-hierarchical-execution.html * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue): Use protocolIsJavaScript(). * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setLocation): Ditto. (WebCore::createWindow): Ditto. (WebCore::JSDOMWindow::open): Ditto. * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL): Ditto. * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL): Ditto. * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc): Ditto. * bindings/js/JSLocationCustom.cpp: (WebCore::navigateIfAllowed): Ditto. (WebCore::JSLocation::reload): Ditto. * editing/markup.cpp: (WebCore::appendQuotedURLAttributeValue): Ditto. * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::parseMappedAttribute): Ditto. * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFrame): Ditto. (WebCore::FrameLoader::submitForm): Ditto. (WebCore::FrameLoader::executeIfJavaScriptURL): Ditto. * platform/KURL.cpp: (WebCore::KURL::init): Use protocolIsJavaScript(). (WebCore::KURL::protocolIs): ASSERT that the protocol being asked about is not javascript. Such checks should go through protocolIsJavaScript() instead. (WebCore::encodeRelativeString): Use protocolIsJavaScript(). (WebCore::protocolIsJavaScript): * platform/KURL.h: 2009-05-21 Mark Rowe Merge r43878. 2009-05-19 Brady Eidson Reviewed by Antti Koivisto. REGRESSION (Safari 4PB -> ToT): HTTP cache revalidation broken. This was caused in http://trac.webkit.org/changeset/41425, which fixed an image caching bug in QuickLooks (rdar://problem/6619630). We need to respect the DocumentLoader's request cache policy when deciding the cache policy for subresources, but the check (originally removed in r39304 and added back in in the same place in r41424) needs to be tweaked and relocated a bit. * loader/FrameLoader.cpp: (WebCore::FrameLoader::subresourceCachePolicy): Renamed from cachePolicy(). Move checking the DocumentLoader's request to a more appropriate place. Add code to handle the recently added FIXME regarding POSTs. Add a new FIXME describing a great way to make this code cleaner in the future. * loader/FrameLoader.h: * loader/DocLoader.cpp: (WebCore::DocLoader::cachePolicy): Calls the newly renamed subresourceCachePolicy(). 2009-05-21 Mark Rowe Merge r43876. 2009-05-19 Antti Koivisto Reviewed by Darin Adler. REGRESSION: Query parameters are sometimes incorrect in URL (23135) Push characters back in correct order when entity parsing fails after 3 characters. Test: fast/tokenizer/preload-scanner-entities.html * html/PreloadScanner.cpp: (WebCore::PreloadScanner::consumeEntity): 2009-05-21 Mark Rowe Merge r43869. 2009-05-19 Timothy Hatcher REGRESSION: Some iChat transcript resources are not loaded because willSendRequest doesn't happen immediately Reviewed by Antti Koivisto. * WebCore.base.exp: Export Loader::servePendingRequests(). 2009-05-21 Mark Rowe Merge r43866. 2009-05-19 Alexey Proskuryakov Reviewed by Darin Adler and Brady Eidson. REGRESSION (r42446?): UA Profiler in http://stevesouders.com/ua/ stalls The problem was that Document::removeAllEventListeners() was called for a wrong document when a CachedFrame was destroyed. Cannot be tested automatically, because DRT doesn't have a b/f cache. * dom/Document.cpp: (WebCore::Document::domWindow): Make sure that this doesn't return an unrelated window even if document's m_frame pointer is stale. * history/CachedFrame.cpp: (WebCore::CachedFrame::clear): Added a FIXME about strange behavior. 2009-05-18 Alexey Proskuryakov Reviewed by Darin Adler. REGRESSION (r41425): Unable to create battle.net account due to CAPTCHA failure. The problem was that after loading and displaying a CAPTCHA image, it was loaded from the server again due to preloading. So, the server expected the last loaded (invisible) CAPTCHA text to be typed and posted back. I don't know how to make tests for preloading. * loader/DocLoader.cpp: (WebCore::DocLoader::checkForPendingPreloads): There is never a reason to preload after loading for real - and if cache policy is CachePolicyReload, that actually results in another load from network layer. * loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePolicy): It's not good for cachePolicy() to lie, but I don't know how to re-do r41425 properly. Added a FIXME. 2009-05-18 Ariya Hidayat Reviewed by Simon Hausmann. Done together with Balazs Kelemen . https://bugs.webkit.org/show_bug.cgi?id=24551 [Qt] Reuse FontPlatformData for the same FontDescription. This effectively prevents growing heap usage for loading every web page. * platform/graphics/qt/FontCacheQt.cpp: (WebCore::qHash): Necessary for FontPlatformDataCache. (WebCore::FontCache::getCachedFontPlatformData): Reuse the instance if it exists, otherwise create a new one and insert it in the cache. 2009-05-18 Balazs Kelemen Reviewed by Ariya Hidayat. https://bugs.webkit.org/show_bug.cgi?id=24551 [Qt] Fix the leak in FontFallbackList::fontDataAt() function. When creating a new instance of SimpleFontData, put it in the font list so that it can deleted later on. * platform/graphics/qt/FontFallbackListQt.cpp: (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::fontDataAt): 2009-05-15 Jan Michael Alonzo Reviewed by Xan Lopez. [Gtk] Various autotools build refactoring and fixes https://bugs.webkit.org/show_bug.cgi?id=25286 Style fixes * GNUmakefile.am: 2009-05-17 George Staikos Not reviewed - build fix. Fix typo: constr -> const. * wml/WMLInputElement.h: (WebCore::WMLInputElement::setPlaceholder): 2009-05-17 Darin Adler Fix done by Simon Fraser (reviewed by me). Page with screen-only stylesheet with overflow and height transitions has bad layout and overlapping garbled text when printing * manual-tests/print-with-height-transition-in-screen-stylesheet.html: Added. * page/animation/AnimationController.cpp: (WebCore::AnimationController::updateAnimations): Don't run transitions when printing. 2009-05-17 Darin Adler Reviewed by Simon Fraser. REGRESSION: Programmatically selected popup menu item not shown * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex): Added a call to updateFromElement and also a type check on the selected index to avoid a bad cast to HTMLOptionElement. * manual-tests/select-option-in-onload.html: Added. 2009-05-17 Simon Fraser Reviewed by Anders Carlsson Rename local variables for readability. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintBorder): 2009-05-17 Darin Adler Reviewed by Mark Rowe. Bug 25840: fix some warnings seen on the GTK bot https://bugs.webkit.org/show_bug.cgi?id=25840 * platform/ScrollView.cpp: (WebCore::ScrollView::platformScrollbarModes): Initialize results here. This is really just to quiet warnings. I think this code is unreachable. Someone could put ASSERT_NOT_REACHED() in here too at some point. * plugins/PluginStream.cpp: (WebCore::PluginStream::startStream): Use proper printf format for int here, %d, not %lu. This could cause a real problem when compiled 64-bit, so it's good to fix. * rendering/RenderTextControl.cpp: (WebCore::getNextSoftBreak): Initialize breakOffset to 0 here. This is really just to quiet the warning, but still seems like a good idea. 2009-05-17 Chris Fleizach Reviewed by Darin Adler. Bug 25769: Fix accessibility warnings on GTK https://bugs.webkit.org/show_bug.cgi?id=25769 * page/AccessibilityTable.cpp: (WebCore::AccessibilityTable::columnCount): Get rid of excess const. (WebCore::AccessibilityTable::rowCount): Ditto. * page/AccessibilityTable.h: Ditto. 2009-05-17 Kai Brüning Reviewed by Darin Adler. bug 25822: DOM normalize does not remove empty text node between element nodes https://bugs.webkit.org/show_bug.cgi?id=25822 Test: fast/dom/Node/normalize.html * dom/Node.cpp: (WebCore::Node::normalize): Changed to remove any empty text nodes. 2009-05-16 Dave Moore Reviewed by Darin Adler. Allow Strings to be created with one malloc node with no copying https://bugs.webkit.org/show_bug.cgi?id=25779 Add new methods to String and StringImpl, refactoring existing methods in StringImpl to use new createUninitialized() method. * platform/text/PlatformString.h: (WebCore::String::createUninitialized): * platform/text/StringImpl.cpp: (WebCore::StringImpl::createUninitialized): (WebCore::StringImpl::create): * platform/text/StringImpl.h: 2009-05-16 Mark Rowe Reviewed by Darin Adler. WebCore should stop throwing away the CGImageSourceRef to dramatically improve animated GIF decoding performance Recent versions of ImageIO discard previously decoded image frames if the client application no longer holds references to them, so there's no need to throw away the decoder unless we're explicitly asked to destroy all of the frames. This drops peak CPU usage when displaying from over 90% to below 3%. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::clear): 2009-05-16 Dan Bernstein Reviewed by Alexey Proskuryakov. - fix Two distinct characters are not displayed correctly with 2 of the font selections from the stickies widget Test: platform/mac/editing/pasteboard/text-precomposed.html Ensure that "text/plain" data retrieved from the clipboard is always precomposed. This makes Clipboard::getData() and Pasteboard::documentFragment() consistent with Pasteboard::plainText() and -[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]. * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::getData): * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::documentFragment): 2009-05-16 Mark Rowe Build fix. * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForFamily): Declare valueForFamily as static. 2009-05-15 Darin Adler Reviewed by Dan Bernstein. REGRESSION (r43243): computed style for font-family is returning only the generic font, if any generic font is in the family list Test: fast/css/getComputedStyle/computed-style-font-family.html * css/CSSComputedStyleDeclaration.cpp: Sorted computedProperties alphabetically. Added CSSPropertyClip and CSSPropertyWordBreak. (WebCore::identifierForFamily): Added. Maps internal font family names to identifiers. (WebCore::valueForFamily): Added. Creates either an identifier or a string as appropriate. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implemented the font-family property as specified in the CSS standard. Fixed clip to return "auto" when there is no clip set instead of nothing at all. Gave inheritableProperties and numInheritableProperties internal linkage since there was no reason for them to have external linkage. 2009-05-15 Adam Barth Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=25741 Append instead of throwing when insertItemBefore gets an out-of-bound index. Test: svg/dom/svglist-insertItemBefore-appends.html * svg/SVGList.h: (WebCore::SVGList::insertItemBefore): 2009-05-15 Simon Fraser Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=25829 Fix -webkit-background-clip:text when the renderer had a non (0,0) x, y offset. Test: fast/backgrounds/background-clip-text.html * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): 2009-05-15 Dan Bernstein Reviewed by Sam Weinig. - fix REGRESSION: Using the Up or Down keyboard arrows, I can't navigate caret between To Do items in a Note message Test: editing/selection/move-by-line-004.html * editing/visible_units.cpp: (WebCore::enclosingNodeWithNonInlineRenderer): Added this helper function. (WebCore::previousLinePosition): When advancing to the next candidate node, stop when leaving the closest ancestor of the original node that is not an inline. The code, incorrectly, was trying to exit the closest ancestor of that type which was editable, and therefore missing other blocks in the same editable root. (WebCore::nextLinePosition): Ditto. 2009-05-15 Fridrich Strba Reviewed by Jan Alonzo. Converting filename to uri by concatenating strings is broken on Windows. So, don't do it for that platform. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::startGio): 2009-05-15 Nate Chapin Reviewed by Dimitri Glazkov. Upstream V8 bindings for HTMLOptionsCollection and HTMLSelectElementCollection. https://bugs.webkit.org/show_bug.cgi?id=25739 * bindings/v8/V8Collection.cpp: Added. (WebCore::toOptionsCollectionSetter): Moved from v8_custom.cpp. * bindings/v8/V8Collection.h: Added prototype for toOptionsCollectionSetter(). * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp. * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Added. (WebCore::NAMED_PROPERTY_GETTER): Moved from v8_custom.cpp. (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp. 2009-05-15 David Kilzer Add *.exp export files to WebCore Xcode project Reviewed by Darin Adler and Timothy Hatcher. * WebCore.xcodeproj/project.pbxproj: Added Exports group, moved WebCore.base.exp into the group, and added 10 other *.exp files in WebCore. 2009-05-15 Dimitri Glazkov Unreviewed, build fix. https://bugs.webkit.org/show_bug.cgi?id=25826 Change type to only have custom getter in JCS. * html/HTMLInputElement.idl: Changed CustomGetter attribute to JSCCustomGetter. 2009-05-15 Antti Koivisto Reviewed by Dave Kilzer. Add a settings entry to en/disable web font support https://bugs.webkit.org/show_bug.cgi?id=25239 * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): 2009-05-15 Sam Weinig Reviewed by Steve Falkenburg. Remove dead youtube site specific hack that was commented out. * bindings/js/JSNavigatorCustom.cpp: * page/Navigator.idl: 2009-05-15 Sam Weinig Reviewed by Beth Dakin. Fix for https://bugs.webkit.org/show_bug.cgi?id=25826 REGRESSION: In Gmail's Edit Link dialog, I can't type in the Link To: field (due to support) Added a site specific quirk for mail.google.com which returns "text" when getting the type of an * bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::needsGmailQuirk): (WebCore::JSHTMLInputElement::type): * html/HTMLInputElement.idl: 2009-05-14 Dimitri Glazkov Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=25810 Upstream V8 DOM Wrapper map declarations. No behavior change, so no tests. * bindings/v8/V8DOMMap.h: (WebCore::WeakReferenceMap::WeakReferenceMap): Added. (WebCore::WeakReferenceMap::~WeakReferenceMap): Added. (WebCore::WeakReferenceMap::get): Added. (WebCore::WeakReferenceMap::set): Added. (WebCore::WeakReferenceMap::forget): Added. (WebCore::WeakReferenceMap::contains): Added. (WebCore::WeakReferenceMap::impl): Added. (WebCore::DOMWrapperMap::DOMWrapperMap): Added. 2009-05-15 Simon Fraser Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=25773 Rename GraphicsLayer::graphicsContextsFlipped() to GraphicsLayer::compositingCoordinatesOrientation() in order to clarify the usage. Clean up code around the GraphicsLayer "contents" layer that makes use of this flag, by removing the setHasContentsLayer() method, and just using setContentsLayer(), which can then always do the flipping if necessary. Only affects ACCELERATED_COMPOSITING builds. * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::): * platform/graphics/mac/GraphicsLayerCA.h: (WebCore::GraphicsLayerCA::contentsLayer): * platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayer::compositingCoordinatesOrientation): (WebCore::GraphicsLayerCA::setBackgroundColor): (WebCore::GraphicsLayerCA::clearBackgroundColor): (WebCore::GraphicsLayerCA::setContentsToImage): (WebCore::GraphicsLayerCA::clearContents): (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): (WebCore::GraphicsLayerCA::setContentsLayer): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 2009-05-15 Chris Marrin Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=25765 Avoid calling setNeedsStyleRecalc() when we are putting an animated page in the cache. This avoids the assert and subsequent problems with a dirty page going into the cache. * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::endAnimation): 2009-05-15 Francisco Tolmasky BUG 25467: JavaScript debugger should use function.displayName as the function's name in the call stack Reviewed by Adam Roben. * inspector/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::functionName): Use calculatedFunctionName which takes into account displayName * inspector/front-end/CallStackSidebarPane.js: Remove "|| anonymous function" since it is handled internally just like in profiles (WebInspector.CallStackSidebarPane.prototype.update): 2009-05-15 Alexey Proskuryakov Windows build fix (and a matching Mac change, to avoid unnecessarily diverging the implementations). * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::start): * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): Check strings with isEmpty(), not relying on any implicit conversions. 2009-05-15 Alexey Proskuryakov Reviewed by Darin Adler, Brady Eidson and Eric Carlson. REGRESSION: Unable to download file with FTP URL that includes username and password (Lightwave 9.6 for Mac from Newtek site) CFNetwork only invokes didReceiveAuthenticationChallenge for HTTP requests. Credentials for other protocols (including FTP) should be included as part of the URL. * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::start): (WebCore::WebCoreSynchronousLoader::load): * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Put credentials in URL for non-HTTP requests. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): Bail out quickly if the URL is non-HTTP. Cross-origin requests require specific HTTP headers to be received, so they cannot work with other protocols. 2009-05-15 Ariya Hidayat Reviewed by Holger Freyther. [Qt] In the image decoder, remove the raw image data represented as QImage once the image is converted to QPixmap and inserted in the pixmap cache. This effectively reduces the heap usage when running on graphics system other than raster (i.e the case where QImage != QPixmap). * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::imageAtIndex): Nullified the image on purpose. * platform/graphics/qt/ImageDecoderQt.h: Made m_imageList mutable. 2009-05-15 Ariya Hidayat Reviewed by Holger Freyther. [Qt] Refactor alpha channel detection the image decoder. Sets the boolean flag as soon as the image is being read. * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::ImageDecoderQt): Initialized m_hasAlphaChannel. (WebCore::ImageDecoderQt::setData): Set the flag when appropriate. (WebCore::ImageDecoderQt::supportsAlpha): Simplified. (WebCore::ImageDecoderQt::reset): Resetted the flag. * platform/graphics/qt/ImageDecoderQt.h: Added m_hasAlphaChannel. 2009-05-15 Laszlo Gombos Reviewed by Darin Adler. Finish support for disabling the JavaScript Debugger and Profiler at compile time in WebCore https://bugs.webkit.org/show_bug.cgi?id=24917 * bindings/js/JSInspectorControllerCustom.cpp: ENABLE_JAVASCRIPT_DEBUGGER guard * bindings/js/JSJavaScriptCallFrameCustom.cpp: Ditto. * inspector/JavaScriptCallFrame.cpp: Ditto. * inspector/JavaScriptCallFrame.h: Ditto. * inspector/JavaScriptCallFrame.idl: Ditto. * inspector/JavaScriptDebugListener.h: Ditto. * inspector/JavaScriptDebugServer.cpp: Ditto. * inspector/JavaScriptDebugServer.h: Ditto. * inspector/JavaScriptProfile.cpp: Ditto. * inspector/JavaScriptProfile.h: Ditto. * inspector/JavaScriptProfileNode.cpp: Ditto. * inspector/JavaScriptProfileNode.h: Ditto. * page/Console.cpp: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of USE(JSC) * page/Console.h: Ditto. * page/Console.idl: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of !defined(V8_BINDING) 2009-05-15 Jungshik Shin Reviewed by Dimitri Glazkov http://bugs.webkit.org/show_bug.cgi?id=25464 Improve the font fallback for characters belonging to 'common' scripts in ChromiumWin port. Make characters like Danda, Double Danda (punctuation marks in North Indian scripts) and currency signs (e.g. Thai Baht) rendered correctly in Chromium on Win. Tests: fast/text/international/danda-space.html fast/text/international/thai-baht-space.html * platform/graphics/chromium/FontUtilsChromiumWin.cpp: (WebCore::FontMap::getScriptBasedOnUnicodeBlock): (WebCore::FontMap::getScript): (WebCore::getFallbackFamily): 2009-05-15 Laszlo Gombos Reviewed by Holger Freyther. https://bugs.webkit.org/show_bug.cgi?id=25731 [Qt] Cleanup - move files exclusive to XPATH and XSLT under the appropriate build section * WebCore.pro: 2009-05-14 Evan Martin Reviewed by Eric Seidel and Darin Fisher. Fix a font-related leak in Chromium's Skia backend found by Valgrind. https://bugs.webkit.org/show_bug.cgi?id=25760 * platform/graphics/chromium/FontCacheLinux.cpp: (WebCore::FontCache::getFontDataForCharacters): Use caches instead of "new" on every call. 2009-05-14 Rahul Kuchhal Reviewed by Eric Seidel. Initialize m_spreadMethod in the second constructor too. Not sure if a test case can be written, so no test case. https://bugs.webkit.org/show_bug.cgi?id=25814 No test possible: spreadMethod() is only used by SVG, doesn't seem possible to hit this case, since several other SVG tests already should be calling spreadMethod(). * platform/graphics/Gradient.cpp: (WebCore::Gradient::Gradient): 2009-05-14 Simon Fraser No review. Fix Windows build after renaming MediaControlElements to MediaControlElementType. * rendering/RenderMediaControls.cpp: (WebCore::RenderMediaControls::paintMediaControlsPart): * rendering/RenderMediaControls.h: 2009-05-14 Simon Fraser Reviewed by Darin Adler Movie controller’s play button does not change into a pause button Fix a controls repaint issue when the playing state of a video changes by educating the MediaControlInputElements about the state they are currently displaying, and making them repaint when that state changes. This applies to the play/pause and mute/unmute buttons, which both have two states. * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::MediaControlInputElement): (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Pass in and initialize the MediaControlElementType. (WebCore::MediaControlInputElement::update): Update the display type too (WebCore::MediaControlInputElement::setDisplayType): (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): (WebCore::MediaControlMuteButtonElement::updateDisplayType): Choose muted vs. unmuted display. (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): (WebCore::MediaControlPlayButtonElement::updateDisplayType): Choose play vs. paused display. * rendering/MediaControlElements.h: Renamed the MediaControlElements enum to MediaControlElementType. (WebCore::MediaControlInputElement::updateDisplayType): Add a MediaControlElementType member variable with a setter to allow the element to know what type it is displaying. 2009-05-14 Dean Jackson Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=25197 Add support for aspect-ratio and orientation media queries. Tests: fast/media/mq-aspect-ratio.html fast/media/mq-orientation.html * css/MediaFeatureNames.h: * css/MediaQueryEvaluator.cpp: (WebCore::orientationMediaFeatureEval): (WebCore::aspect_ratioMediaFeatureEval): (WebCore::min_aspect_ratioMediaFeatureEval): (WebCore::max_aspect_ratioMediaFeatureEval): * css/MediaQueryExp.h: (WebCore::MediaQueryExp::isViewportDependent): 2009-05-14 Kevin McCullough - Resubmitting previous patch, correctly this time. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::splitTreeToNode): * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): 2009-05-14 Kevin McCullough - Rolling out to fix a bug and the build * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::splitTreeToNode): * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): 2009-05-14 Kevin McCullough Reviewed by Dan Bernstein. In some situations message content is messed up when indentation is decreased * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::splitTreeToNode): Calling recursively here served to do nothing because this function will return if the second argument is the parent of the first. Not only does this now work as intended, but is necessary for the rest of this fix. * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): To determine if we are the last node in a
, and can therefore remove the
we need the endOfEnclosingBlock to extend to the end of the
not just the next block, which could be a
, for example. - Also If a
is removed, but it's the child of another
then its children are now children of the top
. In this case we want to split the parent
because the next paragraph assumes that it is the first node in its
and if that is not true, various bugs arise. 2009-05-14 Brady Eidson Build fix. * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::setDefaultMIMEType): 2009-05-14 Brady Eidson Reviewed by Adam Roben. Fix http/tests/xmlhttprequest/cache-override.html on Windows * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::setDefaultMIMEType): Modify the previous response so it maintains all of its data. (WebCore::didReceiveResponse): Call setDefaultMIMEType() when needed. (WebCore::WebCoreSynchronousLoader::load): Ditto. 2009-05-14 Paul Godavari Reviewed by Dimitri Glazkov. Bug: Mac Chromium popup menus are not positioned correctly on scrolled pages: https://bugs.webkit.org/show_bug.cgi?id=25772 Fix Mac Chromium popup menu placement by taking into account any scrolling in the current window. This mirrors the positioning done in PopupContainer::show(), which is used on Chromium Windows and linux. Also fixed indenting for this method. * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::showExternal): 2009-05-14 Drew Wilson Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25774 Upstream V8MessagePortCustom.cpp from the chromium repository. * bindings/v8/custom/V8MessagePortCustom.cpp: Added. (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL): 2009-05-14 Simon Fraser Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=25777 StyleGeneratedImage::imageSize() needs to take zooming into account for fixed-size images (i.e. canvas) so that canvas-as-image-background renders correctly with zooming. Test: fast/canvas/canvas-bg-zoom.html * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::imageSize): 2009-05-14 Alexey Proskuryakov Reviewed by Darin Adler. Patch originally by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25796 Shouldn't set referer and origin in Loader::Host::servePendingRequests(). Test: http/tests/security/credentials-in-referer.html * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): This will be done in SubresourceLoader::create() anyway. 2009-05-14 Chris Fleizach Reviewed by Darin Adler. Bug 25797: Pages with image maps are not properly read with Voiceover https://bugs.webkit.org/show_bug.cgi?id=25797 * page/AccessibilityImageMapLink.h: (WebCore::AccessibilityImageMapLink::isEnabled): 2009-05-14 Brady Eidson Reviewed by Darin Adler. and https://bugs.webkit.org/show_bug.cgi?id=25790 Nuke the bogus ASSERT and add a legitimate ASSERT with a little help from a new accessor. * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::shouldContentSniff): * platform/network/ResourceHandle.h: * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): (WebCore::didReceiveResponse): 2009-05-14 Eric Carlson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25791 Bug 25791: HTMLMediaElement: implement 'startTime' attribute Support the recently added HTMLMediaElement 'startTime' attribute. This is a read-only value that only the media engine can know, so we just need to add the attribute to HTMLMediaElement and add methods to MediaPlayer and MediaPlayerPrivateInterface so the engine can make it available. Test: media/media-startTime.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::startTime): New. * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::startTime): New. * platform/graphics/MediaPlayer.h: * platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::startTime): New. 2009-05-14 Kenneth Rohde Christiansen Reviewed by Ariya Hidayat. Only create a QWidget wrapper for the plugin in the case it is not in the Qt window mapper, and thus receiving events from the Qt event system. Native Qt based plugins running in process, will already be in the window mapper, and thus creating a wrapper, stops them from getting events from Qt, as they are redirected to the wrapper. * plugins/qt/PluginContainerQt.cpp: (PluginContainerQt::on_clientIsEmbedded): 2009-05-14 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25784 Leaks seen on HTTP tests We should change ResourceHandleMac.mm to use smart pointers some day, but this is a minimal fix. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::loadResourceSynchronously): Release mutable request copy made for disabling content sniffing, matching the normal code path. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Release m_user and m_pass before overwriting. (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto. 2009-05-14 Yury Semikhatsky Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25418 Remove new lines from event handler wrapper to make line numbers in the wrapped script conside with the lines in the original script. * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::getListenerFunction): (WebCore::V8LazyEventListener::getWrappedListenerFunction): 2009-05-14 Dimitri Glazkov Reviewed by Alexey Proskuryakov. Remove a JSC-specific include that is already added by including ScriptController. No change in behavior, so no tests. * dom/Document.cpp: Removed JSDOMBinding include. 2009-05-14 Alexey Proskuryakov Reviewed by Brady Eidson. Downloaded non-ASCII file name becomes garbled Hopefully, a final stroke. When updating ResourceRequest from a platform request, a wrong CFString function was used, so a user-friendly name was stored in encoding fallback array. * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdateResourceRequest): * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest): 2009-05-14 Ben Murdoch Reviewed by Darin Adler. Add more ENABLE_DATABASE guards. https://bugs.webkit.org/show_bug.cgi?id=25616 See also https://bugs.webkit.org/show_bug.cgi?id=24776 (original set of guards) * bindings/js/JSSQLResultSetRowListCustom.cpp: * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: * bindings/v8/custom/V8CustomSQLStatementCallback.h: * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: * bindings/v8/custom/V8CustomSQLTransactionCallback.h: * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: * bindings/v8/custom/V8DatabaseCustom.cpp: * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: * bindings/v8/custom/V8SQLTransactionCustom.cpp: * storage/Database.cpp: * storage/DatabaseDetails.h: * storage/OriginUsageRecord.cpp: * storage/OriginUsageRecord.h: * storage/SQLError.h: * storage/SQLError.idl: * storage/SQLResultSet.cpp: * storage/SQLResultSet.h: * storage/SQLResultSet.idl: * storage/SQLResultSetRowList.cpp: * storage/SQLResultSetRowList.h: * storage/SQLResultSetRowList.idl: * storage/SQLStatementCallback.h: * storage/SQLStatementErrorCallback.h: * storage/SQLTransactionCallback.h: * storage/SQLTransactionErrorCallback.h: 2009-05-11 Holger Hans Peter Freyther Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25787 Gtk was the last platform to not unregister plugins when the plugin is stopped. Catch up with r43550. * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::stop): 2009-05-14 Adam Roben Make WebCore.vcproj's pre-build event work again * WebCore.vcproj/WebCore.vcproj: Removed empty override of the pre-build event that was accidentally left in when the pre-build event was moved to WebCoreCommon.vsprops. 2009-05-14 Darin Adler * manual-tests/right-click-crash.html: Added. 2009-05-14 Mark Rowe Rubber-stamped by Darin Adler. When building with Xcode 3.1.3 should be using gcc 4.2 The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode. Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not. * Configurations/Base.xcconfig: 2009-05-13 Anders Carlsson Fix build. * WebCore.NPAPI.exp: 2009-05-13 Eric Seidel Reviewed by Oliver Hunt. Fix invalid memory write seen in HTMLCanvasElement by Valgrind https://bugs.webkit.org/show_bug.cgi?id=25759 I can't think of any way to catch this with a layout test, so no test. * css/CSSCanvasValue.cpp: (WebCore::CSSCanvasValue::canvasDestroyed): * css/CSSCanvasValue.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::~HTMLCanvasElement): * html/HTMLCanvasElement.h: 2009-05-13 Dan Bernstein Reviewed by Anders Carlsson. - fix Replies in Mail are drawn first without the user style sheet and then redrawn with the style sheet Test: platform/mac/fast/loader/user-stylesheet-fast-path.html * page/mac/FrameMac.mm: (WebCore::Frame::setUserStyleSheetLocation): For data URLs with base64-encoded UTF-8 data, just decode the style sheet here an apply it synchronously instead of invoking an asynchronous loader. 2009-05-13 Chris Fleizach Bug 25755: Implement ARIA grid role https://bugs.webkit.org/show_bug.cgi?id=25755 Fix build bustage from last checkin. * page/AccessibilityAriaGrid.cpp: (WebCore::AccessibilityAriaGrid::addChild): 2009-05-13 Chris Fleizach Reviewed by Beth Dakin. Bug 25755: Implement ARIA grid role https://bugs.webkit.org/show_bug.cgi?id=25755 Test: accessibility/aria-tables.html * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * page/AXObjectCache.cpp: (WebCore::AXObjectCache::nodeIsAriaType): (WebCore::AXObjectCache::getOrCreate): * page/AXObjectCache.h: * page/AccessibilityAriaGrid.cpp: Added. (WebCore::AccessibilityAriaGrid::AccessibilityAriaGrid): (WebCore::AccessibilityAriaGrid::~AccessibilityAriaGrid): (WebCore::AccessibilityAriaGrid::create): (WebCore::AccessibilityAriaGrid::addChild): (WebCore::AccessibilityAriaGrid::addChildren): (WebCore::AccessibilityAriaGrid::cellForColumnAndRow): * page/AccessibilityAriaGrid.h: Added. (WebCore::AccessibilityAriaGrid::isAriaTable): * page/AccessibilityAriaGridCell.cpp: Added. (WebCore::AccessibilityAriaGridCell::AccessibilityAriaGridCell): (WebCore::AccessibilityAriaGridCell::~AccessibilityAriaGridCell): (WebCore::AccessibilityAriaGridCell::create): (WebCore::AccessibilityAriaGridCell::parentTable): (WebCore::AccessibilityAriaGridCell::rowIndexRange): (WebCore::AccessibilityAriaGridCell::columnIndexRange): * page/AccessibilityAriaGridCell.h: Added. * page/AccessibilityAriaGridRow.cpp: Added. (WebCore::AccessibilityAriaGridRow::AccessibilityAriaGridRow): (WebCore::AccessibilityAriaGridRow::~AccessibilityAriaGridRow): (WebCore::AccessibilityAriaGridRow::create): (WebCore::AccessibilityAriaGridRow::parentTable): (WebCore::AccessibilityAriaGridRow::headerObject): * page/AccessibilityAriaGridRow.h: Added. * page/AccessibilityList.cpp: (WebCore::AccessibilityList::accessibilityIsIgnored): * page/AccessibilityList.h: * page/AccessibilityObject.h: (WebCore::): * page/AccessibilityRenderObject.cpp: (WebCore::RoleEntry::): * page/AccessibilityTable.cpp: (WebCore::AccessibilityTable::AccessibilityTable): (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): * page/AccessibilityTable.h: (WebCore::AccessibilityTable::isAriaTable): * page/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::parentTable): (WebCore::AccessibilityTableCell::isTableCell): (WebCore::AccessibilityTableCell::titleUIElement): * page/AccessibilityTableCell.h: * page/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::setParentTable): (WebCore::AccessibilityTableColumn::headerObject): * page/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::isTableRow): (WebCore::AccessibilityTableRow::parentTable): * page/AccessibilityTableRow.h: * page/mac/AccessibilityObjectWrapper.mm: (RoleEntry::): 2009-05-13 David Levin Reviewed by Dimitri Glazkov. Bug 25763: Need to move v8 custom binding to the custom directory. https://bugs.webkit.org/show_bug.cgi?id=25763 No test due to no change in behavior. * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Renamed from WebCore/bindings/v8/V8CanvasPixelArrayCustom.cpp. 2009-05-13 Nate Chapin Reviewed by Dimitri Glazkov. Fix LayoutTests/fast/dom/Element/attr-param-typechecking.html crashing with V8. https://bugs.webkit.org/show_bug.cgi?id=25758 * bindings/v8/custom/V8ElementCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): return the result of throwError() if it is called. 2009-05-13 Jeremy Moskovich Reviewed by Dave Hyatt. Fix a number of bugs relating to RTL and text-overflow:ellipsis. Also refactor the relevant code to make it a little clearer. This CL fixes 3 fundamental issues: - Corrects behavior if the truncated InlineTextBox's directionality is different from the overall flow direction - bug 25135. - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206. - Full truncation on InlineBoxes in RTL flow - bug 24186 - Add tests for the above + reorder/cleanup tests for easier interpretation of outcome. The code for placing ellipsis has been refactored to use left/right notation rather than a single variable whose meaning could differ based on flow directionality. To support differing inline directionality vs flow directionality, different variables are now used in InlineTextBox::placeEllipsisBox to track the two. The drawing mode for underlines in standards mode now correctly handles RTL truncation and relevant test where added. https://bugs.webkit.org/show_bug.cgi?id=24186 https://bugs.webkit.org/show_bug.cgi?id=25135 https://bugs.webkit.org/show_bug.cgi?id=24206 Tests: fast/css/text-overflow-ellipsis-bidi.html fast/css/text-overflow-ellipsis-strict.html * rendering/InlineBox.cpp: (WebCore::InlineBox::placeEllipsisBox): * rendering/InlineBox.h: * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintTextDecorations): (WebCore::InlineFlowBox::placeEllipsisBox): * rendering/InlineFlowBox.h: * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::paint): * rendering/InlineTextBox.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::placeEllipsisBox): * rendering/RootInlineBox.h: * rendering/bidi.cpp: (WebCore::RenderBlock::checkLinesForTextOverflow): 2009-05-13 Dmitry Titov Rubber-stamped by Mark Rowe. https://bugs.webkit.org/show_bug.cgi?id=25746 Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4. * dom/XMLTokenizerLibxml2.cpp: (WebCore::matchFunc): (WebCore::openFunc): (WebCore::createStringParser): (WebCore::createMemoryParser): * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): * platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::localStorageThread): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate): * workers/WorkerThread.cpp: (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start): 2009-05-13 David Hyatt Reviewed by Beth Dakin. Fix for REGRESSION (r41896-42143): First letter cut off in styled select menus Make sure to do rounded clipping for overflow and controls relative to the border box and not to the overflow/control clip rect (which is typically clipped to the padding or content box). Doing so was causing rounded clips to be incorrectly applied to padding and content. Added fast/overflow/border-radius-clipping.html * rendering/RenderBox.cpp: (WebCore::RenderBox::pushContentsClip): 2009-05-13 Darin Adler Revert the parser arena change. It was a slowdown, not a speedup. Better luck next time (I'll break it up into pieces). 2009-05-13 David Hyatt Reviewed by Beth Dakin and Darin Adler. Fix for REGRESSION (r41203): Facebook friend suggestions disappear on update. Make sure that renderers are marked for layout if a style change causes them to switch from having a self-painting layer to a non-self-painting layer (and vice versa). Move misplaced layer repainting code that was in RenderBox up into RenderBoxModelObject so that inlines with layers repaint properly on opacity changes, etc. Added fast/repaint/opacity-change-on-overflow-float.html. * rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::styleWillChange): (WebCore::RenderBoxModelObject::styleDidChange): * rendering/RenderBoxModelObject.h: 2009-05-13 Dimitri Glazkov Not reviewed, build fix. Move an include, needed by Debugger under the corresponding guard. * inspector/InspectorController.cpp: Moved parser/SourceCode under JAVASCRIPT_DEBUGGER guard. 2009-05-13 David Levin Reviewed by Darin Adler. Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer https://bugs.webkit.org/show_bug.cgi?id=25394 Test: http/tests/xmlhttprequest/frame-unload-abort-crash.html * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Add another check to subresource loader to avoid doing any loads in frames when the loaders are being stopped. 2009-05-13 Stephan Haller Reviewed by Gustavo Noronha. Wrong handling of file upload if no file selected https://bugs.webkit.org/show_bug.cgi?id=25649 Fixed returned path if path is empty * WebCore/platform/gtk/FileSystemGtk.cpp: 2009-05-13 Dan Bernstein Reviewed by Dave Hyatt. - fix REGRESSION (r42348): Notes flicker white when loading Tests: fast/frames/content-opacity-1.html fast/frames/content-opacity-2.html * page/FrameView.cpp: (WebCore::FrameView::reset): Reset m_contentIsOpaque to false. (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content is not known to be opaque. (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque and enables or disables fast repaints accordingly. * page/FrameView.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the document()->haveStylesheetsLoaded() condition in determining whether the root is opaque. This is what was causing the bug, as iframes were considered to be opaque, and thus painted an opaque white background, whenever they were pending a style sheet load. Changed to call FrameView::setContentIsOpaqe() instead of setUseSlowRepaints(), which allows the frame to go back to fast repaints if the content becomes opaque. Corrected the check for background color opacity: any alpha value other than 255--not just zero--is not opaque. 2009-05-13 Ariya Hidayat Reviewed by Sam Weinig. [Qt] Fix "lighther" composition mode. QPainter::CompositionMode_Plus is the right match. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::toQtCompositionMode): 2009-05-13 Darin Adler Reviewed by Cameron Zwarich. Bug 25674: syntax tree nodes should use arena allocation https://bugs.webkit.org/show_bug.cgi?id=25674 * bindings/js/JSDOMBinding.h: Removed include of JSFunction.h. We don't want the entire DOM binding to depend on that file. * bindings/js/JSAudioConstructor.cpp: Added include of Error.h. Before we inherited this automatically because JDDOMBinding.h included JSFunction.h, but that was excessive. * bindings/js/JSDOMWindowCustom.cpp: Ditto. * bindings/js/JSHTMLInputElementCustom.cpp: Ditto. * bindings/js/JSImageConstructor.cpp: Ditto. * bindings/js/JSLazyEventListener.cpp: Ditto, but for JSFunction.h. * bindings/js/JSMessageChannelConstructor.cpp: Ditto. * bindings/js/JSOptionConstructor.cpp: Ditto. * bindings/js/JSWorkerConstructor.cpp: Ditto. * bindings/js/JSXMLHttpRequestConstructor.cpp: Ditto. * bridge/jni/jni_jsobject.mm: Ditto, but for SourceCode.h. * inspector/InspectorController.cpp: Ditto. * inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): Moved mose of this function into the base class in JavaScriptCore, so the details of compilation don't have to be exposed. 2009-05-13 Douglas R. Davidson Reviewed by Darin Adler. Generate a contextual menu item allowing autocorrections to easily be changed back. Refrain from re-correcting items that have already been autocorrected once. * dom/DocumentMarker.h: * editing/Editor.cpp: (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): (WebCore::Editor::changeBackToReplacedString): * editing/Editor.h: * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): * page/mac/WebCoreViewFactory.h: * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): (WebCore::ContextMenu::checkOrEnableIfNeeded): * platform/ContextMenuItem.h: * platform/LocalizedStrings.h: * platform/mac/LocalizedStringsMac.mm: (WebCore::contextMenuItemTagChangeBack): * rendering/HitTestResult.cpp: (WebCore::HitTestResult::replacedString): * rendering/HitTestResult.h: * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::computeRectForReplacementMarker): (WebCore::InlineTextBox::paintDocumentMarkers): * rendering/InlineTextBox.h: 2009-05-13 Holger Hans Peter Freyther Rubber Stamped by Oliver Hunt. [GTK] Fix Gtk+/X11 build on OSX Including the CoreFoundation header here and X11 headers later will result in different definitions of Boolean. The CoreFoundation include does not seem to be necessary here and my mac build was successfull without it. I will remove it for now. If the build bots disagree this will be replaced by a #if PLATFORM(CF). * platform/FileSystem.h: 2009-05-13 Holger Hans Peter Freyther Rubber Stamped by Gustavo Noronha. [GTK] Move the #ifdef around for a buildfix for Gtk+ on OSX When building Gtk+ on OSX we ended up declaring setNPWindowIfNeeded twice. Fix that by moving the #if PLATFORM(GTK) up and using elif instead of else. * plugins/PluginView.h: 2009-05-13 Holger Hans Peter Freyther Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25685 [GTK] Middle click paste form the pasteboard The kit wants to paste from at least two different clipboards. By introducing getCurrentTarget to the PasteboardHelper interface we can make this decision in the kit. Use the new method in PasteboardGtk to get the right GdkClipboard for the paste operation. * platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::documentFragment): (WebCore::Pasteboard::plainText): * platform/gtk/PasteboardHelper.h: 2009-05-13 Eric Carlson Reviewed by Darin Adler. QTMoviePreferredTransformAttribute only supported on SnowLeopard QTMovieOpenForPlaybackAttribute only supported on SnowLeopard QTMoviePreferredTransformAttribute and QTMovieOpenForPlaybackAttribute are not supported on Tiger or Leopard. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setNetworkState): Remove invalid ASSERT. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): Only request QTMoviePreferredTransformAttribute when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD. (WebCore::MediaPlayerPrivate::cacheMovieScale): Only ask for QTMovieOpenForPlaybackAttribute when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD, 2009-05-12 Roland Steiner Reviewed by Eric Seidel. Bug 25738: Skia: CSS border style not cleared for SVG object https://bugs.webkit.org/show_bug.cgi?id=25738 If no dashing is set, this change reverts to solid stroke (previously the code bailed and left the old setting, whatever it was) Test case listed in above bug entry. (Additional complications due to each platform rendering dotted lines differently - c.f. https://bugs.webkit.org/show_bug.cgi?id=25737) * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::setLineDash): 2009-05-11 Erik Arvidsson Reviewed by Eric Seidel. Bug 21903: Adds DOM bindings for the placeholder property of the HTMLInputElement. https://bugs.webkit.org/show_bug.cgi?id=21903 Test: fast/forms/placeholder-dom-property.html * dom/InputElement.cpp: (WebCore::InputElement::updatePlaceholderVisibility): * dom/InputElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::placeholder): (WebCore::HTMLInputElement::setPlaceholder): * html/HTMLInputElement.h: * html/HTMLInputElement.idl: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::updateFromElement): * wml/WMLInputElement.h: (WebCore::WMLInputElement::placeholder): (WebCore::WMLInputElement::setPlaceholder): 2009-05-12 Adam Barth Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25706 Change V8 bindings to match JSC bindings with respect to using the lexical or dynamic global object. Tests: http/tests/security/aboutBlank/security-context-grandchildren-lexical.html http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html * bindings/v8/custom/V8HTMLDocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): 2009-03-19 Oliver Hunt Reviewed by Darin Adler. Incorrect bound check in SVGList::insertItemBefore SVGList::insertItemBefore would not perform a bounds check on the index it was provided, potentially leading to a buffer overflow. Test: svg/dom/svglist-exception-on-out-bounds-error.html * svg/SVGList.h: (WebCore::SVGList::insertItemBefore): 2009-05-12 Paul Godavari Reviewed by Dimitri Glazkov. Bug 25708: Cannot choose menu items in popups with many entries in Chromium https://bugs.webkit.org/show_bug.cgi?id=25708 This change sets the window size for popups on Mac to include all items in the menu. This is required for hit testing on Mac, where we use native controls to manage the popups and don't want to artificially limit the valid hit testing region to a limited scroll window. * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::layout): 2009-05-12 Stephen White Reviewed by Dimitri Glazkov. Fixes to build with latest skia: SkTypeface::Create() is now SkTypeface::CreateFromName(); computeBounds() has been reworked as getBounds(). The changes are placed behind an #ifdef for now, so that we can roll back the skia version in Chromium if necessary without having to roll back this change. https://bugs.webkit.org/show_bug.cgi?id=25705 * platform/graphics/chromium/FontCacheLinux.cpp: (WebCore::FontCache::createFontPlatformData): * platform/graphics/skia/PathSkia.cpp: (WebCore::Path::boundingRect): (WebCore::boundingBoxForCurrentStroke): * platform/graphics/skia/SkiaUtils.cpp: (WebCore::SkPathContainsPoint): 2009-05-12 Nate Chapin Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25732 Update V8ElementCustom.cpp to match the current API of V8Proxy. (WebCore::ACCESSOR_SETTER): Change retrieveActiveFrame() to retrieveFrameForEnteredContext(). 2009-05-12 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25694 HTMLParser::createHead() ASSERT: Creating an element, calling document.open() and writing to the document NULL ptr Test: fast/parser/implicit-head-in-fragment-crash.html * html/HTMLParser.cpp: (WebCore::HTMLParser::bodyCreateErrorCheck): Do not try to implicitly create when parsing a fragment. 2009-05-12 Soren Gjesse Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25687 Missing check for valid function in V8 bindings for toString function for event listeners. * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::getWrappedListenerFunction): Added empty handle checks. 2009-05-11 Yael Aharon Reviewed by Holger Freyther. Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped. Not doing that can cause assersion failure. https://bugs.webkit.org/show_bug.cgi?id=25702 * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::stop): 2009-05-11 Laszlo Gombos Reviewed by Holger Freyther. Bug 25714: [Qt] Decouple HTML5 Database support from the SQLite/generic database support in the Qt port * WebCore.pro: 2009-05-11 Chris Fleizach Reviewed by Beth Dakin. Bug 25713: AX: Control Elements not identified in HTML content https://bugs.webkit.org/show_bug.cgi?id=25713 Test: accessibility/onclick-handlers.html * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::mouseButtonListener): 2009-05-11 Darin Adler Reviewed by Dan Bernstein. REGRESSION: TextIterator generates an extra newline for ranges that start outside of body * editing/TextIterator.cpp: (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Check startPos for null, not just currPos. 2009-05-11 Chris Fleizach Reviewed by Darin Adler. Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail https://bugs.webkit.org/show_bug.cgi?id=25700 Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled. Note: This code is only used when accessibility is enabled. * page/EventHandler.cpp: (WebCore::EventHandler::handleKeyboardSelectionMovement): 2009-05-11 David Kilzer Bug 25087: Test for ENABLE_FOO macros consistently in IDL files Reviewed by Timothy Hatcher. Change tests for ENABLE macros to check for both existence and value: - Negative: #if !defined(ENABLE_FOO) || !ENABLE_FOO - Positive: #if defined(ENABLE_FOO) && ENABLE_FOO * css/CSSCharsetRule.idl: * css/CSSPrimitiveValue.idl: * css/RGBColor.idl: * dom/Attr.idl: * dom/DOMCoreException.idl: * dom/DOMImplementation.idl: * dom/Document.idl: * dom/Element.idl: * dom/Event.idl: * dom/EventException.idl: * dom/KeyboardEvent.idl: * dom/MessagePort.idl: * dom/MouseEvent.idl: * dom/Node.idl: * dom/ProcessingInstruction.idl: * dom/Range.idl: * dom/RangeException.idl: * dom/WheelEvent.idl: * html/CanvasPixelArray.idl: * html/HTMLAnchorElement.idl: * html/HTMLAppletElement.idl: * html/HTMLAreaElement.idl: * html/HTMLBaseFontElement.idl: * html/HTMLCanvasElement.idl: * html/HTMLDocument.idl: * html/HTMLElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLFrameElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLLinkElement.idl: * html/HTMLObjectElement.idl: * html/HTMLOptionElement.idl: * html/HTMLOptionsCollection.idl: * html/HTMLSelectElement.idl: * html/HTMLStyleElement.idl: * html/ImageData.idl: * inspector/InspectorController.idl: * loader/appcache/DOMApplicationCache.idl: * page/Console.idl: * page/Coordinates.idl: * page/DOMSelection.idl: * page/DOMWindow.idl: * page/Geoposition.idl: * page/History.idl: * page/Location.idl: * page/Navigator.idl: * svg/SVGElementInstance.idl: * svg/SVGException.idl: * workers/WorkerContext.idl: * xml/XMLHttpRequestException.idl: * xml/XPathException.idl: 2009-05-11 Norbert Leser Reviewed by Darin Adler. Bug 24538: class/struct mixup in forward declarations https://bugs.webkit.org/show_bug.cgi?id=24538 * inspector/InspectorResource.h: * loader/CachedFont.h: * loader/appcache/ApplicationCache.h: * rendering/RenderBlock.h: * rendering/RootInlineBox.h: * rendering/SVGInlineTextBox.h: * svg/SVGGlyphElement.h: * svg/SVGHKernElement.h: 2009-05-11 Norbert Leser Reviewed by Darin Adler. Bug 24539: Unresolved CSSMutableStyleDeclaration https://bugs.webkit.org/show_bug.cgi?id=24539 The Symbian tools can't compile and link this without this include. It's not clear why this is different from other toolsets or why it affects only this header file, but adding the include for now. * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h. 2009-05-11 Alice Liu Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=25701 REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook Test: fast/forms/search-styled.html * css/themeWin.css: Remove the overriding of -webkit-appearance for searchfields. This will cause background images to not be honored when styling searchfields * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustSearchFieldStyle): * rendering/RenderThemeWin.h: Re-instate final adjustments to searchfield styling that were removed in r42020 2009-05-11 Brady Eidson Fix Windows build * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): 2009-05-11 Nate Chapin Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25626 Update V8ElementCustom.cpp to match the current API of Node. * bindings/v8/custom/V8ElementCustom.cpp: (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names. (WebCore::ACCESSOR_GETTER): Changed a method name to match current name. 2009-05-11 Brady Eidson Fix Windows build * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): (WebCore::WebCoreSynchronousLoader::load): 2009-05-11 Brady Eidson Fix Windows build * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): 2009-05-11 Nate Chapin Reviewed by Dimitri Glazkov. V8CustomBinding.cpp is missing a header file https://bugs.webkit.org/show_bug.cgi?id=25644 * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h". 2009-05-11 Aaron Boodman Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=25634 Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext(). Also, change instances of ScriptController::retrieveActiveFrame() to V8::retrieveFrameForEnteredContext() for consistency. See http://codereview.chromium.org/113085 for the corresponding Chromium change. * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8Custom::WindowSetLocation): * bindings/v8/custom/V8HTMLDocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8LocationCustom.cpp: (WebCore::navigateIfAllowed): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL): 2009-05-11 Brady Eidson Reviewed by Darin Adler. Local image files (BMP, ico) can be misidentified as HTML. First part of the fix - Disable content sniffing for file resources which never should've been happening anyways. Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream". * platform/MIMETypeRegistry.cpp: (WebCore::defaultMIMEType): "application/octet-stream" * platform/MIMETypeRegistry.h: * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which might override it to false. (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else. * platform/network/ResourceHandle.h: * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead of null. (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type. (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same sniffing policy as asynchronous loads. Also, correct a null MIME type by creating a copy with the default type. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the same sniffing policy as asynchronous loads. (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if it hasn't been set up yet. (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by the new mechanism. 2009-05-11 David Kilzer Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES" This was added in r39816 to disable dynamic entries. They are still disabled after fixing the typo since this feature define is never set anywhere. * bindings/js/JSDOMApplicationCacheCustom.cpp: * loader/appcache/DOMApplicationCache.idl: 2009-05-11 Dmitry Titov Reviewed by Alexey Proskuryakov and Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=25348 Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap. Most of the change is in WTF. Unless noted, all the following files changed to use the new ThreadIdentifier::isValid() method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier is now a class rather then an integer. Also, there is no need to initialize threadID in constructors to 0 now. * dom/XMLTokenizerLibxml2.cpp: (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, since now ThreadIdentifier needs construction and we avoid having global initializers. (WebCore::matchFunc): use the new accessor function. (WebCore::openFunc): ditto. (WebCore::createStringParser): ditto. (WebCore::createMemoryParser): ditto. * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): * platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output. * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate): * workers/WorkerThread.cpp: (WebCore::WorkerThread::start): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start): 2009-05-11 Brady Eidson Reviewed by Darin Adler. Remove unused header that declared one function which was never defined anywhere. * WebCore.vcproj/WebCore.vcproj: * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means platform/network/cf/ResourceResponse.h) * platform/network/cf/ResourceResponseCFNet.h: Removed. 2009-05-11 Dimitri Glazkov Reviewed by Timothy Hatcher. https://bugs.webkit.org/show_bug.cgi?id=25213 Fix assert during Inspector destruction. * inspector/InspectorController.cpp: (WebCore::InspectorController::inspectedPageDestroyed): Moved closing inspector above removing InspectorController object to fix JS errors, added clearing inspector page ptr. 2009-05-11 Laszlo Gombos Reviewed by Holger Freyther. [Qt] Make sure that public APIs are properly exported on all Qt platforms https://bugs.webkit.org/show_bug.cgi?id=25601 * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win 2009-05-11 Csaba Osztrogonac Reviewed by Holger Freyther. https://bugs.webkit.org/show_bug.cgi?id=24284 * WebCore.pro: duplicated values removed from INCLUDEPATH 2009-05-11 Laszlo Gombos Reviewed by Eric Seidel. Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0 https://bugs.webkit.org/show_bug.cgi?id=24688 * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0 * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins 2009-05-10 Dan Bernstein Reviewed by Darin Adler. - fix a crash when deactivating a document that had adopted a
element Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the logic here: elements should be registered for document activation callbacks if and only if autocomplete is off. 2009-05-10 Alexey Proskuryakov Reviewed by Dan Bernstein. REGRESSION (r42483): Have to enter credentials twice when trying to view protected MobileMe video Add a temporary workaround. * platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when starting a request, so we need to store this data for later use. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks. (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com. 2009-05-10 Alexey Proskuryakov Reviewed by Dan Bernstein. Have to enter credentials twice when downloading from a protected page * platform/network/cf/AuthenticationCF.cpp: * platform/network/cf/AuthenticationCF.h: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get): * platform/network/cf/ResourceHandleCFNet.cpp: Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing an earlier Mac change). 2009-05-10 Alexey Proskuryakov Reviewed by Dan Bernstein. Match newer XMLHttpRequest draft and make withCredential setter raise an exception when called at a wrong time. No test, because we are waiting for a newer version of system frameworks to test the attribute. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials): * xml/XMLHttpRequest.h: * xml/XMLHttpRequest.idl: Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true. 2009-05-10 Dan Bernstein Reviewed by Dave Kilzer. - fix https://bugs.webkit.org/show_bug.cgi?id=25602 REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn on ToT Test: fast/layers/self-painting-outline.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only if it is a self-painting layer. 2009-05-09 Dan Bernstein Reviewed by Geoffrey Garen and Mark Rowe. - fix https://bugs.webkit.org/show_bug.cgi?id=25666 Assertion failure in Node::setDocument() (willMoveToNewOwnerDocumentWasCalled) when adopting a element Test: fast/dom/HTMLFormElement/adopt-assertion.html * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of this method are required to call the base class implementation. Do it. (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto. 2009-03-29 Kevin Ollivier Reviewed by Maciej Stachowiak. WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so make sure CURL does not create empty ResourceError() objects. https://bugs.webkit.org/show_bug.cgi?id=24927 * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::downloadTimerCallback): 2009-05-09 Gustavo Noronha Silva Build fix, adding missing files to make dist. * GNUmakefile.am: 2009-05-08 Simon Fraser Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=25656 Reduce the inline capacity of CSSParserValueList's m_values vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit. * css/CSSParserValues.h: 2009-05-08 Nikolas Zimmermann Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while. * WebCore.xcodeproj/project.pbxproj: 2009-05-08 Dan Bernstein Reviewed by Darin Adler. - fix REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla Test: editing/style/apply-through-end-of-document.html * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check for the case of a range extending through the end of the document, in which pastEndNode is 0. 2009-05-08 Douglas R. Davidson Reviewed by Beth Dakin. REGRESSION (Safari 3-4): Contraction base marked as misspelled even though contraction is a word Make sure spelling underline does not persist on words like . * editing/TypingCommand.cpp: (WebCore::TypingCommand::typingAddedToOpenCommand): 2009-05-08 Kevin Watters Reviewed by Kevin Ollivier. Make sure the path's refdata isn't deleted before we're done with the object. https://bugs.webkit.org/show_bug.cgi?id=25652 * platform/graphics/wx/PathWx.cpp: (WebCore::Path::~Path): (WebCore::Path::Path): (WebCore::Path::translate): 2009-05-08 Kevin Watters Reviewed by Darin Adler. Fix for memory leak on Mac. https://bugs.webkit.org/show_bug.cgi?id=25650 * platform/wx/wxcode/mac/carbon/fontprops.cpp: (wxFontProperties::wxFontProperties): 2009-05-08 Beth Dakin Reviewed by Dan Bernstein. REGRESSION (r37591): Cannot print or preview from maps.yandex.ru We need to fall into the stretchesToViewHeight() quirk when we are printing and we are the root and the root has percentage height OR when we are the body and the root has percentage height. Otherwise we have a height of 0 and can run into painting troubles. * rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight): 2009-05-08 Douglas Davidson Reviewed by Darin Adler. Fixes for . Prevent text checking replacement immediately after an apostrophe and automatic link addition except immediately after typing. * editing/Editor.cpp: (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 2009-05-08 Eric Carlson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25627 Bug 25627: HTMLMediaElement: some errors should fire on elements Update for HTML5 spec change to fire 'error' events on element when there is a failure while processing/loading a . Test: media/video-source-error.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space. (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on all element. (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in loadResource() as we need to report errors differently depending on the type of failure. Use KURL instead of String. (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild. Fail silently when there are no more canditates because that is what spec mandates. Keep url as KURL instead of converting to String. (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now assume the safety check now done before this function. Takes KURL instead of String. (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs failure if not. (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on the media and all source elements. (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the the failure happened while processing one. Only call nonSupported() when the failure happened while processing media element 'src' attribute. (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild. Deal with selectNextSourceChild returning a KURL instead of a String. (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional param to control whether or not errors are fired on a source element when it will not be used. Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a String. (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as a KURL instead of a String. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::): * html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables. (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error event ASAP. (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event. (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been cancelled. * html/HTMLSourceElement.h: * html/MediaError.h: (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED * html/MediaError.idl: Ditto 2009-05-08 Dan Bernstein Reviewed by Maciej Stachowiak. - fix Undoing typed text after selecting all leaves non-text areas highlighted Test: fast/repaint/selection-clear.html When RenderView::clearSelection() is called from SelectionController::nodeWillBeRemoved(), selected renderers may already be marked for layout, which means that they can no longer compute their selection repaint info. Instead, an empty IntRect (or GapRects) is returned, leading to incomplete repaint. The fix is not to rely on individual renderers when clearing the selection, but instead, cache the bounding rectangle of the selected blocks' GapRects when setting the selection, and invalidate that entire rectangle when clearing it. * rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Added a parameter saying whether the repainting of selected blocks should include both previously-selected areas and newly-selected areas or only newly-selected areas. The default is both. Also compute m_cachedSelectionBounds to be the bounding rectangle of the new selection's BlockSelectionInfos' GapRects. (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds, and tell setSelection() that it should not paint areas that were in the old selection's BlockSelectionInfos' GapRects. * rendering/RenderView.h: (WebCore::RenderView::): 2009-05-08 Alexey Proskuryakov Reviewed by Maciej Stachowiak. NPN_GetAuthenticationInfo does not work with non-permanent credentials * WebCore.base.exp: * platform/network/mac/AuthenticationMac.h: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get): * platform/network/mac/AuthenticationMac.mm: * platform/network/mac/ResourceHandleMac.mm: Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit. 2009-05-08 Jedrzej Nowacki Reviewed by Simon Hausmann. Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime call methods. * bridge/qt/qt_runtime.h: 2009-05-08 Jan Michael Alonzo Reviewed by Mark Rowe. Add missing strings to localizedStrings.js https://bugs.webkit.org/show_bug.cgi?id=25635 Add the strings "Delete", "Key", "Refresh" and "Value". * English.lproj/localizedStrings.js: 2009-05-08 Robert Hogan Reviewed, tweaked and landed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=24992 [Qt] crash at http://browserspy.dk/browser.php This cannot be easily tested in DRT, because it relies on interaction with QApplication, but the added assertions guard against re-introducing this issue. * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls while the frame is being constructed, because the intermediate state without a document is something we don't want to expose. * page/Frame.cpp: (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an approximation of it being in a consistent state for client calls. (WebCore::Frame::setJSDefaultStatusBarText): Ditto. 2009-05-07 Mark Rowe Rubber-stamped by Oliver Hunt. Fix . Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed Roll out r43366 as it removed symbols that Safari 4 Beta uses. * dom/XMLTokenizerLibxml2.cpp: (WebCore::matchFunc): (WebCore::openFunc): (WebCore::createStringParser): (WebCore::createMemoryParser): * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): * platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::localStorageThread): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate): * workers/WorkerThread.cpp: (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start): 2009-05-08 Xan Lopez Reviewed by Gustavo Noronha. Unify scrolling code via adjustments and keys. Use the WebCore defined constants, since that's what people are most used to at this point. * platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment): 2009-05-07 David Levin Reviewed by NOBODY. Suggested by Oliver Hunt. Rolling back http://trac.webkit.org/changeset/43385 because we have to use mac artwork for the underline on OSX. * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/mac/GraphicsContextMac.mm: (WebCore::createPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::setCGStrokeColor): (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 2009-05-07 John Grabowski Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=25573 Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar. Cleanup for WebKit, but required for Chromium happiness. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): * platform/graphics/mac/GraphicsContextMac.mm: * platform/graphics/win/GraphicsContextCGWin.cpp: 2009-05-07 Darin Adler Reviewed by Simon Fraser. Bug 25575: Registered mutation event listener crashes HTMLMediaElement https://bugs.webkit.org/show_bug.cgi?id=25575 Test: fast/media/video-controls-with-mutation-event-handler.html * rendering/MediaControlElements.cpp: (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute. * rendering/RenderMedia.cpp: (WebCore::RenderMedia::createTimeline): Call setAttribute here. 2009-05-07 Simon Fraser Rubber Stamped by Dave Hyatt Shuffle the data members to minimize padding. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: 2009-05-07 Simon Fraser Rubber Stamped by Dave Hyatt Shuffle the data members to make Events 8 bytes smaller in 64-bit. * dom/Event.cpp: (WebCore::Event::Event): * dom/Event.h: 2009-05-07 Eric Seidel Reviewed by Beth Dakin. Fix regression caused by r41469, add test case to prevent it from happening again. https://bugs.webkit.org/show_bug.cgi?id=25252 hasLayer() was true during removeOnlyThisLayer()/ updateLayerPositions() which caused updateLayerPosition()'s walk up the render tree to include offsets from the layer we were about to remove. I'm not 100% convinced that this wasn't a bug in updateLayerPosition() or in RenderBoxModelObject::styleDidChange, because the layer in question is not the containing block for the block which gets laid out wrong. But this restores the previous behavior and adds a test. So the next time someone is in here re- factoring, they will at least know if they break something. Test: fast/layers/remove-only-this-layer-update.html * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::destroyLayer): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::removeOnlyThisLayer): * rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy): 2009-05-07 Dmitry Titov Attempt to fix GTK build. * platform/graphics/GlyphPageTreeNode.h: add #include to ensure memcpy and memset are defined. 2009-05-07 Oliver Hunt Reviewed by Gavin Barraclough. Improve native call performance Add calling convention declarations where necessary, and update bindings script to generate them as well. * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::callHTMLCollection): * bindings/js/JSNodeListCustom.cpp: (WebCore::callNodeList): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::callPlugin): * bindings/js/JSQuarantinedObjectWrapper.h: * bindings/scripts/CodeGeneratorJS.pm: * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::callRuntimeObject): 2009-05-07 Nikolas Zimmermann Reviewed by Dave Hyatt. Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617 Fix memory/performance regression because of too much form control related abstraction just for WMLs sake. Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly. The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before. This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation. To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all methods are renamed to clarify where they belong to. All renames are listed here: From FormControlElement: - isEnabled() -> isEnabledFormControl() - isReadOnly() -> isReadOnlyFormControl() - isTextControl() -> isTextFormControl() - valueMatchesRenderer() -> formControlValueMatchesRenderer() - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer() - name() -> formControlName() - type() -> formControlType() From FormControlElementWithState: - saveState() -> saveFormControlState() - restoreState() -> restoreFormControlState() A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression. No testcases affected, no new tests needed. * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): * dom/Document.cpp: (WebCore::Document::formElementsState): * dom/Document.h: (WebCore::Document::registerFormElementWithState): (WebCore::Document::unregisterFormElementWithState): * dom/Element.h: (WebCore::Element::isFormControlElement): (WebCore::Element::isEnabledFormControl): (WebCore::Element::isReadOnlyFormControl): (WebCore::Element::isTextFormControl): (WebCore::Element::formControlValueMatchesRenderer): (WebCore::Element::setFormControlValueMatchesRenderer): (WebCore::Element::formControlName): (WebCore::Element::formControlType): (WebCore::Element::saveFormControlState): (WebCore::Element::restoreFormControlState): * dom/FormControlElement.cpp: Removed. * dom/FormControlElement.h: Removed. * dom/FormControlElementWithState.cpp: Removed. * dom/FormControlElementWithState.h: Removed. * dom/InputElement.cpp: (WebCore::InputElement::setValueFromRenderer): * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::formControlType): * html/HTMLButtonElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::formControlType): * html/HTMLFieldSetElement.h: * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::attach): (WebCore::HTMLFormControlElement::formControlName): (WebCore::HTMLFormControlElement::willValidate): (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState): (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState): (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument): (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument): (WebCore::HTMLFormControlElementWithState::finishParsingChildren): * html/HTMLFormControlElement.h: (WebCore::HTMLFormControlElement::isTextFormControl): (WebCore::HTMLFormControlElement::isEnabledFormControl): (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer): (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer): (WebCore::HTMLFormControlElement::isReadOnlyFormControl): (WebCore::HTMLFormControlElement::type): (WebCore::HTMLFormControlElement::name): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::formControlName): (WebCore::HTMLInputElement::formControlType): (WebCore::HTMLInputElement::saveFormControlState): (WebCore::HTMLInputElement::restoreFormControlState): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::detach): (WebCore::HTMLInputElement::setValue): (WebCore::HTMLInputElement::setFileListFromRenderer): * html/HTMLInputElement.h: (WebCore::HTMLInputElement::readOnly): (WebCore::HTMLInputElement::isTextFormControl): * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::formControlType): * html/HTMLKeygenElement.h: * html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::formControlType): * html/HTMLLegendElement.h: * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::formControlType): * html/HTMLOptGroupElement.h: * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::formControlType): * html/HTMLOptionElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::formControlType): (WebCore::HTMLSelectElement::saveFormControlState): (WebCore::HTMLSelectElement::restoreFormControlState): * html/HTMLSelectElement.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): (WebCore::HTMLTextAreaElement::formControlType): (WebCore::HTMLTextAreaElement::saveFormControlState): (WebCore::HTMLTextAreaElement::restoreFormControlState): (WebCore::HTMLTextAreaElement::updateValue): (WebCore::HTMLTextAreaElement::setValue): * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::readOnly): (WebCore::HTMLTextAreaElement::isTextFormControl): * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isEnabled): (WebCore::AccessibilityRenderObject::canSetFocusAttribute): * page/DragController.cpp: (WebCore::DragController::concludeEditDrag): * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemIsEnabled): * rendering/RenderTextControl.cpp: (WebCore::updateUserModifyProperty): (WebCore::RenderTextControl::setInnerTextValue): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::subtreeHasChanged): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::updateFromElement): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isEnabled): (WebCore::RenderTheme::isReadOnlyControl): * rendering/RenderThemeChromiumMac.mm: (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMenuListStyle): * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListStyle): * wml/WMLFormControlElement.cpp: * wml/WMLFormControlElement.h: (WebCore::WMLFormControlElement::isReadOnlyFormControl): (WebCore::WMLFormControlElement::isTextFormControl): (WebCore::WMLFormControlElement::formControlValueMatchesRenderer): (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer): * wml/WMLInputElement.cpp: (WebCore::WMLInputElement::WMLInputElement): (WebCore::WMLInputElement::isKeyboardFocusable): (WebCore::WMLInputElement::isMouseFocusable): (WebCore::WMLInputElement::dispatchBlurEvent): (WebCore::WMLInputElement::formControlType): (WebCore::WMLInputElement::formControlName): (WebCore::WMLInputElement::setValue): (WebCore::WMLInputElement::saveFormControlState): (WebCore::WMLInputElement::restoreFormControlState): (WebCore::WMLInputElement::parseMappedAttribute): (WebCore::WMLInputElement::detach): (WebCore::WMLInputElement::appendFormData): (WebCore::WMLInputElement::init): * wml/WMLInputElement.h: (WebCore::WMLInputElement::isTextFormControl): * wml/WMLOptGroupElement.cpp: (WebCore::WMLOptGroupElement::formControlType): * wml/WMLOptGroupElement.h: * wml/WMLOptionElement.cpp: (WebCore::WMLOptionElement::formControlType): * wml/WMLOptionElement.h: 2009-05-07 Dmitry Titov Reviewed by Alexey Proskuryakov and Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=25348 Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap. Most of the change is in WTF. Unless noted, all the following files changed to use the new ThreadIdentifier::isValid() method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier is now a class rather then an integer. Also, there is no need to initialize threadID in constructors to 0 now. * dom/XMLTokenizerLibxml2.cpp: (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, since now ThreadIdentifier needs construction and we avoid having global initializers. (WebCore::matchFunc): use the new accessor function. (WebCore::openFunc): ditto. (WebCore::createStringParser): ditto. (WebCore::createMemoryParser): ditto. * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): * platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output. * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate): * workers/WorkerThread.cpp: (WebCore::WorkerThread::start): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start): 2009-05-07 Simon Fraser Rubber Stamped by Dave Hyatt Shuffle the data members to minimize padding. * dom/ClassNames.h: 2009-05-07 Simon Fraser Reviewed by Darin Adler Shrink GlyphPage from 4112 to 2576 bytes in 64-bit https://bugs.webkit.org/show_bug.cgi?id=25605 Shrink GlyphPage by splitting the array of GlyphData, which has lots of padding, into separate Glyph and SimpleFontData* arrays. * platform/graphics/Font.h: glyphDataForCharacter has to return a GlyphData by value now. * platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): Return GlyphData by value. * platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): Better encapsulation of GlyphPage, using the new methods. * platform/graphics/Font.h: * platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): * platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): * platform/graphics/GlyphPageTreeNode.h: (WebCore::GlyphData::GlyphData): (WebCore::GlyphPage::indexForCharacter): (WebCore::GlyphPage::glyphDataForCharacter): (WebCore::GlyphPage::glyphDataForIndex): (WebCore::GlyphPage::glyphAt): (WebCore::GlyphPage::fontDataForCharacter): (WebCore::GlyphPage::setGlyphDataForCharacter): (WebCore::GlyphPage::setGlyphDataForIndex): (WebCore::GlyphPage::copyFrom): (WebCore::GlyphPage::clear): 2009-05-07 Dimitri Glazkov Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=25625 Implement Image/Option constructors in V8 bindings. * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code. * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added. * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added. 2009-05-07 Brady Eidson I hate myself for doing this, but need to fix that ChangeLog entry. * ChangeLog: 2009-05-07 Brady Eidson Rubberstamped by Darin Adler * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore. * html/HTMLParser.h: Ditto 2009-05-07 David Hyatt Restore intrinsic margins to all form controls on Mac and Windows. Some of this regressed in 43007 when textareas were given explicit margins. Some of it had already regressed earlier whenever intrinsic margins were turned off in themeWin.css. Reviewed by Beth Dakin. * css/html4.css: * css/themeWin.css: 2009-05-07 Brady Eidson Reviewed by Darin Adler and Alexey Proskuryakov. Exception occurs in Mail when attempting to create signatures due to element creation * dom/Document.cpp: (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it. * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it. (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto. (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit shouldn't be created. * html/HTMLParser.h: (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms 2009-05-07 Antony Sargent Reviewed by Darin Fisher. Fix a memory leak in V8EventListenerList::remove. https://bugs.webkit.org/show_bug.cgi?id=25618 No new functionality so no new tests. * bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::remove): 2009-05-07 Darin Fisher Fix Chromium build bustage. * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing HTMLCollection.h include. 2009-05-07 Chris Fleizach Reviewed by Beth Dakin. Bug 25598: AX: if a radio button has a label and a title, the label is not exposed https://bugs.webkit.org/show_bug.cgi?id=25598 Test: accessibility/radio-button-title-label.html * page/AccessibilityObject.h: (WebCore::AccessibilityObject::exposesTitleUIElement): * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::exposesTitleUIElement): (WebCore::AccessibilityRenderObject::titleUIElement): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): * page/AccessibilityRenderObject.h: 2009-05-07 Darin Fisher Fix Chromium build bustage. * bindings/v8/custom/V8HTMLFormElementCustom.cpp: (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::" 2009-05-07 Xan Lopez Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=25610 [GTK] text.caretOffset is reportedly always 0 Use the right function to get the caret offset in an element. selectionStart() would only work for text controls (there's even an ASSERT when calculating the selected text range). Instead just get the selection and get the offset of the start position. * page/gtk/AccessibilityObjectWrapperAtk.cpp: 2009-05-07 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Fix support for antialiased CSS border-radius WebKit implements border-radius by drawing a double-size border, and then letting the clip constrain the border to the right width and position. This requires support for antialiased clipping, as well as painting, to get a nice smooth border. Qt only does antialiased clipping if the anti-alias flag is set at the time of clipping, so we have to enable this in the method addInnerRoundedRectClip(), as well as when we draw the border. Currently the raster-engine is the only Qt paint engine to support anti-aliased clipping, but the OpenGL and Mac paint engines could potentially support this in the future. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::strokeArc): (WebCore::GraphicsContext::addInnerRoundedRectClip): 2009-05-07 Adam Langley Reviewed by Eric Seidel. Render empty optgroup elements. https://bugs.webkit.org/show_bug.cgi?id=24900 Currently, optgroup elements which are empty are not rendered. The HTML specification gives no guidance on this situation. However, the test for being empty is that they have no children, thus this will not render: while this /will/ render (because of the text node child): This patch will cause both cases to render which matches IE's and Firefox's behaviour. The difference only appears when opening the select element and does not appear in the render tree. Thus, a manual layout-test is required. * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcListItems): * manual-tests/optgroup-empty-and-nested.html: Added. 2009-05-06 Julie Parent Reviewed by Eric Seidel. Bug 25608: Unused m_frame in ChromiumClipboard. https://bugs.webkit.org/show_bug.cgi?id=25608 * platform/chromium/ClipboardChromium.h: No tests added as this is only removing dead code, no functional changes. 2009-05-06 Dan Bernstein Reviewed by Simon Fraser and Justin Garcia. - fix another part of Triple-click quoted line and type Return creates an extra quoted blank line Test: editing/inserting/6703873-2.html * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for determining the first node that should go into the new blockquote given the split position: if it is at the end of a container, use the next node after the container. Otherwise, use the child at the position's offset. 2009-05-06 Kevin Ollivier wx build fix, fixes for wx trunk builds. * platform/graphics/wx/ImageWx.cpp: (WebCore::BitmapImage::draw): * platform/wx/RenderThemeWx.cpp: * platform/wx/wxcode/mac/carbon/fontprops.cpp: (wxFontProperties::wxFontProperties): 2009-05-06 Albert J. Wong Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=25597 Fix API drift compile errors that occurred while this was ifdef-ed out. The two big issues were that RenderObject::element() became RenderObject::node() and some of the wk* drawing functions had an extra theme parameter added to the argument list. * rendering/RenderThemeChromiumMac.mm: (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): 2009-05-06 Jian Li Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25385 Upstream changes to V8 bindings for supporting nested workers. * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::ToV8Object): (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): * bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::getEventListener): (WebCore::ACCESSOR_SETTER WorkerOnmessage): (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener): 2009-05-06 Dave Moore Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25513 The V8 bindings convert every javascript property to its associated css style name. It then calls functions that convert that name to an id. This makes getting or setting css styles on elements slow. The patch fixes this by caching the results of the transformation, mapping a javascript property name to its css property id. It then calls the already public webkit methods that take the id in place of the string property names. * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 2009-05-06 Nate Chapin Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25591 Upstream V8HTMLFormElement from the Chromium repository. * bindings/v8/custom/V8HTMLFormElementCustom.cpp: (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor(); (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository 2009-05-06 Albert J. Wong Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25595 Upstream V8CanvasPixelArrayCustom from chromium port tree. * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added. 2009-05-06 Simon Fraser Rubber-stampted by Eric Seidel Add braces to clarify logic flow in RenderObject::adjustStyleDifference. Only affects ACCELERATED_COMPOSITING builds. * rendering/RenderObject.cpp: (WebCore::RenderObject::adjustStyleDifference): 2009-05-06 Simon Fraser Reviewed by Dan Bernstein Reduce size of RenderText in 64-bit Rearrange data members of RenderText so that an int comes first, to minimize padding. * rendering/RenderText.cpp: (WebCore::RenderText::RenderText): * rendering/RenderText.h: 2009-05-06 Simon Fraser Reviewed by Dan Bernstein Reduce size of RenderStyle in 64-bit Rearrange data members of RenderStyle to minimize padding when building for 64-bit. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle): * rendering/style/RenderStyle.h: (WebCore::): 2009-05-06 Darin Fisher Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25596 Fixes Chromium build bustage caused by r43317 (making RefCountedBase::m_refCount private) * page/chromium/AccessibilityObjectWrapper.h: (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): 2009-05-06 Hin-Chung Lam Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=25593 Refactor for MediaPlayerPrivate for Chromium port. Remove the implementation of MediaPlayerPrivateInferface from it. * platform\graphics\chromium\MediaPlayerPrivateChromium.h: 2009-05-06 Simon Fraser Reviewed by Dave Hyatt, Dan Bernstein Reduce the size of FontFallbackList in 64-bit Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit. * platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList): * platform/graphics/FontFallbackList.h: 2009-05-06 Simon Fraser Reviewed by Darin Adler, Dan Bernstein Reduce size of InlineBox in 64-bit Re-order the data members of InlineBox to save 8 bytes when building 64-bit. * rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): 2009-05-06 David Levin Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=25588 Adding the custom v8 bindings Document.location. * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added. 2009-05-06 Kevin McCullough -Clarified a comment * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): 2009-05-06 Nikolas Zimmermann Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places. * wml/WMLAElement.cpp: * wml/WMLAccessElement.cpp: * wml/WMLBRElement.cpp: * wml/WMLCardElement.cpp: * wml/WMLDoElement.cpp: * wml/WMLElement.cpp: * wml/WMLFieldSetElement.cpp: * wml/WMLGoElement.cpp: * wml/WMLImageElement.cpp: * wml/WMLInputElement.cpp: * wml/WMLMetaElement.cpp: * wml/WMLOnEventElement.cpp: * wml/WMLOptGroupElement.cpp: * wml/WMLOptionElement.cpp: * wml/WMLPElement.cpp: * wml/WMLPostfieldElement.cpp: * wml/WMLSetvarElement.cpp: * wml/WMLTableElement.cpp: * wml/WMLTemplateElement.cpp: * wml/WMLTimerElement.cpp: 2009-05-06 Xan Lopez Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=25526 [Gtk] Additional support is needed for caret browsing Emit AtkText::text-selection-changed when the selection changes and the current selection is of Range (ie, the start and end positions are different) type. This seems to match what Gecko does. * editing/gtk/SelectionControllerGtk.cpp: (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 2009-05-05 Xan Lopez Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=25526 [Gtk] Additional support is needed for caret browsing Emit AtkText::text-caret-moved when selection changes. * GNUmakefile.am: * editing/SelectionController.h: * editing/gtk/SelectionController.cpp: Added. (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 2009-05-06 Holger Hans Peter Freyther Reviewed by Gustavo Noronha. Use mozilla cursors for the previously not implemented cursors. The manual-tests/cursor.html is looking complete now. * platform/gtk/CursorGtk.cpp: (WebCore::cellCursor): (WebCore::noDropCursor): (WebCore::progressCursor): (WebCore::noneCursor): (WebCore::notAllowedCursor): (WebCore::grabCursor): (WebCore::grabbingCursor): * platform/gtk/CursorGtk.h: 2009-05-06 Holger Hans Peter Freyther Reviewed by Xan Lopez. Properly indent the header file. * platform/gtk/CursorGtk.h: 2009-05-06 Holger Hans Peter Freyther Reviewed by Gustavo Noronha. Use the mozilla copyright header. Use MPL1.1/GPL2.0 and LGPL2.1 as the license compared to LGPL2.0. * platform/gtk/CursorGtk.h: 2009-05-06 Holger Hans Peter Freyther Reviewed by Gustavo Noronha. Move PluginView::invalidateRegion from the TemporaryLinkStubs to PluginViewGtk.cpp and implement it with a call to Widget::invalidate() just like mac is doing. Optimisations would have to be window system specific. * platform/gtk/TemporaryLinkStubs.cpp: * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::invalidateRegion): 2009-05-06 Jan Michael Alonzo Reviewed by Holger Freyther. Misc fixes to InspectorClientGtk. * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA. This prevents copious amounts "Localized string not found" errors in the console 2009-05-06 Simon Hausmann Reviewed by Ariya Hidayat. Fix the Qt build on Windows. * platform/graphics/GraphicsContext.h: (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor. 2009-05-06 Simon Hausmann Reviewed by Tor Arne Vestbø. Tweak WebCore.pro for being able to override the generated sources dir for the generated_files target. * WebCore.pro: 2009-05-06 Simon Hausmann Reviewed by Holger Freyther. Fix the Qt/Windows build, use iface instead of interface to avoid conflict with VS2005 headers. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): 2009-05-06 Joerg Bornemann Reviewed by Simon Hausmann. We need to include StringExtras.h on Windows CE to access the strdup function. * plugins/PluginStream.cpp: 2009-05-06 Soren Gjesse Reviewed by Eric Seidel. Changed the toString behaviour for non document dom node event handlers in the V8 bindings. https://bugs.webkit.org/show_bug.cgi?id=25544 In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner function. This causes the default toString on such a handler to return all this wrapper code. As some web sites use the source of an event handler to create new functions this wrapper code causes compatibility problems. Create a specific toString function for these handlers which will return a function source compatible with the source returned by the JSC bindings and other browsers. Test: fast/events/event-function-toString.html * bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): (WebCore::V8LazyEventListener::getListenerFunction): (WebCore::V8LazyEventListenerToString): (WebCore::V8LazyEventListener::getWrappedListenerFunction): * bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::create): 2009-05-06 Tor Arne Vestbø Reviewed by Simon Hausmann. Build QtWebKit as a framework on Mac This implies both debug and release build by default, unless one of the --debug or --release config options are passed to the build-webkit script. Frameworks can be disabled by passing CONFIG+=webkit_no_framework to the build-webkit script. To be able to build both debug and release targets in parallel we have to use separate output directories for the generated sources, which is not optimal, but required to avoid race conditions. An optimization would be to only require this spit-up on Mac. * WebCore.pro: 2009-05-06 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison A couple of the generators left the bison output file in the source tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not work well when building release and debug configurations in parallel. * WebCore.pro: 2009-05-06 Dan Bernstein Reviewed by Justin Garcia. - fix an assertion failure in RemoveNodeCommand() when deleting a
between a block and a mail blockquote Test: editing/deleting/removeNodeCommand-assert.html * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block to prune() instead of passing m_upstreamStart.node(), because the latter may have been removed already. 2009-05-05 Eric Seidel No review, roll out only. Roll out r23072 since it broke layout tests * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 2009-05-05 Ben Murdoch Reviewed by Eric Seidel. Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds. https://bugs.webkit.org/show_bug.cgi?id=24776 No functional changes, thus no tests. * bindings/js/JSCustomSQLStatementCallback.cpp: * bindings/js/JSCustomSQLStatementCallback.h: * bindings/js/JSCustomSQLStatementErrorCallback.cpp: * bindings/js/JSCustomSQLStatementErrorCallback.h: * bindings/js/JSCustomSQLTransactionCallback.cpp: * bindings/js/JSCustomSQLTransactionCallback.h: * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: * bindings/js/JSCustomSQLTransactionErrorCallback.h: * bindings/js/JSDatabaseCustom.cpp: * bindings/js/JSSQLTransactionCustom.cpp: * loader/EmptyClients.h: * page/ChromeClient.h: * storage/ChangeVersionWrapper.cpp: * storage/ChangeVersionWrapper.h: * storage/Database.cpp: (WebCore::Database::databaseInfoTableName): * storage/Database.h: * storage/Database.idl: * storage/DatabaseTask.cpp: * storage/DatabaseTask.h: * storage/DatabaseThread.cpp: * storage/DatabaseThread.h: * storage/DatabaseTracker.cpp: * storage/DatabaseTracker.h: * storage/DatabaseTrackerClient.h: * storage/OriginQuotaManager.cpp: * storage/OriginQuotaManager.h: * storage/SQLStatement.cpp: * storage/SQLStatement.h: * storage/SQLTransaction.cpp: * storage/SQLTransaction.h: * storage/SQLTransaction.idl: 2009-05-05 Jeremy Moskovich Reviewed by Eric Seidel. Add some documentation to InlineBox::x(),y(). https://bugs.webkit.org/show_bug.cgi?id=25378 * rendering/InlineBox.h: 2009-05-05 Laszlo Gombos Reviewed by Eric Seidel. Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0 https://bugs.webkit.org/show_bug.cgi?id=24693 * WebCore.pro: 2009-05-05 Sankar Aditya Tanguturi Reviewed by Eric Seidel. Anonymous blocks should not be exposed in accessibility tree. Part of https://bugs.webkit.org/show_bug.cgi?id=23072 Tests: accessibility/ignore-anonymous-block.html platform/win/accessibility/document-role.html * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return true for Anonymous blocks. Matching Firefox 2.0.0.14 2009-05-05 Jungshik Shin Reviewed by Alexey Proskuryakov. http://bugs.webkit.org/show_bug.cgi?id=25487 For euc-kr and other 8bit Korean encodings (similar to euc-kr/windows-949), make document.charset return EUC-KR instead of windows-949. The latter is not recognized by Korean web servers. Add domName method to TextEncoding to deal with cases where our internal encoding name does not match what's widely recognized by web servers. Currently, the only case is 'windows-949' (internal name) vs 'EUC-KR'. Test: fast/encoding/euckr-name.html * dom/Document.cpp: (WebCore::Document::encoding): Call TextEncoding.domName() instead of TextEncoding.name(). * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::domName): For the canonical name 'windows-949', return 'EUC-KR'. Otherwise, just return the canonical name. * platform/text/TextEncoding.h: 2009-05-05 Adam Langley Reviewed by Darin Adler. Rendering fix for element from display:none to default display, we would fail to invalidate the parent's pref widths in some situations: When attaching the element, RenderMenuList::updateOptionsWidth would call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was set. This would mark the pref widths as dirty, but not for any parent objects. When RenderObjectChildList::appendChildNode later calls setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer, nothing would be done because the pref widths were already dirty for. the RenderMenuList. * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateOptionsWidth): 2009-05-05 Antony Sargent Reviewed by Dimitri Glazkov. Switch V8EventListenerList to use HashTable. https://bugs.webkit.org/show_bug.cgi?id=25496 This avoids some tricky issues with event listener removal in the current implementation and has slightly better performance. No new functionality so no new tests. * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator. * bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::size): * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 2009-05-05 Darin Fisher Fixing build bustage. Add some missing includes to fix the Chromium build. * bindings/v8/custom/V8DOMWindowCustom.cpp: * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 2009-05-05 Darin Fisher Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=25570 history.{back,forward,go} should always be dispatched asynchronously, even when the history navigation would just result in scrolling the page. This matches the behavior of other browsers like IE and FF. Test: fast/history/back-forward-is-asynchronous.html * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation): 2009-05-05 Eric Seidel Reviewed by Simon Fraser. Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG. https://bugs.webkit.org/show_bug.cgi?id=25532 https://bugs.webkit.org/show_bug.cgi?id=25568 Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup which was causing transformed SVG text when filled/stroked with a pattern using patternUnits=objectBoundingBox to draw incorrectly. I fixed the incorrect drawing (by removing the broken code) and added two test cases to test the fix: * svg/transforms/text-with-pattern-inside-transformed-html.xhtml * svg/transforms/text-with-pattern-with-svg-transform.svg * rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::mapLocalToContainer): * rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::mapLocalToContainer): * svg/graphics/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setup): 2009-05-05 Greg Bolsinga Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=25554 Support HTML5 text control input types: email, number, tel, url Test: fast/html/text-field-input-types.html * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly. * html/HTMLInputElement.cpp: Use the new types where appropriate. (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::type): (WebCore::HTMLInputElement::saveState): (WebCore::HTMLInputElement::restoreState): (WebCore::HTMLInputElement::accessKeyAction): (WebCore::HTMLInputElement::rendererIsNeeded): (WebCore::HTMLInputElement::createRenderer): (WebCore::HTMLInputElement::appendFormData): (WebCore::HTMLInputElement::valueWithDefault): (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): (WebCore::HTMLInputElement::defaultEventHandler): * html/HTMLInputElement.h: Ditto. (WebCore::HTMLInputElement::): (WebCore::HTMLInputElement::isTextField): 2009-04-01 miggilin Reviewed by Kevin Ollivier. Mouse wheel scrolling and keyboard shortcut support for wx. https://bugs.webkit.org/show_bug.cgi?id=24797 * platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent): * platform/wx/KeyboardEventWx.cpp: (WebCore::windowsKeyCodeForKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetScrollPosition): 2009-05-05 Kevin Ollivier wx build fix for Windows, add missing include. https://bugs.webkit.org/show_bug.cgi?id=24798 * platform/wx/wxcode/win/non-kerned-drawing.cpp: 2009-05-05 Chris Fleizach Reviewed by Beth Dakin. Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest: https://bugs.webkit.org/show_bug.cgi?id=25574 Enable accessibility hit-testing for image map links. Allow image map links to return AXURLs and AXAccessKey information. Test: platform/mac/accessibility/imagemap-hittest.html * page/AccessibilityImageMapLink.cpp: (WebCore::AccessibilityImageMapLink::url): * page/AccessibilityImageMapLink.h: * page/AccessibilityObject.h: (WebCore::AccessibilityObject::minValueForRange): * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): * page/AccessibilityRenderObject.h: * page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 2009-05-05 Kevin McCullough Reviewed by Dan Bernstein. Select a quote line and paste elsewhere, you get that line and an extra quoted blank line Triple-click a quoted header line, copy, paste onto an empty line makes an extra quoted line - When pasting a blockquote with a newline, make sure we put the newline outside of the blockquote so that it is not quoted. * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): 2009-05-05 Jan Michael Alonzo Reviewed by Xan Lopez. Call moz_gtk_shutdown on RenderThemeGtk destruction. * platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::~RenderThemeGtk): * platform/gtk/RenderThemeGtk.h: 2009-05-05 Darin Adler Reviewed by Steve Falkenburg. REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost" * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost. 2009-05-05 Peter Kasting Reviewed by Brady Eidson. Safety-check m_documentLoader before dereferencing. While it seems unlikely this could fail (as Safari 3 shipped without this), technically almost any call can change or reset m_documentLoader. * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): 2009-05-05 Dan Bernstein - Tiger build fix * css/CSSComputedStyleDeclaration.cpp: (WebCore::toCSSIdentifier): 2009-05-05 Peter Kasting Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=25303 No need to ref the internal buffer inside the Skia ImageDecoder. * platform/image-decoders/skia/ImageDecoder.h: (WebCore::RGBA32Buffer::RGBA32Buffer): (WebCore::RGBA32Buffer::operator=): (WebCore::RGBA32Buffer::clear): (WebCore::RGBA32Buffer::copyBitmapData): (WebCore::RGBA32Buffer::bitmap): (WebCore::RGBA32Buffer::setSize): (WebCore::RGBA32Buffer::width): (WebCore::RGBA32Buffer::height): (WebCore::RGBA32Buffer::hasAlpha): (WebCore::RGBA32Buffer::setStatus): (WebCore::RGBA32Buffer::setHasAlpha): (WebCore::RGBA32Buffer::setRGBA): 2009-05-05 Dan Bernstein Reviewed by Darin Adler. - fix https://bugs.webkit.org/show_bug.cgi?id=24192 Replying to a Mail message that contains fixed width text can change the size of the text Covered by existing tests: editing/pasteboard/5027857.html editing/pasteboard/paste-pre-002.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Added. If the font-size is keyword-based, returns the keyword value instead of the pixel size. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If font-family is a generic family, return the generic family instead of the the internal string -webkit-[serif|sans-serif|cursive|fantasy |monospace]. (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): For the font-size property, prefer a keyword value over a pixel size. * css/CSSComputedStyleDeclaration.h: * editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::currentlyHasStyle): For the font-size property, call getFontSizeCSSValuePreferringKeyword(). * platform/graphics/FontDescription.h: (WebCore::FontDescription::keywordSize): Changed the return type to unsigned. (WebCore::FontDescription::setKeywordSize): Changed the parameter type to unsigned. (WebCore::FontDescription::m_keywordSize): Changed the type of this 4-bit field to unsigned, because it takes values as high as 8. 2009-05-05 Oliver Hunt Reviewed by Maciej Stachowiak. Fix http/tests/misc/DOMContentLoaded-event.html The native call performance improvement removed a few places where we unintentionally performed a toThisObject conversion. This patch updates the bindings codegen to not rely on this bug. * bindings/scripts/CodeGeneratorJS.pm: 2009-05-05 Holger Hans Peter Freyther Reviewed by Xan Lopez and Gustavo Noronha. Implement WebCore::directoryName for Gtk+. * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): 2009-05-05 Eric Seidel Reviewed by Adam Roben. Fix mappedAttributes() access without NULL check https://bugs.webkit.org/show_bug.cgi?id=25553 SVGStyledElement::getPresentationAttribute was using mappedAttributes() without checking for NULL. HTMLInputElement::setInputType also doesn't NULL check, but I was not able to get it to crash with a test case so I just added an ASSERT. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType): * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::getPresentationAttribute): 2009-05-05 Holger Hans Peter Freyther Reviewed by Xan Lopez. Implement WebCore::imageTitle for Gtk+. * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::imageTitle): 2009-05-05 Oliver Hunt Reviewed by Gavin Barraclough. Bug 25559: Improve native function call performance Add forwarding header necessary for compilation, and fix debugger to correctly account for change in JSFunction behaviour. * ForwardingHeaders/jit/JITCode.h: Added. * inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 2009-05-05 Simon Hausmann Reviewed by Ariya Hidayat. Make convertValueToQVariant more robust against null JSValues. Don't require the caller to do the null check. * bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertValueToQVariant): 2009-05-05 Eric Seidel No review, just a revert. Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash. * rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::mapLocalToContainer): * rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::mapLocalToContainer): 2009-05-04 Alexey Proskuryakov Reviewed by Dave Hyatt. REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com The problem was caused by missing element - we used to create it when moving a misplaced